doum
2 天以前 46e8af542c02d801bea9fa8cf8f55974dcfa8554
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2,7 +2,9 @@
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.PhoneUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -23,6 +25,12 @@
import com.doumee.core.haikang.model.param.respose.UserAddResponse;
import com.doumee.core.haikang.model.param.respose.UserDelResponse;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.jiandaoyun.api.arch.DeptApiClient;
import com.doumee.core.jiandaoyun.constants.HttpConstant;
import com.doumee.core.jiandaoyun.model.dept.DeptEntityModel;
import com.doumee.core.jiandaoyun.model.request.MemberPushData;
import com.doumee.core.jiandaoyun.model.request.UserPushData;
import com.doumee.core.jiandaoyun.model.user.UserEntityModel;
import com.doumee.dao.web.response.DDAuthorizeVO;
import com.doumee.service.business.third.TmsService;
import com.doumee.service.business.third.model.LoginUserInfo;
@@ -59,17 +67,21 @@
import com.doumee.service.business.third.model.response.TmsEmployeeListResponse;
import com.doumee.service.system.SystemLoginService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.taobao.api.ApiException;
import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.util.DataUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -86,6 +98,7 @@
 * @author 江蹄蹄
 * @date 2023/11/30 15:33
 */
@Slf4j
@Service
public class MemberServiceImpl implements MemberService {
@@ -169,7 +182,7 @@
        Member insert = initAddMemberModel(member,loginUserInfo);
        //海康人员新增业务
        try {
             if(dealHkUserBiz(insert)){
//             if(dealHkUserBiz(insert)){
                memberMapper.insert(insert);
                //创建系统登陆账号(默认无任何角色)
//                if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
@@ -178,9 +191,9 @@
                    //处理培训有效期业务
                    dealTrainTIme(member,0,loginUserInfo);
//                }
            }else{
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
            }
//            }else{
//                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
//            }
        }catch (BusinessException e){
            //如果发生异常,删除已经创建的人员信息
            deleteHkUserBiz(new String[]{insert.getHkId()});
@@ -193,6 +206,7 @@
        }
        return insert;
    }
    public static SystemUser createSystemUser(Member insert,SystemDictDataBiz systemDictDataBiz) {
        SystemUser user = new SystemUser();
        // 生成密码盐
@@ -239,12 +253,12 @@
        insert.setHkDate(new Date());
        insert.setDdId(member.getDdId());
        insert.setErpId(member.getErpId());
        insert.setWorkStatus(Constants.ZERO);//默认在职
        insert.setCanVisit(Constants.ZERO);//默认不可访问
        insert.setWorkStatus(Constants.formatIntegerNum(member.getWorkStatus()));//默认在职
        insert.setCanVisit(Constants.formatIntegerNum(member.getCanVisit()));//默认不可访问
        insert.setAuthStatus(Constants.ZERO);
        insert.setName(member.getName());
        insert.setHkId(UUID.randomUUID().toString().replace("-",""));
        insert.setHkStatus(Constants.ONE);
        insert.setHkStatus(Constants.ZERO);
        insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//根据身份证号获取性别
        insert.setJobDate(member.getJobDate());
        insert.setIsDangyuan(member.getIsDangyuan());
@@ -365,7 +379,7 @@
    private void isMemberParamValid(Member member) {
        if(member.getCompanyId() == null){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"所属组织不存在!");
        }
        if (StringUtils.isBlank(member.getPhone())||!PhoneUtil.isPhone(member.getPhone())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"电话号码格式有误");
@@ -387,13 +401,13 @@
                .eq(Member::getIsdeleted,Constants.ZERO) ) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "手机号【"+member.getPhone()+"】已被使用,不能重复");
        }
        Company company = companyMapper.selectById(member.getCompanyId());
        Company company = member.getCompany()!=null ?member.getCompany(): companyMapper.selectById(member.getCompanyId());
        if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该组织信息已被删除,请刷新页面重试!");
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该组织信息已被删除!");
        }
        if(StringUtils.isBlank(company.getHkId())){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该组织信息未同步安防平台,请先前往【组织管理】菜单进行维护!");
        }
