jiangping
2023-12-22 f7415f2393aeaca96db9c4086fab89602c6a9a6e
海康接口对接开发
已修改3个文件
46 ■■■■■ 文件已修改
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -177,13 +177,15 @@
                    //如果已删除,加入删除集合中
                    delIds.add(company.getId());
                    continue;
                }else{
                    company.setIsdeleted(Constants.ZERO);
                }
                updateList.add(addUpdateCompanyModel(respone,company,date));
            }
        }
        if(allList!=null && allList.size()>0){
            for(Company  c : allList){
                if(isCompanyDeleted(c,list)){
                if(!isCompanyDeleted(c,list)){
                    delIds.add(c.getId());
                }
            }
@@ -340,9 +342,8 @@
        }
        if(allList!=null && allList.size()>0){
            for(Member  c : allList){
                if(isUserDeleted(c,list)){
                if(!Constants.equalsInteger(c.getIsdeleted(),Constants.ONE) &&  !isUserDeleted(c,list)){
                    delList.add(c);
//                    delIds.add(c.getId());
                }
            }
        }
@@ -357,6 +358,7 @@
        member.setErpDate(new Date());
        member.setErpId(param.getId());
        member.setFsStatus(Constants.ZERO);
        member.setStatus(param.getStatus());
        member.setType(Constants.memberType.internal);
        String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo());
        member.setIdcardNo(encryptIdNo);
@@ -375,6 +377,7 @@
        member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
        member.setErpOrgId(param.getOrgId());
        member.setEditDate(new Date());
        member.setStatus(param.getStatus());
        member.setErpDate(new Date());
        member.setHkStatus(Constants.ZERO);
        member.setRoleIds(param.getRoleIds());
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
@@ -14,10 +14,12 @@
import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.haikang.service.HKService;
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.join.CompanyJoinMapper;
import com.doumee.dao.business.join.MemberJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.ERPSyncService;
import com.github.yulichang.query.MPJQueryWrapper;
@@ -49,7 +51,7 @@
    @Autowired
    private EmpowerMapper empowerMapper;
    @Autowired
    private MemberMapper memberMapper;
    private MemberJoinMapper memberMapper;
    @Autowired
    private ERPSyncService erpSyncService;
    @Autowired
@@ -70,7 +72,7 @@
            //查询所有需要同步的企业数据
            String rootOrgId = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_ROOTORG_CODE).getCode();
            List<Company> list = companyMapper.selectList(new QueryWrapper<Company>()
                    .select("*,(select b.hk_id from company b where company.erp_parent_id = b.id limit 1) as hkParentId")
                    .select("*,(select b.hk_id from company b where company.erp_parent_id = b.erp_id limit 1) as hkParentId")
                    .lambda()
                    .eq(Company::getHkStatus,Constants.ZERO)
                    .orderByAsc(Company::getErpDate));
@@ -259,8 +261,10 @@
        Constants.DEALING_HK_USER =true;
        try {
            //查询所有需要同步的企业数据
            List<Member> list = memberMapper.selectList(new QueryWrapper<Member>()
                    .lambda()
            List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
                    .selectAll(Member.class )
                    .selectAs(Company::getHkId,Member::getCompanyHkId)
                    .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                    .eq(Member::getHkStatus,Constants.ZERO)
                    .orderByAsc(Member::getErpDate));
            if(list ==null || list.size()==0){
@@ -313,22 +317,22 @@
            UserAddRequest  addHkModel = getUserAddModel(c,path,1);//修改
            //处理新增数据
            BaseResponse result =  HKService.editUser(addHkModel);
            if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
            if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){
                if(StringUtils.isNotBlank(c.getFaceImg())){
                    //如果有人脸照片,处理人脸照片同步
                    String faceid = dealMemberFace(c,path);
                    if(StringUtils.isBlank(faceid)){
                        noticeErpFail(c,Constants.ZERO,"人脸信息更新失败,请检查人脸照片是否合法!");
                        c.setHkStatus(Constants.TWO);
                        c.setRemark("人脸信息更新失败,请检查人脸照片是否合法!!");
                        c.setRemark("人脸信息更新失败,请检查人脸照片是否合法!!"+result.getMsg());
                    }else{
                        c.setFaceId(faceid);
                    }
                }
            }else{
                noticeErpFail(c,Constants.ZERO,"人员信息同步安防平台失败,请修正后重试!"+result.getCode()+result.getMsg());
                noticeErpFail(c,Constants.ZERO,"人员信息同步安防平台失败,请修正后重试!");
                c.setHkStatus(Constants.TWO);
                c.setRemark("人员信息同步安防平台更新失败,请修正后重试!!");
                c.setRemark("人员信息同步安防平台更新失败,请修正后重试!!"+(result!=null?result.getCode()+result.getMsg():""));
            }
        }
