From de3590b244c8d2b9bec76f01d2f298f3fa670190 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 10 三月 2025 18:14:59 +0800
Subject: [PATCH] 优化员工详情功能

---
 service-user/src/main/java/com/java110/user/cmd/user/ChangeStaffPwdCmd.java |   76 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 1 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/cmd/user/ChangeStaffPwdCmd.java b/service-user/src/main/java/com/java110/user/cmd/user/ChangeStaffPwdCmd.java
index c8b8229..cbe450e 100644
--- a/service-user/src/main/java/com/java110/user/cmd/user/ChangeStaffPwdCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/user/ChangeStaffPwdCmd.java
@@ -1,4 +1,78 @@
 package com.java110.user.cmd.user;
 
-public class ChangeStaffPwdCmd {
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.Environment;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.AuthenticationFactory;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
+import com.java110.po.user.UserPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+@Java110Cmd(serviceCode = "user.changeStaffPwd")
+public class ChangeStaffPwdCmd extends Cmd {
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Environment.isDevEnv();
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+        Assert.jsonObjectHaveKey(reqJson, "userId", "璇锋眰鍙傛暟涓湭鍖呭惈userId 鑺傜偣锛岃纭");
+        Assert.jsonObjectHaveKey(reqJson, "oldPwd", "璇锋眰鍙傛暟涓湭鍖呭惈oldPwd 鑺傜偣锛岃纭");
+        Assert.jsonObjectHaveKey(reqJson, "newPwd", "璇锋眰鍙傛暟涓湭鍖呭惈newPwd 鑺傜偣锛岃纭");
+
+        reqJson.put("oldPwd", AuthenticationFactory.passwdMd5(reqJson.getString("oldPwd")));
+        reqJson.put("newPwd", AuthenticationFactory.passwdMd5(reqJson.getString("newPwd")));
+
+        modifyStaff(reqJson);
+    }
+    public void modifyStaff(JSONObject paramObj) {
+        //鏍¢獙json 鏍煎紡涓槸鍚﹀寘鍚� name,email,levelCd,tel
+        UserPo userPo = BeanConvertUtil.covertBean(builderStaffInfo(paramObj), UserPo.class);
+        int flag = userV1InnerServiceSMOImpl.updateUser(userPo);
+        if(flag <1){
+            throw new CmdException("淇敼瀵嗙爜澶辫触");
+        }
+    }
+
+    /**
+     * 鏋勫缓鍛樺伐淇℃伅
+     *
+     * @param paramObj
+     * @return
+     */
+    private JSONObject builderStaffInfo(JSONObject paramObj) {
+
+        UserDto userDto = new UserDto();
+        userDto.setStatusCd("0");
+        userDto.setUserId(paramObj.getString("userId"));
+        List<UserDto> userDtos = userInnerServiceSMOImpl.getUserHasPwd(userDto);
+
+        Assert.listOnlyOne(userDtos, "鏁版嵁閿欒鏌ヨ鍒板鏉$敤鎴蜂俊鎭垨鍗曟潯");
+
+        JSONObject userInfo = JSONObject.parseObject(JSONObject.toJSONString(userDtos.get(0)));
+
+        if (!paramObj.getString("oldPwd").equals(userDtos.get(0).getPassword())) {
+            throw new IllegalArgumentException("鍘熷瀵嗙爜閿欒");
+        }
+        userInfo.putAll(paramObj);
+        userInfo.put("password", paramObj.getString("newPwd"));
+
+        return userInfo;
+    }
 }

--
Gitblit v1.8.0