wuxw
2025-04-03 c2f8529b155cac34cb9cac3b1f45f5e7d309e126
service-user/src/main/java/com/java110/user/cmd/user/UserStaffAddCmd.java
@@ -3,21 +3,25 @@
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;
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 +66,8 @@
)
@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")
@@ -71,6 +75,9 @@
    @Autowired
    private IUserInnerServiceSMO userInnerServiceSMOImpl;
    @Autowired
    private IUserAttrV1InnerServiceSMO userAttrV1InnerServiceSMOImpl;
    @Autowired
    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
@@ -86,18 +93,17 @@
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
        if (!reqJson.containsKey("storeId")) {
            String storeId = context.getReqHeaders().get("store-id");
            reqJson.put("storeId", storeId);
        }
        String storeId = CmdContextUtils.getStoreId(context);
        Assert.hasLength(storeId, "用户未登录");
        //获取数据上下文对象
        Assert.jsonObjectHaveKey(reqJson, "storeId", "请求参数中未包含storeId 节点,请确认");
        //判断员工手机号是否重复(员工可根据手机号登录平台)
        UserDto userDto = new UserDto();
        userDto.setTel(reqJson.getString("tel"));
        userDto.setUserFlag("1");
        userDto.setLevelCd("01"); //员工
        List<UserDto> users = userInnerServiceSMOImpl.getUsers(userDto);
        userDto.setStoreId(storeId);
        List<UserDto> users = userInnerServiceSMOImpl.getStaffs(userDto);
        Assert.listIsNull(users, "员工手机号不能重复,请重新输入");
    }
@@ -163,6 +169,33 @@
        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);
    }
    /**