From 89610234a2bdc56f60e0998045892ef2672edccc Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期五, 19 四月 2024 14:18:31 +0800
Subject: [PATCH] 最新版本
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 411 ++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 282 insertions(+), 129 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 d9c6ddd..46323fb 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
@@ -1,11 +1,14 @@
package com.doumee.service.business.impl.hksync;
+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;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.HKResponseCode;
+import com.doumee.core.haikang.model.param.BaseListPageResponse;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.*;
@@ -80,75 +83,100 @@
//鏌ヨ涓嬪彂鐘舵��
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) {
+ && 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 != 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()) {
+ if (model.getPersonDownloadDetail()!=null ) {
+ boolean isface = false;//鏄惁浜鸿劯涓嬪彂鎴愬姛
+ boolean iscard = false;//鏄惁鏈夊崱鐗囦笅鍙戞垚鍔�
+ //鏇存柊宸插畬鎴愪笅杞戒换鍔�
+ String remark = "";
+ String cardInfo ="";
+ TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
+ 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() + " ";
+ iscard=true;
}
- cardInfo += "銆戜笅鍙戞垚鍔�";
}
- if (d.getFaces() == null || d.getFaces().size() == 0) {
- remark = cardInfo + "锛� 涓嶆敮鎸佷汉鑴歌澶囷紒";
- } else {
- remark = "" + cardInfo + "锛屼汉鑴镐笅鍙戞垚鍔燂紒";
+ if(iscard){
+ cardInfo = "鍗$墖銆�"+cardInfo+"銆戜笅鍙戞垚鍔�";
+ }else{
+ 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 {
+ cardInfo = "鍗$墖涓嬪彂澶辫触";
+ }
+ if (d.getFaces() == null || d.getFaces().size() == 0) {
+ remark = cardInfo + "锛� 鏃犱汉鑴镐笅鍙戯紒";
} 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().get(0).getErrorCode() !=null && d.getFaces().get(0).getErrorCode().equals(HKConstants.RESPONSE_SUCCEE)){
+ isface=true;
+ remark = "" + cardInfo + "锛屼汉鑴镐笅鍙戞垚鍔燂紒";
+ }else{
+ isface=false;
+ if(d.getFaces().get(0).getErrorCode()!=null &&
+ (d.getFaces().get(0).getErrorCode().equals(HKResponseCode.ReturnCode.RESPONSE_FACE_ERROR.getKey()) ||
+ d.getFaces().get(0).getErrorCode().equals(HKResponseCode.ReturnCode.RESPONSE_FACE_ERROR2.getKey()))){
+ //濡傛灉浜鸿劯涓嶅悎鏍�
+ memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+ .eq(Member::getId,c.getMemberId())
+ .set(Member::getFaceStatus,Constants.THREE)
+ .set(Member::getEditDate,new Date())
+ );
+ remark = "" + cardInfo + "锛屼汉鑴稿缓妯″け璐ワ紒";
+ }else if(d.getFaces().get(0).getErrorCode()!=null && d.getFaces().get(0).getErrorCode().equals(HKResponseCode.ReturnCode.RESPONSE_DEVICE_NOFAVOR.getKey())){
+ //濡傛灉璁惧涓嶆敮鎸佷汉鑴镐笅鍙�
+ isface=true;//姝ゆ儏鍐典笉瑕佽�冭檻浜鸿劯涓嬪彂缁撴灉
+ remark = "" + cardInfo + "锛岃澶囦笉鏀寔浜鸿劯涓嬪彂锛�";
+ }else{
+ remark = "" + 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::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));
+ //濡傛灉杩斿洖涓嬪彂鎴愬姛 鎴栬�� 浜鸿劯涓嬪彂鎴愬姛骞朵笖鍗$墖涓嬪彂鎴愬姛
+ boolean isSuccess =StringUtils.equals(model.getPersondownloadResult(), "0") || (iscard&&isface);
+ empowerMapper.update(null, new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getId, c.getId())
+ .set(Empower::getRemark, remark)
+ .set(Empower::getEditDate,new Date())
+ .set(Empower::getSendInfo, 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) ){
+ //濡傛灉鏄垹闄ゆ潈闄愭垚鍔燂紝妫�鏌ユ槸鍚﹀垹闄や汉鍛�
+ checkDelMemberTask(c.getMemberId(),c.getMemberHkId());
}
+ continue;
}
- checkDelMemberTask(c.getMemberId());
+ }
+ //鎵�鏈夊紓甯告儏鍐甸兘鏍囪涓轰笅鍙戝け璐�
+ //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟
+ if(Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
+ empowerMapper.update(null, new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getId, c.getId())
+ .set(Empower::getRemark, "鍒犻櫎鏉冮檺涓嬪彂澶辫触")
+ .set(Empower::getSendInfo, "鍒犻櫎鏉冮檺涓嬪彂澶辫触")
+ .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1)
+ .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
+ }else{
+ empowerMapper.update(null, new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getId, c.getId())
+ .set(Empower::getEditDate,new Date())
+ .set(Empower::getRemark, "涓嬪彂澶辫触")
+ .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1)
+ .set(Empower::getSendInfo, "涓嬪彂澶辫触")
+ .set(Empower::getSendStatus, Constants.EmpowerStatus.fail));
}
}
}catch (Exception e){
-
- }finally {
-// Constants.DEALING_HK_EMPOWER_DETAIL=false;
+ e.printStackTrace();
}
}
});
@@ -163,52 +191,69 @@
* @param id
* @param date
*/
- private boolean doHkDeleteUser(Integer id,String delHkIds, Date date ) {
+ public static boolean doHkDeleteUser(Integer id,String delHkIds, Date date ,MemberMapper memberMapper,MemberCardMapper memberCardMapper) {
if(StringUtils.isBlank(delHkIds)){
+
return true;
}
UserDelRequest request = new UserDelRequest();
request.setPersonIds(new String[]{delHkIds});
BaseResponse<List<UserDelResponse>> result = HKService.delBatchUser(request);
+ boolean succes = false;
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));
+ UserDelResponse tem = result.getData().get(0);
+ if(tem!=null && StringUtils.equals(tem.getPersonId(),delHkIds)){
+ UserByParamListRequest param = new UserByParamListRequest();
+ param.setPersonIds(delHkIds);
+ param.setPageNo(1);
+ param.setPageSize(2);
+ BaseResponse<BaseListPageResponse<UserInfoResponse>> t = HKService.personList(param);
+ if(t!=null && t.getData()!=null && t.getData().getTotal() ==0){
+ //浜哄憳淇℃伅宸茶鍒犻櫎鐨勫紓甯� 浣滀负宸插垹闄ゆ垚鍔熷鐞�
+ succes =true;
+ }else{
+ //鎺掗櫎浜哄憳淇℃伅宸茶鍒犻櫎鐨勫紓甯�
+ memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+ .set(Member::getHkStatus,Constants.TWO)//鍚屾澶辫触
+ .set(Member::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触" + JSONObject.toJSONString(result.getData().get(0)))//鍚屾澶辫触
+ .set(Member::getHkDate,date)
+ .in(Member::getId, id));
+ }
+ }
}else{
//鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
+ succes =true;
+ }
+ if(succes){
memberMapper.update(null,new UpdateWrapper<Member>().lambda()
.set(Member::getHkStatus,Constants.ONE)//鍚屾鎴愬姛
- .set(Member::getRemark,"鍚屾娴峰悍鍒犻櫎澶辫触")//鍚屾澶辫触
+ .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;
+ return succes;
}
/**
* 妫�鏌ュ垹闄や汉鍛樼殑鏉冮檺鏄惁閮藉垹闄ゅ畬鎴愶紝濡傛灉鏉冮檺鍒犻櫎瀹屾垚锛� 杩涜娴峰悍浜哄憳鐨勫垹闄ゆ搷浣�
*/
- private void checkDelMemberTask(Integer memberId) {
+ private void checkDelMemberTask(Integer memberId,String memberHkid) {
Date date = new Date();
- Member member = memberMapper.selectById(memberId);
- if(member!=null && Constants.equalsInteger(member.getIsdeleted(),Constants.ONE) ){
+// 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::getMemberId,memberId)
.eq(Empower::getIsdeleted,Constants.ONE)
+ .ne(Empower::getFailFlag,Constants.ONE)
.ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0){
//濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁
- doHkDeleteUser(member.getId(),member.getHkId(),date);
- }
+ doHkDeleteUser(memberId,memberHkid,date,memberMapper,memberCardMapper);
+// }
}
}
@@ -294,9 +339,19 @@
.lambda()
.eq(Empower::getHkId,c.getHkId() )
.set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" )
+ .set(Empower::getRemark,"浠诲姟宸蹭笅杞藉畬鎴�" )
.set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) );
}
+ }else if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
+ && response.getData()==null){
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getHkId,c.getHkId() )
+ .set(Empower::getSendInfo,"浠诲姟宸茶鍒犻櫎锛屼笅鍙戝け璐�" )
+ .set(Empower::getRemark,"浠诲姟宸茶鍒犻櫎锛屼笅鍙戝け璐�" )
+ .set(Empower::getSendStatus,Constants.EmpowerStatus.fail) );
}
}
}catch (Exception e1){
@@ -321,28 +376,39 @@
List<Empower> allList =getAllFailDealList( endId);
if(allList!=null && allList.size()>0){
Date date = new Date();
+ List<Integer> retryIds = new ArrayList<>();
+ List<Integer> noIds = new ArrayList<>();
for(Empower empower:allList){
- if(Constants.equalsObject(empower.getIsdeleted(),Constants.ONE)){
- //濡傛灉鏄垹闄ょ殑鏉冮檺涓嬪彂锛屾煡璇㈡槸鍚︿己鍊欐湁涓嬪彂鎴愬姛鐨勬暟鎹紝濡傛灉鏈夛紝鍒欎笉澶勭悊
- Empower param = empowerMapper.selectOne(new QueryWrapper<Empower>().lambda()
- .eq(Empower::getMemberId,empower.getMemberId())
- .eq(Empower::getDeviceId,empower.getDeviceId() )
- .gt(Empower::getId,empower.getId())
- .last("limit 1"));
- if(empower ==null || Constants.equalsInteger(empower.getIsdeleted(),Constants.ONE)){
-// addIds.add(did);
+ //濡傛灉鏄垹闄ょ殑鏉冮檺涓嬪彂锛屾煡璇㈡槸鍚︿己鍊欐湁涓嬪彂鎴愬姛鐨勬暟鎹紝濡傛灉鏈夛紝鍒欎笉澶勭悊
+// int flag= empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
+// .eq(Empower::getMemberId,empower.getMemberId())
+// .eq(Empower::getDeviceId,empower.getDeviceId() )
+// .gt(Empower::getId,empower.getId())
+// .last("limit 1"));
+ if(empower.getTempCouunt() ==0){
+ retryIds.add(empower.getId());
+ }else{
+ //濡傛灉涔嬪悗鏃堕棿鍐呭張閲嶆柊涓嬪彂璁板綍锛屽垯璺宠繃涓嶅仛澶勭悊
+ noIds.add(empower.getId());
}
- }
- //鏇存柊閲嶆柊涓嬪彂娆℃暟
+ }
+
+ if(retryIds.size()>0){
empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
- .eq(Empower::getEditDate,date)
- .setSql("try_num = ifnull(tyr_num,0) +1" )
+ .set(Empower::getCreateDate,date)
.set(Empower::getSendStatus,Constants.EmpowerStatus.wait)
- .set(Empower::getSendDate,null)
.set(Empower::getEditDate,date)
.set(Empower::getRemark,"涓嬪彂澶辫触锛屽緟閲嶆柊涓嬪彂~")
- .set(Empower::getRemark,"涓嬪彂澶辫触锛屽緟閲嶆柊涓嬪彂~")
- .eq(Empower::getId,empower.getId()));
+ .set(Empower::getSendInfo,"涓嬪彂澶辫触锛屽緟閲嶆柊涓嬪彂~")
+ .in(Empower::getId,retryIds));
+ }
+ if(noIds.size()>0){
+ empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+ .set(Empower::getEditDate,date)
+ .set(Empower::getRemark,"涓嬪彂澶辫触锛屽凡澶辨晥~")
+ .set(Empower::getSendInfo,"涓嬪彂澶辫触锛屽凡澶辨晥~")
+ .set(Empower::getFailFlag,Constants.ONE)
+ .in(Empower::getId,noIds));
}
return allList.get(allList.size()-1).getId();
}
@@ -358,28 +424,18 @@
// }
// Constants.DEALING_HK_EMPOWER =true;
//鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
+ if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
+ .eq(Empower::getSendStatus,Constants.EmpowerStatus.ing)) > 1000){
+ //濡傛灉褰撳墠浠诲姟澶т簬1000涓紙澶ф10涓换鍔★級
+ return endId;
+ }
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);
- }
+ dealAllListTask(allList);
}
});
t1.start();
@@ -454,8 +510,8 @@
.set(Empower::getEditDate,date)
.in(Empower::getId,successList));
}
-
- empowerMapper.update(null,new UpdateWrapper<Empower>()
+ if(errorList.size()>0){
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
.lambda()
.set(Empower::getSendStatus,Constants.EmpowerStatus.fail)
.set(Empower::getSendDate,date)
@@ -465,6 +521,8 @@
.set(Empower::getRemark, "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触")
.set(Empower::getEditDate,date)
.in(Empower::getId,errorList));
+
+ }
}
public class TaskRuner implements Runnable{
private List<Empower> list ;
@@ -480,6 +538,99 @@
public void setList(List<Empower> list) {
this.list = list;
}
+ }
+ private void dealAllListTask(List<Empower> list) {
+ //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
+ if(list ==null || list.size()==0){
+ return;
+ }
+// clearAllEmpowerFirst(list);
+ Date date = new Date();
+ //鍒涘缓浠诲姟
+ String taskId = hkTaskAddtion();
+ List<Empower> successList = new ArrayList<>();
+ List<Empower> errorList = new ArrayList<>();
+ List<Empower> waitList = new ArrayList<>();
+ List<Empower> faceErrorList = new ArrayList<>();
+ for(Empower c : list) {
+ //鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹�
+ if(c.getDeviceOnline() !=null && Constants.equalsInteger(c.getDeviceOnline(),0)){
+ waitList.add(c);
+ continue;
+ }
+ if( Constants.equalsInteger(c.getMemberFaceStatus(),Constants.THREE)){
+ faceErrorList.add(c);
+ continue;
+ }
+ HKConstants.OPERA_TYPE flag = HKConstants.OPERA_TYPE.ADD;
+ if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)){
+ flag = HKConstants.OPERA_TYPE.DEL;
+ }
+ if(addTaskData(c,taskId,flag.getKey())){
+ successList.add(c);
+ }else{
+ errorList.add(c);
+ }
+ }
+ 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);
+ }
+ }
+
+ if(errorList.size()>0){
+ 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.setRemark( "娣诲姞涓嬪彂浠诲姟鏁版嵁澶辫触");
+ update.setSendInfo( "娣诲姞涓嬪彂浠诲姟鏁版嵁澶辫触");
+ empowerMapper.updateById(update);
+ }
+ }
+ if(waitList.size()>0){
+ for(Empower model : waitList){
+ Empower update = new Empower();
+ update.setId(model.getId());
+ update.setSendDate(date);
+ update.setEditDate(date);
+ update.setHkId(taskId);
+ update.setSendStatus(Constants.EmpowerStatus.fail);
+ update.setRemark( "璁惧鐘舵�佸紓甯革紝绛夊緟閲嶆柊涓嬪彂");
+ update.setSendInfo( "璁惧鐘舵�佸紓甯革紝绛夊緟閲嶆柊涓嬪彂");
+ empowerMapper.updateById(update);
+ }
+ }
+ if(faceErrorList.size()>0){
+ for(Empower model : faceErrorList){
+ Empower update = new Empower();
+ update.setId(model.getId());
+ update.setSendDate(date);
+ update.setEditDate(date);
+ update.setHkId(taskId);
+ update.setSendStatus(Constants.EmpowerStatus.fail);
+ update.setRemark( "浜鸿劯寤烘ā澶辫触锛岀瓑寰呮洿鎹汉鑴稿悗閲嶆柊涓嬪彂");
+ update.setSendInfo( "浜鸿劯寤烘ā澶辫触锛岀瓑寰呮洿鎹汉鑴稿悗閲嶆柊涓嬪彂");
+ empowerMapper.updateById(update);
+ }
+ }
+
+
+
}
private void dealNewListTask(List<Empower> list) {
//鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
@@ -517,17 +668,20 @@
}
}
- 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.setRemark( "娣诲姞涓嬪彂浠诲姟鏁版嵁澶辫触");
- update.setSendInfo( "娣诲姞涓嬪彂浠诲姟鏁版嵁澶辫触");
- empowerMapper.updateById(update);
+ if(errorList.size()>0){
+ 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.setRemark( "娣诲姞涓嬪彂浠诲姟鏁版嵁澶辫触");
+ update.setSendInfo( "娣诲姞涓嬪彂浠诲姟鏁版嵁澶辫触");
+ empowerMapper.updateById(update);
+ }
}
+
}
@@ -618,6 +772,8 @@
queryWrapper.selectAll(Empower.class);
queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
+ queryWrapper.selectAs(Member::getFaceStatus,Empower::getMemberFaceStatus);
+ queryWrapper.selectAs(Device::getOnline,Empower::getDeviceOnline);
queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
@@ -631,22 +787,18 @@
List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
return list;
}
- private List<Empower> getAllFailDealList(int endId ) {
+ private List<Empower> getAllFailDealList(int endId ) {
MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
- queryWrapper.selectAll(Empower.class);
- queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
- queryWrapper.selectAs(Member::getHkStatus,Empower::getMemberHkStatus);
- queryWrapper.selectAs(Member::getIsdeleted,Empower::getMemberDeleted);
- 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.select(Empower::getId,Empower::getMemberId,Empower::getDeviceId,Empower::getIsdeleted);
+ queryWrapper.select(" (select count(1) from empower ee where ee.member_id=t.MEMBER_ID and ee.device_id =t.DEVICE_ID and ee.id>t.id) as tempCouunt");
queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
+ queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
+ queryWrapper.ne(Member::getFaceStatus,Constants.THREE);//浜鸿劯寤烘ā娌℃湁澶辫触杩囩殑
+ queryWrapper.ne(Device::getOnline,Constants.ZERO+"");//闈炵绾�
queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.fail);
queryWrapper.gt(Empower::getId,endId);
+ queryWrapper.and(w-> w.eq( Empower::getFailFlag,Constants.ZERO).or().isNull(Empower::getFailFlag));
queryWrapper.orderByAsc(Empower::getId );
-// queryWrapper.orderByAsc(Empower::getCreateDate );
- queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
return list;
}
@@ -674,6 +826,7 @@
MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Empower.class);
queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
+ queryWrapper.selectAs(Member::getIsdeleted,Empower::getMemberDeleted);
queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
--
Gitblit v1.9.3