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/UserStaffModifyCmd.java | 87 +++++++++++++++++++++++++++++++++++++------
1 files changed, 74 insertions(+), 13 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/cmd/user/UserStaffModifyCmd.java b/service-user/src/main/java/com/java110/user/cmd/user/UserStaffModifyCmd.java
index b6076e6..801a39c 100644
--- a/service-user/src/main/java/com/java110/user/cmd/user/UserStaffModifyCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/user/UserStaffModifyCmd.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.CmdContextUtils;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
@@ -12,17 +13,20 @@
import com.java110.dto.file.FileRelDto;
import com.java110.dto.org.OrgStaffRelDto;
import com.java110.dto.store.StoreUserDto;
+import com.java110.dto.user.UserAttrDto;
import com.java110.dto.user.UserDto;
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.intf.store.IOrgStaffRelV1InnerServiceSMO;
import com.java110.intf.store.IStoreUserV1InnerServiceSMO;
import com.java110.intf.user.IOrgStaffRelInnerServiceSMO;
+import com.java110.intf.user.IUserAttrV1InnerServiceSMO;
import com.java110.intf.user.IUserInnerServiceSMO;
import com.java110.intf.user.IUserV1InnerServiceSMO;
import com.java110.po.file.FileRelPo;
import com.java110.po.org.OrgStaffRelPo;
import com.java110.po.store.StoreUserPo;
+import com.java110.po.user.UserAttrPo;
import com.java110.po.user.UserPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
@@ -93,12 +97,36 @@
@Autowired
private IStoreUserV1InnerServiceSMO storeUserV1InnerServiceSMOImpl;
+ @Autowired
+ private IUserAttrV1InnerServiceSMO userAttrV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
Assert.jsonObjectHaveKey(reqJson, "staffId", "璇锋眰鍙傛暟涓湭鍖呭惈鍛樺伐 鑺傜偣锛岃纭");
//鏍¢獙json 鏍煎紡涓槸鍚﹀寘鍚� name,email,levelCd,tel
Assert.jsonObjectHaveKey(reqJson, "name", "璇锋眰鍙傛暟涓湭鍖呭惈name 鑺傜偣锛岃纭");
Assert.jsonObjectHaveKey(reqJson, "tel", "璇锋眰鍙傛暟涓湭鍖呭惈tel 鑺傜偣锛岃纭");
+ StoreUserDto storeUserDto = new StoreUserDto();
+ storeUserDto.setUserId(reqJson.getString("staffId"));
+ storeUserDto.setStoreId(CmdContextUtils.getStoreId(context));
+ List<StoreUserDto> storeUserDtos = storeUserV1InnerServiceSMOImpl.queryStoreUsers(storeUserDto);
+
+ if (ListUtil.isNull(storeUserDtos)) {
+ throw new CmdException("淇敼鍛樺伐涓嶆槸璐靛叕鍙稿憳宸�");
+ }
+
+ UserDto userDto = new UserDto();
+ userDto.setTel(reqJson.getString("tel"));
+ userDto.setUserFlag("1");
+ userDto.setLevelCd(UserDto.LEVEL_CD_STAFF); //鍛樺伐
+ List<UserDto> users = userInnerServiceSMOImpl.getUsers(userDto);
+ if (!ListUtil.isNull(users)) {
+ for (UserDto user : users) {
+ if (!user.getUserId().equals(reqJson.getString("staffId"))) {
+ throw new IllegalArgumentException("鍛樺伐鎵嬫満鍙蜂笉鑳介噸澶嶏紝璇烽噸鏂拌緭鍏�");
+ }
+ }
+ }
}
@Override
@@ -122,7 +150,7 @@
fileRelDto.setRelTypeCd("12000");
fileRelDto.setObjId(reqJson.getString("userId"));
List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
- if (fileRelDtos == null || fileRelDtos.size() == 0) {
+ if (ListUtil.isNull(fileRelDtos)) {
JSONObject businessUnit = new JSONObject();
businessUnit.put("fileRelId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
businessUnit.put("relTypeCd", "12000");
@@ -153,19 +181,9 @@
private void modifyStaff(JSONObject paramObj) {
UserPo userPo = BeanConvertUtil.covertBean(paramObj, UserPo.class);
+ userPo.setUserId(paramObj.getString("staffId"));
//鏍规嵁鎵嬫満鍙锋煡璇㈢敤鎴�
- UserDto userDto = new UserDto();
- userDto.setTel(userPo.getTel());
- userDto.setUserFlag("1");
- userDto.setLevelCd("01"); //鍛樺伐
- List<UserDto> users = userInnerServiceSMOImpl.getUsers(userDto);
- if (users != null && users.size() > 0) {
- for (UserDto user : users) {
- if (!user.getUserId().equals(userPo.getUserId())) {
- throw new IllegalArgumentException("鍛樺伐鎵嬫満鍙蜂笉鑳介噸澶嶏紝璇烽噸鏂拌緭鍏�");
- }
- }
- }
+
if (paramObj.containsKey("email") && !StringUtil.isEmpty(paramObj.getString("email"))) {
Assert.isEmail(paramObj, "email", "涓嶆槸鏈夋晥鐨勯偖绠辨牸寮�");
}
@@ -174,6 +192,11 @@
if (flag < 1) {
throw new CmdException("淇濆瓨鐢ㄦ埛寮傚父");
}
+ UserDto userDto = new UserDto();
+ userDto.setUserId(userPo.getUserId());
+ List<UserDto> users = userInnerServiceSMOImpl.getUsers(userDto);
+ //todo 淇敼韬唤璇�
+ updateStaffIdCard(users.get(0), paramObj);
StoreUserDto storeUserDto = new StoreUserDto();
storeUserDto.setUserId(userPo.getUserId());
@@ -214,5 +237,43 @@
}
+ /**
+ * 淇敼鍛樺伐韬唤璇佸彿
+ *
+ * @param userDto
+ * @param paramObj
+ */
+ private void updateStaffIdCard(UserDto userDto, JSONObject paramObj) {
+
+ if (!paramObj.containsKey("idCard")) {
+ return;
+ }
+
+ UserAttrDto userAttrDto = new UserAttrDto();
+ userAttrDto.setUserId(userDto.getUserId());
+ userAttrDto.setSpecCd(UserAttrDto.SPEC_ID_CARD);
+ List<UserAttrDto> userAttrDtos = userAttrV1InnerServiceSMOImpl.queryUserAttrs(userAttrDto);
+
+ if (!ListUtil.isNull(userAttrDtos)) {
+ UserAttrPo userAttrPo = new UserAttrPo();
+ userAttrPo.setAttrId(userAttrDtos.get(0).getAttrId());
+ userAttrV1InnerServiceSMOImpl.deleteUserAttr(userAttrPo);
+ }
+
+
+ String idCard = paramObj.getString("idCard");
+ if (StringUtil.isEmpty(idCard)) {
+ return;
+ }
+
+ UserAttrPo userAttrPo = new UserAttrPo();
+ userAttrPo.setAttrId(GenerateCodeFactory.getAttrId());
+ userAttrPo.setSpecCd(UserAttrDto.SPEC_ID_CARD);
+ userAttrPo.setUserId(userDto.getUserId());
+ userAttrPo.setValue(idCard);
+
+ userAttrV1InnerServiceSMOImpl.saveUserAttr(userAttrPo);
+ }
+
}
--
Gitblit v1.8.0