From c467370d8741bc05ca7c22d4253c58ac0a979ef5 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 09 六月 2026 09:46:25 +0800
Subject: [PATCH] 功能优化
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 126 ++++++++++++++++++++++++++---------------
1 files changed, 79 insertions(+), 47 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index 550868e..c797984 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -24,12 +24,14 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.concurrent.Executor;
/**
* 娴峰悍闂ㄧ鎺堟潈涓氬姟Service瀹炵幇
@@ -50,12 +52,17 @@
@Autowired
private MemberCardMapper memberCardMapper;
+ @Autowired
+ @Qualifier("asyncExecutor")
+ private Executor asyncExecutor;
+
/**
* 瀹氭椂鏌ヨ鏉冮檺涓嬪彂浠诲姟杩涘害鎵ц缁撴灉
*/
@Override
public Integer syncEmpowerDetailData(Integer endId){
- log.error("");
+ long startTime = System.currentTimeMillis();
+ log.info("syncEmpowerDetailData鎵ц寮�濮�, endId={}", endId);
// if(Constants.DEALING_HK_EMPOWER_DETAIL){
// return ;
// }
@@ -63,14 +70,19 @@
//鏌ヨ鎵�鏈夊畬鎴愪笅杞斤紝寰呮煡璇㈢粨鏋滅殑鏁版嵁璁板綍
List<Empower> list = getDealListDetail(endId);
if(list == null || list.size() ==0){
+ log.info("syncEmpowerDetailData鏃犲緟澶勭悊鏁版嵁, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
return null;
}
- Thread t1=new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- for(Empower c : list){
- TaskPersonDetailRequest param = new TaskPersonDetailRequest();
+ asyncExecutor.execute(() -> {
+ try {
+ for(Empower c : list){
+ AuthResultPageRequest param = new AuthResultPageRequest();
+ param.setPageNo(1);
+ param.setPageSize(999);
+ param.setBusinessNo(c.getHkId());
+ BaseResponse<AuthResultPageResponse> response =HKService.authResultPage(param);
+
+ /* TaskPersonDetailRequest param = new TaskPersonDetailRequest();
param.setPageNo(1);
param.setPageSize(10);
param.setPersonIds(new String[]{c.getMemberHkId()});
@@ -80,22 +92,24 @@
rec.setResourceType(c.getDeviceType());
param.setResourceInfo(rec);
//鏌ヨ涓嬪彂鐘舵��
- BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
+ BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);*/
if(response!=null
&& StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
&& response.getData()!=null
&& response.getData().getList() != null
&& response.getData().getList().size() > 0
&&response.getData().getList().get(0) !=null){
- TaskPersonDetailResponse model = response.getData().getList().get(0);
- if (model.getPersonDownloadDetail()!=null ) {
+// TaskPersonDetailResponse model = response.getData().getList().get(0);
+
+ AuthResultPageDetailResponse model = getAuthDetailByUserAndDevice(c,response.getData().getList());
+// if (model.getPersonDownloadDetail()!=null ) {
+ if (model!=null ) {
boolean isface = false;//鏄惁浜鸿劯涓嬪彂鎴愬姛
boolean iscard = false;//鏄惁鏈夊崱鐗囦笅鍙戞垚鍔�
//鏇存柊宸插畬鎴愪笅杞戒换鍔�
String remark = "";
String cardInfo ="";
- TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
- if (d.getCards() != null && d.getCards().size() > 0) {
+ /* if (d.getCards() != null && d.getCards().size() > 0) {
for (TaskPersonDetailCardInfoResponse card : d.getCards()) {
if(StringUtils.equals(card.getErrorCode(),HKResponseCode.ReturnCode.RESPONSE_SUCCEE.getKey())){
cardInfo += card.getId() + " ";
@@ -138,13 +152,31 @@
}
}
//濡傛灉杩斿洖涓嬪彂鎴愬姛 鎴栬�� 浜鸿劯涓嬪彂鎴愬姛骞朵笖鍗$墖涓嬪彂鎴愬姛
- boolean isSuccess =StringUtils.equals(model.getPersondownloadResult(), "0") || (iscard&&isface);
+ boolean isSuccess =StringUtils.equals(model.getPersondownloadResult(), "0") || (iscard&&isface);*/
+
+ if (Constants.equalsInteger(model.getDownCardStatus(),0)) {
+ cardInfo = "鍗$墖涓嬪彂鏈彉鏇�";
+ }else if (Constants.equalsInteger(model.getDownCardStatus(),1)) {
+ cardInfo = "鍗$墖涓嬪彂鎴愬姛";
+ }else {
+ cardInfo = "鍗$墖涓嬪彂澶辫触";
+ }
+
+ if ( Constants.equalsInteger(model.getDownFaceStatus(),0)) {
+ remark = "浜鸿劯涓嬪彂鏈彉鏇达紒";
+ } else if (Constants.equalsInteger(model.getDownFaceStatus(),1)) {
+ remark = "浜鸿劯涓嬪彂鎴愬姛锛�";
+ }else{
+ remark = "浜鸿劯涓嬪彂澶辫触锛�";
+ }
+ //涓嬪彂鎴愬姛鎴栬�呮湭鍙樻洿
+ boolean isSuccess = Constants.equalsInteger(model.getDownPersonStatus(),1)|| Constants.equalsInteger(model.getDownPersonStatus(),0) ;
empowerMapper.update(null, new UpdateWrapper<Empower>()
.lambda()
.eq(Empower::getId, c.getId())
- .set(Empower::getRemark, remark)
+ .set(Empower::getRemark,cardInfo+ remark)
.set(Empower::getEditDate,new Date())
- .set(Empower::getSendInfo, remark)
+ .set(Empower::getSendInfo,cardInfo+remark)
.set(Empower::getSendStatus, isSuccess?Constants.EmpowerStatus.pass:Constants.EmpowerStatus.fail));
if(isSuccess && Constants.equalsInteger(c.getMemberDeleted(), Constants.ONE)&& Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
//濡傛灉鏄垹闄ゆ潈闄愭垚鍔燂紝妫�鏌ユ槸鍚﹀垹闄や汉鍛�
@@ -175,13 +207,21 @@
}
}
}catch (Exception e){
- e.printStackTrace();
+ log.error("syncEmpowerDetailData鎵ц寮傚父", e);
}
- }
});
- t1.start();
+ log.info("syncEmpowerDetailData鎵ц缁撴潫, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
return list.get(list.size()-1).getId();
+ }
+
+ private AuthResultPageDetailResponse getAuthDetailByUserAndDevice(Empower c, List<AuthResultPageDetailResponse> list) {
+ for(AuthResultPageDetailResponse t : list){
+ if(StringUtils.equals(t.getPersonId(),c.getMemberHkId()) && StringUtils.equals(t.getDeviceIndexCode(),c.getDeviceIndexCode())){
+ return t;
+ }
+ }
+ return null;
}
@@ -310,18 +350,15 @@
*/
@Override
public Integer syncEmpowerResultData(Integer endId){
-// if(Constants.DEALING_HK_EMPOWER_RESULT){
-// return null ;
-// }
-// Constants.DEALING_HK_EMPOWER_RESULT=true;
+ long startTime = System.currentTimeMillis();
+ log.info("syncEmpowerResultData鎵ц寮�濮�, endId={}", endId);
//鏌ヨ鎵�鏈夋墽琛屼腑寰楁暟鎹�
List<Empower> list = getIngTaskListResult(Constants.formatIntegerNum(endId));
if(list == null || list.size() ==0){
+ log.info("syncEmpowerResultData鏃犲緟澶勭悊鏁版嵁, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
return null;
}
- Thread t1=new Thread(new Runnable() {
- @Override
- public void run() {
+ asyncExecutor.execute(() -> {
try {
for(Empower c : list){
TaskProgressRequest param = new TaskProgressRequest();
@@ -354,13 +391,10 @@
}
}
}catch (Exception e1){
- e1.printStackTrace();
- }finally {
- Constants.DEALING_HK_EMPOWER_RESULT =false;
+ log.error("syncEmpowerResultData鎵ц寮傚父", e1);
}
- }
- });
- t1.start();
+ });
+ log.info("syncEmpowerResultData鎵ц缁撴潫, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
return list.get(list.size()-1).getId();
}
@@ -372,6 +406,8 @@
*/
@Override
public Integer syncEmpowerFailData(Integer endId) {
+ long startTime = System.currentTimeMillis();
+ log.info("syncEmpowerFailData鎵ц寮�濮�, endId={}", endId);
List<Empower> allList =getAllFailDealList( endId);
if(allList!=null && allList.size()>0){
Date date = new Date();
@@ -411,6 +447,7 @@
}
return allList.get(allList.size()-1).getId();
}
+ log.info("syncEmpowerFailData鎵ц缁撴潫, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
return null;
}
/**
@@ -418,33 +455,28 @@
*/
@Override
public Integer syncEmpowerData(Integer endId) {
-// if(Constants.DEALING_HK_EMPOWER){
-// return null ;
-// }
-// Constants.DEALING_HK_EMPOWER =true;
+ long startTime = System.currentTimeMillis();
+ log.info("syncEmpowerData鎵ц寮�濮�, endId={}", endId);
//鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
.eq(Empower::getSendStatus,Constants.EmpowerStatus.ing)) > 1000){
- //濡傛灉褰撳墠浠诲姟澶т簬1000涓紙澶ф10涓换鍔★級
+ log.info("syncEmpowerData浠诲姟闃熷垪宸叉弧(>1000), 璺宠繃, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
return endId;
}
List<Empower> allList =getAllWaitDealList( endId);
if(allList !=null && allList.size()>0){
//鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙�
- Thread t1=new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- dealAllListTask(allList);
- }catch (Exception e){
- log.info("======================涓嬪彂鎺堟潈寮傚父锛�"+e.getMessage());
- e.printStackTrace();
- }
+ asyncExecutor.execute(() -> {
+ try {
+ dealAllListTask(allList);
+ }catch (Exception e){
+ log.error("======================涓嬪彂鎺堟潈寮傚父", e);
}
});
- t1.start();
+ log.info("syncEmpowerData鎻愪氦{}鏉℃暟鎹�, 鑰楁椂{}ms", allList.size(), System.currentTimeMillis() - startTime);
return allList.get(allList.size()-1).getId();
}
+ log.info("syncEmpowerData鏃犲緟澶勭悊鏁版嵁, 鑰楁椂{}ms", System.currentTimeMillis() - startTime);
return null;
}
@Override
@@ -656,7 +688,7 @@
if(list ==null || list.size()==0){
return;
}
-// clearAllEmpowerFirst(list);
+// clearAllEmpowerFirst(list);
Date date = new Date();
//鍒涘缓浠诲姟
String taskId = hkTaskAddtion();
--
Gitblit v1.9.3