From 51a208c7715ecfea9faeccd5ee56ed2d0a697c95 Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期六, 20 四月 2024 15:24:28 +0800 Subject: [PATCH] 工作调度 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java | 122 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 108 insertions(+), 14 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 bc8ff99..9af2a01 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 @@ -1,5 +1,6 @@ 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; @@ -19,6 +20,7 @@ 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; @@ -55,6 +57,8 @@ private MemberCardMapper memberCardMapper; @Autowired private MemberJoinMapper memberMapper; + @Autowired + private MemberMapper memberMapper1; @Autowired private ERPSyncService erpSyncService; @Autowired @@ -288,6 +292,85 @@ Constants.DEALING_HK_USER =false; } } + /** + * 鍚屾娴峰悍浜哄憳淇℃伅 + * @return + */ + @Override + public void syncMemberDelData(){ + if(Constants.DEALING_HK_DEL_USER || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){ + return ; + } + Constants.DEALING_HK_DEL_USER =true; + try { + dealWaitDelMemberData();//绛夊緟鍒犻櫎鏉冮檺鏁版嵁鐨勫垹闄や笅鍙� +// dealFailDelMemberData();//澶勭悊鍒犻櫎澶辫触鏁版嵁閲嶆柊涓嬪彂 + }catch (Exception e){ + e.printStackTrace(); + }finally { + Constants.DEALING_HK_DEL_USER =false; + } + } + + /** + * 澶勭悊鍒犻櫎澶辫触鏁版嵁閲嶆柊涓嬪彂 + */ + private void dealFailDelMemberData() { + //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁 + List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() + .selectAll(Member.class ) + .eq(Member::getHkStatus,Constants.TWO)//绛夊緟涓嬪彂瀹屾垚鐨� + .eq(Member::getIsdeleted,Constants.ONE)//宸插垹闄ょ殑 + .eq(Member::getType,Constants.memberType.internal) + .orderByAsc(Member::getEditDate)); + if(list ==null || list.size()==0){ + return; + } + Date date = new Date(); + for(Member member : list){ + 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) { + //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁 + HkSyncEmpowerServiceImpl.doHkDeleteUser(member.getId(),member.getHkId(),new Date(),memberMapper1,memberCardMapper); + } + } + } + } + + /** + * 绛夊緟鍒犻櫎鏉冮檺鏁版嵁鐨勫垹闄や笅鍙� + */ + private void dealWaitDelMemberData() { + //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁 + List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() + .selectAll(Member.class ) + .eq(Member::getHkStatus,Constants.FOUR)//绛夊緟涓嬪彂瀹屾垚鐨� + .eq(Member::getIsdeleted,Constants.ONE)//宸插垹闄ょ殑 + .eq(Member::getType,Constants.memberType.internal) + .orderByAsc(Member::getEditDate)); + if(list ==null || list.size()==0){ + return; + } + Date date = new Date(); + for(Member member : list){ + 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) { + //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁 + + HkSyncEmpowerServiceImpl.doHkDeleteUser(member.getId(),member.getHkId(),date,memberMapper1,memberCardMapper); + } + } + } + } + public static List<Integer> getRoleIdByParam( Member member,DeviceRoleMapper deviceRoleMapper) { //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺 List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() @@ -353,10 +436,19 @@ .set(ParkBook::getIsdeleted,Constants.ONE) .eq(ParkBook::getIsdeleted,Constants.ZERO) .set(ParkBook::getHkStatus,Constants.ZERO)); + //鎶婃墍鏈夊緟涓嬪彂鐨勪换鍔℃敼鎴� 宸插彇娑� + empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() + .eq(Empower::getMemberId,member.getId()) + .eq(Empower::getIsdeleted,Constants.ZERO) + .eq(Empower::getSendStatus,Constants.EmpowerStatus.wait) + .set(Empower::getIsdeleted,Constants.ONE) + .set(Empower::getSendStatus,Constants.EmpowerStatus.cancel)); return empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() .eq(Empower::getMemberId,member.getId()) .set(Empower::getIsdeleted,Constants.ONE) + .notIn(Empower::getSendStatus,Constants.EmpowerStatus.fail) .set(Empower::getRemark,"绛夊緟鍚屾鍒犻櫎瀹夐槻骞冲彴") + .eq(Empower::getIsdeleted,Constants.ZERO) .eq(Empower::getIsdeleted,Constants.ZERO) .set(Empower::getSendStatus,Constants.ZERO)); } @@ -402,6 +494,7 @@ model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�"); model.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); model.setStartTime(member.getStartTime()); + model.setFailFlag(Constants.ZERO); model.setEndTime(member.getEndTime()); //榛樿缁欎簬铏氭嫙鍗� model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId()); @@ -461,6 +554,7 @@ model.setCreateDate(new Date()); model.setMemberId(member.getId()); model.setIsdeleted(Constants.ZERO); + model.setFailFlag(Constants.ZERO); model.setDeviceId(deviceRole.getId()); model.setSendStatus(Constants.ZERO); model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�"); @@ -578,15 +672,13 @@ if(rr >0){ //濡傛灉鏈夋瑠闄愬緟鍒櫎锛岀瓑寰呭垹闄ゅ畬鎴愬啀鍒犻櫎浜哄憳 c.setHkStatus(Constants.FOUR ); + c.setFaceStatus(Constants.ONE);//鎶婂紓甯镐汉鑴哥姸鎬佹敼涓烘甯革紝鐢ㄤ簬鍒犻櫎鏉冮檺鏁版嵁 c.setRemark( "绛夊緟鍒犻櫎鎺堟潈锛�"); + c.setEditDate(date); + memberMapper.updateById(c); }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())); + HkSyncEmpowerServiceImpl.doHkDeleteUser(c.getId(),c.getHkId(),new Date(),memberMapper1,memberCardMapper);; } }else{ //澶勭悊淇敼鏁版嵁锛屽苟涓旀洿鏂颁汉鑴� @@ -615,10 +707,10 @@ c.setHkStatus(Constants.TWO); c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴鏇存柊澶辫触锛岃淇鍚庨噸璇曪紒锛�"+(result!=null?result.getCode()+result.getMsg():"")); } - + c.setHkDate(date); + c.setEditDate(date); + memberMapper.updateById(c); } - c.setHkDate(date); - memberMapper.updateById(c); } /** @@ -712,12 +804,12 @@ //閫氱煡ERP浜鸿劯鏁版嵁涓嶆纭� erpSyncService.noticeUserFail(r); } - - /** +/* + *//** * 瀵规捣搴峰垹闄ょ粍缁囦俊鎭� * @param id * @param date - */ + *//* private boolean doHkDeleteUser(Integer id,String delHkIds, Date date ) { if(StringUtils.isBlank(delHkIds)){ return true; @@ -726,25 +818,26 @@ request.setPersonIds(new String[]{delHkIds}); BaseResponse<List<UserDelResponse>> result = HKService.delBatchUser(request); if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ - List<String> fIds = new ArrayList<>(); //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛� if(result.getData()!=null && result.getData().size()>0){ log.info("娴峰悍鍒犻櫎鐢ㄦ埛澶辫触锛�==============="+result.getData().get(0).getPersonId()); memberMapper.update(null,new UpdateWrapper<Member>().lambda() .set(Member::getHkStatus,Constants.TWO)//鍚屾澶辫触 .set(Member::getHkDate,date) + .set(Member::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触:"+ JSONObject.toJSONString(result.getData().get(0) )) .in(Member::getId, id)); }else{ //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛� memberMapper.update(null,new UpdateWrapper<Member>().lambda() .set(Member::getHkStatus,Constants.ONE)//鍚屾鎴愬姛 .set(Member::getHkDate,date) + .set(Member::getRemark,"宸插悓姝�") .in(Member::getId, id)); } return true; } return false; - } + }*/ /** * 鍒犻櫎浜哄憳鎵�鏈夎澶囦笂鐨勬潈闄愪俊鎭� @@ -812,4 +905,5 @@ return model; } + } -- Gitblit v1.9.3