From f2d095dd7f3df56b09564ba46dcaa36d912ae4a8 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期一, 18 三月 2024 18:05:45 +0800
Subject: [PATCH] 整理
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 315 ++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 230 insertions(+), 85 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 55256e6..a0b2d69 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
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
@@ -21,6 +22,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -37,6 +39,8 @@
public class HkSyncEmpowerServiceImpl extends HkSyncBaseServiceImpl {
@Autowired
private EmpowerJoinMapper empowerMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Autowired
private MemberMapper memberMapper;
@Autowired
@@ -59,66 +63,105 @@
if(list == null || list.size() ==0){
return;
}
- for(Empower c : list){
- TaskPersonDetailRequest param = new TaskPersonDetailRequest();
- param.setPageNo(1);
- param.setPageSize(100);
+ Thread t1=new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ for(Empower c : list){
+ TaskPersonDetailRequest param = new TaskPersonDetailRequest();
+ param.setPageNo(1);
+ param.setPageSize(100);
// param.setPersonIds(new ArrayList<>());
- param.setPersonIds(new String[]{c.getMemberHkId()});
- param.setTaskId(c.getHkId());
- TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest();
- rec.setResourceIndexCode(c.getDeviceIndexCode());
- rec.setResourceType(c.getDeviceType());
+ param.setPersonIds(new String[]{c.getMemberHkId()});
+ param.setTaskId(c.getHkId());
+ TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest();
+ rec.setResourceIndexCode(c.getDeviceIndexCode());
+ rec.setResourceType(c.getDeviceType());
// rec.setChannelNos(c.getDeviceChannelNo().split(","));
- param.setResourceInfo(rec);
- //鏌ヨ涓嬪彂鐘舵��
- BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
- if(response!=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()+" ";
+ param.setResourceInfo(rec);
+ //鏌ヨ涓嬪彂鐘舵��
+ BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
+ if(response!=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() + " ";
+ }
+ 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));
+ } 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));
}
- cardInfo += "銆戜笅鍙戞垚鍔�";
+ } else {
+ //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟
+ if(Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
+// && Constants.formatIntegerNum(c.getTryNum())+1 < tryNum ){
+ empowerMapper.update(null, new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getId, c.getId())
+ .set(Empower::getRemark, "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�")
+// .set(Empower::getHkId,null)
+// .set(Empower::getSendDate,null)
+ .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1)
+ .set(Empower::getSendInfo, "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�")
+ .set(Empower::getSendStatus, Constants.EmpowerStatus.wait));
+ empowerMapper.update(null, new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getId, c.getId())
+ .set(Empower::getRemark, "鍒犻櫎鏉冮檺涓嬪彂澶辫触")
+ .set(Empower::getSendInfo, "鍒犻櫎鏉冮檺涓嬪彂澶辫触")
+ .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
+ }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));
+ }
}
- 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) );
- }
- }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());
+ }
}
- checkDelMemberTask(c.getMemberId());
- }
- }
+ }catch (Exception e){
+
+ }finally {
+ Constants.DEALING_HK_EMPOWER_DETAIL=false;
+ }
+ }
+ });
+ t1.start();
+
+
}catch (Exception e){
e.printStackTrace();
- }finally {
- Constants.DEALING_HK_EMPOWER_DETAIL=false;
}
}
@@ -240,30 +283,41 @@
if(list == null || list.size() ==0){
return;
}
- for(Empower c : list){
- TaskProgressRequest param = new TaskProgressRequest();
- param.setTaskId(c.getHkId());
- //鏌ヨ涓嬪彂鐘舵��
- BaseResponse<TaskProgressNumResponse> response = HKService.taskProgressNum(param);
- if(response!=null
- && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
- && response.getData()!=null
- && response.getData().getIsDownloadFinished() != null
- && response.getData().getIsDownloadFinished() ){
- //鏇存柊宸插畬鎴愪笅杞戒换鍔�
- empowerMapper.update(null,new UpdateWrapper<Empower>()
- .lambda()
- .eq(Empower::getHkId,c.getHkId() )
- .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" )
- .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) );
- }
- }
+ Thread t1=new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ for(Empower c : list){
+ TaskProgressRequest param = new TaskProgressRequest();
+ param.setTaskId(c.getHkId());
+ //鏌ヨ涓嬪彂鐘舵��
+ BaseResponse<TaskProgressNumResponse> response = HKService.taskProgressNum(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
+ && response.getData()!=null){
+ //鏇存柊宸插畬鎴愪笅杞戒换鍔�
+ if( response.getData().getIsDownloadFinished() != null
+ && response.getData().getIsDownloadFinished() ){
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getHkId,c.getHkId() )
+ .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" )
+ .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) );
+
+ }
+ }
+ }
+ }catch (Exception e1){
+ e1.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_EMPOWER_RESULT =false;
+ }
+ }
+ });
+ t1.start();
}catch (Exception e){
e.printStackTrace();
- }finally {
- Constants.DEALING_HK_EMPOWER_RESULT =false;
}
-
}
@@ -272,20 +326,58 @@
* 澶勭悊浜哄憳鎺堟潈鏁版嵁锛屽畾鏃朵笅鍙�
*/
@Override
- public void syncEmpowerData() {
- if(Constants.DEALING_HK_EMPOWER){
- return ;
- }
- Constants.DEALING_HK_EMPOWER =true;
+ public Integer syncEmpowerData(Integer endId) {
+// if(Constants.DEALING_HK_EMPOWER){
+// return null ;
+// }
+// Constants.DEALING_HK_EMPOWER =true;
try {
//鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
- dealDelListTask(getDealList(Constants.ONE));
- //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙�
- dealNewListTask(getDealList(Constants.ZERO));
+ List<Empower> allList =getAllWaitDealList( endId);
+ if(allList !=null && allList.size()>0){
+ //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙�
+// dealNewListTask(getDealList(Constants.ZERO,endId));
+ List<Empower> dellist = new ArrayList<>();
+ List<Empower> addlist = new ArrayList<>();
+ for(Empower e : allList){
+ if(Constants.equalsInteger(e.getIsdeleted(),Constants.ONE)){
+ dellist.add(e);
+ }else {
+ addlist.add(e);
+ }
+ }
+ Thread t1=new Thread(new Runnable() {
+ @Override
+ public void run() {
+ if(dellist!=null &&dellist.size()>0) {
+ dealDelListTask(dellist);
+ }
+ if(addlist!=null &&addlist.size()>0) {
+ dealNewListTask(addlist);
+ }
+ }
+ });
+ t1.start();
+ return allList.get(allList.size()-1).getId();
+ }
+
}catch (Exception e){
e.printStackTrace();
}finally {
- Constants.DEALING_HK_EMPOWER =false;
+// Constants.DEALING_HK_EMPOWER =false;
+ }
+ return null;
+ }
+ @Override
+ public void syncEmpowerDataNew(int start,int end) {
+ try {
+ //鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
+ dealDelListTask(getDealList(Constants.ONE,start,end));
+ //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙�
+ dealNewListTask(getDealList(Constants.ZERO,start,end));
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
}
}
@@ -354,7 +446,21 @@
.set(Empower::getEditDate,date)
.in(Empower::getId,errorList));
}
+ public class TaskRuner implements Runnable{
+ private List<Empower> list ;
+ @Override
+ public void run() {
+ dealNewListTask(list);
+ }
+ public List<Empower> getList() {
+ return list;
+ }
+
+ public void setList(List<Empower> list) {
+ this.list = list;
+ }
+ }
private void dealNewListTask(List<Empower> list) {
//鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
if(list ==null || list.size()==0){
@@ -469,9 +575,44 @@
return false;
}
}
+ private List<Empower> getDealList(int del ,Integer endId ) {
+ MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Empower.class);
+ queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
+ queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
+ queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
+ queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
+ queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
+ queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
+ queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
+// queryWrapper.eq( Empower::getIsdeleted,del);
+ queryWrapper.gt(Empower::getId,endId);
+ queryWrapper.orderByAsc(Empower::getId );
+// queryWrapper.orderByAsc(Empower::getCreateDate );
+ queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
+ List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
+ return list;
+ }
+ private List<Empower> getAllWaitDealList(int endId ) {
+ MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Empower.class);
+ queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
+ queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
+ queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
+ queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
+ queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
+ queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
+ queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
+// queryWrapper.eq( Empower::getIsdeleted,del);
+ queryWrapper.gt(Empower::getId,endId);
+ queryWrapper.orderByAsc(Empower::getId );
+// queryWrapper.orderByAsc(Empower::getCreateDate );
+ queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
+ List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
+ return list;
+ }
-
- private List<Empower> getDealList(int del ) {
+ private List<Empower> getDealList(int del ,int start,int end) {
MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Empower.class);
queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
@@ -482,7 +623,11 @@
queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
queryWrapper.eq( Empower::getIsdeleted,del);
-// queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
+ queryWrapper.gt( Empower::getId,start);
+ queryWrapper.le( Empower::getId,end);
+ queryWrapper.orderByDesc(Empower::getId );
+// queryWrapper.orderByAsc(Empower::getCreateDate );
+ queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
return list;
}
--
Gitblit v1.9.3