|  |  | 
 |  |  | 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.alibaba.fastjson.JSONObject; | 
 |  |  | 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.dao.business.dao.UserActionMapper; | 
 |  |  | 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.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; | 
 |  |  | 
 |  |  | 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.util.CollectionUtils; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.Arrays; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Objects; | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private PlatformBooksMapper platformBooksMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private UserActionMapper userActionMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private PlatformJobMapper platformJobMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private NoticesJoinMapper noticesJoinMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ApproveTemplMapper approveTemplMapper; | 
 |  |  | 
 |  |  |     private PlatformReasonMapper platformReasonMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private PlatformGroupMapper platformGroupMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemDictDataBiz systemDictDataBiz; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemUserMapper systemUserMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ApproveService approveService; | 
 |  |  | 
 |  |  |     @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) { | 
 |  |  | 
 |  |  |     public void deleteById(Integer id) { | 
 |  |  |         platformBooksMapper.deleteById(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
 |  |  |     public void deleteById(Integer id,LoginUserInfo user) { | 
 |  |  |         PlatformBooks model =findById(id); | 
 |  |  |         if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ | 
 |  |  |             throw  new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |         } | 
 |  |  |         Date date =new Date(); | 
 |  |  |         platformBooksMapper.update(null,new UpdateWrapper<PlatformBooks>().lambda() | 
 |  |  |                 .set(PlatformBooks::getIsdeleted,Constants.ONE) | 
 |  |  |                 .set(PlatformBooks::getEditDate,date) | 
 |  |  |                 .set(PlatformBooks::getEditor,user.getId()) | 
 |  |  |                 .eq(PlatformBooks::getId,id)); | 
 |  |  |         if(model.getJobId()!=null){ | 
 |  |  |             platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() | 
 |  |  |                     .set(PlatformJob::getIsdeleted,Constants.ONE) | 
 |  |  |                     .set(PlatformJob::getEditDate,new Date()) | 
 |  |  |                     .set(PlatformJob::getEditor,user.getId()) | 
 |  |  |                     .eq(PlatformJob::getPlatformId,model.getJobId()) | 
 |  |  |                     .eq(PlatformJob::getIsdeleted,Constants.ZERO)); | 
 |  |  |         } | 
 |  |  |         String[] params = new String[3]; | 
 |  |  |         params[0] = user.getRealname(); | 
 |  |  |         params[1]=DateUtil.getPlusTime2(date); | 
 |  |  |         params[2]="【合同号:"+model.getContractNum()+"】-【司机:"+model.getDriverName()+" "+model.getDriverPhone()+"】-【车牌好: "+model.getPlateNum()+"】"; | 
 |  |  |         //记录删除日志 | 
 |  |  |         UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.PLATFROM_BOOK_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  |     public void delete(PlatformBooks platformBooks) { | 
 |  |  |         UpdateWrapper<PlatformBooks> deleteWrapper = new UpdateWrapper<>(platformBooks); | 
 |  |  | 
 |  |  |     public PageData<PlatformBooks> findPage(PageWrap<PlatformBooks> pageWrap) { | 
 |  |  |         IPage<PlatformBooks> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
 |  |  |         QueryWrapper<PlatformBooks> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         pageWrap.getModel().setIsdeleted(Constants.ZERO); | 
 |  |  |         Utils.MP.blankToNull(pageWrap.getModel()); | 
 |  |  |         queryWrapper.lambda() | 
 |  |  |                 .eq(pageWrap.getModel().getId() != null, PlatformBooks::getId, pageWrap.getModel().getId()) | 
 |  |  | 
 |  |  |                 .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) { | 
 |  |  | 
 |  |  |         } | 
 |  |  |         //查询每日配置的总预约量 | 
 |  |  |         PlatformReason platformReason = platformReasonMapper.selectById(platformBooksCheckNumDTO.getReasonId()); | 
 |  |  |         if(Objects.isNull(platformReason)|| Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){ | 
 |  |  |         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) | 
 |  |  |                 .eq(PlatformBooks::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .like(PlatformBooks::getCreateDate, DateUtil.getDate(platformBooksCheckNumDTO.getArriveDate(),"yyyy-MM-dd")) | 
 |  |  |         ); | 
 |  |  |         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformBooksList)){ | 
 |  |  | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         PlatformReason platformReason = platformReasonMapper.selectById(platformBooksApplyDTO.getReasonId()); | 
 |  |  |         if(Objects.isNull(platformReason)|| Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){ | 
 |  |  |         if(Objects.isNull(platformReason)|| !Constants.equalsInteger(platformReason.getIsdeleted(),Constants.ZERO)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"入园原因信息异常,请刷新重试"); | 
 |  |  |         } | 
 |  |  |         ApproveTempl approveTempl = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda() | 
 |  |  |                 .eq(ApproveTempl::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(ApproveTempl::getObjId,platformReason.getId()) | 
 |  |  |                 .last(" limit 1") | 
 |  |  |         ); | 
 |  |  |         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(platformBooksApplyDTO.getUserId(),platformBooksApplyDTO.getDriverId())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"人员信息匹配错误"); | 
 |  |  |         } | 
 |  |  |         if(Objects.nonNull(platformReason.getLimitNum())&&platformReason.getLimitNum().compareTo(platformBooksApplyDTO.getTotalNum())>0){ | 
 |  |  |             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.setIsdeleted(Constants.ZERO); | 
 |  |  |         platformBooks.setStatus(Constants.ZERO); | 
 |  |  |         platformBooks.setDriverId(platformBooksApplyDTO.getUserId()); | 
 |  |  |         platformBooks.setEditDate(new Date()); | 
 |  |  |         platformBooksMapper.insert(platformBooks); | 
 |  |  |  | 
 |  |  |         //创建审批流信息 | 
 |  |  |         approveService.createApproveFlow(5,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 | 
 |  |  |     @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)||Constants.equalsInteger(platformBooks.getIsdeleted(),Constants.ONE)){ | 
 |  |  |             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)){ | 
 |  |  |         if(Objects.isNull(model)||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ | 
 |  |  |             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, | 
 |  |  |                5, | 
 |  |  |                6, | 
 |  |  |                 memberId); | 
 |  |  |         model.setApproveDateVO(approveDataVO); | 
 |  |  |         List<Approve> approveList = approveDataVO.getApproveList(); | 
 |  |  | 
 |  |  |             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; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     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)){ | 
 |  |  |         if(Objects.isNull(model)||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到预约记录"); | 
 |  |  |         } | 
 |  |  |         if(!(Constants.equalsInteger(model.getStatus(),Constants.ZERO)||Constants.equalsInteger(model.getStatus(),Constants.ONE))){ | 
 |  |  | 
 |  |  |                 .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 | 
 |  |  |         ); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |