From 53b6400ec10c8ca61ccec91c82c358d2488eead8 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 20 十二月 2024 09:50:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 105 insertions(+), 15 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 cffa394..fbeefdc 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 @@ -6,16 +6,21 @@ import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; -import com.doumee.core.utils.Constants; -import com.doumee.core.utils.DESUtil; -import com.doumee.core.utils.DateUtil; -import com.doumee.core.utils.Utils; +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.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.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; @@ -24,8 +29,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 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; @@ -35,12 +40,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.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; /** * 杞﹁締_鐢ㄨ溅鐢宠淇℃伅琛⊿ervice瀹炵幇 @@ -66,6 +67,9 @@ private ApproveJoinMapper approveJoinMapper; @Autowired + private NoticesJoinMapper noticesJoinMapper; + + @Autowired private ApproveService approveService; @Autowired @@ -74,6 +78,21 @@ @Autowired private MemberMapper memberMapper; + + @Autowired + private SmsConfigMapper smsConfigMapper; + + @Autowired + private SmsEmailMapper smsEmailMapper; + + @Autowired + private EmayService emayService; + + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; + + @Autowired + private SystemUserMapper systemUserMapper; @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) @@ -96,7 +115,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()) @@ -107,7 +126,7 @@ carUseBook.setCreateDate(new Date()); carUseBook.setIsdeleted(Constants.ZERO); Cars cars = carsMapper.selectById(carUseBook.getCarId()); - if(Objects.isNull(cars)||!cars.getType().equals(Constants.ONE)){ + if(Objects.isNull(cars)||!cars.getType().equals(Constants.ZERO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"杞﹁締淇℃伅寮傚父"); } carUseBook.setCarCode(cars.getCode()); @@ -115,7 +134,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())){ @@ -128,6 +147,19 @@ 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(); } @@ -216,6 +248,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; } @@ -245,7 +293,18 @@ queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId) - .leftJoin("company t4 on t1.company_id=t4.id"); + .leftJoin("company t4 on t1.company_id=t4.id"); //鏁版嵁鏉冮檺寮�濮�--------------------start---------------- + LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo(); + if(userInfo!=null && userInfo.getCompanyIdList()!=null){ + if( userInfo.getCompanyIdList().size() ==0){ + //鍙兘鐪嬭嚜宸� + queryWrapper.eq(CarUseBook::getCreator,userInfo.getId()); + }else{ + queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList()); + } + } + //鏁版嵁鏉冮檺寮�濮�--------------------end---------------- + queryWrapper .eq(pageWrap.getModel().getId() != null, CarUseBook::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getCreator() != null, CarUseBook::getCreator, pageWrap.getModel().getCreator()) @@ -398,7 +457,7 @@ } //鍒ゆ柇鏃堕棿鏄惁澶т簬褰撳墠 if(Constants.equalsInteger(dateIntervalVO.getIsUse(),Constants.ZERO) && DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()<=System.currentTimeMillis()){ - dateIntervalVO.setIsUse(Constants.ONE); +// dateIntervalVO.setIsUse(Constants.ONE); continue; } } @@ -459,6 +518,37 @@ .in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar) .eq(Approve::getObjId,id) ); + + //澶勭悊寰呭姙淇℃伅 + 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, + 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