|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 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.DateUtil; | 
|---|
|  |  |  | import com.doumee.core.utils.SmsConstants; | 
|---|
|  |  |  | import com.doumee.core.utils.Utils; | 
|---|
|  |  |  | import com.doumee.dao.business.PlatformBooksMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.PlatformBooks; | 
|---|
|  |  |  | import com.doumee.dao.business.*; | 
|---|
|  |  |  | import com.doumee.dao.business.join.ApproveJoinMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.*; | 
|---|
|  |  |  | import com.doumee.dao.business.vo.ApproveDataVO; | 
|---|
|  |  |  | import com.doumee.dao.system.join.NoticesJoinMapper; | 
|---|
|  |  |  | import com.doumee.dao.web.reqeust.ConfirmTaskDTO; | 
|---|
|  |  |  | import com.doumee.dao.web.reqeust.PlatformBooksApplyDTO; | 
|---|
|  |  |  | import com.doumee.dao.web.reqeust.PlatformBooksCheckNumDTO; | 
|---|
|  |  |  | import com.doumee.dao.web.reqeust.RevokeDTO; | 
|---|
|  |  |  | import com.doumee.service.business.ApproveService; | 
|---|
|  |  |  | import com.doumee.service.business.PlatformBooksService; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Objects; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 月台入园预约信息表Service实现 | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 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 ApproveService approveService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private MemberMapper memberMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApproveJoinMapper approveJoinMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CarsMapper carsMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SmsConfigMapper smsConfigMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SmsEmailMapper smsEmailMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private EmayService emayService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Integer create(PlatformBooks platformBooks) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | platformBooksMapper.insert(platformBooks); | 
|---|
|  |  |  | return platformBooks.getId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | QueryWrapper<PlatformBooks> wrapper = new QueryWrapper<>(platformBooks); | 
|---|
|  |  |  | return platformBooksMapper.selectList(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageData<PlatformBooks> findPage(PageWrap<PlatformBooks> pageWrap) { | 
|---|
|  |  |  | IPage<PlatformBooks> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(pageWrap.getModel().getDriverId() != null, PlatformBooks::getDriverId, pageWrap.getModel().getDriverId()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getDriverName() != null, PlatformBooks::getDriverName, pageWrap.getModel().getDriverName()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getPlateNum() != null, PlatformBooks::getPlateNum, pageWrap.getModel().getPlateNum()) | 
|---|
|  |  |  | .eq(pageWrap.getModel().getDrivierPhone() != null, PlatformBooks::getDrivierPhone, pageWrap.getModel().getDrivierPhone()) | 
|---|
|  |  |  | .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) { | 
|---|
|  |  |  | QueryWrapper<PlatformBooks> wrapper = new QueryWrapper<>(platformBooks); | 
|---|
|  |  |  | return platformBooksMapper.selectCount(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public BigDecimal checkNum(PlatformBooksCheckNumDTO platformBooksCheckNumDTO){ | 
|---|
|  |  |  | if(Objects.isNull(platformBooksCheckNumDTO) | 
|---|
|  |  |  | || Objects.isNull(platformBooksCheckNumDTO.getTotalNum()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksCheckNumDTO.getReasonId()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksCheckNumDTO.getArriveDate())){ | 
|---|
|  |  |  | return BigDecimal.ZERO; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //查询每日配置的总预约量 | 
|---|
|  |  |  | PlatformReason platformReason = platformReasonMapper.selectById(platformBooksCheckNumDTO.getReasonId()); | 
|---|
|  |  |  | if(Objects.isNull(platformReason)|| !Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"入园原因信息异常,请刷新重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<PlatformBooks> platformBooksList = platformBooksMapper.selectList(new QueryWrapper<PlatformBooks>().lambda() | 
|---|
|  |  |  | .eq(PlatformBooks::getReasonId,platformBooksCheckNumDTO.getReasonId()) | 
|---|
|  |  |  | .ne(PlatformBooks::getStatus,Constants.THREE) | 
|---|
|  |  |  | .like(PlatformBooks::getCreateDate, DateUtil.getDate(platformBooksCheckNumDTO.getArriveDate(),"yyyy-MM-dd")) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformBooksList)){ | 
|---|
|  |  |  | BigDecimal countNum =  platformBooksList.stream().map(m->m.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); | 
|---|
|  |  |  | if(countNum.compareTo(platformReason.getLimitNum())>=Constants.ZERO){ | 
|---|
|  |  |  | return BigDecimal.ZERO; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return platformReason.getLimitNum().subtract(countNum); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return platformReason.getLimitNum(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
|---|
|  |  |  | public Integer apply(PlatformBooksApplyDTO platformBooksApplyDTO){ | 
|---|
|  |  |  | if(Objects.isNull(platformBooksApplyDTO) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getContractNum()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getArriveDate()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getInType()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getTotalNum()) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getCarCodeFront()) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getCarCodeBack()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getDriverId()) | 
|---|
|  |  |  | || 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | PlatformReason platformReason = platformReasonMapper.selectById(platformBooksApplyDTO.getReasonId()); | 
|---|
|  |  |  | if(Objects.isNull(platformReason)|| !Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"入园原因信息异常,请刷新重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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(),"未配置审批流,请联系管理员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!Constants.equalsInteger(approveTempl.getIsdeleted(),Constants.ZERO)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"审批流已停用,请联系管理员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | PlatformBooks platformBooks = new PlatformBooks(); | 
|---|
|  |  |  | BeanUtils.copyProperties(platformBooksApplyDTO,platformBooks); | 
|---|
|  |  |  | platformBooks.setCreateDate(new Date()); | 
|---|
|  |  |  | platformBooks.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | platformBooks.setStatus(Constants.ZERO); | 
|---|
|  |  |  | platformBooks.setDriverId(platformBooksApplyDTO.getUserId()); | 
|---|
|  |  |  | platformBooks.setEditDate(new Date()); | 
|---|
|  |  |  | platformBooksMapper.insert(platformBooks); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //创建审批流信息 | 
|---|
|  |  |  | approveService.createApproveForPlatfrom(approveTempl.getId(),platformBooks.getId(),platformBooks.getDriverId()); | 
|---|
|  |  |  | return platformBooks.getId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
|---|
|  |  |  | public Integer edit(PlatformBooksApplyDTO platformBooksApplyDTO){ | 
|---|
|  |  |  | if(Objects.isNull(platformBooksApplyDTO) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getId()) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getContractNum()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getArriveDate()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getInType()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getTotalNum()) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getCarCodeFront()) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getCarCodeBack()) | 
|---|
|  |  |  | || Objects.isNull(platformBooksApplyDTO.getDriverId()) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getDriverPhone()) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getDriverName()) | 
|---|
|  |  |  | || StringUtils.isBlank(platformBooksApplyDTO.getTransportImg()) | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!Constants.equalsInteger(platformBooks.getStatus(),Constants.ZERO)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"业务状态已流转"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | BeanUtils.copyProperties(platformBooksApplyDTO,platformBooks); | 
|---|
|  |  |  | platformBooks.setEditDate(new Date()); | 
|---|
|  |  |  | platformBooks.setReasonId(null); | 
|---|
|  |  |  | platformBooks.setInReason(null); | 
|---|
|  |  |  | platformBooksMapper.updateById(platformBooks); | 
|---|
|  |  |  | return platformBooks.getId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PlatformBooks getDetail(Integer id,Integer memberId){ | 
|---|
|  |  |  | PlatformBooks model = platformBooksMapper.selectById(id); | 
|---|
|  |  |  | if(Objects.isNull(model)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到预约记录"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + | 
|---|
|  |  |  | systemDictDataBiz.queryByCode(Constants.FTP,Constants.PLATFORM).getCode(); | 
|---|
|  |  |  | model.setPrefixUrl(prefixUrl); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ApproveDataVO approveDataVO = approveService.arrangeApprovedData(id, | 
|---|
|  |  |  | 6, | 
|---|
|  |  |  | memberId); | 
|---|
|  |  |  | model.setApproveDateVO(approveDataVO); | 
|---|
|  |  |  | List<Approve> approveList = approveDataVO.getApproveList(); | 
|---|
|  |  |  | if(Constants.equalsInteger(model.getStatus(),Constants.FOUR)){ | 
|---|
|  |  |  | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() | 
|---|
|  |  |  | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); | 
|---|
|  |  |  | Member member = memberMapper.selectById(model.getDriverId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Approve approve = new Approve(); | 
|---|
|  |  |  | approve.setApproveType(Constants.ZERO); | 
|---|
|  |  |  | approve.setCreateDate(model.getCancelTime()); | 
|---|
|  |  |  | approve.setTitle("撤销人"); | 
|---|
|  |  |  | approve.setStatusInfo("已撤销"); | 
|---|
|  |  |  | approve.setStatus(Constants.FOUR); | 
|---|
|  |  |  | approve.setType(Constants.ZERO); | 
|---|
|  |  |  | if(member!=null) { | 
|---|
|  |  |  | approve.setMemberName(member.getName()); | 
|---|
|  |  |  | if (StringUtils.isNotBlank(member.getFaceImg())) { | 
|---|
|  |  |  | approve.setFaceImg(path + member.getFaceImg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | approve.setCheckInfo(model.getCancelInfo()); | 
|---|
|  |  |  | approve.setCheckDate(model.getCancelTime()); | 
|---|
|  |  |  | approveList.add(approve); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return model; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | PlatformBooks model = platformBooksMapper.selectById(revokeDTO.getId()); | 
|---|
|  |  |  | if(Objects.isNull(model)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到预约记录"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!(Constants.equalsInteger(model.getStatus(),Constants.ZERO)||Constants.equalsInteger(model.getStatus(),Constants.ONE))){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"业务状态已流转,无法进行该操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | model.setCancelUser(loginUserInfo.getId()); | 
|---|
|  |  |  | model.setCancelInfo(revokeDTO.getInfo()); | 
|---|
|  |  |  | model.setCancelTime(new Date()); | 
|---|
|  |  |  | model.setStatus(Constants.FOUR); | 
|---|
|  |  |  | platformBooksMapper.updateById(model); | 
|---|
|  |  |  | //处理审批记录 | 
|---|
|  |  |  | approveJoinMapper.update(null,new UpdateWrapper<Approve>() | 
|---|
|  |  |  | .lambda() | 
|---|
|  |  |  | .set(Approve::getIsdeleted,Constants.ONE) | 
|---|
|  |  |  | .set(Approve::getStatus,Constants.FOUR) | 
|---|
|  |  |  | .set(Approve::getCheckInfo,"物流车预约申请取消") | 
|---|
|  |  |  | .in(Approve::getStatus,Constants.ZERO,Constants.ONE) | 
|---|
|  |  |  | .eq(Approve::getObjType,Constants.approveObjectType.logisticsCarUse) | 
|---|
|  |  |  | .eq(Approve::getObjId,revokeDTO.getId()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //发送短信通知 | 
|---|
|  |  |  | SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz, | 
|---|
|  |  |  | emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,model.getId(), | 
|---|
|  |  |  | SmsConstants.platformBookContent.platformBookCancel, | 
|---|
|  |  |  | null,null | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|