From b0ea50dd24a7ed5ada38dc6c8209f78fc09f0441 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 21 六月 2024 17:45:33 +0800 Subject: [PATCH] 修复bug --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 77 insertions(+), 19 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 d0e107c..0447e18 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,12 +1,12 @@ 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.*; @@ -17,14 +17,14 @@ 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.*; +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.MemberCard; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -92,7 +92,7 @@ boolean iscard = false;//鏄惁鏈夊崱鐗囦笅鍙戞垚鍔� //鏇存柊宸插畬鎴愪笅杞戒换鍔� String remark = ""; - String cardInfo = "鍗$墖涓嬪彂澶辫触"; + String cardInfo =""; TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail(); if (d.getCards() != null && d.getCards().size() > 0) { for (TaskPersonDetailCardInfoResponse card : d.getCards()) { @@ -103,7 +103,11 @@ } if(iscard){ cardInfo = "鍗$墖銆�"+cardInfo+"銆戜笅鍙戞垚鍔�"; + }else{ + cardInfo = "鍗$墖涓嬪彂澶辫触"; } + }else { + cardInfo = "鍗$墖涓嬪彂澶辫触"; } if (d.getFaces() == null || d.getFaces().size() == 0) { remark = cardInfo + "锛� 鏃犱汉鑴镐笅鍙戯紒"; @@ -185,25 +189,42 @@ * @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,"宸插悓姝�")//鍚屾澶辫触 @@ -212,9 +233,8 @@ //鍒犻櫎鎵�鏈夌粦瀹氱殑鍗$墖淇℃伅 memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,id)); } - return true; } - return false; + return succes; } /** @@ -230,7 +250,7 @@ .ne(Empower::getFailFlag,Constants.ONE) .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0){ //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁 - doHkDeleteUser(memberId,memberHkid,date); + doHkDeleteUser(memberId,memberHkid,date,memberMapper,memberCardMapper); // } } } @@ -321,6 +341,15 @@ .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){ @@ -393,6 +422,11 @@ // } // 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){ //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙� @@ -515,9 +549,16 @@ List<Empower> successList = new ArrayList<>(); List<Empower> errorList = new ArrayList<>(); List<Empower> waitList = new ArrayList<>(); + List<Empower> cancelList = new ArrayList<>(); List<Empower> faceErrorList = new ArrayList<>(); for(Empower c : list) { //鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹� + if (Constants.equalsInteger(c.getDeviceDeleted(),Constants.ONE) || + (Constants.equalsInteger(c.getMemberDeleted(), Constants.ONE) && + Constants.equalsInteger(c.getMemberHkStatus(), Constants.ONE))){ + cancelList.add(c); + continue; + } if(c.getDeviceOnline() !=null && Constants.equalsInteger(c.getDeviceOnline(),0)){ waitList.add(c); continue; @@ -576,6 +617,20 @@ update.setSendStatus(Constants.EmpowerStatus.fail); update.setRemark( "璁惧鐘舵�佸紓甯革紝绛夊緟閲嶆柊涓嬪彂"); update.setSendInfo( "璁惧鐘舵�佸紓甯革紝绛夊緟閲嶆柊涓嬪彂"); + empowerMapper.updateById(update); + } + } + if(cancelList.size()>0){ + for(Empower model : cancelList){ + Empower update = new Empower(); + update.setId(model.getId()); + update.setSendDate(date); + update.setEditDate(date); + update.setHkId(taskId); + update.setFailFlag(Constants.ONE); + update.setSendStatus(Constants.EmpowerStatus.cancel); + update.setRemark( "璁惧鎴栦汉鍛樺凡鍒犻櫎锛屽彇娑堜笅鍙�"); + update.setSendInfo( "璁惧鎴栦汉鍛樺凡鍒犻櫎锛屽彇娑堜笅鍙�"); empowerMapper.updateById(update); } } @@ -737,7 +792,10 @@ queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo); queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId); queryWrapper.selectAs(Member::getFaceStatus,Empower::getMemberFaceStatus); + queryWrapper.selectAs(Member::getHkStatus,Empower::getMemberHkStatus); queryWrapper.selectAs(Device::getOnline,Empower::getDeviceOnline); + queryWrapper.selectAs(Device::getIsdeleted,Empower::getDeviceDeleted); + queryWrapper.selectAs(Member::getIsdeleted,Empower::getMemberDeleted); queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode); queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType); queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId); @@ -761,8 +819,8 @@ 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.ne( Empower::getFailFlag,Constants.ONE); List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper); return list; } -- Gitblit v1.9.3