k94314517
2024-10-16 17efddc6a667670dca682bf36b51a43e99615e6d
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -1,6 +1,5 @@
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;
@@ -11,18 +10,19 @@
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;
@@ -70,8 +70,10 @@
     * 同步海康组织信息,根据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;
@@ -147,7 +149,7 @@
        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){
                    //处理新增成功的数据,修改海康同步状态
@@ -260,8 +262,10 @@
     * @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;
@@ -476,7 +480,7 @@
        }
        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<>();//新授权记录集合
            //如果用户是同步海康成功,添加带下发权限(只管理新增或者编辑的)
@@ -517,7 +521,7 @@
                        .eq(Empower::getMemberId,member.getId())
                        .eq(Empower::getIsdeleted,Constants.ZERO)
                        .in(Empower::getDeviceId,deviceIds) );
                empowerMapper.insertBatchSomeColumn(list);
                empowerMapper.insert(list);
            }
        }
    }
@@ -543,7 +547,7 @@
        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){
@@ -576,7 +580,7 @@
                    .eq(Empower::getMemberId,member.getId())
                    .eq(Empower::getIsdeleted,Constants.ZERO)
                    .in(Empower::getDeviceId,deviceIds) );
            empowerMapper.insertBatchSomeColumn(list);
            empowerMapper.insert(list);
        }
    }
@@ -855,16 +859,19 @@
       }
    }
    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());
@@ -874,7 +881,6 @@
            }
            face.setFaceData(imageBase);
            model.getFaces().add(face);
        }
        return  model;
    }