From f63d3a3be83fea258e7920efccd2567b6a511bb3 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 16 一月 2025 16:52:46 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 78 insertions(+), 12 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java index 1ba80f2..19e4391 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java @@ -3,16 +3,26 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; -import com.doumee.core.model.LoginUserInfo; -import com.doumee.core.model.PageData; -import com.doumee.core.model.PageWrap; +import com.doumee.service.business.third.model.LoginUserInfo; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.*; +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.join.CarUseBookJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ApproveDataVO; import com.doumee.dao.business.vo.DateIntervalVO; + +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.SystemDictData; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.ApproveService; @@ -23,7 +33,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.service.business.third.EmayService; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import io.swagger.annotations.ApiModelProperty; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,10 +42,8 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; -import java.time.temporal.ChronoUnit; import java.util.*; import java.util.Date; -import java.util.stream.Collectors; /** * 杞﹁締_鐢ㄨ溅鐢宠淇℃伅琛⊿ervice瀹炵幇 @@ -62,6 +69,9 @@ private ApproveJoinMapper approveJoinMapper; @Autowired + private NoticesJoinMapper noticesJoinMapper; + + @Autowired private ApproveService approveService; @Autowired @@ -79,6 +89,12 @@ @Autowired private EmayService emayService; + + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; + + @Autowired + private SystemUserMapper systemUserMapper; @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) @@ -101,7 +117,7 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�!"); } if(carUseBook.getEndTime().getTime()<=System.currentTimeMillis()){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"閫夋嫨鏃ユ湡寮傚父[缁撴潫鏃堕棿灏忎簬褰撳墠鏃堕棿],璇峰埛鏂伴噸璇�"); +// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"閫夋嫨鏃ユ湡寮傚父[缁撴潫鏃堕棿灏忎簬褰撳墠鏃堕棿],璇峰埛鏂伴噸璇�"); } if(!(DateUtil.getDateFromString(carUseBook.getPlanUseDate()+":00").getTime()>=carUseBook.getStartTime().getTime() && DateUtil.getDateFromString(carUseBook.getPlanUseDate() +":00").getTime()<= carUseBook.getEndTime().getTime()) @@ -120,7 +136,7 @@ CarDriver carDriver = carDriverMapper.selectOne(new QueryWrapper<CarDriver>().lambda() .eq(CarDriver::getCarId,cars.getId()) .eq(CarDriver::getIsdeleted,Constants.ZERO) - .eq(CarDriver::getStatus,Constants.ONE) +// .eq(CarDriver::getStatus,Constants.ZERO) .last( " limit 1 ") ); if(Objects.nonNull(carDriver)&&Objects.nonNull(carDriver.getMemberId())){ @@ -133,6 +149,18 @@ carUseBookMapper.insert(carUseBook); //鐢ㄨ溅鐢宠 瀹℃壒璁板綍鍒涘缓 approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId()); + //鍙戦�佸井淇″叕浼楀彿閫氱煡 + //鍙戦�佸井淇″叕浼楀彿閫氱煡 + WxPlatNotice wxPlatNotice = new WxPlatNotice(); + SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator()); + if(Objects.nonNull(systemUser) && StringUtils.isNotBlank(systemUser.getOpenid())){ + carUseBook.setMemberName(systemUser.getRealname()); + wxPlatNotice.sendCarUseBookTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper,carUseBook, + WxPlatConstants.carUseBookContent.carUseBookUpload, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(systemUser.getOpenid().split(",")),0); + } return carUseBook.getId(); } @@ -221,6 +249,22 @@ approveList.add(approve); } model.setApproveDateVO(approveDataVO); + + Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda() + .eq(Notices::getObjId,id) + .eq(Notices::getType,Constants.noticesObjectType.useCar) + .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; } @@ -414,7 +458,7 @@ } //鍒ゆ柇鏃堕棿鏄惁澶т簬褰撳墠 if(Constants.equalsInteger(dateIntervalVO.getIsUse(),Constants.ZERO) && DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()<=System.currentTimeMillis()){ - dateIntervalVO.setIsUse(Constants.ONE); +// dateIntervalVO.setIsUse(Constants.ONE); continue; } } @@ -475,14 +519,36 @@ .in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar) .eq(Approve::getObjId,id) ); - Member member = memberMapper.selectById(carUseBook.getMemberId()); - if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){ + + //澶勭悊寰呭姙淇℃伅 + noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda() + .set(Notices::getStatus,Constants.ONE) + .set(Notices::getInfo,"宸插彇娑�") + .eq(Notices::getType,Constants.TWO) + .eq(Notices::getObjId,carUseBook.getId()) + ); + + + SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator()); + if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getMobile())){ //鐢ㄨ溅鐢宠鍙栨秷 SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz, emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,carUseBook.getId(), SmsConstants.carUseBookContent.carUseBookCancel, - null, Arrays.asList(member.getPhone().split(",")) + info, Arrays.asList(systemUser.getMobile().split(",")) ); + if(StringUtils.isNotBlank(systemUser.getOpenid())){ + carUseBook.setMemberName(systemUser.getRealname()); + WxPlatNotice wxPlatNotice = new WxPlatNotice(); + wxPlatNotice.sendCarUseBookTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper, + carUseBook, + WxPlatConstants.carUseBookContent.carUseBookCancel, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(systemUser.getOpenid().split(",")), + Constants.TWO); + } + } } -- Gitblit v1.9.3