From d2008fc35a45ff00b0f37939a13b792ab12e8c6f Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 21 十一月 2024 10:25:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java | 278 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 239 insertions(+), 39 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
index 6a52208..8c2133d 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -1,5 +1,11 @@
package com.vci.frameworkcore.compatibility.impl;
+import com.vci.common.utility.ObjectUtility;
+import com.vci.corba.framework.data.DeptInfo;
+import com.vci.corba.framework.data.RoleInfo;
+import com.vci.corba.framework.data.UserLogonInfo;
+import com.vci.corba.omd.etm.EnumItem;
+import com.vci.corba.omd.etm.EnumType;
import com.vci.dto.SmUserDTO;
import com.vci.common.util.ThreeDES;
import com.vci.corba.common.PLException;
@@ -10,6 +16,7 @@
import com.vci.frameworkcore.compatibility.SmPwdStrategyQueryServiceI;
import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
+import com.vci.frameworkcore.enumpck.OrgTypeEnum;
import com.vci.model.SmUserDO;
import com.vci.pagemodel.SmUserVO;
import com.vci.po.SmUserPO;
@@ -113,6 +120,11 @@
* 浣跨敤瑙掕壊鏌ヨ鐨勬椂鍊欑殑鏌ヨ瀛楁
*/
public static final String QUERY_FIELD_ROLE = "roleUser.plroleuid";
+
+ /**
+ * 瀵嗙骇鐨勬灇涓緆ey
+ */
+ private static final String ENUM_USERSECURITYENUM = "usersecurityenum";
/**
* 蹇呭~鍒�
@@ -313,7 +325,16 @@
smUserVO.setId(userInfo.userName);
smUserVO.setName(userInfo.trueName);
smUserVO.setSecretGrade(userInfo.secretGrade);
- smUserVO.setSecretGradeText(UserSecretEnum.getSecretText(userInfo.secretGrade));
+ //瀵嗙骇澶勭悊
+ String secretGrade = "" + userInfo.secretGrade;
+ EnumType item = platformClientUtil.getEnumService().getEnumTypeByName(ENUM_USERSECURITYENUM);
+ EnumItem[] children = item.items;
+ for(EnumItem child: children){
+ if(child.value.equals(secretGrade)){
+ smUserVO.setSecretGradeText(child.name);
+ break;
+ }
+ }
smUserVO.setUserType(String.valueOf(userInfo.userType));
smUserVO.setUserTypeText(UserTypeEnum.getTextByValue(String.valueOf(userInfo.userType)));
smUserVO.setDescription(userInfo.desc);
@@ -353,6 +374,7 @@
}else {
smRoleVOList = smRoleQueryService.listRoleByUserOid(userInfo.id,null);
}
+
smUserVO.setPkPerson(
Func.isEmpty(smRoleVOList) ?
null:smRoleVOList.stream().map(SmRoleVO::getOid).collect(Collectors.joining(","))
@@ -365,11 +387,8 @@
smUserVO.setIsDeptLeader(userInfo.isDeptLeader.equals("0") ? "涓嶆槸":"鏄�");
//涓撲笟
smUserVO.setSpecialties(userInfo.specialties);
- if(userInfo.status == 0){
- smUserVO.setLockFlag(false);
- }else{
- smUserVO.setLockFlag(true);
- }
+ UserLogonInfo lockObj = platformClientUtil.getFrameworkService().fetchUserLogonObj(userInfo.id);
+ smUserVO.setLockFlag(lockObj.plWrongNum == 0);
smUserVO.setCreator(userInfo.createUser);
smUserVO.setCreateTime(VciDateUtil.long2Date(userInfo.createTime));
smUserVO.setLastModifier(userInfo.updateUser);
@@ -537,7 +556,11 @@
smRoleVOMap = smRoleQueryService.batchListRoleByUserOids(idList,null);
smPwdStrategyVOMap = smPwdStrategyQueryService.batchSmPwdStrategyByUserOids(idList);
dataGrid.setData(userInfoArr2VO(userInfos));
- //TODO: 杩欎釜缁熻鎬绘暟鏈夐棶棰橈紝甯﹁繃鍘荤殑鍙傛暟涓嶈兘鍍忎笂闈㈤偅涓猣etchUserInfoByCondition鏌ヨ涓�鏍风粺璁″鍗寸殑鎬绘暟
+ //鐢ㄥ畬浜嗘竻绌�
+ orgDepartmentVOMap = null;
+ smRoleVOMap = null;
+ smPwdStrategyVOMap = null;
+ //TODO: 杩欎釜缁熻鎬绘暟鏈夐棶棰橈紝甯﹁繃鍘荤殑鍙傛暟涓嶈兘鍍忎笂闈㈤偅涓猣etchUserInfoByCondition鏌ヨ涓�鏍风粺璁$殑鍗寸殑鎬绘暟
dataGrid.setTotal(
platformClientUtil.getFrameworkService().getUserTotalByCondition(
conditionMap.get("name"),
@@ -942,20 +965,182 @@
return treeList;
}
- /**
+ /**
+ * 鑾峰彇瑙掕壊鏁版嵁
+ * @param treeQueryObject
+ * @return
+ * @throws VciBaseException
+ */
+ @Override
+ public List<Tree> refPersonOrgTree(TreeQueryObject treeQueryObject) throws VciBaseException {
+ List<Tree> rootTreeList=new ArrayList<>();
+ Map<String,String> conditionMap=treeQueryObject.getConditionMap();
+ if(CollectionUtils.isEmpty(conditionMap)) {
+ conditionMap = new HashMap<>();
+ }
+ String dataType=StringUtils.isNotBlank(conditionMap.get("dataType"))?conditionMap.get("dataType"):"";//鏁版嵁绫诲瀷
+ String parentId=StringUtils.isNotBlank(conditionMap.get("parentId"))?conditionMap.get("parentId"):"";//鐖惰妭鐐�
+ String orgType=StringUtils.isNotBlank(conditionMap.get("orgType"))?conditionMap.get("orgType"):"";//鎺ュ彛鏌ヨ鍖呭惈鐨勭被鍨�
+ try {
+ initChildTree(dataType,orgType,parentId,rootTreeList);
+ } catch (PLException e) {
+ throw new VciBaseException("鐢ㄦ埛鏉冮檺閫夋嫨鏍戝姞杞藉け璐�:"+e.getMessage());
+ }
+ return rootTreeList;
+ }
+
+ /**
+ *
+ * @param dataType
+ * @param orgType
+ * @param parentId
+ */
+ private void initChildTree(String dataType,String orgType, String parentId, List<Tree>rootTreeList) throws PLException {
+ if(StringUtils.isBlank(parentId)){
+ Tree rootTree=new Tree("root","浜哄憳缁勭粐","root");
+ rootTree.setParentBtmName("root");
+ rootTree.setExpanded(true);
+ List<Tree> childList=new ArrayList<>();
+ if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(orgType)){//濡傛灉鏄汉鍛�
+ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"鐢ㄦ埛",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree);
+ childList.add(userTree);
+ }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(orgType)){//濡傛灉鏄儴闂�
+ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree);
+ childList.add(departmentTree);
+ }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(orgType)){//濡傛灉鏄鑹�
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree);
+ childList.add(roleTree);
+ }else{
+ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"鐢ㄦ埛",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree);
+ childList.add(userTree);
+ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree);
+ childList.add(departmentTree);
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree);
+ childList.add(roleTree);
+ }
+ if(childList.size()>0){
+ rootTree.setExpanded(true);
+ rootTree.setChildren(childList);
+ }
+ rootTreeList.add(rootTree);
+ }else{
+ if(OrgTypeEnum.ORG_TYPE_ROOT.getValue().equals(dataType)){//濡傛灉鐖惰妭鐐规湁鍊硷紝鍒欓渶瑕佸垽鏂槸鍔犺浇浠�涔堣妭鐐�
+ Tree rootTree=new Tree("root","浜哄憳缁勭粐","root");
+ rootTree.setParentBtmName("root");
+ rootTree.setExpanded(true);
+ if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(orgType)){//濡傛灉鏄汉鍛�
+ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"鐢ㄦ埛",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree);
+ rootTreeList.add(userTree);
+ }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(orgType)){//濡傛灉鏄儴闂�
+ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree);
+ rootTreeList.add(departmentTree);
+ }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(orgType)){//濡傛灉鏄鑹�
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree);
+ rootTreeList.add(roleTree);
+ }else{
+ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"鐢ㄦ埛",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree);
+ rootTreeList.add(userTree);
+ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree);
+ rootTreeList.add(departmentTree);
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree);
+ rootTreeList.add(roleTree);
+ }
+ }else if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(dataType)) {//濡傛灉浼犺繘鏉ョ殑鏄痷ser鑺傜偣
+ if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(parentId)) {
+ Tree userTree = initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(), "鐢ㄦ埛", OrgTypeEnum.ORG_TYPE_USER.getValue(), OrgTypeEnum.ORG_TYPE_USER.getValue(), null);
+ UserInfo[] infos = platformClientUtil.getFrameworkService().fetchUserInfo();
+ Arrays.stream(infos).forEach(info -> {
+ Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), userTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(dataType)) {//濡傛灉鏄儴闂�
+ DeptInfo[] deptInfos=new DeptInfo[]{};
+ Tree departmentTree=new Tree();
+ if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(parentId)) {
+ departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"閮ㄩ棬",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),null);
+ deptInfos = platformClientUtil.getFrameworkService().fetchDepartmentInfo();
+ }else{
+ deptInfos=platformClientUtil.getFrameworkService().fetchDepartmentInfoByParentId(parentId);
+ DeptInfo deptInfo=platformClientUtil.getFrameworkService().fetchDepartmentInfoById(parentId);
+ departmentTree=initDataTreeNode(deptInfo.id,deptInfo.name,deptInfo,OrgTypeEnum.ORG_TYPE_DEPT.getValue(),null);
+ }
+ if(!CollectionUtils.isEmpty(Arrays.asList(deptInfos))){
+ Tree finalDepartmentTree = departmentTree;
+ Arrays.stream(deptInfos).forEach(deptInfo -> {
+ Tree childTree=initDataTreeNode(deptInfo.id,deptInfo.name,deptInfo,OrgTypeEnum.ORG_TYPE_DEPT.getValue(), finalDepartmentTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ if(!OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(parentId)) {
+ UserInfo[] infos = platformClientUtil.getFrameworkService().getUserByDeptId(parentId);
+ if (infos != null && infos.length > 0) {
+ Tree finalDepartmentTree = departmentTree;
+ Arrays.stream(infos).forEach(info -> {
+ Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), finalDepartmentTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ }
+
+ }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(dataType)) {//濡傛灉鏄鑹�
+ if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(parentId)){
+ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"瑙掕壊",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),null);
+ RoleInfo[] roleInfos=platformClientUtil.getFrameworkService().fetchRoleInfo();
+ if(roleInfos!=null&&roleInfos.length>0) {
+ Arrays.stream(roleInfos).forEach(info -> {
+ Tree childTree = initDataTreeNode(info.id, info.name, info, OrgTypeEnum.ORG_TYPE_ROLE.getValue(), roleTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ }else{
+ RoleInfo roleInfo=platformClientUtil.getFrameworkService().fetchRoleInfoById(parentId);
+ Tree roleTree=initDataTreeNode(roleInfo.id,roleInfo.name,roleInfo,OrgTypeEnum.ORG_TYPE_ROLE.getValue(),null);
+ UserInfo[] infos=platformClientUtil.getFrameworkService().fetchUserInfoByRoleId(roleInfo.id,roleInfo.type);
+ if(infos!=null&&infos.length>0) {
+ Arrays.stream(infos).forEach(info -> {
+ Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), roleTree);
+ rootTreeList.add(childTree);
+ });
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ *
+ * @param oid
+ * @param text
+ * @param o
+ * @param type
+ * @param parentTree
+ * @return
+ */
+ private Tree initDataTreeNode(String oid,String text,Object o,String type,Tree parentTree){
+ Tree ObjectTreeNode=new Tree(oid,text,o);
+ ObjectTreeNode.setParentBtmName(type);
+ if(parentTree!=null) {
+ ObjectTreeNode.setParentId(parentTree.getParentId());
+ ObjectTreeNode.setParentName(parentTree.getParentName());
+ }
+ return ObjectTreeNode;
+ }
+
+ /**
* 鏍¢獙瀵嗙爜鏄惁鐩稿悓锛屽湪鏂板钩鍙颁腑瀛樺偍鐨勫瘑鐮佹槸涓ゆmd5
- * @param userOid 鐢ㄦ埛涓婚敭
+ * @param userName 鐢ㄦ埛鍚�
* @param md5Password 宸茬粡md5鍔犲瘑涓�娆$殑瀵嗙爜--鑰佺殑骞冲彴閲屼笉鑳藉姞瀵�
* @return true 琛ㄧず鐩哥瓑锛宖alse琛ㄧず涓嶇浉绛�
*/
@Override
- public boolean checkPasswordEqual(String md5Password, String userOid) {
- if(StringUtils.isBlank(md5Password) || StringUtils.isBlank(userOid)){
+ public boolean checkPasswordEqual(String md5Password, String userName) {
+ if(StringUtils.isBlank(md5Password) || StringUtils.isBlank(userName)){
return false;
}
- String sql = " select plpassword from pluser where pluid = :userOid";
+ String sql = " select plpassword from pluser where plusername = :userName";
Map<String,String> conditionMap = new HashMap<>();
- conditionMap.put("userOid",userOid.trim());
+ conditionMap.put("userName",userName.trim());
List<BusinessObject> BusinessObjectList = boService.queryBySql(sql, conditionMap);
if(CollectionUtils.isEmpty(BusinessObjectList)){
return false;
@@ -963,8 +1148,10 @@
ThreeDES des = new ThreeDES();// 瀹炰緥鍖栦竴涓锟�?
des.getKey("daliantan0v0");// 鐢熸垚瀵嗗寵
- md5Password = des.getEncString(md5Password);
- if(md5Password.equals(ObjectTool.getNewBOAttributeValue(BusinessObjectList.get(0),"plpassword"))){
+ //瀵规煡璇㈠嚭鏉ョ殑瀵嗙爜瑙e瘑
+ String plpassword = ObjectTool.getNewBOAttributeValue(BusinessObjectList.get(0), "plpassword");
+ plpassword = des.getDesString(plpassword);
+ if(md5Password.equals(plpassword)){
return true;
}
return false;
@@ -1020,16 +1207,16 @@
/**
* 淇敼瀵嗙爜
- * @param userOid 鐢ㄦ埛涓婚敭
+ * @param userName 鐢ㄦ埛涓婚敭
* @param oldPassword 鏃х殑瀵嗙爜
* @param password 鏂扮殑瀵嗙爜
* @param confirmPassword 纭瀵嗙爜
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public boolean changePassword(String userOid,String oldPassword, String password,
+ public boolean changePassword(String userName,String oldPassword, String password,
String confirmPassword) throws Exception {
- WebUtil.alertNotNull(userOid,"鐢ㄦ埛涓婚敭",oldPassword,"鐧诲綍瀵嗙爜",password,"瀵嗙爜",confirmPassword,"纭瀵嗙爜");
+ VciBaseUtil.alertNotNull(userName,"鐢ㄦ埛鍚�",oldPassword,"鐧诲綍瀵嗙爜",password,"瀵嗙爜",confirmPassword,"纭瀵嗙爜");
if(!password.equals(confirmPassword)){
throw new VciBaseException("瀵嗙爜鍜岀‘璁ゅ瘑鐮佷笉鐩哥瓑");
}
@@ -1037,39 +1224,27 @@
oldPassword = Func.decryptAes(oldPassword,"daliantan0v0vcip");
password = Func.decryptAes(password,"daliantan0v0vcip");
//瀵规瘮鏃у瘑鐮�
- boolean b = this.checkPasswordEqual(oldPassword, userOid);
+ boolean b = this.checkPasswordEqual(oldPassword, userName);
if(!b){
throw new PLException("500", new String[] { "鎮ㄨ緭鍏ョ殑瀵嗙爜涓庣櫥褰曞瘑鐮佷笉涓�鑷�,璇烽噸鏂拌緭鍏�!"});
}
- SmUserVO smUserVO = getUserByUserOid(userOid);
- if(Func.isEmpty(smUserVO)){
+ UserInfo userInfo = platformClientUtil.getFrameworkService().getUserObjectByUserName(userName);
+ if(Func.isEmpty(userInfo) || Func.isBlank(userInfo.id)){
throw new VciBaseException("褰撳墠淇敼鐨勭敤鎴蜂笉瀛樺湪锛�");
}
//TODO:鏍¢獙瀵嗙爜鏄惁绗﹀悎绛栫暐
- String error = platformClientUtil.getFrameworkService().checkPasswordStrategyByUserId(smUserVO.getId(), password,null);
+ String error = platformClientUtil.getFrameworkService().checkPasswordStrategyByUserId(userInfo.id, password,null);
if (!StringUtils.isBlank(error)) {
throw new VciBaseException("褰撳墠璁剧疆鐨勫瘑鐮侊紝瀵嗙爜绛栫暐鏍¢獙鏈�氳繃!");
}
//TODO:鑰冭檻鏄惁闇�瑕佸皢淇敼鏂瑰紡鏀规垚鐩存帴璋冪敤骞冲彴鐨勬帴鍙o紝鍥犱负鐜板湪鐨勪慨鏀规柟寮忔病鑳芥纭殑鏇存柊缂撳瓨
- /*UserInfo userInfo = new UserInfo();
- userInfo.id = userOid.trim();
userInfo.pwd = password;
userInfo.pwdUpdateTime = System.currentTimeMillis();
- boolean updateBoolean = platformClientUtil.getFrameworkService().updateUser(userInfo, new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(), null));
- return updateBoolean;*/
-
- ThreeDES des = new ThreeDES();// 瀹炰緥鍖栦竴涓锟�?
- des.getKey("daliantan0v0");// 鐢熸垚瀵嗗寵
- String encPassword = des.getEncString(password);
- //淇敼瀵嗙爜鐨勫悓鏃堕渶瑕佸皢瀵嗙爜淇敼鏃堕棿涔熸洿鏂�
- String sql = "update pluser set plpassword = '" + encPassword + "', plpwdupdatetime = TO_DATE('"
- + Func.format(new Date(),"yyyy-MM-dd HH:mm:ss") +"','yyyy-MM-dd hh24:mi:ss') where pluid = '" + userOid.trim() + "'";
- try {
- return platformClientUtil.getBOFactoryService().executeUpdateSql(sql);
- } catch (PLException vciError) {
- throw WebUtil.getVciBaseException(vciError);
- }
+ boolean updateBoolean = platformClientUtil.getFrameworkService()
+ .updateUser(userInfo, new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread()== null ?
+ userName : WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(), null));
+ return updateBoolean;
}
/**
@@ -1141,7 +1316,10 @@
}
smUserDTO.setCreator(loginUserId);
smUserDTO.setLastModifier(loginUserId);
+ smUserDTO.setOid(ObjectUtility.getNewObjectID36());
UserInfo userInfo = changeSmUserDTOToUserInfo(smUserDTO);
+ //绠$悊鍛樻坊鍔犵殑鐢ㄦ埛鍒濆瀵嗙爜淇敼鏃堕棿閮藉簲璇ヤ负0锛屽洜涓烘秹鍙婂埌鍚庨潰鐢ㄦ埛棣栨鐧诲綍鑷繁淇敼瀵嗙爜
+ userInfo.pwdUpdateTime = 0;
UserEntityInfo userEntityInfo = new UserEntityInfo(loginUserId, "");
String oid = platformClientUtil.getFrameworkService().saveUser(userInfo, userEntityInfo);
if (Func.isEmpty(oid)) {
@@ -1250,7 +1428,7 @@
} catch (PLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
- throw new VciBaseException("妫�鏌ュ瘑鐮佺瓥鐣ョ鍚堟儏鍐靛け璐ワ紒2");
+ throw new VciBaseException("妫�鏌ュ瘑鐮佺瓥鐣ョ鍚堟儏鍐靛け璐ワ紒");
}
}
@@ -1276,6 +1454,7 @@
userInfo.updateUser = user.getLastModifier() == null ? "" : user.getLastModifier();
userInfo.pwdUpdateTime = user.getPwdUpdateTime().getTime();
userInfo.grantor = user.getGrantor() == null ? "" : user.getGrantor();
+ userInfo.secretGrade = user.getSecretGrade() == null ? 2 : Integer.valueOf(user.getGrantor());
userInfo.isDeptLeader = user.getIsDeptLeader() == null ? "0" : user.getIsDeptLeader();
return userInfo;
}
@@ -1464,4 +1643,25 @@
return BaseResult.success("鐢ㄦ埛瀵煎叆鎴愬姛锛�");
}
+ /**
+ * 鏍规嵁瑙掕壊绫诲瀷鏌ヨ鐢ㄦ埛鍚�
+ * @param roleType
+ * @return
+ */
+ @Override
+ public List<String> queryUserNameByRoleType(String roleType) throws PLException {
+ List<String> userNameList = new ArrayList<>();
+ if(Func.isBlank(roleType)){
+ return userNameList;
+ }
+ String sql = "SELECT PLUSERNAME FROM PLUSER p WHERE PLUID IN " +
+ "(SELECT PLUSERUID FROM PLUSERROLE p WHERE PLROLEUID IN " +
+ "( SELECT PLUID FROM PLROLE p WHERE PLTYPE = "+ roleType + "))";
+ List<BusinessObject> cbos = boService.queryBySql(sql, null);
+ cbos.stream().forEach(cbo->{
+ userNameList.add(ObjectTool.getNewBOAttributeValue(cbo,"plusername"));
+ });
+ return userNameList;
+ }
+
}
--
Gitblit v1.9.3