From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期四, 11 九月 2025 18:43:14 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java | 105 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 83 insertions(+), 22 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java index 7765f13..8fe86fe 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java +++ b/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,19 +10,23 @@ 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.service.business.third.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.dao.MemberMapper; import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.model.*; +import com.doumee.dao.business.model.Member; +import com.doumee.dao.system.SystemUserMapper; +import com.doumee.dao.system.model.SystemUser; 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; @@ -63,16 +66,72 @@ @Autowired private ERPSyncService erpSyncService; @Autowired + private SystemUserMapper systemUserMapper; + @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private DataSyncConfig dataSyncConfig; /** + * 缁戝畾娴峰悍鐢ㄦ埛openId + * { + * "openId" : "ovmre6R7w-vEQCHg52-UN2mV_abI", + * "userName" : "13856591439", + * "appKey" : "wx173e6caf5abc718a", + * "oaId" : "atwl", + * "platformName" : "瀹夋嘲鐗╂祦鍥尯", + * + * } + */ + @Override + public String syncHkUserOpenid(Integer id){ + SystemUser user = systemUserMapper.selectById(id); + if(user == null ||StringUtils.isBlank(user.getOpenid()) ||Constants.equalsInteger(user.getOpenidHkStatus(),Constants.ONE)){ + return null; + } + UserOpenidSaveRequest request = new UserOpenidSaveRequest(); + request.setUserName(user.getUsername()); + request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode()); + request.setOaId("atwl"); + request.setOpenId(user.getOpenid()); + request.setPlatformName(user.getRealname()); + BaseResponse<Integer> response = HKService.userOpenidSave(request); + if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE) && Constants.equalsInteger(response.getData(),Constants.ONE)){ + user.setOpenidHkStatus(Constants.ONE); + user.setOpenidHkInfo("缁戝畾鎴愬姛"); + }else{ + user.setOpenidHkStatus(Constants.TWO); + user.setOpenidHkInfo(response!=null?StringUtils.defaultString(response.getMsg(),"銆愭湭鐭ュけ璐ュ師鍥犮��"):"缁戝畾澶辫触"); + } + user.setOpenidHkDate(new Date()); + systemUserMapper.updateById(user); + return "鎴愬姛"; + } + @Override + public String delHkUserOpenid(UserOpenidSaveRequest param){ + UserOpenidSaveRequest request = new UserOpenidSaveRequest(); + request.setUserName(param.getUserName()); + request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode()); + BaseResponse response = HKService.userOpenidDel(request); + if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE)){ + } + request.setUserName(null); + request.setOpenId(param.getOpenId()); + request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode()); + response = HKService.userOpenidDel(request); + if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE)){ + } + return "鎴愬姛"; + } + + /** * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁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; @@ -148,7 +207,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){ //澶勭悊鏂板鎴愬姛鐨勬暟鎹紝淇敼娴峰悍鍚屾鐘舵�� @@ -261,8 +320,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; @@ -282,7 +343,7 @@ return; } Date date = new Date(); - String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode() +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); for(Member c : list){ dealMemberInfoBiz(c,date,path) ; @@ -299,7 +360,8 @@ */ @Override public void syncMemberDelData(){ - if(Constants.DEALING_HK_DEL_USER || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){ + if(Constants.DEALING_HK_DEL_USER + || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())== DataSyncConfig.origin.hk){ return ; } Constants.DEALING_HK_DEL_USER =true; @@ -358,14 +420,16 @@ } Date date = new Date(); for(Member member : list){ + //涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛 3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉� if(member!=null && Constants.equalsInteger(member.getIsdeleted(),Constants.ONE) ){ if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda() .eq(Empower::getMemberId, member.getId()) .eq(Empower::getIsdeleted,Constants.ONE) .ne(Empower::getFailFlag,Constants.ONE) - .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0) { - //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁 - + .notIn(Empower::getSendStatus + ,Constants.EmpowerStatus.pass + ,Constants.EmpowerStatus.cancel )) ==0) { + //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁� HkSyncEmpowerServiceImpl.doHkDeleteUser(member.getId(),member.getHkId(),date,memberMapper1,memberCardMapper); } } @@ -392,12 +456,11 @@ for(String s :ss){ try { Integer ts =Integer.parseInt(s); - r.add(ts); + r.add(ts); }catch (Exception e){ //鑴忔暟鎹笉澶勭悊 } } - } } return r; @@ -475,9 +538,8 @@ //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴� return; } - 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<>();//鏂版巿鏉冭褰曢泦鍚� //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄愶紙鍙鐞嗘柊澧炴垨鑰呯紪杈戠殑锛� @@ -518,7 +580,7 @@ .eq(Empower::getMemberId,member.getId()) .eq(Empower::getIsdeleted,Constants.ZERO) .in(Empower::getDeviceId,deviceIds) ); - empowerMapper.insertBatchSomeColumn(list); + empowerMapper.insert(list); } } } @@ -544,7 +606,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){ @@ -577,7 +639,7 @@ .eq(Empower::getMemberId,member.getId()) .eq(Empower::getIsdeleted,Constants.ZERO) .in(Empower::getDeviceId,deviceIds) ); - empowerMapper.insertBatchSomeColumn(list); + empowerMapper.insert(list); } } @@ -616,7 +678,6 @@ cr.setCardType(m.getType()); param.getCardList().add(cr); } - //澶勭悊鏂板鏁版嵁 BaseResponse<List<CardInfoResponse>> result = HKService.cardBingding(param); if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){ @@ -652,7 +713,7 @@ public static List<MemberCard> getNormalCardList(Member member,MemberCardMapper memberCardMapper) { return memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda() .eq(MemberCard::getMemberId,member.getId()) -// .eq(MemberCard::getType,Constants.TWO) + // .eq(MemberCard::getType,Constants.TWO) .eq(MemberCard::getStatus,Constants.MemberCard.normal) .eq(MemberCard::getHkStatus,Constants.ONE) ); @@ -687,7 +748,7 @@ //澶勭悊鏂板鏁版嵁 BaseResponse result = HKService.editUser(addHkModel); if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){ - if(StringUtils.isNotBlank(c.getFaceImg()) && Constants.equalsInteger(c.getFaceStatus(),Constants.ZERO)){ + if(StringUtils.isNotBlank(c.getFaceImg()) && !Constants.equalsInteger(c.getFaceStatus(),Constants.TWO)){ //濡傛灉鏈変汉鑴哥収鐗囷紝澶勭悊浜鸿劯鐓х墖鍚屾 String faceid = dealMemberFace(c,path); if(StringUtils.isBlank(faceid)){ -- Gitblit v1.9.3