//        if(StringUtils.isBlank(company.getHkId())){
//            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该组织信息未同步安防平台,请先前往【组织管理】菜单进行维护!");
//        }
        member.setHkOrgId(company.getHkId());
        member.setCompanyType(company.getType());
        if(Constants.equalsInteger(company.getType(),Constants.ONE)){
@@ -491,7 +505,7 @@
        }
        if(member.getCompanyId()!=null && !Constants.equalsInteger(member.getCompanyId(),model.getCompanyId())){
            //如果组织发生变化
            Company company = companyMapper.selectById(member.getCompanyId());
            Company company = member.getCompany()!=null ?member.getCompany(): companyMapper.selectById(member.getCompanyId());
            if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该组织信息已被删除,请刷新页面重试!");
            }
@@ -508,7 +522,7 @@
        if(isNeedUpdateUser){
            //更新系统用户账号信息
            systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
                            .set(SystemUser::getUpdateUser,member.getLoginUserInfo().getId())
                    .set(SystemUser::getUpdateUser,member.getLoginUserInfo()!=null?member.getLoginUserInfo().getId():null)
                            .set(SystemUser::getUpdateTime,new Date())
                            .set(StringUtils.isNotBlank(member.getFaceImg()),SystemUser::getAvatar,member.getFaceImg())
                            .set(StringUtils.isNotBlank(member.getName()),SystemUser::getPinyin,Constants.getChinesePingyin(member.getName()))
@@ -524,7 +538,7 @@
                && member.getTrainStartTime()!=null){
            TrainTime trainTime = new TrainTime();
            trainTime.setIsdeleted(Constants.ZERO);
            trainTime.setCreator(member.getLoginUserInfo().getId());
            trainTime.setCreator(member.getLoginUserInfo()!=null?member.getLoginUserInfo().getId():null);
            trainTime.setCreateDate(new Date());
            trainTime.setEdirot(trainTime.getCreator());
            trainTime.setEditDate(trainTime.getCreateDate());
@@ -609,7 +623,7 @@
        Member member=new Member();
        member.setId(id);
        member.setIsdeleted(Constants.ONE);
        member.setEditor(loginUserInfo.getId());
        member.setEditor(loginUserInfo!=null?loginUserInfo.getId():null);
        member.setEditDate(date);
        member.setHkStatus(Constants.ZERO);
        member.setRemark("人员已删除,等待删除门禁权限");
@@ -951,10 +965,10 @@
        }
        //校验参数 并且更新systemuser 手机号和工号信息(如果需要修改的话)
        Member model =   isMemberUpdateParamValid(updateMember);
        updateMember.setEditor(loginUserInfo.getId());
        updateMember.setEditor(loginUserInfo!=null?loginUserInfo.getId():null);
        updateMember.setEditDate(new Date());
        //海康人员新增业务
        if(dealHkUserForUpdateBiz(updateMember)){
//        if(dealHkUserForUpdateBiz(updateMember)){
            updateMember.setHkId(null);
            updateMember.setAuthStatus(Constants.ZERO);
            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
@@ -971,7 +985,9 @@
                    .set( Member::getAuthStatus,Constants.ZERO)
                    .set(updateMember.getHkStatus()!=null,Member::getHkStatus,updateMember.getHkStatus())
                    .set(updateMember.getSex()!=null,Member::getSex,updateMember.getSex())
                .set(updateMember.getCanVisit()!=null,Member::getCanVisit,updateMember.getCanVisit())
                    .set(updateMember.getFaceStatus()!=null,Member::getFaceStatus,updateMember.getFaceStatus())
                .set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate())
                    .set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate())
                    .set(StringUtils.isNotBlank(updateMember.getRemark()),Member::getRemark,updateMember.getRemark())
                    .set(StringUtils.isNotBlank(updateMember.getFaceImg()),Member::getFaceImg,updateMember.getFaceImg())
