From dfdd12accede84c18ac4b0b23b95a9cc8da35168 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期五, 08 三月 2024 10:35:53 +0800
Subject: [PATCH] 整理
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 200 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 142 insertions(+), 58 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index 2a30a2e..55256e6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -12,12 +12,11 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.DeviceMapper;
+import com.doumee.dao.business.MemberCardMapper;
+import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.join.EmpowerJoinMapper;
import com.doumee.dao.business.join.VisitsJoinMapper;
-import com.doumee.dao.business.model.Device;
-import com.doumee.dao.business.model.Empower;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.business.model.*;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -39,7 +38,11 @@
@Autowired
private EmpowerJoinMapper empowerMapper;
@Autowired
+ private MemberMapper memberMapper;
+ @Autowired
private DeviceMapper deviceMapper;
+ @Autowired
+ private MemberCardMapper memberCardMapper;
/**
* 瀹氭椂鏌ヨ鏉冮檺涓嬪彂浠诲姟杩涘害鎵ц缁撴灉
@@ -72,36 +75,44 @@
//鏌ヨ涓嬪彂鐘舵��
BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
if(response!=null
- && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
- && response.getData()!=null
- && response.getData().getList() != null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) && response.getData()!=null
+ ){
+ if( response.getData().getList() != null
&& response.getData().getList().size()>0 ){
TaskPersonDetailResponse model = response.getData().getList().get(0);
if(model != null && StringUtils.equals(model.getPersondownloadResult(),"0")){
//鏇存柊宸插畬鎴愪笅杞戒换鍔�
- String remark = "";
- String cardInfo = "鍗$墖涓嬪彂澶辫触";
- TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
- if(d.getCards() !=null && d.getCards().size()>0){
- cardInfo = "鍗$墖锛氥��" ;
- for(TaskPersonDetailCardInfoResponse card : d.getCards()){
- cardInfo +=card.getId()+" ";
+ String remark = "";
+ String cardInfo = "鍗$墖涓嬪彂澶辫触";
+ TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
+ if(d.getCards() !=null && d.getCards().size()>0){
+ cardInfo = "鍗$墖锛氥��" ;
+ for(TaskPersonDetailCardInfoResponse card : d.getCards()){
+ cardInfo +=card.getId()+" ";
+ }
+ cardInfo += "銆戜笅鍙戞垚鍔�";
}
- cardInfo += "銆戜笅鍙戞垚鍔�";
- }
- if(d.getFaces() == null || d.getFaces().size() ==0){
- remark = cardInfo+"锛� 涓嶆敮鎸佷汉鑴歌澶囷紒";
- }else{
- remark = ""+cardInfo+"锛屼汉鑴镐笅鍙戞垚鍔燂紒";
+ if(d.getFaces() == null || d.getFaces().size() ==0){
+ remark = cardInfo+"锛� 涓嶆敮鎸佷汉鑴歌澶囷紒";
+ }else{
+ remark = ""+cardInfo+"锛屼汉鑴镐笅鍙戞垚鍔燂紒";
+ }
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getId,c.getId() )
+ .set(Empower::getRemark,remark )
+ .set(Empower::getSendInfo,remark )
+ .set(Empower::getSendStatus,Constants.EmpowerStatus.pass) );
}
- empowerMapper.update(null,new UpdateWrapper<Empower>()
- .lambda()
- .eq(Empower::getId,c.getId() )
- .set(Empower::getRemark,remark )
- .set(Empower::getSendInfo,remark )
- .set(Empower::getSendStatus,Constants.EmpowerStatus.pass) );
- }
-
+ }else{
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getId,c.getId() )
+ .set(Empower::getRemark,"涓嬪彂澶辫触" )
+ .set(Empower::getSendInfo,"涓嬪彂澶辫触" )
+ .set(Empower::getSendStatus,Constants.EmpowerStatus.fail) );
+ }
+ checkDelMemberTask(c.getMemberId());
}
}
}catch (Exception e){
@@ -111,6 +122,60 @@
}
}
+ /**
+ * 瀵规捣搴峰垹闄ょ粍缁囦俊鎭�
+ * @param id
+ * @param date
+ */
+ private boolean doHkDeleteUser(Integer id,String delHkIds, Date date ) {
+ if(StringUtils.isBlank(delHkIds)){
+ return true;
+ }
+ UserDelRequest request = new UserDelRequest();
+ 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::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触")//鍚屾澶辫触
+ .set(Member::getHkDate,date)
+ .in(Member::getId, id));
+ }else{
+ //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
+ memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+ .set(Member::getHkStatus,Constants.ONE)//鍚屾鎴愬姛
+ .set(Member::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触")//鍚屾澶辫触
+ .set(Member::getHkDate,date)
+ .in(Member::getId, id));
+ //鍒犻櫎鎵�鏈夌粦瀹氱殑鍗$墖淇℃伅
+ memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,id));
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * 妫�鏌ュ垹闄や汉鍛樼殑鏉冮檺鏄惁閮藉垹闄ゅ畬鎴愶紝濡傛灉鏉冮檺鍒犻櫎瀹屾垚锛� 杩涜娴峰悍浜哄憳鐨勫垹闄ゆ搷浣�
+ */
+ private void checkDelMemberTask(Integer memberId) {
+ Date date = new Date();
+ Member member = memberMapper.selectById(memberId);
+ 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::getSendStatus,Constants.EmpowerStatus.pass)) ==0){
+ //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁
+ doHkDeleteUser(member.getId(),member.getHkId(),date);
+ }
+ }
+ }
+
public void syncEmpowerDetailDataOld(){
if(Constants.DEALING_HK_EMPOWER_DETAIL){
return ;
@@ -189,8 +254,8 @@
empowerMapper.update(null,new UpdateWrapper<Empower>()
.lambda()
.eq(Empower::getHkId,c.getHkId() )
+ .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" )
.set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) );
-
}
}
}catch (Exception e){
@@ -224,7 +289,28 @@
}
}
+ /**
+ * 鍒嗘璇锋眰涓嬪彂鏉冮檺
+ * @param list
+ */
private void dealDelListTask(List<Empower> list) {
+ int sublistSize = 100;
+ int startIndex = 0;
+ int endIndex = sublistSize;
+
+ while (startIndex < list.size()) {
+ if (endIndex > list.size()) {
+ endIndex = list.size();
+ }
+ List<Empower> sublist = list.subList(startIndex, endIndex);
+ if(sublist.size()>0){
+ dealDelListTaskDo(sublist);
+ }
+ startIndex = endIndex;
+ endIndex += sublistSize;
+ }
+ }
+ private void dealDelListTaskDo(List<Empower> list) {
//鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
if(list ==null || list.size()==0){
return;
@@ -232,43 +318,41 @@
Date date = new Date();
//鍒涘缓浠诲姟
String taskId = hkTaskAddtion();
- List<Empower> successList = new ArrayList<>();
- List<Empower> errorList = new ArrayList<>();
+ List<Integer> successList = new ArrayList<>();
+ List<Integer> errorList = new ArrayList<>();
for(Empower c : list) {
//鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹�
if(addTaskData(c,taskId,HKConstants.OPERA_TYPE.DEL.getKey())){
- successList.add(c);
+ successList.add(c.getId());
}else{
- errorList.add(c);
+ errorList.add(c.getId());
}
}
if(successList.size()>0){
//寮�濮嬫墽琛屼笅鍙�
boolean status = startTask(taskId);
- for(Empower model : successList){
- Empower update = new Empower();
- update.setId(model.getId());
- update.setSendDate(date);
- update.setEditDate(date);
- update.setHkId(taskId);
- update.setRemark(status?"涓嬪彂浠诲姟鎵ц鎴愬姛":"涓嬪彂浠诲姟鎵ц澶辫触");
- update.setSendInfo(status?"涓嬪彂浠诲姟鎵ц鎴愬姛":"涓嬪彂浠诲姟鎵ц澶辫触");
- //涓嬪彂涓�
- update.setSendStatus(status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail);
- empowerMapper.updateById(update);
- }
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
+ .lambda()
+ .set(Empower::getSendDate,date)
+ .set(Empower::getEditDate,date)
+ .set(Empower::getSendStatus,status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail)
+ .set(Empower::getHkId,taskId)
+ .set(Empower::getSendInfo,status?"涓嬪彂浠诲姟鎵ц鎴愬姛":"涓嬪彂浠诲姟鎵ц澶辫触")
+ .set(Empower::getRemark,status?"涓嬪彂浠诲姟鎵ц鎴愬姛":"涓嬪彂浠诲姟鎵ц澶辫触")
+ .set(Empower::getEditDate,date)
+ .in(Empower::getId,successList));
}
- for(Empower model : errorList){
- Empower update = new Empower();
- update.setId(model.getId());
- update.setSendDate(date);
- update.setEditDate(date);
- update.setHkId(taskId);
- update.setSendStatus(Constants.EmpowerStatus.fail);
- update.setSendInfo( "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触");
- update.setRemark( "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触");
- empowerMapper.updateById(update);
- }
+
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
+ .lambda()
+ .set(Empower::getSendStatus,Constants.EmpowerStatus.fail)
+ .set(Empower::getSendDate,date)
+ .set(Empower::getEditDate,date)
+ .set(Empower::getHkId,taskId)
+ .set(Empower::getSendInfo, "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触")
+ .set(Empower::getRemark, "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触")
+ .set(Empower::getEditDate,date)
+ .in(Empower::getId,errorList));
}
private void dealNewListTask(List<Empower> list) {
@@ -407,13 +491,13 @@
queryWrapper.selectAll(Empower.class);
queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
- queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
+ queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.downloaded);
+ queryWrapper.isNotNull(Member::getHkId) ;
queryWrapper.orderByAsc(Empower::getSendDate);
- queryWrapper.isNotNull(Empower::getMemberHkId) ;
List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
return list;
}
--
Gitblit v1.9.3