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 | 86 +++++++++++++++++++++++-------------------
1 files changed, 47 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 f2ba751..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,7 +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;
@@ -39,7 +43,6 @@
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.util.HSSFColor;
-import org.apache.poi.ss.formula.functions.T;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -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);
@@ -370,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);
@@ -1040,7 +1054,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)) {
@@ -1115,18 +1129,18 @@
/**
* 鏍¢獙瀵嗙爜鏄惁鐩稿悓锛屽湪鏂板钩鍙颁腑瀛樺偍鐨勫瘑鐮佹槸涓ゆ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;
@@ -1134,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;
@@ -1191,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("瀵嗙爜鍜岀‘璁ゅ瘑鐮佷笉鐩哥瓑");
}
@@ -1208,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;
}
/**
@@ -1312,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)) {
@@ -1421,7 +1428,7 @@
} catch (PLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
- throw new VciBaseException("妫�鏌ュ瘑鐮佺瓥鐣ョ鍚堟儏鍐靛け璐ワ紒2");
+ throw new VciBaseException("妫�鏌ュ瘑鐮佺瓥鐣ョ鍚堟儏鍐靛け璐ワ紒");
}
}
@@ -1447,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;
}
--
Gitblit v1.9.3