From 7cdea6d16a8b9f74800792ea412ad8b51c4df7f4 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 22 十月 2024 17:48:38 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 66 ++++++++++++++++++++++++-------- 1 files changed, 49 insertions(+), 17 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 ef865c4..1ba80f2 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,10 +6,7 @@ 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.dao.business.*; import com.doumee.dao.business.join.ApproveJoinMapper; import com.doumee.dao.business.join.CarUseBookJoinMapper; @@ -24,6 +21,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.third.EmayService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import io.swagger.annotations.ApiModelProperty; import org.apache.commons.lang3.StringUtils; @@ -36,10 +34,8 @@ 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; /** @@ -75,6 +71,15 @@ private MemberMapper memberMapper; + @Autowired + private SmsConfigMapper smsConfigMapper; + + @Autowired + private SmsEmailMapper smsEmailMapper; + + @Autowired + private EmayService emayService; + @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer create(CarUseBook carUseBook) throws Exception { @@ -83,7 +88,6 @@ || Objects.isNull(carUseBook.getStartTime()) || Objects.isNull(carUseBook.getEndTime()) || Objects.isNull(carUseBook.getCreator()) - || Objects.isNull(carUseBook.getMemberId()) || Objects.isNull(carUseBook.getPlanUseDate()) || Objects.isNull(carUseBook.getType()) || StringUtils.isEmpty(carUseBook.getMemberIds()) @@ -92,6 +96,9 @@ || StringUtils.isEmpty(carUseBook.getAddr()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + if(Objects.nonNull(carUseBook.getCreator())&&Objects.isNull(carUseBook.getMemberId())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�!"); } if(carUseBook.getEndTime().getTime()<=System.currentTimeMillis()){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"閫夋嫨鏃ユ湡寮傚父[缁撴潫鏃堕棿灏忎簬褰撳墠鏃堕棿],璇峰埛鏂伴噸璇�"); @@ -105,9 +112,10 @@ 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()); //鏍规嵁杞﹁締鏌ヨ鍙告満淇℃伅 CarDriver carDriver = carDriverMapper.selectOne(new QueryWrapper<CarDriver>().lambda() .eq(CarDriver::getCarId,cars.getId()) @@ -124,7 +132,6 @@ } carUseBookMapper.insert(carUseBook); //鐢ㄨ溅鐢宠 瀹℃壒璁板綍鍒涘缓 - approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId()); return carUseBook.getId(); } @@ -184,6 +191,9 @@ .eq(CarUseBook::getId,id) .last("limit 1" ); CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper); + if(Objects.isNull(model)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } ApproveDataVO approveDataVO = approveService.arrangeApprovedData(id, Constants.equalsInteger(model.getType(),Constants.ZERO)?3:4, memberId); @@ -207,6 +217,7 @@ } } approve.setCheckInfo(model.getCancelInfo()); + approve.setCheckDate(model.getCancelTime()); approveList.add(approve); } model.setApproveDateVO(approveDataVO); @@ -239,7 +250,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()) @@ -372,11 +394,6 @@ .or().apply(" START_TIME < '"+dateDay+" 00:00:00' and END_TIME > '"+dateDay+" 23:59:59' ")) ); for (DateIntervalVO dateIntervalVO:dateIntervalVOList) { - //鍒ゆ柇鏃堕棿鏄惁澶т簬褰撳墠 - if(DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()<=System.currentTimeMillis()){ - dateIntervalVO.setIsUse(Constants.ONE); - continue; - } if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carUseBookList)){ for (CarUseBook i:carUseBookList ) { if( @@ -389,10 +406,16 @@ (DateUtil.getDateFromString(dateIntervalVO.getStartTime()).getTime() >= i.getStartTime().getTime() && DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime() <= i.getEndTime().getTime()) ){ + dateIntervalVO.setCarUseBookId(i.getId()); dateIntervalVO.setIsUse(Constants.ONE); break; } } + } + //鍒ゆ柇鏃堕棿鏄惁澶т簬褰撳墠 + if(Constants.equalsInteger(dateIntervalVO.getIsUse(),Constants.ZERO) && DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()<=System.currentTimeMillis()){ + dateIntervalVO.setIsUse(Constants.ONE); + continue; } } return dateIntervalVOList; @@ -436,7 +459,7 @@ carUseBook.setCancelTime(new Date()); carUseBook.setCancelStatus(Constants.ONE); carUseBook.setStatus(Constants.FOUR); - carUseBook.setCancelUser(loginUserInfo.getId()); + carUseBook.setCancelUser(loginUserInfo.getMemberId()); carUseBook.setCancelType(Constants.ONE); if(loginUserInfo.getId().equals(carUseBook.getCreator())){ carUseBook.setCancelType(Constants.ZERO); @@ -452,6 +475,15 @@ .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())){ + //鐢ㄨ溅鐢宠鍙栨秷 + SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,carUseBook.getId(), + SmsConstants.carUseBookContent.carUseBookCancel, + null, Arrays.asList(member.getPhone().split(",")) + ); + } } -- Gitblit v1.9.3