From d92e70785122a4505396d4b67e66e378f7a51b7d Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 30 十月 2024 17:39:24 +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 | 93 ++++++++++++++++++++++++++++++----------------
1 files changed, 60 insertions(+), 33 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 8aae3cd..4321cb6 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,7 +1,10 @@
package com.vci.frameworkcore.compatibility.impl;
+import com.vci.client.common.providers.ClientServiceProvider;
import com.vci.corba.framework.data.DeptInfo;
import com.vci.corba.framework.data.RoleInfo;
+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;
@@ -117,6 +120,11 @@
* 浣跨敤瑙掕壊鏌ヨ鐨勬椂鍊欑殑鏌ヨ瀛楁
*/
public static final String QUERY_FIELD_ROLE = "roleUser.plroleuid";
+
+ /**
+ * 瀵嗙骇鐨勬灇涓緆ey
+ */
+ private static final String ENUM_USERSECURITYENUM = "usersecurityenum";
/**
* 蹇呭~鍒�
@@ -317,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);
@@ -975,7 +992,7 @@
return rootTreeList;
}
- /***
+ /**
*
* @param dataType
* @param orgType
@@ -1040,7 +1057,7 @@
rootTreeList.add(childTree);
});
}
- }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(dataType)) {//濡傛灉鏄儴闂�
+ }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)) {
@@ -1094,7 +1111,7 @@
}
}
- /***
+ /**
*
* @param oid
* @param text
@@ -1112,20 +1129,21 @@
}
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;
@@ -1133,8 +1151,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;
@@ -1190,16 +1210,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("瀵嗙爜鍜岀‘璁ゅ瘑鐮佷笉鐩哥瓑");
}
@@ -1207,39 +1227,25 @@
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);
- }
+ return updateBoolean;
}
/**
@@ -1634,4 +1640,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