From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 16:34:22 +0800 Subject: [PATCH] 改bug --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java | 434 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 417 insertions(+), 17 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java index d1cc8d5..8cca9b5 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java @@ -1,20 +1,52 @@ package com.doumee.service.business.impl; -import com.doumee.core.model.PageData; -import com.doumee.core.model.PageWrap; +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.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.PlatformBooksMapper; -import com.doumee.dao.business.model.PlatformBooks; +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.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 com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.commons.lang3.StringUtils; +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.util.List; +import java.math.BigDecimal; +import java.util.*; /** * 鏈堝彴鍏ュ洯棰勭害淇℃伅琛⊿ervice瀹炵幇 @@ -26,9 +58,60 @@ @Autowired private PlatformBooksMapper platformBooksMapper; + @Autowired + private UserActionMapper userActionMapper; + @Autowired + private PlatformJobMapper platformJobMapper; + + @Autowired + private NoticesJoinMapper noticesJoinMapper; + + @Autowired + private ApproveTemplMapper approveTemplMapper; + + @Autowired + private PlatformReasonMapper platformReasonMapper; + + @Autowired + private PlatformGroupMapper platformGroupMapper; + + @Autowired + private SystemDictDataBiz systemDictDataBiz; + + @Autowired + private SystemUserMapper systemUserMapper; + + @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; + + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; + + @Autowired + private ApproveMapper approveMapper; @Override public Integer create(PlatformBooks platformBooks) { + + platformBooksMapper.insert(platformBooks); return platformBooks.getId(); } @@ -37,7 +120,39 @@ 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::getId,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)); + //鏍囪浠诲姟璁板綍 + VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"绯荤粺鍒犻櫎",model.getId(), + Constants.approveObjectType.reason, + Constants.noticesObjectType.reason + ); + } @Override public void delete(PlatformBooks platformBooks) { UpdateWrapper<PlatformBooks> deleteWrapper = new UpdateWrapper<>(platformBooks); @@ -83,13 +198,19 @@ 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()); - QueryWrapper<PlatformBooks> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<PlatformBooks> queryWrapper = new MPJLambdaWrapper<>(); + pageWrap.getModel().setIsdeleted(Constants.ZERO); Utils.MP.blankToNull(pageWrap.getModel()); - queryWrapper.lambda() + queryWrapper + .selectAll(PlatformBooks.class) + .selectAs(PlatformJob::getStatus,PlatformBooks::getJobStatus) + .selectAs(SystemUser::getRealname,PlatformBooks::getEditUserName) + .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformBooks::getJobId) + .leftJoin(SystemUser.class,SystemUser::getId,PlatformJob::getEditDate) .eq(pageWrap.getModel().getId() != null, PlatformBooks::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getCreator() != null, PlatformBooks::getCreator, pageWrap.getModel().getCreator()) .ge(pageWrap.getModel().getCreateDate() != null, PlatformBooks::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) @@ -101,7 +222,7 @@ .eq(pageWrap.getModel().getName() != null, PlatformBooks::getName, pageWrap.getModel().getName()) .eq(pageWrap.getModel().getRemark() != null, PlatformBooks::getRemark, pageWrap.getModel().getRemark()) .eq(pageWrap.getModel().getStatus() != null, PlatformBooks::getStatus, pageWrap.getModel().getStatus()) - .eq(pageWrap.getModel().getContractNum() != null, PlatformBooks::getContractNum, pageWrap.getModel().getContractNum()) + .like(pageWrap.getModel().getContractNum() != null, PlatformBooks::getContractNum, pageWrap.getModel().getContractNum()) .ge(pageWrap.getModel().getArriveDate() != null, PlatformBooks::getArriveDate, Utils.Date.getStart(pageWrap.getModel().getArriveDate())) .le(pageWrap.getModel().getArriveDate() != null, PlatformBooks::getArriveDate, Utils.Date.getEnd(pageWrap.getModel().getArriveDate())) .eq(pageWrap.getModel().getInType() != null, PlatformBooks::getInType, pageWrap.getModel().getInType()) @@ -111,21 +232,300 @@ .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, pageWrap.getModel().getArriveDateStart()) + .le(pageWrap.getModel().getArriveDateEnd() != null, PlatformBooks::getArriveDate, pageWrap.getModel().getArriveDateEnd()) + .eq(pageWrap.getModel().getReasonId() != null, PlatformBooks::getReasonId, pageWrap.getModel().getReasonId()) + .eq(pageWrap.getModel().getJobStatus() != null, PlatformJob::getStatus, pageWrap.getModel().getJobStatus()) + .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.selectJoinPage(page,PlatformBooks.class, 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) + .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)){ + 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(),"鍏ュ洯鍘熷洜淇℃伅寮傚父,璇峰埛鏂伴噸璇�"); + } + if(platformBooksApplyDTO.getTotalNum().compareTo(platformReason.getLimitNum())>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()); + //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉 + 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, + 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); + + + + Map<String,Object> jsonMap = new HashMap<>(); + String title = ApproveServiceImpl.creatPlatformBookNotice(platformBooks,jsonMap); + noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda() + .set(Notices::getParam1,JSONObject.toJSONString(jsonMap)) + .set(Notices::getTitle,title) + .eq(Notices::getObjType,Constants.noticesObjectType.reason) + .eq(Notices::getTitle,title) + .eq(Notices::getObjId,platformBooks.getId()) + ); + + return platformBooks.getId(); + } + + + + @Override + public PlatformBooks getDetail(Integer id,Integer memberId){ + PlatformBooks model = platformBooksMapper.selectById(id); + 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, + 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); + } + + 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; + } + + + + @Override + public void revoke(RevokeDTO revokeDTO, LoginUserInfo loginUserInfo){ + if(Objects.isNull(revokeDTO) + || Objects.isNull(revokeDTO.getId()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + PlatformBooks model = platformBooksMapper.selectById(revokeDTO.getId()); + 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))){ + 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()) + ); + + 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 + ); + + + } + + } -- Gitblit v1.9.3