| | |
| | | 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.core.utils.ImageBase64Util; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.dao.CompanyMapper; |
| | | import com.doumee.dao.business.join.MemberJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.service.business.ext.ERPSyncService; |
| | | 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); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | private UserAddRequest getUserAddModel(Member c,String path,int type) { |
| | | public static UserAddRequest getUserAddModel(Member c,String path,int type) { |
| | | UserAddRequest model = new UserAddRequest(); |
| | | model.setOrgIndexCode(c.getHkOrgId()); |
| | | model.setJobNo(c.getCode()); |
| | | model.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); |
| | | model.setPhoneNo(c.getPhone()); |
| | | 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()); |
| | |
| | | } |
| | | face.setFaceData(imageBase); |
| | | model.getFaces().add(face); |
| | | |
| | | } |
| | | return model; |
| | | } |