renkang
2024-12-03 b81c72d58016bb15d2d47331da258e621245cfb5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -128,6 +128,9 @@
    
    @Value("${debug_model}")
    private Boolean isDebug;
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public Member create(Member member) {
@@ -141,7 +144,7 @@
        Member insert = initAddMemberModel(member,loginUserInfo);
        //海康人员新增业务
        try {
             if(dealHkUserBiz(insert)){
//             if(dealHkUserBiz(insert)){
                memberMapper.insert(insert);
                //创建系统登陆账号(默认无任何角色)
//                if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
@@ -150,13 +153,13 @@
                    //处理培训有效期业务
                    dealTrainTIme(member,0,loginUserInfo);
//                }
            }else{
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
            }
//            }else{
//                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
//            }
        }catch (Exception e){
            //如果发生异常,删除已经创建的人员信息
            e.printStackTrace();
            deleteHkUserBiz(new String[]{insert.getHkId()});
//            deleteHkUserBiz(new String[]{insert.getHkId()});
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息新建失败,请稍后重试!");
        }
        return insert;
@@ -568,8 +571,8 @@
        member.setIsdeleted(Constants.ONE);
        member.setEditor(loginUserInfo.getId());
        member.setEditDate(new Date());
        member.setHkStatus(Constants.ZERO);
        member.setRemark("人员已删除,等待删除门禁权限");
//        member.setHkStatus(Constants.ZERO);
//        member.setRemark("人员已删除,等待删除门禁权限");
        memberMapper.updateById(member);
        //刪除系统登陆账户
@@ -891,7 +894,7 @@
        updateMember.setEditor(loginUserInfo.getId());
        updateMember.setEditDate(new Date());
        //海康人员新增业务
        if(dealHkUserForUpdateBiz(updateMember)){
//        if(dealHkUserForUpdateBiz(updateMember)){
            updateMember.setHkId(null);
            updateMember.setAuthStatus(Constants.ZERO);
            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
@@ -923,9 +926,9 @@
            cancelAllMemberEmpower(updateMember,memberRoleMapper,empowerMapper);
            //记录操作日志
            saveUserActionBiz(updateMember,loginUserInfo,Constants.UserActionType.EDIT,userActionJoinMapper,null);
        }else{
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
        }
//        }else{
//            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
//        }
    }
    private void dealTrainTIme(Member updateMember, int i,LoginUserInfo loginUserInfo) {
@@ -1040,6 +1043,7 @@
            loginUserInfo = member.getLoginUserInfo();
        }
        Member update = new Member();
        update.setId(model.getId());
        update.setEditDate(new Date());
        update.setEditor(loginUserInfo.getId());
        update.setStatus(member.getStatus());
@@ -2100,6 +2104,114 @@
    }
    /********************************************************阜宁运维*********************************************************************************************/
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public Member ywCreate(Member member) {
        if(Objects.isNull(member)
        || Objects.isNull(member.getCustomerId())
        || StringUtils.isBlank(member.getName())
        || StringUtils.isBlank(member.getPhone())
        || Objects.isNull(member.getHighCheckor())
        || Objects.isNull(member.getIdcardType())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(StringUtils.isNotBlank(member.getEmail())&&!Constants.validEmail(member.getEmail())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"请填写正确的email");
        }
        LoginUserInfo loginUserInfo = member.getLoginUserInfo();
        member.setCreator(loginUserInfo.getId());
        member.setCreateDate(new Date());
        member.setType(Constants.memberType.customer);
        member.setStatus(Constants.ZERO);
        member.setIsdeleted(Constants.ZERO);
        member.setStatus(Constants.ZERO);
        this.checkYwMember(member);
        memberMapper.insert(member);
        return member;
    }
    @Override
    public Member ywUpdate(Member member) {
        if(Objects.isNull(member)
                || Objects.isNull(member.getCustomerId())
                || Objects.isNull(member.getId())
                || StringUtils.isBlank(member.getName())
                || StringUtils.isBlank(member.getPhone())
                || Objects.isNull(member.getHighCheckor())
                || Objects.isNull(member.getIdcardType())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        LoginUserInfo loginUserInfo = member.getLoginUserInfo();
        member.setEditor(loginUserInfo.getId());
        member.setCustomerId(null);
        member.setEditDate(new Date());
        member.setType(Constants.memberType.customer);
        member.setStatus(Constants.ZERO);
        member.setIsdeleted(Constants.ZERO);
        member.setStatus(Constants.ZERO);
        this.checkYwMember(member);
        memberMapper.updateById(member);
        return member;
    }
    @Override
    public List<Member> ywList(Member member) {
        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>()
                .lambda().eq(Member::getIsdeleted,Constants.ZERO)
                        .eq(Member::getStatus,Constants.ZERO)
                .eq(Member::getType,Constants.memberType.customer)
        );
        return memberList;
    }
    public void checkYwMember(Member member){
        if (StringUtils.isBlank(member.getPhone())||!PhoneUtil.isPhone(member.getPhone())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"电话号码格式有误");
        }
        if (StringUtils.isNotBlank(member.getIdcardNo()) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO)  && !IdcardUtil.isValidCard(member.getIdcardNo())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号格式有误");
        }
        if(StringUtils.isNotBlank(member.getIdcardNo() ) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO) ){
            if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
                            .ne(Objects.nonNull(member.getId()),Member::getId,member.getId())
                    .eq(Member::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()))
                    .eq(Member::getIsdeleted,Constants.ZERO)) >0){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "身份证号【"+member.getIdcardNo()+"】已被使用,不能重复");
            }
        }
        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
                .ne(Objects.nonNull(member.getId()),Member::getId,member.getId())
                .eq(Member::getPhone,  member.getPhone())
                .eq(Member::getIsdeleted,Constants.ZERO) ) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "手机号【"+member.getPhone()+"】已被使用,不能重复");
        }
    }
    @Override
    public PageData<Member> ywFindPage(PageWrap<Member> pageWrap) {
        IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<Member>();
        Utils.MP.blankToNull(pageWrap.getModel());
        Member model = pageWrap.getModel();
        IPage iPage = memberMapper.selectJoinPage(page,Member.class,new MPJLambdaWrapper<Member>()
                        .selectAll(Member.class)
                .selectAs(YwCustomer::getName,Member::getCustomerName)
                .leftJoin(YwCustomer.class,YwCustomer::getId,Member::getCustomerId)
                .eq(Member::getIsdeleted,Constants.ZERO)
                .eq(Member::getType,Constants.memberType.customer)
                .eq(Objects.nonNull(model)&&Objects.nonNull(model.getCustomerId()),Member::getCustomerId,model.getCustomerId())
                .and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),i->i.like(Member::getName,model.getName()).or().like(
                        Member::getPhone,model.getName()
                ))
        );
        return PageData.from(iPage);
    }
}