rk
20 小时以前 3b11f53dfb46957720cb0395a3a549a119da2f05
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -377,6 +377,38 @@
                .eq(Empower::getIsdeleted,Constants.ZERO)
                .set(Empower::getSendStatus,Constants.ZERO));
    }
    public   void cancelAllMemberEmpowerBathch(List<Integer> members,LoginUserInfo user) {
        //删除全部权限
        Date date = new Date();
        memberMapper.update(null,new UpdateWrapper<Member>().lambda()
                .in(Member::getId,members)
                .set(Member::getRoleId,null)
                .set(Member::getAuthStatus,Constants.ZERO)
                .set(Member::getStartTime,null)
                .set(Member::getEndTime,null)
                .set(Member::getEditor,user.getId())
                .set(Member::getEditDate,new Date()) );
        memberRoleMapper.update(null,new UpdateWrapper<MemberRole>().lambda()
                .in(MemberRole::getMemberId,members)
                .set(MemberRole::getIsdeleted,Constants.ONE)
                .set(MemberRole::getEdirot,user.getId())
                .set(MemberRole::getEditDate,date));
        //把所有待下发的任务改成 已取消
        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
                .in(Empower::getMemberId,members)
                .eq(Empower::getIsdeleted,Constants.ZERO)
                .eq(Empower::getSendStatus,Constants.EmpowerStatus.wait)
                .set(Empower::getIsdeleted,Constants.ONE)
                .set(Empower::getSendStatus,Constants.EmpowerStatus.cancel));
        //所有下发过的任务,改为待删除权限
        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
                .in(Empower::getMemberId,members)
                .set(Empower::getIsdeleted,Constants.ONE)
                .notIn(Empower::getSendStatus,Constants.EmpowerStatus.fail)
                .set(Empower::getRemark,"等待同步删除安防平台")
                .eq(Empower::getIsdeleted,Constants.ZERO)
                .set(Empower::getSendStatus,Constants.ZERO));
    }
    private void isMemberParamValid(Member member) {
        if(member.getCompanyId() == null){
@@ -445,7 +477,6 @@
        if(model ==null ||Constants.equalsInteger(member.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,该员工信息不存在,请刷新页面重试!");
        }
        member.setSex(model.getSex());//默认是原来的性别
        if (StringUtils.isNotBlank(member.getPhone())  ){
            if ( !PhoneUtil.isPhone(member.getPhone())) {
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "电话号码格式有误");
@@ -683,6 +714,7 @@
        }
        if(memberRole.getRoleIds() ==null || memberRole.getRoleIds().length ==0){
            //如果是清空权限
            cancelAllMemberEmpowerBathch(memberRole.getIds(),memberRole.getLoginUserInfo() );
        }else{
            if( ! (Constants.equalsInteger(memberRole.getTimeType(),Constants.ZERO)
                    ||Constants.equalsInteger(memberRole.getTimeType(),Constants.TWO)
@@ -695,7 +727,6 @@
            }
            if(Constants.equalsInteger(memberRole.getTimeType(),Constants.ONE) && memberRole.getEndTime().getTime() <= memberRole.getStartTime().getTime()){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"有效期截止日期不能小于开始时间!");
            }
        }
        if(Constants.equalsInteger(memberRole.getTimeType(),Constants.ZERO) ){
            memberRole.setStartTime(null);
@@ -744,6 +775,7 @@
            saveUserActionBiz(member,memberRole.getLoginUserInfo(), Constants.UserActionType.AUTH_ROLE,userActionJoinMapper,null);
            //重新授权
            HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper);
            }
        }
    }
