From 6c40e04eb7c2060feb2533735cd3089d438965e5 Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期二, 19 三月 2024 17:19:36 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 122 insertions(+), 25 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java index 07709a6..b3f28f6 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java @@ -20,6 +20,7 @@ import com.doumee.service.business.ext.ERPSyncService; import com.doumee.service.business.impl.hksync.HkSyncBaseServiceImpl; 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; @@ -48,6 +49,8 @@ private DeviceMapper deviceMapper; @Autowired private EmpowerMapper empowerMapper; + @Autowired + private ParkBookMapper bookMapper; @Autowired private MemberCardMapper memberCardMapper; @Autowired @@ -209,7 +212,6 @@ model.setOrgIndexCode(c.getHkId()); model.setOrgName(c.getName()); return model; - } /** @@ -228,7 +230,7 @@ List<String> fIds = new ArrayList<>(); if(result.getData()!=null){ for(OrgUpdateFailureResponse r : result.getData()){ - if(!r.getCode().equals("0x00052102")){ + if(r.getCode().equals("0x00052102")){ //涓嶅瓨鍦ㄧ殑涔熺畻鍒犻櫎鎴愬姛 fIds.add(r.getOrgIndexCode());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚� } @@ -264,10 +266,12 @@ List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() .selectAll(Member.class ) .selectAs(Company::getHkId,Member::getHkOrgId) - .isNotNull(Member::getFaceId) +// .isNotNull(Member::getFaceId .leftJoin(Company.class,Company::getId,Member::getCompanyId) .eq(Member::getHkStatus,Constants.ZERO) + .eq(Member::getStatus,Constants.ZERO) .eq(Member::getType,Constants.memberType.internal) + .notExists("select d.id from empower d where d.member_id=t.id and d.send_status in (1,5)")//鎺掗櫎鏈夋鍦ㄥ悓姝ヤ笅鍙戜换鍔$殑鏁版嵁 .orderByAsc(Member::getErpDate)); if(list ==null || list.size()==0){ return; @@ -303,7 +307,8 @@ String[] ss = doorids.split(","); try { for(String s :ss){ - r.add(Integer.parseInt(s)); + Integer ts =Integer.parseInt(s); + r.add(ts); } }catch (Exception e){ //鑴忔暟鎹笉澶勭悊 @@ -314,6 +319,16 @@ } return null; } + + private static boolean isNorExistInList(Integer ts, List<Integer> list) { + for(Integer r :list){ + if(Constants.equalsInteger(ts,r)){ + return true; + } + } + return false; + } + @Transactional public boolean dealMemberInfoBiz(Member c, Date date, String path) { if( c.getCompanyId() == null){ @@ -329,13 +344,20 @@ } return false; } - private void dealDelMemberRoleEmpower(Member member ) { + private int dealDelMemberRoleEmpower(Member member ) { //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級 - empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() - .eq(Empower::getMemberId,member.getId()) - .set(Empower::getIsdeleted,Constants.ONE) - .eq(Empower::getIsdeleted,Constants.ZERO) - .set(Empower::getSendStatus,Constants.ZERO)); + bookMapper.update(null,new UpdateWrapper<ParkBook>().lambda() + .eq(ParkBook::getMemberId,member.getId()) + .set(ParkBook::getRemark,"绛夊緟鍚屾鍒犻櫎瀹夐槻骞冲彴") + .set(ParkBook::getIsdeleted,Constants.ONE) + .eq(ParkBook::getIsdeleted,Constants.ZERO) + .set(ParkBook::getHkStatus,Constants.ZERO)); + return empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() + .eq(Empower::getMemberId,member.getId()) + .set(Empower::getIsdeleted,Constants.ONE) + .set(Empower::getRemark,"绛夊緟鍚屾鍒犻櫎瀹夐槻骞冲彴") + .eq(Empower::getIsdeleted,Constants.ZERO) + .set(Empower::getSendStatus,Constants.ZERO)); } private void dealMemberRoleEmpower(Member member ) { //澶勭悊鏂板鐨勪汉鍛樺崱鐗囨暟鎹紙涓庢捣搴峰悓姝ワ級 @@ -344,14 +366,18 @@ } public static void dealMemberRoleEmpowerDo(List<MemberCard> cards,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) { - if(cards == null || cards.size() == 0){ - return; - } List<Integer> doorIds = getRoleIdByParam(member,deviceRoleMapper); if(doorIds==null || doorIds.size() == 0){ + //濡傛灉鏉冮檺娓呯┖锛屽垯娓呯┖浜哄憳鎺堟潈鐨勬潈闄愭暟鎹� + empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() + .eq(Empower::getMemberId,member.getId()) + .set(Empower::getIsdeleted,Constants.ONE) + .eq(Empower::getIsdeleted,Constants.ZERO) + .set(Empower::getSendStatus,Constants.ZERO)); return; } - if(StringUtils.isBlank(member.getFaceImg())){ + if((cards == null || cards.size() == 0) && StringUtils.isBlank(member.getFaceId())){ + //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴� return; } @@ -400,6 +426,66 @@ empowerMapper.insertBatchSomeColumn(list); } } + public static void dealChangeDeviceRoleEmpower( Member member ,List<Integer> addDoorIds,List<Integer> delDoorIds, DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) { + if(delDoorIds!=null && delDoorIds.size()>0){ + //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級 + empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() + .eq(Empower::getMemberId,member.getId()) + .set(Empower::getIsdeleted,Constants.ONE) + .eq(Empower::getIsdeleted,Constants.ZERO) + .in(Empower::getDeviceId,delDoorIds) + .set(Empower::getSendStatus,Constants.ZERO)); + } + if(StringUtils.isBlank(member.getFaceId())){ + //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴� + return; + } + + List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚� + List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚� + if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO) + && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){ + //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄愶紙鍙鐞嗘柊澧炴垨鑰呯紪杈戠殑锛� + List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,addDoorIds)); + if(deviceList == null || deviceList.size() == 0){ + return; + } + for (Device deviceRole:deviceList) { + Empower model = new Empower(); + model.setCreateDate(new Date()); + model.setMemberId(member.getId()); + model.setIsdeleted(Constants.ZERO); + model.setDeviceId(deviceRole.getId()); + model.setSendStatus(Constants.ZERO); + model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�"); + model.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); + model.setStartTime(member.getStartTime()); + model.setEndTime(member.getEndTime()); + //榛樿缁欎簬铏氭嫙鍗� + model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId()); + model.setSendType(Constants.ZERO); + //鏍囪鏈�鏂扮殑鎺堟潈璁惧缂栫爜闆嗗悎 + deviceIds.add(deviceRole.getId()); + list.add(model); + } + } + //寰呯Щ闄ゆ潈闄愮殑璁惧鏁版嵁鎺堟潈璁板綍锛堥拡瀵瑰垹闄ゅ拰鏇存柊涓㈠け鐨勬潈闄愶紝闇�瑕佸悓姝ヤ笅鍙戝垹闄ゆ潈闄愶級 + empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() + .eq(Empower::getMemberId,member.getId()) + .set(Empower::getIsdeleted,Constants.ONE) + .eq(Empower::getIsdeleted,Constants.ZERO) + .notIn(deviceIds.size()>0,Empower::getDeviceId,deviceIds) + .set(Empower::getSendStatus,Constants.ZERO)); + //瀵煎叆鏂板鐨勬巿鏉冧俊鎭� + if(list.size()>0){ + //鐩存帴瑕嗙洊閲嶅鐨勮澶囨潈闄愶紝鐩存帴鍒犻櫎鍗冲彲 + empowerMapper.delete(new UpdateWrapper<Empower>().lambda() + .eq(Empower::getMemberId,member.getId()) + .eq(Empower::getIsdeleted,Constants.ZERO) + .in(Empower::getDeviceId,deviceIds) ); + empowerMapper.insertBatchSomeColumn(list); + } + } /** * 瀵逛汉鍛樺甫寮�鍗℃暟鎹繘琛岃嚜鍔ㄥ紑鍗℃搷浣� @@ -409,7 +495,7 @@ private List<MemberCard> dealMemberHkCard(Member member) { List<MemberCard> memberCards = memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda() .eq(MemberCard::getMemberId,member.getId()) - .eq(MemberCard::getType,Constants.TWO) +// .eq(MemberCard::getType,Constants.TWO) .eq(MemberCard::getHkStatus,Constants.ZERO) ); if(memberCards==null || memberCards.size()==0){ //娌℃湁甯﹀鐞嗙殑鏁版嵁锛岀洿鎺ヨ烦杩� @@ -440,6 +526,8 @@ //澶勭悊鏂板鏁版嵁 BaseResponse<List<CardInfoResponse>> result = HKService.cardBingding(param); if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){ + +// 0x04a12022","msg":"cardNo [1223382985] is exists if(result.getData()!=null ){ for(CardInfoResponse r : result.getData()){ doneCodes.add(r.getCardNo()); @@ -470,7 +558,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) ); @@ -487,15 +575,21 @@ c.setHkStatus(Constants.ONE); if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){ //澶勭悊鍒犻櫎鏁版嵁锛堝垹闄や箣鍓嶄笅鍙戠殑娴峰悍浜哄憳鏉冮檺淇℃伅锛� - dealDelMemberRoleEmpower(c); - c.setHkStatus(Constants.FOUR ); - c.setRemark( "绛夊緟鍒犻櫎鎺堟潈锛�"); - /*boolean r = doHkDeleteUser(c.getId(),c.getHkId(),date); - c.setHkStatus(r?Constants.ONE:Constants.TWO); - c.setRemark(r?null:"鍒犻櫎娴峰悍浜哄憳淇℃伅澶辫触锛�"); - c.setIsdeleted(r? Constants.ONE: Constants.ZERO);//鍒犻櫎澶辫触锛屾仮澶嶆暟鎹� - //鍒犻櫎鎵�鏈夌粦瀹氱殑鍗$墖淇℃伅 - memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,c.getId()));*/ + int rr = dealDelMemberRoleEmpower(c); + if(rr >0){ + //濡傛灉鏈夋瑠闄愬緟鍒櫎锛岀瓑寰呭垹闄ゅ畬鎴愬啀鍒犻櫎浜哄憳 + c.setHkStatus(Constants.FOUR ); + c.setRemark( "绛夊緟鍒犻櫎鎺堟潈锛�"); + }else{ + //娌℃湁鏉冮檺鐩存帴鍒犻櫎浜哄憳 + boolean r = doHkDeleteUser(c.getId(),c.getHkId(),date); + c.setHkStatus(r?Constants.ONE:Constants.TWO); + c.setRemark(r?null:"鍒犻櫎娴峰悍浜哄憳淇℃伅澶辫触锛�"); + c.setIsdeleted(r? Constants.ONE: Constants.ZERO);//鍒犻櫎澶辫触锛屾仮澶嶆暟鎹� + //鍒犻櫎鎵�鏈夌粦瀹氱殑鍗$墖淇℃伅 + memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,c.getId())); + } + }else{ //澶勭悊淇敼鏁版嵁锛屽苟涓旀洿鏂颁汉鑴� UserAddRequest addHkModel = getUserAddModel(c,path,1);//淇敼 @@ -548,6 +642,7 @@ noticeErpFail(c,Constants.ZERO,"浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�"); c.setHkStatus(Constants.TWO); c.setRemark("浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�"); + c.setHkDate(new Date()); memberMapper.updateById(c); return false; } @@ -557,6 +652,7 @@ c.setFaceId(result.getData().getFaceId()); c.setHkStatus(Constants.ONE); c.setHkId(addHkModel.getPersonId()); + c.setHkDate(new Date()); memberMapper.updateById(c); dealMemberRoleEmpower(c); return true; @@ -564,6 +660,7 @@ noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg()); c.setHkStatus(Constants.TWO); c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+(result!=null?result.getMsg():"")); + c.setHkDate(new Date()); memberMapper.updateById(c); return false; } -- Gitblit v1.9.3