| | |
| | | import com.doumee.dao.business.join.VisitsJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.vo.ApproveDataVO; |
| | | import com.doumee.dao.system.SystemUserMapper; |
| | | import com.doumee.dao.system.dto.NoticesDTO; |
| | | import com.doumee.dao.system.join.NoticesJoinMapper; |
| | | import com.doumee.dao.system.model.Notices; |
| | |
| | | |
| | | @Autowired |
| | | private CarUseBookMapper carUseBookMapper; |
| | | |
| | | @Autowired |
| | | private SystemUserMapper systemUserMapper; |
| | | |
| | | @Autowired |
| | | private CarDriverMapper carDriverMapper; |
| | |
| | | ); |
| | | //公众号通知 |
| | | if(StringUtils.isNotBlank(member.getSystemOpenid())){ |
| | | CarUseBook carUseBook = carUseBookMapper.selectById(businessId); |
| | | if(Objects.nonNull(carUseBook)){ |
| | | SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator()); |
| | | if(Objects.nonNull(systemUser)){ |
| | | carUseBook.setMemberName(systemUser.getRealname()); |
| | | wxPlatNotice.sendCarUseBookTemplateNotice( |
| | | wxNoticeConfigMapper, |
| | | carUseBookMapper.selectById(businessId), |
| | |
| | | token, |
| | | Arrays.asList(member.getSystemOpenid().split(",")), |
| | | Constants.ONE); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void approved(ApproveDTO approveDTO){ |
| | | WxPlatNotice wxPlatNotice = new WxPlatNotice(); |
| | | if(Objects.isNull(approveDTO) |
| | | || Objects.isNull(approveDTO.getObjId()) |
| | | || Objects.isNull(approveDTO.getObjType()) |
| | |
| | | new MPJLambdaWrapper<Approve>() |
| | | .selectAll(Approve.class) |
| | | .selectAs(Member::getPhone,Approve::getMemberPhone) |
| | | .selectAs(SystemUser::getOpenid,Approve::getSystemOpenid) |
| | | .leftJoin(Member.class,Member::getId,Approve::getChekorId) |
| | | .leftJoin(SystemUser.class,SystemUser::getMemberId,Member::getId) |
| | | .eq(Approve::getStatus,Constants.approveStatus.wait) |
| | | .eq(Approve::getObjId,approve.getObjId()) |
| | | .eq(Approve::getObjType,approve.getObjType()) |
| | |
| | | .eq(Approve::getObjType,approve.getObjType()) |
| | | .eq(Approve::getLevel,(approve.getLevel()+1)) |
| | | ); |
| | | |
| | | //发送短信通知 下级审批人 |
| | | List<String> memberPhone = waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getMemberPhone())).map(i->i.getMemberPhone()).collect(Collectors.toList()); |
| | | //物流车预约 |
| | | if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){ |
| | | SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz, |
| | | emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,approveDTO.getObjId(), |
| | | SmsConstants.platformBookContent.platformBookWaitAudit, |
| | | approveDTO.getCheckInfo(),memberPhone |
| | | ); |
| | | } |
| | | List<String> openIdList =waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getSystemOpenid())).map(i->i.getSystemOpenid()).collect(Collectors.toList()); |
| | | |
| | | else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar) |
| | | || approveDTO.getObjType().equals(Constants.approveObjectType.unCityUseCar)){ |
| | | SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz, |
| | | emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(), |
| | | SmsConstants.hiddenDangerContent.hiddenDangerDealUser, |
| | | approveDTO.getCheckInfo(),memberPhone); |
| | | } |
| | | this.sendNextLvSms(approve,approveDTO,memberPhone,openIdList); |
| | | |
| | | //访客申请/报备 |
| | | if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit) |
| | | ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit) |
| | | ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) { |
| | | Visits visits = visitsMapper.selectById(approve.getObjId()); |
| | | if(Objects.nonNull(visits)){ |
| | | if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)){ |
| | | visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId())); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals( |
| | | Constants.approveObjectType.unCityUseCar)){ |
| | | this.updDriver(approveDTO,approve,false); |
| | | } |
| | | // if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals( |
| | | // Constants.approveObjectType.unCityUseCar)){ |
| | | // this.updDriver(approveDTO,approve,false); |
| | | // } |
| | | }else if(approve.getApproveType().equals(Constants.ONE)){ |
| | | //会签 且终审 |
| | | //无他人审批的情况 则修改数据状态 |
| | |
| | | }else{ |
| | | if(Constants.equalsInteger(approveList.size(),Constants.ZERO)&&Constants.equalsInteger(approve.getIsEndCheck(),Constants.ZERO)){ |
| | | /**开启下一级别的数据为待审核**/ |
| | | |
| | | List<Approve> waitAuditList = approveJoinMapper.selectJoinList(Approve.class, |
| | | new MPJLambdaWrapper<Approve>() |
| | | .selectAll(Approve.class) |
| | | .selectAs(Member::getPhone,Approve::getMemberPhone) |
| | | .selectAs(SystemUser::getOpenid,Approve::getSystemOpenid) |
| | | .leftJoin(Member.class,Member::getId,Approve::getChekorId) |
| | | .leftJoin(SystemUser.class,SystemUser::getMemberId,Member::getId) |
| | | .eq(Approve::getStatus,Constants.approveStatus.wait) |
| | | .eq(Approve::getObjId,approve.getObjId()) |
| | | .eq(Approve::getObjType,approve.getObjType()) |
| | | .eq(Approve::getLevel,(approve.getLevel()+1))); |
| | | |
| | | |
| | | approveJoinMapper.update(null,new UpdateWrapper<Approve>() |
| | | .lambda() |
| | | .set(Approve::getStatus,Constants.approveStatus.auditIng) |
| | |
| | | .eq(Approve::getObjType,approve.getObjType()) |
| | | .eq(Approve::getLevel,(approve.getLevel()+1)) |
| | | ); |
| | | |
| | | |
| | | //发送短信通知 下级审批人 |
| | | List<String> memberPhone = waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getMemberPhone())).map(i->i.getMemberPhone()).collect(Collectors.toList()); |
| | | List<String> openIdList =waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getSystemOpenid())).map(i->i.getSystemOpenid()).collect(Collectors.toList()); |
| | | |
| | | this.sendNextLvSms(approve,approveDTO,memberPhone,openIdList); |
| | | |
| | | } |
| | | if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals( |
| | | Constants.approveObjectType.unCityUseCar)){ |
| | | this.updDriver(approveDTO,approve,false); |
| | | } |
| | | // if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals( |
| | | // Constants.approveObjectType.unCityUseCar)){ |
| | | // this.updDriver(approveDTO,approve,false); |
| | | // } |
| | | } |
| | | } |
| | | this.passNextNotices(dealBusinessBean,notices,approve,approveList,approveCopyList,approveDTO); |
| | |
| | | this.dealBusinessData(approveDTO,approve); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public void sendNextLvSms(Approve approve ,ApproveDTO approveDTO , List<String> memberPhone ,List<String> openIdList){ |
| | | WxPlatNotice wxPlatNotice = new WxPlatNotice(); |
| | | //物流车预约 |
| | | if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){ |
| | | SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz, |
| | | emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,approveDTO.getObjId(), |
| | | SmsConstants.platformBookContent.platformBookWaitAudit, |
| | | approveDTO.getCheckInfo(),memberPhone |
| | | ); |
| | | //TODO 发送下级的待审批的通知 |
| | | |
| | | |
| | | } else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar) |
| | | || approveDTO.getObjType().equals(Constants.approveObjectType.unCityUseCar)){ |
| | | |
| | | this.updDriver(approveDTO,approve,false); |
| | | |
| | | SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz, |
| | | emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(), |
| | | SmsConstants.carUseBookContent.carUseBookWaitAudit, |
| | | approveDTO.getCheckInfo(),memberPhone); |
| | | //发送公众号通知 |
| | | if(CollectionUtils.isNotEmpty(openIdList)){ |
| | | CarUseBook carUseBook = carUseBookMapper.selectById(approve.getObjId()); |
| | | if(Objects.nonNull(carUseBook)){ |
| | | SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator()); |
| | | if(Objects.nonNull(systemUser)){ |
| | | carUseBook.setMemberName(systemUser.getRealname()); |
| | | //发送微信公众号通知 |
| | | wxPlatNotice.sendCarUseBookTemplateNotice( |
| | | wxNoticeConfigMapper,carUseBook, |
| | | WxPlatConstants.carUseBookContent.carUseBookWaitAudit, |
| | | systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), |
| | | openIdList,1); |
| | | } |
| | | } |
| | | } |
| | | }else |
| | | //访客申请/报备 |
| | | if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit) |
| | | ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit) |
| | | ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) { |
| | | Visits visits = visitsMapper.selectById(approve.getObjId()); |
| | | if(Objects.nonNull(visits)){ |
| | | if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)){ |
| | | visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId())); |
| | | } |
| | | SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz, |
| | | emayService,smsEmailMapper,smsConfigMapper,visitsMapper,approveDTO.getObjId(), |
| | | approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)? |
| | | SmsConstants.visitReportingContent.visitReportingNotice:SmsConstants.visitContent.visitNotice, |
| | | null,memberPhone |
| | | ); |
| | | //公众号通知 |
| | | if(CollectionUtils.isNotEmpty(openIdList)){ |
| | | wxPlatNotice.sendVisitTemplateNotice( |
| | | wxNoticeConfigMapper,visitsMapper.selectById(approveDTO.getObjId()), |
| | | approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)?WxPlatConstants.visitReportContent.visitReportWaitAudit:WxPlatConstants.visitContent.visitWaitAudit, |
| | | systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), |
| | | openIdList |
| | | ); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 处理待办信息 |
| | |
| | | this.updDriver(approveDTO,approve,true); |
| | | CarUseBook carUseBook = carUseBookJoinMapper.selectById(approveDTO.getObjId()); |
| | | if(Objects.nonNull(carUseBook)){ |
| | | Member member = memberMapper.selectById(carUseBook.getMemberId()); |
| | | SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator()); |
| | | //发送通知短息 |
| | | if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){ |
| | | if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getMobile())){ |
| | | SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz, |
| | | emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(), |
| | | Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.carUseBookContent.carUseBookAuditSuccess: |
| | | SmsConstants.carUseBookContent.carUseBookAuditFail, |
| | | approveDTO.getCheckInfo(),Arrays.asList(member.getPhone().split(",")) |
| | | approveDTO.getCheckInfo(),Arrays.asList(systemUser.getMobile().split(",")) |
| | | ); |
| | | } |
| | | if(StringUtils.isNotBlank(member.getOpenid())){ |
| | | if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){ |
| | | carUseBook.setMemberName(systemUser.getRealname()); |
| | | //发送微信公众号通知 |
| | | wxPlatNotice.sendCarUseBookTemplateNotice( |
| | | wxNoticeConfigMapper,carUseBook, |
| | | Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?WxPlatConstants.carUseBookContent.carUseBookAuditSuccess: WxPlatConstants.carUseBookContent.carUseBookAuditFail, |
| | | systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), |
| | | Arrays.asList(member.getOpenid().split(",")),0); |
| | | Arrays.asList(systemUser.getOpenid().split(",")),0); |
| | | } |
| | | } |
| | | |