| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | * @author 江蹄蹄 |
| | | * @date 2023/11/30 15:33 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class MemberServiceImpl implements MemberService { |
| | | |
| | |
| | | Member insert = initAddMemberModel(member,loginUserInfo); |
| | | //海康人员新增业务 |
| | | try { |
| | | if(dealHkUserBiz(insert)){ |
| | | // if(dealHkUserBiz(insert)){ |
| | | memberMapper.insert(insert); |
| | | //创建系统登陆账号(默认无任何角色) |
| | | // if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | |
| | | //处理培训有效期业务 |
| | | 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()}); |
| | |
| | | } |
| | | return insert; |
| | | } |
| | | |
| | | public static SystemUser createSystemUser(Member insert,SystemDictDataBiz systemDictDataBiz) { |
| | | SystemUser user = new SystemUser(); |
| | | // 生成密码盐 |
| | |
| | | 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()); |
| | |
| | | |
| | | 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(),"电话号码格式有误"); |
| | |
| | | .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)){ |
| | |
| | | } |
| | | 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(),"对不起,该组织信息已被删除,请刷新页面重试!"); |
| | | } |
| | |
| | | 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())) |
| | |
| | | && 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()); |
| | |
| | | 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("人员已删除,等待删除门禁权限"); |
| | |
| | | } |
| | | //校验参数 并且更新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() |
| | |
| | | .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()) |
| | |
| | | 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) { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public StagingDataVO stagingHead(StagingDataVO stagingHeadVO){ |
| | | //人员信息 |
| | |
| | | * 同步钉钉内部员工信息 |
| | | */ |
| | | @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 |
| | |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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); |
| | |
| | | } |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | |
| | | 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); |
| | |
| | | } |
| | | 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; |
| | |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"数据处理失败!"); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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); |
| | | } |
| | |
| | | dealSystemUserAuthBizByDD(ddAuthorizeVO,unionId,source); |
| | | // } |
| | | return ddAuthorizeVO; |
| | | }catch (Exception e){ |
| | | |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR); |
| | | } |
| | | |
| | | } |
| | | |
| | | |