Source/plt-web/plt-web-parent/plt-web-base/pom.xml
@@ -56,6 +56,23 @@ <artifactId>transmittable-thread-local</artifactId> <version>2.12.6</version> </dependency> <dependency> <groupId>com.vci.common</groupId> <artifactId>plt-common</artifactId> <version>1.0.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.vci.corba</groupId> <artifactId>plt-slice</artifactId> <version>1.0.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.zeroc</groupId> <artifactId>icegridgui</artifactId> <version>1.0.RELEASE</version> </dependency> </dependencies> </project> Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/constant/PltWebConstant.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,130 @@ package com.vci.starter.web.constant; /** * 常ç¨ç³»ç»å¸¸é * @author ludc * @date 2024/6/26 16:09 */ public interface PltWebConstant { /** * ç¼ç */ String UTF_8 = "UTF-8"; /** * contentType */ String CONTENT_TYPE_NAME = "Content-type"; /** * JSON èµæº */ String CONTENT_TYPE = "application/json;charset=utf-8"; /** * ä¸ä¸æé®å¼ */ String CONTEXT_KEY = "bladeContext"; /** * mdc request id key */ String MDC_REQUEST_ID_KEY = "requestId"; /** * mdc account id key */ String MDC_ACCOUNT_ID_KEY = "accountId"; /** * mdc tenant id key */ String MDC_TENANT_ID_KEY = "tenantId"; /** * è§è²åç¼ */ String SECURITY_ROLE_PREFIX = "ROLE_"; /** * 主é®å段å */ String DB_PRIMARY_KEY = "id"; /** * 主é®å段getæ¹æ³ */ String DB_PRIMARY_KEY_METHOD = "getId"; /** * ç§æ·å段å */ String DB_TENANT_KEY = "tenantId"; /** * ç§æ·å段getæ¹æ³ */ String DB_TENANT_KEY_GET_METHOD = "getTenantId"; /** * ç§æ·å段setæ¹æ³ */ String DB_TENANT_KEY_SET_METHOD = "setTenantId"; /** * ä¸å¡ç¶æ[1:æ£å¸¸] */ int DB_STATUS_NORMAL = 1; /** * å é¤ç¶æ[0:æ£å¸¸,1:å é¤] */ int DB_NOT_DELETED = 0; int DB_IS_DELETED = 1; /** * ç¨æ·éå®ç¶æ */ int DB_ADMIN_NON_LOCKED = 0; int DB_ADMIN_LOCKED = 1; /** * 顶级ç¶èç¹id */ Long TOP_PARENT_ID = 0L; /** * 顶级ç¶èç¹åç§° */ String TOP_PARENT_NAME = "顶级"; /** * 管çå对åºçç§æ·ID */ String ADMIN_TENANT_ID = "000000"; /** * æ¥å¿é»è®¤ç¶æ */ String LOG_NORMAL_TYPE = "1"; /** * é»è®¤ä¸ºç©ºæ¶æ¯ */ String DEFAULT_NULL_MESSAGE = "ææ æ¿è½½æ°æ®"; /** * é»è®¤æåæ¶æ¯ */ String DEFAULT_SUCCESS_MESSAGE = "æä½æå"; /** * é»è®¤å¤±è´¥æ¶æ¯ */ String DEFAULT_FAILURE_MESSAGE = "æä½å¤±è´¥"; /** * é»è®¤æªæææ¶æ¯ */ String DEFAULT_UNAUTHORIZED_MESSAGE = "ç¾å认è¯å¤±è´¥"; } Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/pagemodel/BaseResult.java
@@ -1,10 +1,13 @@ package com.vci.starter.web.pagemodel; import com.vci.starter.web.constant.PltWebConstant; import com.vci.starter.web.enumpck.ResultCodeEnum; import org.apache.commons.lang3.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.Collection; import java.util.List; /** * ç»ä¸çæ°æ®è¿å对象ï¼ä¿è¯feignãrestTemplateæè å ¶ä»rest请æ±å®¢æ·ç«¯å¯ä»¥ç»ä¸å¤ç @@ -356,7 +359,51 @@ return baseResult; } /** * è¿ålist * * @param data æ°æ® * @param <T> T æ³åæ è®° * @return R */ public static <T> BaseResult<T> dataList(T data) { return dataList(data, PltWebConstant.DEFAULT_SUCCESS_MESSAGE); } /** * è¿ålist * * @param data æ°æ® * @param msg æ¶æ¯ * @param <T> T æ³åæ è®° * @return R */ public static <T> BaseResult<T> dataList(T data, String msg) { return dataList(HttpServletResponse.SC_OK, data, msg); } /** * è¿ålist * * @param code ç¶æç * @param data æ°æ® * @param msg æ¶æ¯ * @param <T> T æ³åæ è®° * @return R */ public static <T> BaseResult<T> dataList(int code, T data, String msg) { return new BaseResult<>(code, data, data == null ? PltWebConstant.DEFAULT_NULL_MESSAGE : msg); } private BaseResult(int code, T data, String msg) { this.code = code; this.data = (Collection<T>) data; this.msg = msg; this.success = ResultCodeEnum.SUCCESS.code == code; } public BaseResult() { } /** * æ ¹æ®å表è·åç»ä¸æ°æ®å¯¹è±¡ @@ -370,7 +417,6 @@ baseResult.setTreeData(treeList); return baseResult; } @Override public String toString() { @@ -390,4 +436,5 @@ ", treeData=" + treeData + '}'; } } Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java
@@ -3,6 +3,8 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import com.vci.common.exception.VciExceptionTool; import com.vci.corba.common.PLException; import com.vci.starter.web.annotation.Id; import com.vci.starter.web.annotation.VciBtmType; import com.vci.starter.web.annotation.VciLinkType; @@ -48,6 +50,23 @@ public class VciBaseUtil { /** * è·åå¼å¸¸ä¿¡æ¯,å 为æåºçå¼å¸¸ä¸åï¼è·åé误信æ¯çæ¹å¼åå¨å·®å¼æä»¥æ æ³ç»ä¸è·å * åç»æå ¶ä»å¼å¸¸éè¦è·åï¼èªè¡æ·»å å¤çé»è¾ï¼ * @param e * @return */ public static String getExceptionMessage(Exception e){ String exceptionStr = VciExceptionTool.getExceptionStr(e); if(exceptionStr.contains("VciBaseException")){ return e.getMessage(); }else if(exceptionStr.contains("PLException")){ return Arrays.stream(((PLException) e).messages).collect(Collectors.joining("\n")); }else { return e.getMessage(); } } /** * æ¥å¿å¯¹è±¡ */ private static Logger log = LoggerFactory.getLogger(VciBaseUtil.class); Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java
@@ -1,6 +1,7 @@ package com.vci.frameworkcore.compatibility; import com.vci.corba.common.PLException; import com.vci.corba.common.data.UserEntityInfo; import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.DataGrid; @@ -115,11 +116,11 @@ DataGrid refTreeGridDept(TreeQueryObject treeQueryObject); /** * ä¿åé¨é¨è§è²å ³èä¿¡æ¯ï¼å¸¦æ¥éåè½ * @param userId ç¨æ·id * @param deptIds é¨é¨oid * ä¿åé¨é¨è§è²å ³èä¿¡æ¯ï¼å¸¦æ¥éåè½ï¼å¤å¯¹å¤ä¿å * @param userOIds ç¨æ·id * @param deptId é¨é¨oid * @return */ boolean saveUserDepts(String userId, List<String> deptIds) throws PLException; boolean saveUsersDept(String[] userOIds, String deptId) throws PLException; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java
@@ -1,5 +1,6 @@ package com.vci.frameworkcore.compatibility; import com.vci.corba.common.PLException; import com.vci.frameworkcore.pagemodel.SmRoleVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.DataGrid; @@ -65,7 +66,7 @@ * @param pageHelper å页åæåºå¯¹è±¡ï¼èå¹³å°ä¸æ¯æä½¿ç¨è§è²ç¼å·æ¥æåº * @return è§è²çæ¾ç¤ºå¯¹è±¡ */ DataGrid<SmRoleVO> gridRoleByUserOid(String userOid, Map<String, String> queryMap, PageHelper pageHelper); DataGrid<SmRoleVO> gridRoleByUserOid(String userOid, Map<String, String> queryMap, PageHelper pageHelper); /** * è·åæªå ³èæä¸ªç¨æ·çè§è² @@ -150,4 +151,13 @@ * @throws VciBaseException åæ°ä¸ºç©ºçæ¶å伿åºå¼å¸¸ */ List<Tree> refTreeRoles(TreeQueryObject treeQueryObject) throws VciBaseException; /** * è¯¥æ¹æ³åªæ¯æä¸æ¬¡åªå 许åä¸ªç¨æ·åé å¤ä¸ªè§è²ï¼ä¸å¯¹å¤ * @param userOid * @param roleIds * @return */ boolean saveRights(String userOid, String[] roleIds) throws PLException; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java
@@ -280,6 +280,8 @@ * @param flag * @return */ boolean disableOrEnableUsers(String[] ids,boolean flag) throws PLException; boolean stopUsers(String[] ids,boolean flag) throws PLException; void downloadImportTemplate(); } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java
@@ -424,37 +424,40 @@ /** * ä¿åé¨é¨è§è²å ³èä¿¡æ¯ï¼å¸¦æ¥éåè½ * @param userId ç¨æ·id * @param deptIds é¨é¨id * @param userOIds ç¨æ·id * @param deptId é¨é¨id * @return */ @Override @Transactional(rollbackFor = Exception.class) public boolean saveUserDepts(String userId, List<String> deptIds) throws PLException { if(Func.isBlank(userId) || Func.isEmpty(deptIds)){ public boolean saveUsersDept(String[] userOIds, String deptId) throws PLException { if(Func.isEmpty(userOIds) || Func.isBlank(deptId)){ return false; } List<String> repeatDeptOidList = new ArrayList<>(); //å è¿æ§æ¥éå¤ç List<String> repeatUserOidList = new ArrayList<>(); //循ç¯è¿è¡æ¥éï¼é¿å in大äº1000 WebUtil.switchCollectionForOracleIn(deptIds).stream().forEach(deptoids->{ String sql = "select pluseruid,pldeptuid from pluserdept where pluseruid = " + userId + " and " + "pldeptuid in ("+WebUtil.toInSql(deptoids.toArray(new String[0]))+")"; WebUtil.switchCollectionForOracleIn(Arrays.asList(userOIds)).stream().forEach(userOId->{ String sql = "select pluseruid,pldeptuid from pluserdept where pldeptuid = '" + deptId + "' and " + "pluseruid in ("+WebUtil.toInSql(userOId.toArray(new String[0]))+")"; List<BusinessObject> cbos = boService.queryBySql(sql, null); if(!CollectionUtils.isEmpty(cbos)){ cbos.stream().forEach(cbo->{ repeatDeptOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"pldeptuid")); repeatUserOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"pluseruid")); }); } }); //ä»å³å°è¦æ§è¡ä¿åçé¨é¨oidä¸ç§»é¤å½åç¨æ·å·²ç»åå¨å ³èå ³ç³»ççé¨é¨oid deptIds.removeAll(repeatDeptOidList); if(Func.isNotEmpty(deptIds)){ for (String deptId : deptIds){ platformClientUtil.getFrameworkService().saveUserDept(new String[]{userId}, deptId,null); } //ä»å³å°è¦æ§è¡ä¿åçç¨æ·oidä¸ç§»é¤å½åç¨æ·å·²ç»åå¨å ³èå ³ç³»çoid //ç§»é¤éå¤ç List<String> tempList = new ArrayList<>(Arrays.asList(userOIds)); tempList.removeAll(repeatUserOidList); userOIds = tempList.toArray(new String[tempList.size()]); if(Func.isNotEmpty(userOIds)){ platformClientUtil.getFrameworkService().saveUserDept(userOIds, deptId,null); } return true; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
@@ -1,5 +1,7 @@ package com.vci.frameworkcore.compatibility.impl; import com.vci.corba.common.PLException; import com.vci.corba.common.data.UserEntityInfo; import com.vci.corba.omd.data.BusinessObject; import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI; import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant; @@ -19,6 +21,7 @@ import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import com.vci.web.properties.WebProperties; import com.vci.web.service.WebBoServiceI; import com.vci.web.util.Func; import com.vci.web.util.PlatformClientUtil; import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; @@ -45,6 +48,12 @@ */ @Autowired private WebBoServiceI boService; /** * å¹³å°è°ç¨å®¢æ·ç«¯ */ @Autowired private PlatformClientUtil platformClientUtil; /** * æ ¹æ®è§è²ä¸»é®è·åè§è²çä¿¡æ¯ @@ -504,6 +513,38 @@ } /** * è¯¥æ¹æ³åªæ¯æä¸æ¬¡åªå 许åä¸ªç¨æ·åé å¤ä¸ªè§è²ï¼ä¸å¯¹å¤ * @param userOid * @param roleIds * @return */ @Override public boolean saveRights(String userOid, String[] roleIds) throws PLException { VciBaseUtil.alertNotNull(userOid,"ç¨æ·ä¸»é®"); //roleIdså 许为空ï¼ä¸ºç©ºæ¶æ¸ 空å½åç¨æ·çæé //å æ¥é if(Func.isNotEmpty(roleIds)){ List<String> repeatRoleOidList = new ArrayList<>(); //循ç¯è¿è¡æ¥éï¼é¿å in大äº1000 WebUtil.switchCollectionForOracleIn(Arrays.asList(roleIds)).stream().forEach(deptoids->{ String sql = "select pluseruid,plroleuid from pluserrole where pluseruid = '" + userOid + "' and " + "plroleuid in ("+WebUtil.toInSql(deptoids.toArray(new String[0]))+")"; List<BusinessObject> cbos = boService.queryBySql(sql, null); if(!CollectionUtils.isEmpty(cbos)){ cbos.stream().forEach(cbo->{ repeatRoleOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"plroleuid")); }); } }); //ç§»é¤éå¤ç List<String> tempList = new ArrayList<>(Arrays.asList(roleIds)); tempList.removeAll(repeatRoleOidList); roleIds = tempList.toArray(new String[tempList.size()]); } return platformClientUtil.getFrameworkService().saveRights(roleIds,new String[]{userOid},new UserEntityInfo()); } /** * è§è²ç转æ¢ï¼é»è®¤å ¨é¨æ¯bsæ§å¶çè§è² * @param roleForPlatform1List åå¹³å°çè§è² * @return è§è²çæ¾ç¤ºå¯¹è±¡ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -135,7 +135,7 @@ @Override public boolean checkUserExist(String userName, String oid) throws PLException { if(Func.isEmpty(userName) && Func.isEmpty(oid)){ throw new PLException("æ£æ¥ç¨æ·æ¯å¦å卿¶ï¼ä¼ éçåæ°ç¨æ·ååç¨æ·oidé½ä¸ºç©ºï¼",new String[0]); throw new PLException("500", new String[] { "æ£æ¥ç¨æ·æ¯å¦å卿¶ï¼ä¼ éçåæ°ç¨æ·ååç¨æ·oidé½ä¸ºç©ºï¼"}); } UserInfo userInfo = null; if(Func.isNotEmpty(userName)) { @@ -304,6 +304,8 @@ smUserVO.setUserTypeText(UserTypeEnum.getTextByValue(smUserVO.getUserType())); smUserVO.setDescription(userInfo.desc); smUserVO.setEmail(userInfo.email); smUserVO.setStatus(userInfo.status); smUserVO.setPassword(userInfo.pwd); //ç¨æ·æå±é¨é¨çæ¥è¯¢è®¾ç½® List<OrgDepartmentVO> orgDepartmentVOList; //æ¥çå ¨å±åé䏿¯å¦åå¨é¨é¨ä¿¡æ¯ï¼åå¨çæ åµæä¸»è¦æ¯é坹夿¡ç¨æ·æ¥è¯¢çæ¶åé¿å é夿¥è¯¢ç @@ -521,9 +523,9 @@ //å页æ¥è¯¢ UserInfo[] userInfos = platformClientUtil.getFrameworkService().fetchUserInfoByCondition( conditionMap.get("name"), conditionMap.get("userName"), conditionMap.get("deptId"), conditionMap.get("roleId"), conditionMap.get("id"), conditionMap.get("pkDepartment"), conditionMap.get("pkPerson"), "developer", //å½åç»å½çç¨æ·å pageHelper.getPage(), pageHelper.getLimit() @@ -538,9 +540,9 @@ dataGrid.setTotal( platformClientUtil.getFrameworkService().getUserTotalByCondition( conditionMap.get("name"), conditionMap.get("userName"), conditionMap.get("deptId"), conditionMap.get("roleId"), conditionMap.get("id"), conditionMap.get("pkDepartment"), conditionMap.get("pkPerson"), "developer" //å½åç»å½çç¨æ·å ) ); @@ -1062,14 +1064,16 @@ smUserDTO.setCreator("developer"); //userObject.setUpdateUser(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserName()); smUserDTO.setLastModifier("developer"); UserInfo userInfo = changeUserObjectToUserInfo(smUserDTO); UserInfo userInfo = changeSmUserDTOToUserInfo(smUserDTO); UserEntityInfo userEntityInfo = new UserEntityInfo("developer", ""); String oid = platformClientUtil.getFrameworkService().saveUser(userInfo, userEntityInfo); if (Func.isEmpty(oid)) { return false; } if(Func.isNotBlank(smUserDTO.getPkDepartment())){ platformClientUtil.getFrameworkService().saveUserDept(new String[]{oid}, smUserDTO.getPkDepartment(), userEntityInfo); //æ§è¡ä¿åç¨æ·é¨é¨å ³èå ³ç³» orgDeptQueryService.saveUsersDept(new String[]{oid},smUserDTO.getPkDepartment()); //platformClientUtil.getFrameworkService().saveUserDept(new String[]{oid}, smUserDTO.getPkDepartment(), userEntityInfo); } return true; } @@ -1094,28 +1098,21 @@ //æ ¡éª check(smUserDTO,false); //æ¥è¯¢æ°æ®åºä¸ç SmUserVO dbSmUserVO = getUserByUserId(smUserDTO.getId()); //æ ¹æ®ç¨æ·åæ¥è¯¢å°äºç¨æ·ï¼ä½æ¯oid䏿¯å½åä¿®æ¹çç¨æ·çoidï¼è¯´æä¿®æ¹çç¨æ·åéå¤ if(Func.isNotEmpty(dbSmUserVO) && !dbSmUserVO.getOid().equals(smUserDTO.getOid()) ){ throw new PLException("ç¨æ·åå·²åå¨ï¼ä¸è½å°å½åç¨æ·çç¨æ·åä¿®æ¹ä¸º" + dbSmUserVO.getId(),new String[0]); SmUserVO dbSmUserVO = getUserByUserOid(smUserDTO.getOid()); //æ ¹æ®ä¸»é®æ²¡æ¥è¯¢å°äºç¨æ· if(Func.isEmpty(dbSmUserVO) || Func.isBlank(dbSmUserVO.getOid())){ throw new PLException("500", new String[] { "å½åä¿®æ¹çç¨æ·ä¸åå¨"}); } smUserDTO.setLastModifyTime(new Date()); //userObject.setUpdateUser(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserName()); smUserDTO.setLastModifier("developer"); UserInfo userInfo = changeUserObjectToUserInfo(smUserDTO); UserInfo userInfo = changeSmUserDTOToUserInfo(smUserDTO); boolean updateBoolean = platformClientUtil.getFrameworkService().updateUser(userInfo, new UserEntityInfo("developer", null)); //ç¨æ·å ³èé¨é¨æææ´æ¹ if(Func.isNotEmpty(smUserDTO.getPkDepartment()) && !smUserDTO.getPkDepartment().equals(dbSmUserVO.getPkDepartment())){ //çé¢ä¼ éè¿æ¥çå·²å ³èçé¨é¨oid List<String> updatePkDept = Func.toStrList(smUserDTO.getPkDepartment(), ","); //ç¨æ·å·²å ³èçé¨é¨oid List<String> associatedPkDept = Func.toStrList(dbSmUserVO.getPkDepartment(), ","); //ç§»é¤ updatePkDept.removeAll(associatedPkDept); //ä¿®æ¹æåï¼å¹¶ä¸ç¨æ·å ³èé¨é¨æææ´æ¹ if(updateBoolean && Func.isNotEmpty(smUserDTO.getPkDepartment()) && !smUserDTO.getPkDepartment().equals(dbSmUserVO.getPkDepartment())){ //æ§è¡ä¿åç¨æ·é¨é¨å ³èå ³ç³» orgDeptQueryService.saveUserDepts(dbSmUserVO.getOid(),updatePkDept); orgDeptQueryService.saveUsersDept(new String[]{dbSmUserVO.getOid()},smUserDTO.getPkDepartment()); } return updateBoolean; } @@ -1147,13 +1144,13 @@ if (Func.isNotBlank(smUserDTO.getDescription()) && smUserDTO.getDescription().getBytes().length > 255 ){ throw new VciBaseException("æè¿°é¿åº¦è¶ è¿ä¸é"); } if (!smUserDTO.getName().matches("^[A-Za-z0-9_]+$")) { if (!smUserDTO.getId().matches("^[A-Za-z0-9_]+$")) { throw new VciBaseException("ç¨æ·åå¿ é¡»æ¯ç±A-Z a-z 0-9 _ç»æ"); } if (Func.isNotBlank(smUserDTO.getEmail()) && !smUserDTO.getEmail().matches("^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$")){ throw new VciBaseException("çµåé®ç®±æ ¼å¼é误"); } //æ¯æ°å¢æåç¨æ·åæ¥éå¤ç //æ¯æ°å¢æåç¨æ·åæ¥éå¤çï¼å ä¸ºç¨æ·åä¸ç»å建ï¼ä¸å è®¸ä¿®æ¹ if(isAdd){ //æ ¹æ®ç¨æ·åï¼è´¦å·ï¼æ¥é SmUserVO dbSmUserVO = getUserByUserId(smUserDTO.getId()); @@ -1177,14 +1174,12 @@ } } /*** * ç¨æ·ä»DTO对象å°corba对象 * @param user * @return */ public UserInfo changeUserObjectToUserInfo(SmUserDTO user) { public UserInfo changeSmUserDTOToUserInfo(SmUserDTO user) { UserInfo userInfo = new UserInfo(); userInfo.id = user.getOid() == null ? "" : user.getOid(); userInfo.userName = user.getId() == null ? "" : user.getId(); @@ -1240,7 +1235,10 @@ @Override @Transactional(rollbackFor = Exception.class) public boolean deleteUser(String[] ids) throws PLException { VciBaseUtil.alertNotNull(ids,"å¾ å é¤çç¨æ·idå表ä¸è½ä¸ºç©ºï¼"); if(Func.isEmpty(ids)){ throw new VciBaseException("å¾ å é¤çç¨æ·idå表ä¸è½ä¸ºç©ºï¼"); } //è°ç¨platformClientUtilçå é¤ç¨æ·çæ¹æ³ï¼ä¼ä¸èµ·å é¤æå ·å¤å ³èå ³ç³»çä¸äºä¿¡æ¯ï¼å¦é¨é¨ return platformClientUtil.getFrameworkService().deleteUser(ids, null); } @@ -1252,9 +1250,14 @@ */ @Override @Transactional(rollbackFor = Exception.class) public boolean disableOrEnableUsers(String[] ids, boolean flag) throws PLException { public boolean stopUsers(String[] ids, boolean flag) throws PLException { VciBaseUtil.alertNotNull(ids,"åç¨/å¯ç¨çç¨æ·idå表"); return platformClientUtil.getFrameworkService().stopUsers(ids, flag,null); } @Override public void downloadImportTemplate() { } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java
@@ -1,14 +1,18 @@ package com.vci.frameworkcore.controller; import com.vci.corba.common.PLException; import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI; import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; import com.vci.starter.web.util.VciBaseUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -17,8 +21,9 @@ * @author weidy * @date 2020/3/4 */ @Controller @RestController @RequestMapping("/departmentQueryController") @Slf4j public class OrgDepartmentQueryController { /** @@ -34,17 +39,40 @@ * @throws VciBaseException æ¥è¯¢åºéçæ¶å伿åºå¼å¸¸ï¼å¦ææ¯èç项ç®é䏿åºå¼å¸¸ */ @RequestMapping(value = "/refTree",method = RequestMethod.GET) @ResponseBody public BaseResult<Tree> refTree(TreeQueryObject treeQueryObject) throws VciBaseException{ List<Tree> deptTreeList = deptQueryService.refTreeDept(treeQueryObject); return BaseResult.tree(deptTreeList); //èç项ç®ä¾ç¶æ¯æ·»å try catchï¼æ¹æ³é䏿åºå¼å¸¸ //BaseResult.fail("è¿éè¿åå端çé误信æ¯"); } /** * é¨é¨æ¥è¯¢ï¼å¸¦å页 * @param queryObject * @return */ @RequestMapping(value = "/refDataGrid",method = RequestMethod.GET) @ResponseBody public BaseResult<OrgDepartmentVO> refDataGrid(BaseQueryObject queryObject){ DataGrid<OrgDepartmentVO> dataGrid=deptQueryService.gridDepts(queryObject.getConditionMap(), queryObject.getPageHelper()); return BaseResult.dataGrid(dataGrid); } /** * ä¿åé¨é¨è§è²å ³èä¿¡æ¯ï¼å¸¦æ¥éåè½ * @param userOIds ç¨æ·id * @param deptId é¨é¨oid * @return */ @RequestMapping(value = "/saveUsersDepts",method = RequestMethod.POST) public BaseResult saveUsersDepts(String[] userOIds, String deptId){ try { return deptQueryService.saveUsersDept(userOIds,deptId) ? BaseResult.success("è§è²åé æåï¼"):BaseResult.fail("è§è²åé 失败ï¼"); }catch (Exception e){ e.printStackTrace(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); log.error("æ ¹æ®ç¨æ·ä¸»é®è·åï¼å ³èçè§è²æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); return BaseResult.fail("æ ¹æ®ç¨æ·ä¸»é®è·åï¼å ³èçè§è²æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java
@@ -4,21 +4,26 @@ import com.vci.frameworkcore.pagemodel.SmRoleVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; import com.vci.starter.web.util.VciBaseUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; /** * è§è²æ¥è¯¢æ§å¶å¨ * @author weidy * @date 2020/3/4 */ @Controller @RestController @RequestMapping("/roleQueryController") @Slf4j public class SmRoleQueryController { /** @@ -34,7 +39,6 @@ * @throws VciBaseException æ¥è¯¢åºéçæ¶å伿åºå¼å¸¸ï¼å¦ææ¯èç项ç®é䏿åºå¼å¸¸ */ @RequestMapping(value = "/refDataGrid",method = RequestMethod.GET) @ResponseBody public BaseResult<SmRoleVO> refDataGrid(BaseQueryObject queryObject) throws VciBaseException { if(queryObject == null){ queryObject = new BaseQueryObject(); @@ -46,13 +50,48 @@ } /** * æ ¹æ®ç¨æ·ä¸»é®è·åå ³èçè§è² * @param userOid ç¨æ·ä¸»é® * @param queryMap æ¥è¯¢æ¡ä»¶ï¼å¦æéè¦ä½¿ç¨ç¨æ·ç屿§æ¥æ¥è¯¢å¯ä»¥ä½¿ç¨pkUser.xxxx * @return è§è²çæ¾ç¤ºå¯¹è±¡ */ @RequestMapping(value = "/listRoleByUserOid",method = RequestMethod.GET) public BaseResult<List<SmRoleVO>> listRoleByUserOid(String userOid, Map<String, String> queryMap){ try { return BaseResult.dataList(roleQueryService.listRoleByUserOid(userOid,queryMap)); }catch (Exception e){ e.printStackTrace(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); log.error("æ ¹æ®ç¨æ·ä¸»é®è·åï¼å ³èçè§è²æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); return BaseResult.fail("æ ¹æ®ç¨æ·ä¸»é®è·åï¼å ³èçè§è²æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); } } /** * åé è§è²ï¼ä¿åç¨æ·è§è²å ³èå ³ç³» * @param userOid * @param roleIds * @return */ @RequestMapping(value = "/saveRights",method = RequestMethod.POST) public BaseResult saveRights(String userOid, String[] roleIds){ try { return roleQueryService.saveRights(userOid,roleIds) ? BaseResult.success("è§è²åé æåï¼"):BaseResult.fail("è§è²åé 失败ï¼"); }catch (Exception e){ e.printStackTrace(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); log.error("æ ¹æ®ç¨æ·ä¸»é®è·åï¼å ³èçè§è²æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); return BaseResult.fail("æ ¹æ®ç¨æ·ä¸»é®è·åï¼å ³èçè§è²æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); } } /** * è§è²çæ å½¢åç § * @param treeQueryObject æ å½¢æ°æ®çæ¥è¯¢å¯¹è±¡ï¼å æ¬æ¥è¯¢æ¡ä»¶ï¼ä¸çº§ä¸»é®ï¼æ¯å¦å¤éçï¼extandParamsMap䏿·»å "showAllRoleNode"为"true"æ¶ï¼è¿åç»æä¸ä¼å å«âææè§è²âè¿ä¸ªèç¹ * @return è§è²çæ å½¢åç §ï¼æ ä¸ä¸çº§å ³ç³» * @throws VciBaseException æ¥è¯¢åºéçæ¶å伿åºå¼å¸¸ï¼å¦ææ¯èç项ç®é䏿åºå¼å¸¸ */ @RequestMapping(value = "/refTree",method = RequestMethod.GET) @ResponseBody public BaseResult<Tree> refTree(TreeQueryObject treeQueryObject) throws VciBaseException{ List<Tree> roleTreeList = roleQueryService.refTreeRoles(treeQueryObject); return BaseResult.tree(roleTreeList); Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java
@@ -1,11 +1,14 @@ package com.vci.frameworkcore.controller; import com.vci.common.exception.VciExceptionTool; import com.vci.corba.common.PLException; import com.vci.frameworkcore.compatibility.SmUserQueryServiceI; import com.vci.frameworkcore.model.dto.SmUserDTO; import com.vci.frameworkcore.pagemodel.SmUserVO; import com.vci.starter.web.annotation.controller.VciUnCheckRight; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; import com.vci.starter.web.util.VciBaseUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -123,7 +126,8 @@ return BaseResult.dataGrid(userVODataGrid); }catch (Exception e) { e.printStackTrace(); log.error("ç¨æ·ç®¡çå表æ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + e.getMessage()); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); log.error("ç¨æ·ç®¡çå表æ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); return BaseResult.fail("ç¨æ·ç®¡çå表æ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + e.getMessage()); } } @@ -137,11 +141,12 @@ @VciUnCheckRight public BaseResult addUser(@RequestBody SmUserDTO smUserDTO){ try { return BaseResult.success(userQueryService.addUser(smUserDTO) ? "ç¨æ·æ·»å æåï¼":"ç¨æ·æ·»å 失败ï¼"); return userQueryService.addUser(smUserDTO) ? BaseResult.success("ç¨æ·æ·»å æåï¼"):BaseResult.fail("ç¨æ·æ·»å 失败ï¼"); }catch (Exception e){ e.printStackTrace(); log.error("æ·»å ç¨æ·æ¶åºç°é误ï¼åå ï¼" + e.getMessage()); return BaseResult.fail("æ·»å ç¨æ·æ¶åºç°é误ï¼åå ï¼" + e.getMessage()); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); log.error("æ·»å ç¨æ·æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); return BaseResult.fail("æ·»å ç¨æ·æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); } } @@ -157,8 +162,9 @@ return BaseResult.success(userQueryService.updateUser(smUserDTO) ? "ç¨æ·ä¿®æ¹æåï¼":"ç¨æ·ä¿®æ¹å¤±è´¥ï¼"); }catch (Exception e){ e.printStackTrace(); log.error("ä¿®æ¹ç¨æ·æ¶åºç°é误ï¼åå ï¼" + e.getMessage()); return BaseResult.fail("ä¿®æ¹ç¨æ·æ¶åºç°é误ï¼åå ï¼" + e.getMessage()); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); log.error("ä¿®æ¹ç¨æ·æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); return BaseResult.fail("ä¿®æ¹ç¨æ·æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); } } @@ -168,14 +174,15 @@ * @return */ @RequestMapping(value = "/deleteUser",method = RequestMethod.DELETE) //@VciUnCheckRight @VciUnCheckRight public BaseResult deleteUser(String[] ids){ try { return BaseResult.success(userQueryService.deleteUser(ids) ? "å é¤ç¨æ·æåï¼":"å é¤ç¨æ·å¤±è´¥ï¼"); return userQueryService.deleteUser(ids) ? BaseResult.success("å é¤ç¨æ·æåï¼"):BaseResult.fail("å é¤ç¨æ·å¤±è´¥ï¼"); }catch (Exception e){ e.printStackTrace(); log.error("æ·»å ç¨æ·æ¶åºç°é误ï¼åå ï¼" + e.getMessage()); return BaseResult.fail("æ·»å ç¨æ·æ¶åºç°é误ï¼åå ï¼" + e.getMessage()); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); log.error("æ·»å ç¨æ·æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); return BaseResult.fail("æ·»å ç¨æ·æ¶åºç°é误ï¼åå ï¼" + exceptionMessage); } } @@ -186,15 +193,16 @@ * @return */ @RequestMapping(value = "/stopUsers",method = RequestMethod.POST) //@VciUnCheckRight public BaseResult disableOrEnableUsers(String[] ids,boolean flag){ @VciUnCheckRight public BaseResult stopUsers(String[] ids,boolean flag){ try { userQueryService.disableOrEnableUsers(ids,flag); userQueryService.stopUsers(ids,flag); return BaseResult.success("ç¨æ·ãåç¨/å¯ç¨ãæåï¼"); }catch (Exception e){ e.printStackTrace(); log.error("ç¨æ·ãåç¨/å¯ç¨ãæ¶åºç°é误ï¼åå ï¼" + e.getMessage()); return BaseResult.fail("ç¨æ·ãåç¨/å¯ç¨ãæ¶åºç°é误ï¼åå ï¼" + e.getMessage()); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); log.error("ç¨æ·ãåç¨/å¯ç¨ãæ¶åºç°é误ï¼åå ï¼" + exceptionMessage); return BaseResult.fail("ç¨æ·ãåç¨/å¯ç¨ãæ¶åºç°é误ï¼åå ï¼" + exceptionMessage); } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java
@@ -111,6 +111,11 @@ private Date lastModifyPasswordTime; /** * ç¨æ·å¯ç */ private String password; /** * å¯ç éè¯¯æ¬¡æ° */ private Integer pwdWrongCount; @@ -155,6 +160,27 @@ */ private String specialties; /** * ç¶æ */ private short status; public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public void setStatus(short status) { this.status = status; } public short getStatus() { return status; } public void setSpecialties(String specialties) { this.specialties = specialties; }