| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; |
| | | 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.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.PlatformJobMapper; |
| | | import com.doumee.dao.business.SmsConfigMapper; |
| | | import com.doumee.dao.business.SmsEmailMapper; |
| | | import com.doumee.dao.business.model.Company; |
| | | import com.doumee.dao.business.model.SmsEmail; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.service.business.SmsEmailService; |
| | | import com.doumee.service.business.third.EmayService; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 短信邮件信息表Service实现 |
| | |
| | | } |
| | | |
| | | |
| | | public static void sendBusiness(EmayService emayService ,SmsEmailMapper smsEmailMapper ,List<String> phoneList,String objType,String content,Integer objId){ |
| | | //TODO 是否发送短信 |
| | | |
| | | for (String phone:phoneList) { |
| | | boolean result= emayService.sendSingleSms(phone,content); |
| | | if(!result){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,短信验证码发送失败,请稍后重试!"); |
| | | /** |
| | | * 用车申请 短信通知配置 |
| | | * @param emayService |
| | | * @param smsEmailMapper |
| | | * @param smsConfigMapper |
| | | * @param platformBooksMapper |
| | | * @param objId |
| | | * @param objCode |
| | | * @param msg |
| | | * @param auditUser |
| | | */ |
| | | public static void sendPlatformBookSms(SystemDictDataBiz systemDictDataBiz,EmayService emayService ,SmsEmailMapper smsEmailMapper ,SmsConfigMapper smsConfigMapper, |
| | | PlatformBooksMapper platformBooksMapper,Integer objId,String objCode,String msg,List<String> auditUser){ |
| | | try{ |
| | | SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode, |
| | | objCode).last(" limit 1 ")); |
| | | //开启短信通知 |
| | | if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){ |
| | | String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent(); |
| | | PlatformBooks platformBooks = platformBooksMapper.selectById(objId); |
| | | if(Objects.nonNull(platformBooks)){ |
| | | if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditSuccess)){ |
| | | //您的【车辆入园申请】已经审批通过,入园时间为{入园时间},请提前30分钟前往现场签到。如计划有变,请及时联系审核人员。 |
| | | content = content.replace("{入园时间}",DateUtil.getDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm")); |
| | | sendBusinessSms(emayService,smsEmailMapper, |
| | | Arrays.asList(platformBooks.getDriverPhone().split(",")),SmsConstants.platformBook,content,platformBooks.getId()); |
| | | }else if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditFail) || objCode.equals(SmsConstants.platformBookContent.platformBookCancel)){ |
| | | //您的【车辆入园申请】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系审核人员。 |
| | | content = content.replace("{驳回原因}",msg); |
| | | //您的【车辆入园申请】已被取消,取消原因为:{取消原因}。如有疑问,请联系审核人员。 |
| | | content = content.replace("{取消原因}",msg); |
| | | sendBusinessSms(emayService,smsEmailMapper, |
| | | Arrays.asList(platformBooks.getDriverPhone().split(",")),SmsConstants.platformBook,content,platformBooks.getId()); |
| | | }else{ |
| | | //您有一条【车辆入园申请】需要处理,详细信息请前往微信公众号查看。 |
| | | sendBusinessSms(emayService,smsEmailMapper, |
| | | auditUser,SmsConstants.platformBook,content,platformBooks.getId()); |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 用车申请 短信通知配置 |
| | | * @param emayService |
| | | * @param smsEmailMapper |
| | | * @param smsConfigMapper |
| | | * @param platformJobMapper |
| | | * @param objId |
| | | * @param objCode |
| | | * @param platformName |
| | | */ |
| | | public static void sendPlatformJobSms(SystemDictDataBiz systemDictDataBiz,EmayService emayService , SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, |
| | | PlatformJobMapper platformJobMapper, Integer objId, String objCode, String platformName,String newPlatformName){ |
| | | //platformJobNewJob {车牌号}车主您好,您有一个新的运输任务,详细信息请前往微信公众号查看。 |
| | | //platformJobStopJob {车牌号}车主您好,您的运输任务已被取消,详细信息请前往微信公众号查看。 |
| | | //platformJobCallIn {车牌号}车主您好,请在10分钟内,前往园区等待区等待叫号作业。 |
| | | //platformJobSingIn {车牌号}车主您好,请在10分钟内,前往{月台名称}进行作业。 |
| | | //platformJobOverNum {车牌号}车主您好,您的任务已过号,请重新签到排队等待。 |
| | | //platformJobWorking {车牌号}车主您好,您的车辆已在{月台名称}开始作业,请随时关注作业情况。 |
| | | //platformJobFinish {车牌号}车主您好,您的车辆已在{月台名称}完成作业,请及时驶离月台。 |
| | | //platformJobError {车牌号}车主您好,您在{月台名称}的作业任务已经被异常挂起,请及时关注具体情况。 |
| | | //platformJobMove {车牌号}车主您好,您在{月台名称}的作业任务已经已被转移至{转移后月台名称},请及时关注叫号情况。 |
| | | //platformJobTimeOut {车牌号}车主您好,您在{月台名称}已停靠超时,请尽快驶离以免影响后续作业。 |
| | | try{ |
| | | SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode, |
| | | objCode).last(" limit 1 ")); |
| | | //开启短信通知 |
| | | if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){ |
| | | String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent(); |
| | | PlatformJob platformJob = platformJobMapper.selectById(objId); |
| | | if(Objects.nonNull(platformJob)){ |
| | | content = content.replace("{车牌号}",platformJob.getCarCodeFront()); |
| | | if(StringUtils.isNotBlank(platformName)&&content.indexOf("{月台名称}")>=Constants.ZERO){ |
| | | content = content.replace("{月台名称}",platformName); |
| | | } |
| | | if(StringUtils.isNotBlank(newPlatformName)&&content.indexOf("{转移后月台名称}")>=Constants.ZERO){ |
| | | content = content.replace("{转移后月台名称}",newPlatformName); |
| | | } |
| | | sendBusinessSms(emayService,smsEmailMapper, |
| | | Arrays.asList(platformJob.getDrivierPhone().split(",")),SmsConstants.platformJob,content,platformJob.getId()); |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | public static void sendBusinessSms(EmayService emayService, SmsEmailMapper smsEmailMapper, List<String> phoneList, String objType, String content, Integer objId){ |
| | | for (String phone:phoneList) { |
| | | SmsEmail smsEmail = new SmsEmail(); |
| | | smsEmail.setIsdeleted(Constants.ZERO); |
| | | smsEmail.setCreateDate(new Date()); |
| | | smsEmail.setStatus(Constants.ONE); |
| | | smsEmail.setType(Constants.ZERO); |
| | | smsEmail.setTitle("业务短信"); |
| | | smsEmail.setPhone(phone); |
| | | smsEmail.setContent(content); |
| | | smsEmail.setObjType(objType); |
| | | smsEmail.setObjId(objId); |
| | | smsEmailMapper.insert(smsEmail); |
| | | emayService.sendSingleSms(phone,content); |
| | | |
| | | } |
| | | } |
| | | |