From e23a1db0b60437f17d09d65c65f8fd0c8a5d88c7 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 26 八月 2024 18:11:07 +0800 Subject: [PATCH] 最新版本 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 80 ++++++++++++++++++++++++++++++++-------- 1 files changed, 64 insertions(+), 16 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java index 77730ce..dee709a 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java @@ -47,6 +47,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; @@ -170,7 +171,7 @@ } visits.setWithUserList(visitsList); } - this.createFk(visits,true); + this.createFk(visits,true,Constants.ONE); } @Transactional(propagation = Propagation.NOT_SUPPORTED) @@ -197,16 +198,15 @@ */ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) - public Integer createFk(Visits visits,Boolean isERP) { + public Integer createFk(Visits visits,Boolean isERP,Integer source) { isValidBaseParam(visits); //妫�鏌ユ槸鍚﹀繀椤荤瓟棰橈紝骞朵笖绗﹀悎绛旈瑕佹眰 - ProblemLog problemLog = isValidProblemLog(visits); + ProblemLog problemLog = isValidProblemLog(visits,source); //鑾峰彇鐢宠鐨勬捣搴疯闂棬绂佺粍淇℃伅 getHkDeviceRoles(visits,isERP); //妫�楠屾嫓璁夸汉鏄惁鍚堟硶 Member visitMember = isValideVisitedUser(visits.getReceptMemberId()); if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&visits.getIdcardNo().length()!=18 -// &&!IdcardUtil.isValidCard(visits.getIdcardNo()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�"); } @@ -247,7 +247,7 @@ initWithVisitInfo(visits); updateProblemLog(visits,problemLog,member); //鍒涘缓瀹℃壒璁板綍 -// createApprove(visits,visitMember); + createApprove(visits,visitMember); return visits.getId(); } @@ -454,7 +454,7 @@ approve.setObjId(visitId); approveList.add(approve); } - approveMapper.insertBatchSomeColumn(approveList); + approveMapper.insert(approveList); } } @@ -481,7 +481,7 @@ approve.setObjId(visitId); approveList.add(approve); } - approveMapper.insertBatchSomeColumn(approveList); + approveMapper.insert(approveList); } } @@ -634,11 +634,11 @@ }else if(visits.getType().equals(Constants.ONE) && StringUtils.isBlank(visits.getConstructionReason())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鏈~鍐欐柦宸ヤ簨鐢憋紒"); } - if(visits.getEndtime().getTime() < System.currentTimeMillis()){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鍏ュ巶鏃堕棿蹇呴』澶т簬褰撳墠鏃堕棿锛�");// - } if(visits.getEndtime().getTime() <= visits.getStarttime().getTime()){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绂诲巶鏃堕棿蹇呴』澶т簬鍏ュ巶鏃堕棿锛�");// + } + if(visits.getEndtime().getTime() <= System.currentTimeMillis()){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鍏ュ巶鏃堕棿蹇呴』澶т簬褰撳墠鏃堕棿锛�");// } if(!DateUtil.getDateLong(visits.getEndtime()).equals(DateUtil.getDateLong(visits.getStarttime()))){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害鏃ユ湡涓嶅彲浠ヨ法澶╋紒"); @@ -722,7 +722,7 @@ v.setSourceType(visits.getSourceType()); } //鎵归噺鎻掑叆鏁版嵁 - visitsMapper.insertBatchSomeColumn(visits.getWithUserList()); + visitsMapper.insert(visits.getWithUserList()); } } @@ -891,7 +891,6 @@ } //鏍告煡棰勭害鐢ㄦ埛鏄惁瀛樺湪鏈绂荤殑棰勭害璁板綍 // isExsitNoOutVisisRecord(member); - member.setFaceImg(visits.getFaceImg()); member.setImgurl(StringUtils.isNotBlank(visits.getImgurl())?visits.getImgurl():null); member.setEditDate(visits.getCreateDate()); @@ -997,7 +996,16 @@ return member; } - private ProblemLog isValidProblemLog(Visits visits) { + /** + * 鏄惁闇�瑕佺瓟棰� + * @param visits + * @param source + * @return + */ + private ProblemLog isValidProblemLog(Visits visits,Integer source) { + if(!Constants.equalsInteger(source,Constants.ZERO)){ + return null; + } String required = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROBLEM_VISIT_REQUIRED).getCode(); if(StringUtils.equals(required,Constants.ONE+"")&&visits.getSourceType()==Constants.ZERO&&!visits.getType().equals(Constants.TWO)){ //濡傛灉蹇呴』绛旈锛屾煡鎵剧瓟棰樿褰� @@ -1162,8 +1170,10 @@ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO); - queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType()); + queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType())&&Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO),Visits::getType,pageWrap.getModel().getType()); + queryWrapper.ne(Objects.nonNull(pageWrap.getModel().getType())&&!Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO),Visits::getType,Constants.TWO); queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getOpenid()),Visits::getOpenid,pageWrap.getModel().getOpenid()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCarNos()),Visits::getCarNos,pageWrap.getModel().getCarNos()); // queryWrapper.eq(StringUtils.isBlank(pageWrap.getModel().getOpenid()),"1","2"); queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getName,pageWrap.getModel().getName()) .or().like(Visits::getPhone,pageWrap.getModel().getName())) @@ -1172,6 +1182,7 @@ .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Visits::getStatus,pageWrap.getModel().getStatus()); queryWrapper.isNull(Visits::getParentId); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Visits::getMemberId,pageWrap.getModel().getMemberId()); + queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getReceptMemberId()),Visits::getReceptMemberId,pageWrap.getModel().getReceptMemberId()); queryWrapper.orderByDesc(Visits::getCreateDate); IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper); @@ -1247,12 +1258,14 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌琚鍛樺伐淇℃伅"); } VisitDetailVO visitDetailVO = new VisitDetailVO(); + visitDetailVO.setCreateTime(visits.getCreateDate()); visitDetailVO.setStatus(visits.getStatus()); visitDetailVO.setCarNos(visits.getCarNos()); visitDetailVO.setPhone(visits.getPhone()); visitDetailVO.setVisitUserName(member.getName()); visitDetailVO.setVisitReason(visits.getReason()); visitDetailVO.setQrcode(visits.getQrcode()); + visitDetailVO.setIdcardType(visits.getIdcardType()); visitDetailVO.setVisitTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm") + " 鑷� " + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm") ); //琚浜哄憳閮ㄩ棬 Company company = companyMapper.selectById(member.getCompanyId()); @@ -1266,6 +1279,7 @@ visitDetailVO.setConstructionReason(visits.getConstructionReason()); visitDetailVO.setImgUrl(visits.getImgurl()); visitDetailVO.setIdCardDecode(visits.getIdcardDecode()); + visitDetailVO.setFaceImg(visits.getFaceImg()); visitDetailVO.setPrefix(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode()); if(StringUtils.isNotBlank(visits.getDoors())){ @@ -1285,13 +1299,13 @@ .eq(Visits::getParentId,id))); - if(Objects.nonNull(memberId)){ +// if(Objects.nonNull(memberId)){ visitDetailVO.setApproveDateVO( approveService.arrangeApprovedData(id, visits.getType(), memberId) ); - } +// } return visitDetailVO; } @@ -1373,6 +1387,40 @@ .eq(Retention::getType,Constants.memberType.visitor) .eq(Retention::getMemberId,visits.getMemberId())); } + @Override + public void visitResend(Integer visitId) { + MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(Visits.class); + queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName) + .selectAs(Member::getHkId,Visits::getReceptMemberHkId) + .leftJoin(Member.class,Member::getId,Visits::getReceptMemberId) + .eq(Visits::getId,visitId)//鏈悓姝ュ埌娴峰悍 + .last("limit 1"); + Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper); + if(Objects.isNull(visits)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!visits.getStatus().equals(Constants.VisitStatus.xfFail)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝璇峰埛鏂伴噸璇�"); + } + List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() + .eq(DeviceRole::getType, Constants.ONE)); + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); + + HkSyncVisitServiceImpl.getUpdateModelByResponseIccm(visits,new Date(),roleList,path); + if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)){ + //濡傛灉涓嬪彂鎴愬姛锛� + visitsMapper.updateById(visits); + if(Objects.isNull(visits.getParentId())){ + wxPlatNotice.sendVisitAuditTemplateNotice(visits, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(), + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode()); + } + }else{ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"閲嶆柊涓嬪彂浼氬け璐ワ紒"); + } + } @Override -- Gitblit v1.9.3