From d16520069e7a89b5ac0d13d0c8ba4e30af023279 Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期四, 28 三月 2024 18:35:44 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 277 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 190 insertions(+), 87 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 ae2b0f8..d0e107c 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 @@ -6,6 +6,7 @@ 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.BaseResponse; import com.doumee.core.haikang.model.param.request.*; import com.doumee.core.haikang.model.param.respose.*; @@ -80,81 +81,96 @@ //鏌ヨ涓嬪彂鐘舵�� 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+"銆戜笅鍙戞垚鍔�"; } - 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)); - if(Constants.equalsInteger(c.getMemberDeleted(), Constants.ONE)&& Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){ - //濡傛灉鏄垹闄ゆ潈闄愭垚鍔燂紝妫�鏌ユ槸鍚﹀垹闄や汉鍛� - checkDelMemberTask(c.getMemberId(),c.getMemberHkId()); - } + } + 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) ){ - 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::getRemark, "涓嬪彂澶辫触") - .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1) - .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; } - }else if(response!=null && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_DOWNLOAD_ERROR) ){ + } + //鎵�鏈夊紓甯告儏鍐甸兘鏍囪涓轰笅鍙戝け璐� + //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟 + 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::getFailFlag, Constants.ONE)//鏃犻渶閲嶅彂锛堜笅杞戒换鍔′笉瀛樺湪锛� .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(); } } }); @@ -301,6 +317,7 @@ .lambda() .eq(Empower::getHkId,c.getHkId() ) .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" ) + .set(Empower::getRemark,"浠诲姟宸蹭笅杞藉畬鎴�" ) .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) ); } @@ -332,9 +349,6 @@ List<Integer> noIds = new ArrayList<>(); for(Empower empower:allList){ //濡傛灉鏄垹闄ょ殑鏉冮檺涓嬪彂锛屾煡璇㈡槸鍚︿己鍊欐湁涓嬪彂鎴愬姛鐨勬暟鎹紝濡傛灉鏈夛紝鍒欎笉澶勭悊 - if(empower.getId().equals(392479)){ - System.out.println("============================"); - } // int flag= empowerMapper.selectCount(new QueryWrapper<Empower>().lambda() // .eq(Empower::getMemberId,empower.getMemberId()) // .eq(Empower::getDeviceId,empower.getDeviceId() ) @@ -382,25 +396,10 @@ 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(); @@ -475,8 +474,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) @@ -486,6 +485,8 @@ .set(Empower::getRemark, "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触") .set(Empower::getEditDate,date) .in(Empower::getId,errorList)); + + } } public class TaskRuner implements Runnable{ private List<Empower> list ; @@ -501,6 +502,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) { //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁 @@ -538,17 +632,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); + } } + } @@ -639,6 +736,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); @@ -656,6 +755,10 @@ MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>(); 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.orderByAsc(Empower::getId ); -- Gitblit v1.9.3