@@ -987,9 +1003,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) {
@@ -2106,6 +2122,10 @@
    }
    @Override
    public StagingDataVO stagingHead(StagingDataVO stagingHeadVO){
        //人员信息
@@ -2410,11 +2430,14 @@
     * 同步钉钉内部员工信息
     */
    @Override
    public void syncDDUserInfo() throws ApiException {
    public void syncDDUserInfo(){
        try {
        List<OapiV2UserGetResponse.UserGetResponse>  list = dingTalk.syncAllUserInfo();
        if(CollectionUtils.isEmpty(list)){
            return;
        }
            log.error("钉钉人员信息同步行数:"+ list.size());
            log.error("钉钉人员信息同步内容:"+ JSONObject.toJSONString(list));
        List<Member> addList = new ArrayList<>();
        List<Member> updateList = new ArrayList<>();
        List<String> delIds = new ArrayList<>();//修改为使用钉钉id  erpId
@@ -2426,7 +2449,187 @@
        if(delIds.size()>0){
            syncDelMember(delIds);
        }
        }catch (Exception e){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"同步钉钉人员信息异常!");
        }
    }
    @Override
    @Async
    public void  sendMemberInfoResult(String username, String info, int status){
        try {
            String url = systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.JDY_MEMBER_PUSH_STATUS_URL).getCode();
            log.error("==========推送人员{}:同步结果开始=====status={},username={},info={},url={}",username,status,info,url);
            JSONObject object = new JSONObject();
            object.put("status",status);
            object.put("username",username);
            object.put("info",info);
            String result = HttpsUtil.postJson(url,JSONObject.toJSONString(object));
            log.error("==========推送人员{}:同步结果结束=====",result);
        }catch (Exception e){
        }
    }
    /**
     * 处理简道云用户信息
     * @param data
     */
    @Override
    public void dealJdyMemberInfo(MemberPushData data){
        if(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::getIsdeleted,Constants.ZERO )
                .eq( Member::getType,Constants.TWO )
                .last("limit 1"));
        if(member == null){
            //新增人员
            if(data.getDeleter()!=null){
                //如果是已经删除人员,不处理
                return;
            }
            member = getAddOrUpdateModelFromJDY(data,true);
            this.create(member);
        }else{
            //更新人员
            if(data.getDeleter()!=null){
                //如果是已经删除人员,不处理
                this.deleteById(member.getId(),null);
            }else{
                //更新人员信息
                Member updateMember =getAddOrUpdateModelFromJDY(data,false);
                updateMember.setId(member.getId());
                this.updateById(updateMember);
            }
        }
    }
    private Member getAddOrUpdateModelFromJDY(MemberPushData data, boolean add) {
        Member member =  new Member();
        member.setName(data.getName());
        member.setType(Constants.TWO);
        member.setIdcardType(Constants.ZERO);
        member.setIdcardNo(data.getIdcardno());
        member.setPhone(data.getPhone());
        if(StringUtils.isNotBlank(data.getSex())){
            member.setSex(StringUtils.equals(data.getSex(),"男")?0:1);
        }
        if(StringUtils.isNotBlank(data.getStatus())){
            member.setWorkStatus(StringUtils.equals(data.getStatus(),"在职")?0:1);
        }
        if(StringUtils.isNotBlank(data.getCan_visit())){
            member.setCanVisit(StringUtils.equals(data.getCan_visit(),"可拜访")?1:0);
        }
        member.setErpId(data.getUsername());
        if(data.getDepartment()!=null){
            member.setErpOrgId(data.getDepartment().getDept_no());
        }
        member.setHkStatus(Constants.ZERO);//待更新
        if(data.getImgurl()!=null &&data.getImgurl().size()>0){
            String imgurl = data.getImgurl().get(0).getUrl();
            if(StringUtils.isNotBlank(imgurl)){
                member.setImgurl(getMemberImgByJdyImg(imgurl));
                member.setFaceStatus(Constants.ZERO);
                member.setFaceImg(member.getImgurl());
            }
        }
        member.setCreateDate(DateUtil.getISO8601DateByStr(data.getCreateTime()));
        member.setEditDate(DateUtil.getISO8601DateByStr(data.getUpdateTime()));
        member.setCode(data.getCode());
        member.setJobDate(DateUtil.getISO8601DateByStr(data.getJob_date()));
        member.setIsdeleted(Constants.ZERO);
        if(add ){
            SystemUser c=   getSystemuserByErpId(data.getCreator());//查询创建人
            if(c!=null){
                member.setCreator(c.getId());
            }
        }
        SystemUser up=   getSystemuserByErpId(data.getUpdater()); //查询更新人
        if(up!=null){
            member.setEditor(up.getId());
        }
        //查询组织信息
        Company depart = companyMapper.selectOne(new QueryWrapper<Company>().lambda()
                .eq( Company::getErpId,data.getDepartment().getDept_no() )
                .eq( Company::getIsdeleted,Constants.ZERO ));
        if(depart!=null){
            member.setCompanyId(depart.getId());
        }
        member.setCompany(depart);
        return  member;
    }
    private String getMemberImgByJdyImg(String imgurl) {
        try {
            String folder =   systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
            FtpUtil ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(),
                    Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()),
                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(),
                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode());
            String date = DateUtil.getNowShortDate()+"/";
            String name = UUID.randomUUID().toString();
            if(ftp.uploadOnlineFile(imgurl,folder+date,name)){
                log.error("=======上传简道云图片成功:result:{}=url:{}",date+name,imgurl);
                return date+name;
            }
        }catch (Exception e){
            log.error("=======上传简道云图片失败:url:{}",imgurl);
        }
        return null;
    }
    private SystemUser getSystemuserByErpId(UserPushData user) {
        if(user!=null &&StringUtils.isNotBlank(user.getUsername())){
            return   systemUserMapper.selectJoinOne(SystemUser.class,new MPJLambdaWrapper<SystemUser>().
                    selectAll(SystemUser.class )
                    .leftJoin(Member.class,Member::getId,SystemUser::getMemberId)
                    .eq(SystemUser::getDeleted,Boolean.FALSE)
                    .eq(Member::getErpId,user.getUsername())
                    .last("limit 1"));
        }
       return null;
    }
    @Override
    public String syncJdyUserInfo() {
        DeptApiClient deptApiClient = new DeptApiClient(HttpConstant.API_KEY, HttpConstant.HOST);
        try {
            Map<String, Object> result =  deptApiClient.deptMemberList(1,true,deptApiClient.getDefaultVersion());
            if(result!=null && result.get("users")!=null ){
                TypeReference<List<UserEntityModel>> typeReference =     new TypeReference<List<UserEntityModel>>(){};
                Object obj = result.get("users");
                List<UserEntityModel> list =  com.alibaba.fastjson.JSONObject.parseObject(JSON.toJSONString(obj), typeReference.getType());
                if(list !=null && list.size()>0){
                    List<Member> addList = new ArrayList<>();
                    List<Member> updateList = new ArrayList<>();
                    List<String> delIds = new ArrayList<>();//修改为使用钉钉id  erpId
                    List<Member>  allList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                            .eq(Member::getIsdeleted,Constants.ZERO)
                            .eq(Member::getType,Constants.TWO));
                    dealMemberChangeListJdy(list,addList,updateList,delIds,allList);
                    if(delIds.size()>0){
                        syncDelMember(delIds);
                    }
                    return "同步数据:新增【"+addList.size()+"】条,更新【"+updateList.size()+"】条,删除【"+delIds.size()+"】条";
                }else{
                    throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "同步钉钉数据为空!");
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "同步数据异常!");
        }
        return null;
    }
    private void syncDelMember(List<String> delIds) {
@@ -2462,25 +2665,63 @@
            }
        }
    }
    private void dealMemberChangeListJdy(List<UserEntityModel> list, List<Member> addList, List<Member> updateList, List<String> delIds, List<Member> allList) {
        Date date = new Date();
        for(UserEntityModel respone : list){
            //根据erpid查询企业信息,判断是新增还是更新
            Member param = new Member();
            param.setErpId(respone.getUsername());
            param.setName(respone.getName());
            param.setDdId(respone.getIntegrate_id());
            param.setCompanyIdList(respone.getDepartments());
            Member member = findMemberByERPId(allList,respone.getUsername());
            if(member == null){
                //如果是新增  //封装新增组织对象数据
                addList.add(syncDDAddMemberModel(param,new Member()));
            }else{
                updateList.add(syncDDEditMemberModel(param,member));
            }
        }
        if(allList!=null && allList.size()>0){
            for(Member m : allList){
                if(!isMemberDeletedJdy(m,list)){
                    delIds.add(m.getErpId());
                }
            }
        }
    }
    private Member getAddMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member member) {
        return  syncDDAddMemberModel(deptGetResponse,member);
        Member param = new Member();
        param.setErpId(deptGetResponse.getUnionid());
        param.setPhone(deptGetResponse.getMobile());
        param.setName(deptGetResponse.getName());
        param.setCode(deptGetResponse.getJobNumber());
        param.setDdId(deptGetResponse.getUserid());
        param.setCompanyIdList(deptGetResponse.getDeptIdList());
        return  syncDDAddMemberModel(param,member);
    }
    private Member getUpdateMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member member) {
        return  syncDDEditMemberModel(deptGetResponse,member);
        Member param = new Member();
        param.setErpId(deptGetResponse.getUnionid());
        param.setPhone(deptGetResponse.getMobile());
        param.setName(deptGetResponse.getName());
        param.setCode(deptGetResponse.getJobNumber());
        param.setDdId(deptGetResponse.getUserid());
        param.setCompanyIdList(deptGetResponse.getDeptIdList());
        return  syncDDEditMemberModel(param,member);
    }
    private Member syncDDAddMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member member) {
    private Member syncDDAddMemberModel(Member deptGetResponse,Member member) {
        member.setCreateDate(new Date());
        member.setErpId(deptGetResponse.getUnionid());
        member.setPhone(deptGetResponse.getMobile());
        member.setErpId(deptGetResponse.getErpId());
        member.setPhone(deptGetResponse.getPhone());
        member.setName(deptGetResponse.getName());
        member.setCode(deptGetResponse.getJobNumber());
        member.setDdId(deptGetResponse.getUserid());
        isMemberParamValidDetail(member,deptGetResponse.getDeptIdList());
        member.setCode(deptGetResponse.getCode());
        member.setDdId(deptGetResponse.getDdId());
        isMemberParamValidDetail(member,deptGetResponse.getCompanyIdList());
        //获取出生日期
        //脱敏操作
        Member insert = initAddMemberModel(member,null);
@@ -2515,7 +2756,7 @@
        }
        member.setCompanyType(Constants.ONE);
        SystemUser queryUserDto = new SystemUser();
        queryUserDto.setUsername(member.getPhone());
        queryUserDto.setUsername(StringUtils.defaultString(member.getPhone(),member.getErpId()));
        queryUserDto.setDeleted(Boolean.FALSE);
        SystemUser user = systemUserMapper.selectOne(new QueryWrapper<>(queryUserDto).last("limit 1"));
        if (user != null) {
@@ -2533,13 +2774,13 @@
        }
    }
    
    public Member syncDDEditMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member updateMember) {
    public Member syncDDEditMemberModel(Member deptGetResponse1,Member updateMember) {
        updateMember.setEditDate(new Date());
        updateMember.setErpId(deptGetResponse.getUnionid());
        updateMember.setPhone(deptGetResponse.getMobile());
        updateMember.setName(deptGetResponse.getName());
        updateMember.setCode(deptGetResponse.getJobNumber());
        updateMember.setDdId(deptGetResponse.getUserid());
//        updateMember.setErpId(deptGetResponse.getErpId());
//        updateMember.setPhone(deptGetResponse.getPhone());
//        updateMember.setName(deptGetResponse.getName());
//        updateMember.setCode(deptGetResponse.getCode());
//        updateMember.setDdId(deptGetResponse.getDdId());
        updateMember.setHkId(null);
        updateMember.setAuthStatus(Constants.ZERO);
        Boolean hkFlag = dealHkUserForUpdateBiz(updateMember);
@@ -2601,10 +2842,18 @@
        }
        return false;
    }
    private boolean isMemberDeletedJdy(Member member, List<UserEntityModel> list) {
        for(UserEntityModel m : list){
            if(StringUtils.equals(m.getUsername(),member.getErpId())){
                return  true;
            }
        }
        return false;
    }
    @Override
    public void ddPushMemberInfo(String eventType, shade.com.alibaba.fastjson2.JSONObject eventData) throws ApiException {
    public void ddPushMemberInfo(String eventType, shade.com.alibaba.fastjson2.JSONObject eventData)   {
        try {
        JSONArray jsonArray = eventData.getJSONArray("userId");
        if(jsonArray.isEmpty()){
            return;
@@ -2635,6 +2884,10 @@
                }
            }
        }
        }catch (Exception e){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"数据处理失败!");
        }
    }
    /**
@@ -2642,10 +2895,10 @@
     * @param code
     * @param source
     * @return
     * @throws ApiException
     */
    @Override
    public DDAuthorizeVO ddAuthorize(String code, Integer source) throws ApiException {
    public DDAuthorizeVO ddAuthorize(String code, Integer source)  {
        try {
        if(StringUtils.isBlank(code)||Objects.isNull(source)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
@@ -2675,6 +2928,11 @@
            dealSystemUserAuthBizByDD(ddAuthorizeVO,unionId,source);
//        }
        return ddAuthorizeVO;
        }catch (Exception e){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR);
        }
    }