|  |  |  | 
|---|
|  |  |  | package com.doumee.service.business.impl.hksync.ferp; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
|---|
|  |  |  | import com.doumee.biz.system.SystemDictDataBiz; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.doumee.core.haikang.model.param.request.*; | 
|---|
|  |  |  | import com.doumee.core.haikang.model.param.respose.*; | 
|---|
|  |  |  | import com.doumee.core.haikang.service.HKService; | 
|---|
|  |  |  | import com.doumee.core.model.LoginUserInfo; | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.core.utils.DESUtil; | 
|---|
|  |  |  | import com.doumee.core.utils.DateUtil; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.doumee.service.business.impl.hksync.HkSyncBaseServiceImpl; | 
|---|
|  |  |  | import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; | 
|---|
|  |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
|---|
|  |  |  | import io.swagger.models.auth.In; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.commons.collections.CollectionUtils; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | 
|---|
|  |  |  | * 同步海康组织信息,根据erp同步组织结果,定时检查需要下发到海康的组织信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public   void syncOrgData(){ | 
|---|
|  |  |  | if(Constants.DEALING_HK_ORG || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){ | 
|---|
|  |  |  | public   void syncOrgData(LoginUserInfo user){ | 
|---|
|  |  |  | if(Constants.DEALING_HK_ORG || | 
|---|
|  |  |  | !(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp | 
|---|
|  |  |  | || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self)){ | 
|---|
|  |  |  | return   ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Constants.DEALING_HK_ORG =true; | 
|---|
|  |  |  | 
|---|
|  |  |  | if(addList!=null &&addList.size()>0){ | 
|---|
|  |  |  | //处理新增 | 
|---|
|  |  |  | BaseResponse<OrgOrUserAddResponse> result =  HKService.addBatchOrg(addList); | 
|---|
|  |  |  | if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ | 
|---|
|  |  |  | if(result !=null && StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE)){ | 
|---|
|  |  |  | OrgOrUserAddResponse data = result.getData(); | 
|---|
|  |  |  | if(data.getSuccesses()!=null && data.getSuccesses().size()>0){ | 
|---|
|  |  |  | //处理新增成功的数据,修改海康同步状态 | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public   void syncUserData(){ | 
|---|
|  |  |  | if(Constants.DEALING_HK_USER  || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){ | 
|---|
|  |  |  | public   void syncUserData(LoginUserInfo user){ | 
|---|
|  |  |  | if(Constants.DEALING_HK_USER  || | 
|---|
|  |  |  | !(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp | 
|---|
|  |  |  | || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self)){ | 
|---|
|  |  |  | return   ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Constants.DEALING_HK_USER =true; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)){ | 
|---|
|  |  |  | //                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){ | 
|---|
|  |  |  | //                && Constants.equalsInteger(member.getHkStatus(),Constants.ONE)){ | 
|---|
|  |  |  | List<Integer> deviceIds =new ArrayList<>();//新设备编码集合 | 
|---|
|  |  |  | List<Empower> list = new ArrayList<>();//新授权记录集合 | 
|---|
|  |  |  | //如果用户是同步海康成功,添加带下发权限(只管理新增或者编辑的) | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(Empower::getMemberId,member.getId()) | 
|---|
|  |  |  | .eq(Empower::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .in(Empower::getDeviceId,deviceIds) ); | 
|---|
|  |  |  | empowerMapper.insertBatchSomeColumn(list); | 
|---|
|  |  |  | empowerMapper.insert(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | List<Integer> deviceIds =new ArrayList<>();//新设备编码集合 | 
|---|
|  |  |  | List<Empower> list = new ArrayList<>();//新授权记录集合 | 
|---|
|  |  |  | if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO) | 
|---|
|  |  |  | && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){ | 
|---|
|  |  |  | && Constants.equalsInteger(member.getHkStatus(),Constants.ONE)){ | 
|---|
|  |  |  | //如果用户是同步海康成功,添加带下发权限(只管理新增或者编辑的) | 
|---|
|  |  |  | List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,addDoorIds)); | 
|---|
|  |  |  | if(deviceList == null || deviceList.size() == 0){ | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(Empower::getMemberId,member.getId()) | 
|---|
|  |  |  | .eq(Empower::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .in(Empower::getDeviceId,deviceIds) ); | 
|---|
|  |  |  | empowerMapper.insertBatchSomeColumn(list); | 
|---|
|  |  |  | empowerMapper.insert(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | model.setOrgIndexCode(c.getHkOrgId()); | 
|---|
|  |  |  | model.setJobNo(c.getCode()); | 
|---|
|  |  |  | model.setPhoneNo(c.getPhone()); | 
|---|
|  |  |  | model.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(c.getIdcardNo())){ | 
|---|
|  |  |  | model.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | model.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); | 
|---|
|  |  |  | model.setPersonId(type == 0 ?UUID.randomUUID().toString().replace("-", ""):c.getHkId()); | 
|---|
|  |  |  | model.setGender(Constants.formatIntegerNum(c.getSex())+""); | 
|---|
|  |  |  | model.setPersonName(c.getName()); | 
|---|
|  |  |  | if(type== 0 && StringUtils.isNotBlank(c.getFaceImg())){ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(c.getFaceImg())){ | 
|---|
|  |  |  | model.setFaces(new ArrayList<>()); | 
|---|
|  |  |  | UserAddFaceRequest face = new UserAddFaceRequest(); | 
|---|
|  |  |  | String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg()); | 
|---|