@@ -977,6 +1009,8 @@
                    .set(Member::getStartTime,null)
                    .set(Member::getEndTime,null)
                    .set(Member::getRoleId,null)
                    .set(StringUtils.isNotBlank(updateMember.getErpId()),Member::getErpId,updateMember.getErpId())
                    .set(StringUtils.isNotBlank(updateMember.getDdId()),Member::getDdId,updateMember.getDdId())
                    .set(StringUtils.isNotBlank(updateMember.getPhone()),Member::getPhone,updateMember.getPhone())
                    .set(StringUtils.isNotBlank(updateMember.getName()),Member::getName,updateMember.getName())
                    .set(Member::getEditDate,updateMember.getEditDate())
@@ -2071,7 +2105,7 @@
                .eq(Member::getStatus,Constants.ZERO)
                .eq(Member::getWorkStatus,Constants.ZERO)
                .eq(Member::getCanVisit,Constants.ONE)
                .eq(Company::getType,Constants.ONE)
//                .eq(Company::getType,Constants.ONE)
                .orderByAsc(Member::getPinyin)
        );
        List<MemberVO> memberVOList = new ArrayList<>();
@@ -2479,14 +2513,31 @@
     */
    @Override
    public void dealJdyMemberInfo(MemberPushData data){
        if(StringUtils.isBlank(data.getUsername())
        if(data.getDeleter()!=null){
            //如果是已经删除人员,不处理 //内部人员信息
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
                    .eq( Member::getErpId,data.get_id() )
                    .eq( Member::getIsdeleted,Constants.ZERO )
                    .eq( Member::getType,Constants.TWO )
                    .last("limit 1"));
            if(member == null){
                //如果是已经删除人员,不处理
                return;
            }
            //如果是已经删除人员,删除服务中心人员
            this.deleteById(member.getId(),null);
            return;
        }
        if(StringUtils.isBlank(data.get_id())
                ||StringUtils.isBlank(data.getUsername())
                ||StringUtils.isBlank(data.getPhone())
                ||StringUtils.isBlank(data.getName())){
            throw  new BusinessException(ResponseStatus.JDY_BAD_REQUEST.getCode(),"人员信息不完整!");
        }
        //内部人员信息
        Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
                .eq( Member::getErpId,data.getUsername() )
                .eq( Member::getErpId,data.get_id() )
                .eq( Member::getIsdeleted,Constants.ZERO )
                .eq( Member::getType,Constants.TWO )
                .last("limit 1"));
@@ -2500,26 +2551,15 @@
        }
        boolean addOrEdit = false;
        if(member == null){
            //新增人员
            if(data.getDeleter()!=null){
                //如果是已经删除人员,不处理
                return;
            }
            member = getAddOrUpdateModelFromJDY(data,true);
            this.create(member);
            addOrEdit=true;
        }else{
            //更新人员
            if(data.getDeleter()!=null){
                //如果是已经删除人员,不处理
                this.deleteById(member.getId(),null);
            }else{
                //更新人员信息
                Member updateMember =getAddOrUpdateModelFromJDY(data,false);
                updateMember.setId(member.getId());
                addOrEdit=true;
                this.updateById(updateMember);
            }
        }
        if(addOrEdit && Constants.equalsInteger(member.getHeadStatus(),Constants.ONE) && member.getCompanyModel()!=null){
            //如果是部门主管
@@ -2549,7 +2589,8 @@
        if(StringUtils.isNotBlank(data.getMaster())){
            member.setHeadStatus(StringUtils.equals(data.getMaster(),"是")?1:0);
        }
        member.setErpId(data.getUsername());
        member.setErpId(data.get_id());
        member.setDdId(data.getUsername());
        if(data.getDepartment()!=null){
            member.setErpOrgId(data.getDepartment().getDept_no());
        }
@@ -2614,7 +2655,7 @@
                    selectAll(SystemUser.class )
                    .leftJoin(Member.class,Member::getId,SystemUser::getMemberId)
                    .eq(SystemUser::getDeleted,Boolean.FALSE)
                    .eq(Member::getErpId,user.getUsername())
                    .eq(Member::getDdId,user.getUsername())
                    .last("limit 1"));
        }
       return null;