From 3af254f1b36e7722673fcebe110da524b276105c Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 30 十二月 2024 17:56:04 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 126 insertions(+), 21 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java index 68318b2..f3398ca 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java @@ -1,7 +1,5 @@ package com.doumee.service.business.impl; -import cn.emay.sdk.util.StringUtil; -import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; @@ -10,14 +8,23 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; +import com.doumee.core.utils.SmsConstants; import com.doumee.core.utils.Utils; -import com.doumee.dao.business.ApproveTemplMapper; -import com.doumee.dao.business.MemberMapper; -import com.doumee.dao.business.PlatformBooksMapper; -import com.doumee.dao.business.PlatformReasonMapper; +import com.doumee.core.wx.wxPlat.WxPlatConstants; +import com.doumee.core.wx.wxPlat.WxPlatNotice; +import com.doumee.dao.business.*; +import com.doumee.dao.business.dao.MemberMapper; +import com.doumee.dao.business.dao.SmsConfigMapper; +import com.doumee.dao.business.dao.SmsEmailMapper; import com.doumee.dao.business.join.ApproveJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ApproveDataVO; + +import com.doumee.dao.business.model.Member; +import com.doumee.dao.system.SystemUserMapper; +import com.doumee.dao.system.join.NoticesJoinMapper; +import com.doumee.dao.system.model.Notices; +import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.reqeust.PlatformBooksApplyDTO; import com.doumee.dao.web.reqeust.PlatformBooksCheckNumDTO; import com.doumee.dao.web.reqeust.RevokeDTO; @@ -27,8 +34,8 @@ 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.third.EmayService; import org.apache.commons.lang3.StringUtils; -import org.apache.tomcat.util.bcel.Const; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,6 +43,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Objects; @@ -52,13 +60,22 @@ private PlatformBooksMapper platformBooksMapper; @Autowired + private NoticesJoinMapper noticesJoinMapper; + + @Autowired private ApproveTemplMapper approveTemplMapper; @Autowired private PlatformReasonMapper platformReasonMapper; @Autowired + private PlatformGroupMapper platformGroupMapper; + + @Autowired private SystemDictDataBiz systemDictDataBiz; + + @Autowired + private SystemUserMapper systemUserMapper; @Autowired private ApproveService approveService; @@ -69,6 +86,20 @@ @Autowired private ApproveJoinMapper approveJoinMapper; + @Autowired + private CarsMapper carsMapper; + + @Autowired + private SmsConfigMapper smsConfigMapper; + + @Autowired + private SmsEmailMapper smsEmailMapper; + + @Autowired + private EmayService emayService; + + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; @Override public Integer create(PlatformBooks platformBooks) { @@ -158,16 +189,24 @@ .eq(pageWrap.getModel().getPlateNum() != null, PlatformBooks::getPlateNum, pageWrap.getModel().getPlateNum()) .eq(pageWrap.getModel().getDriverPhone() != null, PlatformBooks::getDriverPhone, pageWrap.getModel().getDriverPhone()) .ge(pageWrap.getModel().getQueryDate() != null, PlatformBooks::getCreateDate, pageWrap.getModel().getQueryDate()) + .ge(pageWrap.getModel().getArriveDateStart() != null, PlatformBooks::getArriveDate, Utils.Date.getStart(pageWrap.getModel().getArriveDateStart())) + .le(pageWrap.getModel().getArriveDateEnd() != null, PlatformBooks::getArriveDate, Utils.Date.getEnd(pageWrap.getModel().getArriveDateEnd())) + .orderByDesc(PlatformBooks::getCreateDate) ; - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); + PageData<PlatformBooks> pageData = PageData.from(platformBooksMapper.selectPage(page, queryWrapper)); + for (PlatformBooks platformBooks:pageData.getRecords()) { + if(Constants.equalsInteger(platformBooks.getStatus(),Constants.ONE)||Constants.equalsInteger(platformBooks.getStatus(),Constants.ZERO)){ + String auditName = approveService.getApproveUserName(platformBooks.getId(),Constants.approveObjectType.reason); + platformBooks.setAuditName(auditName); } } - return PageData.from(platformBooksMapper.selectPage(page, queryWrapper)); + + return pageData; } + + + + @Override public long count(PlatformBooks platformBooks) { @@ -228,7 +267,21 @@ if(Objects.isNull(platformReason)|| !Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍏ュ洯鍘熷洜淇℃伅寮傚父,璇峰埛鏂伴噸璇�"); } - ApproveTempl approveTempl = approveTemplMapper.selectById(platformReason.getId()); + PlatformGroup platformGroup= platformGroupMapper.selectById(platformReason.getGroupId()); + if(Objects.isNull(platformGroup)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌缁戝畾鏈堝彴缁勬暟鎹�"); + } + if(!Constants.equalsInteger(platformGroup.getIsdeleted(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"缁戝畾鏈堝彴缁勬暟鎹紓甯革紝璇疯仈绯荤鐞嗗憳"); + } + if(!Constants.checkCarNo(platformBooksApplyDTO.getCarCodeFront())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇疯緭鍏ユ纭殑杞︾墝!"); + }; + //鏌ヨ杞﹁締鏄惁涓鸿嚜鏈夎溅 + if(carsMapper.selectCount(new QueryWrapper<Cars>().lambda().eq(Cars::getIsdeleted,Constants.ZERO).eq(Cars::getCode,platformBooksApplyDTO.getCarCodeFront()))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"["+platformBooksApplyDTO.getCarCodeFront()+"]灞炰簬鍐呴儴杞﹁締锛屾棤娉曢绾�"); + }; + ApproveTempl approveTempl = approveTemplMapper.selectById(platformReason.getApproveTemplId()); if(Objects.isNull(approveTempl)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈厤缃鎵规祦,璇疯仈绯荤鐞嗗憳"); } @@ -241,16 +294,33 @@ platformBooks.setIsdeleted(Constants.ZERO); platformBooks.setStatus(Constants.ZERO); platformBooks.setDriverId(platformBooksApplyDTO.getUserId()); + platformBooks.setEditDate(new Date()); platformBooksMapper.insert(platformBooks); //鍒涘缓瀹℃壒娴佷俊鎭� - approveService.createApproveForPlatfrom(platformReason.getApproveTemplId(),platformBooks.getId(),platformBooks.getDriverId()); + approveService.createApproveForPlatfrom(approveTempl.getId(),platformBooks.getId(),platformBooks.getDriverId()); + //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉 + SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() + .eq(SystemUser::getDeleted, Constants.ZERO) + .eq(SystemUser::getType, Constants.ZERO) + .eq(SystemUser::getMobile,platformBooks.getDriverPhone()) + .isNotNull(SystemUser::getOpenid) + .last(" limit 1 ")); + + if(Objects.nonNull(driver)&&StringUtils.isNotBlank(driver.getOpenid())){ + WxPlatNotice wxPlatNotice = new WxPlatNotice(); + wxPlatNotice.sendPlatformBookTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper, platformBooks, + WxPlatConstants.platformBookContent.platformBookUpload, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(driver.getOpenid().split(",")),0); + } return platformBooks.getId(); } -// @Override + @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer edit(PlatformBooksApplyDTO platformBooksApplyDTO){ if(Objects.isNull(platformBooksApplyDTO) @@ -265,11 +335,13 @@ || StringUtils.isBlank(platformBooksApplyDTO.getDriverPhone()) || StringUtils.isBlank(platformBooksApplyDTO.getDriverName()) || StringUtils.isBlank(platformBooksApplyDTO.getTransportImg()) - || Objects.isNull(platformBooksApplyDTO.getReasonId()) - || StringUtils.isBlank(platformBooksApplyDTO.getInReason()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } + //鏌ヨ杞﹁締鏄惁涓鸿嚜鏈夎溅 + if(carsMapper.selectCount(new QueryWrapper<Cars>().lambda().eq(Cars::getIsdeleted,Constants.ZERO).eq(Cars::getCode,platformBooksApplyDTO.getCarCodeFront()))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"["+platformBooksApplyDTO.getCarCodeFront()+"]灞炰簬鍐呴儴杞﹁締锛屾棤娉曢绾�"); + }; PlatformBooks platformBooks = platformBooksMapper.selectById(platformBooksApplyDTO.getId()); if(Objects.isNull(platformBooks)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); @@ -279,7 +351,9 @@ } BeanUtils.copyProperties(platformBooksApplyDTO,platformBooks); platformBooks.setEditDate(new Date()); - platformBooksMapper.insert(platformBooks); + platformBooks.setReasonId(null); + platformBooks.setInReason(null); + platformBooksMapper.updateById(platformBooks); return platformBooks.getId(); } @@ -322,6 +396,20 @@ approve.setCheckDate(model.getCancelTime()); approveList.add(approve); } + + Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda() + .eq(Notices::getObjId,id) + .eq(Notices::getType,Constants.noticesObjectType.reason) + .eq(Notices::getUserId,memberId) + .eq(Notices::getSendacopy,Constants.ZERO) + .orderByDesc(Notices::getId).last(" limit 1 ")); + if(Objects.nonNull(notices)){ + if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){ + model.setInfo("寰呮垜澶勭悊"); + }else{ + model.setInfo(notices.getInfo()); + } + } return model; } @@ -331,7 +419,6 @@ public void revoke(RevokeDTO revokeDTO, LoginUserInfo loginUserInfo){ if(Objects.isNull(revokeDTO) || Objects.isNull(revokeDTO.getId()) - || StringUtils.isBlank(revokeDTO.getInfo()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } @@ -357,8 +444,26 @@ .eq(Approve::getObjType,Constants.approveObjectType.logisticsCarUse) .eq(Approve::getObjId,revokeDTO.getId()) ); - } + noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda() + .set(Notices::getEditDate,new Date()) + .set(Notices::getInfo,"鐗╂祦杞﹂绾︾敵璇峰彇娑�") + .set(Notices::getReaded,Constants.ONE) + .set(Notices::getParam2,Constants.TWO) + .set(Notices::getStatus,Constants.ONE) + .eq(Notices::getType,Constants.noticesObjectType.reason) + .eq(Notices::getObjId,model.getId()) + ); + + //鍙戦�佺煭淇¢�氱煡 + SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,model.getId(), + SmsConstants.platformBookContent.platformBookCancel, + null,null + ); + + + } } -- Gitblit v1.9.3