wuxw лет назад: 2
Родитель
Сommit
9306b64d6b

+ 1 - 0
java110-bean/src/main/java/com/java110/dto/user/UserAttrDto.java

@@ -13,6 +13,7 @@ public class UserAttrDto extends PageDto implements Serializable {
     public static final String SPEC_MALL_OPEN_ID = "100201911003"; // 商城openId
 
     public static final String SPEC_PROPERTY_USER_ID = "100202106001";//物业系统用户ID
+    public static final String SPEC_ID_CARD = "100202406002"; // 身份证号
 
     private String attrId;
     private String userId;

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/user/UserDto.java

@@ -92,6 +92,8 @@ public class UserDto extends PageDto implements Serializable {
 
     private String relId;
 
+    private String idCard;
+
     private List<String> urls;
 
 
@@ -408,4 +410,12 @@ public class UserDto extends PageDto implements Serializable {
     public void setNameLike(String nameLike) {
         this.nameLike = nameLike;
     }
+
+    public String getIdCard() {
+        return idCard;
+    }
+
+    public void setIdCard(String idCard) {
+        this.idCard = idCard;
+    }
 }

+ 10 - 0
java110-bean/src/main/java/com/java110/vo/api/staff/ApiStaffDataVo.java

@@ -51,6 +51,8 @@ public class ApiStaffDataVo implements Serializable {
 
     private String relId;
 
+    private String idCard;
+
     private List<String> urls;
 
     public String getUserId() {
@@ -252,4 +254,12 @@ public class ApiStaffDataVo implements Serializable {
     public void setRelId(String relId) {
         this.relId = relId;
     }
+
+    public String getIdCard() {
+        return idCard;
+    }
+
+    public void setIdCard(String idCard) {
+        this.idCard = idCard;
+    }
 }

+ 3 - 2
java110-db/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml

@@ -527,7 +527,7 @@
     <select id="getStaffs" parameterType="Map" resultType="Map">
         select u.user_id, u.user_id userId,u.name,u.name
         userName,u.email,u.address,u.location_cd,u.location_cd locationCd,
-        u.age,u.sex,u.tel,u.level_cd levelCd,u.b_id,su.rel_cd relCd,td.name relCdName
+        u.age,u.sex,u.tel,u.level_cd levelCd,u.b_id,su.rel_cd relCd,td.name relCdName,ua.value idCard
         <if test="orgId !=null and orgId != ''">
             ,uo.org_id orgId,uo.org_name,uo.org_name orgName,uosr.store_id storeId,uosr.rel_id relId
         </if>
@@ -535,6 +535,7 @@
         u_user u
         inner join s_store_user su on su.user_id = u.user_id
         left join t_dict td on su.rel_cd = td.status_cd and td.table_name='s_store_user' and td.table_columns='rel_cd'
+        left join u_user_attr ua on ua.user_id = u.user_id and ua.spec_cd = '100202406002' and ua.status_cd = '0'
         <if test="(orgId !=null and orgId != '')||(orgIds != null and orgIds.length > 0)">
             left join u_org_staff_rel uosr on u.user_id = uosr.staff_id and uosr.status_cd = '0'
             left join u_org uo on uosr.org_id = uo.org_id and uo.status_cd = '0'
@@ -582,7 +583,7 @@
             and uosr.status_cd =0
             GROUP BY u.user_id,u.name,u.email,u.address,u.location_cd,
             u.age,u.sex,u.tel,u.level_cd ,u.b_id,su.rel_cd ,td.name
-            ,uo.org_id,uo.org_name,uosr.store_id,uosr.rel_id
+            ,uo.org_id,uo.org_name,uosr.store_id,uosr.rel_id,ua.value
         </if>
         order by u.create_time desc
         <if test="page != -1 and page != null ">

Разница между файлами не показана из-за своего большого размера
+ 14 - 16
service-user/src/main/java/com/java110/user/cmd/user/QueryStaffInfosCmd.java


+ 35 - 2
service-user/src/main/java/com/java110/user/cmd/user/UserStaffAddCmd.java

@@ -9,15 +9,18 @@ import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.AuthenticationFactory;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.doc.annotation.*;
+import com.java110.dto.user.UserAttrDto;
 import com.java110.dto.user.UserDto;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.store.IOrgStaffRelV1InnerServiceSMO;
 import com.java110.intf.store.IStoreUserV1InnerServiceSMO;
+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.cache.MappingCache;
 import com.java110.utils.constant.MappingConstant;
@@ -62,8 +65,8 @@ import java.util.List;
 )
 
 @Java110ExampleDoc(
-        reqBody="{\"orgId\":\"102022091988250052\",\"orgName\":\"演示物业 / 件部\",\"username\":\"张三\",\"sex\":\"0\",\"email\":\"231@qq.com\",\"tel\":\"123\",\"address\":\"123\",\"relCd\":\"1000\",\"photo\":\"\",\"name\":\"张三\"}",
-        resBody="{'code':0,'msg':'成功'}"
+        reqBody = "{\"orgId\":\"102022091988250052\",\"orgName\":\"演示物业 / 件部\",\"username\":\"张三\",\"sex\":\"0\",\"email\":\"231@qq.com\",\"tel\":\"123\",\"address\":\"123\",\"relCd\":\"1000\",\"photo\":\"\",\"name\":\"张三\"}",
+        resBody = "{'code':0,'msg':'成功'}"
 )
 
 @Java110Cmd(serviceCode = "user.staff.add")
@@ -72,6 +75,9 @@ public class UserStaffAddCmd extends Cmd {
     @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
+    @Autowired
+    private IUserAttrV1InnerServiceSMO userAttrV1InnerServiceSMOImpl;
+
     @Autowired
     private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
@@ -163,6 +169,33 @@ public class UserStaffAddCmd extends Cmd {
         if (flag < 1) {
             throw new CmdException("保存用户异常");
         }
+        //todo 保存用户身份证号
+        saveUserIdCard(userPo, paramObj);
+    }
+
+    /**
+     * 保存用户身份证号
+     *
+     * @param userPo
+     * @param paramObj
+     */
+    private void saveUserIdCard(UserPo userPo, JSONObject paramObj) {
+        if (!paramObj.containsKey("idCard")) {
+            return;
+        }
+
+        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(userPo.getUserId());
+        userAttrPo.setValue(idCard);
+
+        userAttrV1InnerServiceSMOImpl.saveUserAttr(userAttrPo);
     }
 
     /**

+ 48 - 2
service-user/src/main/java/com/java110/user/cmd/user/UserStaffModifyCmd.java

@@ -12,17 +12,20 @@ import com.java110.dto.file.FileDto;
 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,6 +96,9 @@ public class UserStaffModifyCmd extends Cmd {
     @Autowired
     private IStoreUserV1InnerServiceSMO storeUserV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IUserAttrV1InnerServiceSMO userAttrV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.jsonObjectHaveKey(reqJson, "staffId", "请求参数中未包含员工 节点,请确认");
@@ -157,9 +163,9 @@ public class UserStaffModifyCmd extends Cmd {
         UserDto userDto = new UserDto();
         userDto.setTel(userPo.getTel());
         userDto.setUserFlag("1");
-        userDto.setLevelCd("01"); //员工
+        userDto.setLevelCd(UserDto.LEVEL_CD_STAFF); //员工
         List<UserDto> users = userInnerServiceSMOImpl.getUsers(userDto);
-        if (users != null && users.size() > 0) {
+        if (!ListUtil.isNull(users)) {
             for (UserDto user : users) {
                 if (!user.getUserId().equals(userPo.getUserId())) {
                     throw new IllegalArgumentException("员工手机号不能重复,请重新输入");
@@ -175,6 +181,9 @@ public class UserStaffModifyCmd extends Cmd {
             throw new CmdException("保存用户异常");
         }
 
+        //todo 修改身份证
+        updateStaffIdCard(users.get(0),paramObj);
+
         StoreUserDto storeUserDto = new StoreUserDto();
         storeUserDto.setUserId(userPo.getUserId());
         List<StoreUserDto> storeUserDtos = storeUserV1InnerServiceSMOImpl.queryStoreUsers(storeUserDto);
@@ -214,5 +223,42 @@ public class UserStaffModifyCmd extends Cmd {
 
     }
 
+    /**
+     * 修改员工身份证号
+     * @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);
+    }
+
 
 }