@@ -348,6 +352,8 @@
            //删除的组织,不做处理,海康状态更新为不处理,下次不再处理这个记录
            c.setHkStatus(Constants.TWO);
            c.setRemark("未同步数据,直接删除");
            c.setEditDate(date);
            c.setErpId(c.getErpOrgId()+"_"+UUID.randomUUID().toString());
            memberMapper.updateById(c);
            return  false;
        }
@@ -362,7 +368,7 @@
        }
        //处理新增数据
        BaseResponse<UserAddResponse> result =  HKService.addUser(addHkModel);
        if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
        if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
            c.setFaceId(result.getData().getFaceId());
            c.setHkStatus(Constants.ONE);
            c.setHkId(addHkModel.getPersonId());
@@ -371,7 +377,7 @@
        }else{
            noticeErpFail(c,Constants.ZERO,"人员信息同步安防平台失败,请修正后重试!"+result.getCode()+result.getMsg());
            c.setHkStatus(Constants.TWO);
            c.setRemark("人员信息同步安防平台失败,请修正后重试!");
            c.setRemark("人员信息同步安防平台失败,请修正后重试!"+(result!=null?result.getMsg():""));
            memberMapper.updateById(c);
            return  false;
        }
@@ -465,7 +471,10 @@
    private UserAddRequest getUserAddModel(Member c,String path,int type) {
        UserAddRequest model = new UserAddRequest();
        model.setOrgIndexCode(c.getCompanyHkId());
        model.setPersonId(type == 0 ?HKConstants.RES_USER_INDEX+UUID.randomUUID().toString().replace("-", ""):c.getHkId());
        model.setJobNo(c.getCode());
        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())){
server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
@@ -50,6 +50,7 @@
            r.setCreateDate(new Date());
            r.setCode(ids[i]);
            r.setStatus(Constants.ZERO);
            r.setIsdeleted(Constants.ZERO);
            r.setName(names[i]);
            list.add(r);
        }
@@ -63,7 +64,7 @@
    @PostMapping("/user/list")
    public ERPApiResponse<PageData<ErpUserListResponse>> userList (@RequestBody PageWrap<UserListRequest> pageWrap) {
        List<ErpUserListResponse> list = new ArrayList<>();
        String[] ids = new String[]{"","1001","1002","1003"};
        String[] ids = new String[]{"","DM1004","DM1005","DM1006"};
        String[] names = new String[]{"","人员1","人员2","人员3"};
        String[] orgs = new String[]{"","001","002","003"};
        for(int i=1;i<4;i++){
@@ -73,7 +74,8 @@
            r.setName(names[i-1]);
            r.setCode( ids[i]);
            r.setIdNo("34112219880427042"+i);
            r.setIsdeleted(Constants.ONE);
            r.setPhone("1534569000"+i);
            r.setStatus(Constants.ZERO);
            r.setName(names[i]);
            r.setFaceImg("/20223402/"+r.getId()+".png");
            list.add(r);