|  |  |  | 
|---|
|  |  |  | 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.*; | 
|---|
|  |  |  | import com.doumee.dao.business.model.*; | 
|---|
|  |  |  | import com.doumee.service.business.SmsEmailService; | 
|---|
|  |  |  | import com.doumee.service.business.third.EmayService; | 
|---|
|  |  |  | 
|---|
|  |  |  | return smsEmailMapper.selectCount(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 访客申请业务短信通知 | 
|---|
|  |  |  | * @param systemDictDataBiz | 
|---|
|  |  |  | * @param emayService | 
|---|
|  |  |  | * @param smsEmailMapper | 
|---|
|  |  |  | * @param smsConfigMapper | 
|---|
|  |  |  | * @param visitsMapper | 
|---|
|  |  |  | * @param objId | 
|---|
|  |  |  | * @param objCode | 
|---|
|  |  |  | * @param msg | 
|---|
|  |  |  | * @param auditUser | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static void sendVisitSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, | 
|---|
|  |  |  | VisitsMapper visitsMapper, 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(); | 
|---|
|  |  |  | Visits visits = visitsMapper.selectById(objId); | 
|---|
|  |  |  | if(Objects.nonNull(visits)){ | 
|---|
|  |  |  | if(objCode.equals(SmsConstants.visitContent.visitAuditSuccess)){ | 
|---|
|  |  |  | //您的【访客申请】已经审批通过,请于{预约入园开始时间}前往门卫室访客机签到入园,如有疑问,请联系被访人 | 
|---|
|  |  |  | content = content.replace("{预约入园开始时间}",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm")); | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); | 
|---|
|  |  |  | }else if(objCode.equals(SmsConstants.visitContent.visitAuditFail)){ | 
|---|
|  |  |  | //您的【访客申请】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系被访人。 | 
|---|
|  |  |  | content = content.replace("{驳回原因}",msg); | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); | 
|---|
|  |  |  | }else if(objCode.equals(SmsConstants.visitContent.visitTimeOutSignOut)){ | 
|---|
|  |  |  | //您的【访客申请】已于{到期时间}到期,请及时离场并前往门卫室访客机签离,如有疑问,请联系被访人 | 
|---|
|  |  |  | content = content.replace("{到期时间}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm")); | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); | 
|---|
|  |  |  | }else if(objCode.equals(SmsConstants.visitContent.visitTimeOutSignOutNum)) { | 
|---|
|  |  |  | //今日还有{未签离数量}个访客未签离,请前往PC端查看详细信息。 | 
|---|
|  |  |  | content = content.replace("{未签离数量}",msg); | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //您有一条【车辆入园申请】需要处理,详细信息请前往微信公众号查看。 | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | auditUser,SmsConstants.platformBook,content,visits.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 用车申请 短信通知配置 | 
|---|
|  |  |  | * 访客报备业务短信通知 | 
|---|
|  |  |  | * @param systemDictDataBiz | 
|---|
|  |  |  | * @param emayService | 
|---|
|  |  |  | * @param smsEmailMapper | 
|---|
|  |  |  | * @param smsConfigMapper | 
|---|
|  |  |  | * @param visitsMapper | 
|---|
|  |  |  | * @param objId | 
|---|
|  |  |  | * @param objCode | 
|---|
|  |  |  | * @param msg | 
|---|
|  |  |  | * @param auditUser | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static void sendVisitReportSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, | 
|---|
|  |  |  | VisitsMapper visitsMapper, 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(); | 
|---|
|  |  |  | Visits visits = visitsMapper.selectById(objId); | 
|---|
|  |  |  | if(Objects.nonNull(visits)){ | 
|---|
|  |  |  | if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditSuccess)){ | 
|---|
|  |  |  | // 您的【访客报备】已经审批通过,请通知访客于{预约入园开始时间}后乘坐{车牌号}入园,如有疑问,请联系被访人。 | 
|---|
|  |  |  | content = content.replace("{预约入园开始时间}",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm")) | 
|---|
|  |  |  | .replace("{车牌号}",visits.getCarNos()); | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId()); | 
|---|
|  |  |  | }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditFail)){ | 
|---|
|  |  |  | //您的【访客报备】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系审批人。 | 
|---|
|  |  |  | content = content.replace("{驳回原因}",msg); | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId()); | 
|---|
|  |  |  | }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOut)){ | 
|---|
|  |  |  | //您的【访客报备】已于{预约入园结束时间}到期,请及时离场,如有疑问,请联系被访人 | 
|---|
|  |  |  | content = content.replace("{预约入园结束时间}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm")); | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId()); | 
|---|
|  |  |  | }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOutNum)) { | 
|---|
|  |  |  | //今日还有{未签离数量}个访客报备车辆未离场,请前往PC端查看详细信息。 | 
|---|
|  |  |  | content = content.replace("{未签离数量}",msg); | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //您有一条【车辆入园申请】需要处理,详细信息请前往微信公众号查看。 | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | auditUser,SmsConstants.platformBook,content,visits.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 隐患随手拍 | 
|---|
|  |  |  | * @param systemDictDataBiz | 
|---|
|  |  |  | * @param emayService | 
|---|
|  |  |  | * @param smsEmailMapper | 
|---|
|  |  |  | * @param smsConfigMapper | 
|---|
|  |  |  | * @param hiddenDangerMapper | 
|---|
|  |  |  | * @param objId | 
|---|
|  |  |  | * @param objCode | 
|---|
|  |  |  | * @param auditUser | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static void sendHiddenDangerSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, | 
|---|
|  |  |  | HiddenDangerMapper hiddenDangerMapper, Integer objId, String objCode,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(); | 
|---|
|  |  |  | HiddenDanger hiddenDanger = hiddenDangerMapper.selectById(objId); | 
|---|
|  |  |  | //您有一条【隐患随手拍-消防隐患】需要处理,详细信息请前往微信公众号查看 | 
|---|
|  |  |  | //您提交的【隐患随手拍-消防隐患】已经处理完毕,详细信息请前往微信公众号查看。 | 
|---|
|  |  |  | if(Objects.nonNull(hiddenDanger)){ | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | auditUser,SmsConstants.platformBook,content,hiddenDanger.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 用车申请 | 
|---|
|  |  |  | * @param systemDictDataBiz | 
|---|
|  |  |  | * @param emayService | 
|---|
|  |  |  | * @param smsEmailMapper | 
|---|
|  |  |  | * @param smsConfigMapper | 
|---|
|  |  |  | * @param carUseBookMapper | 
|---|
|  |  |  | * @param objId | 
|---|
|  |  |  | * @param objCode | 
|---|
|  |  |  | * @param msg | 
|---|
|  |  |  | * @param userList | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static void sendCarUseSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, | 
|---|
|  |  |  | CarUseBookMapper carUseBookMapper, Integer objId, String objCode, String msg, List<String> userList){ | 
|---|
|  |  |  | //您有一条【用车申请】需要处理,详细信息请前往微信公众号查看。 | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | CarUseBook carUseBook = carUseBookMapper.selectById(objId); | 
|---|
|  |  |  | if(Objects.nonNull(carUseBook)){ | 
|---|
|  |  |  | if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditSuccess)){ | 
|---|
|  |  |  | //您的【用车申请】已经审批通过,出发时间为{提交的出发时间},请按时用车。如用车计划有变,请及时联系派车员。 | 
|---|
|  |  |  | content = content.replace("{提交的出发时间}",DateUtil.getFomartDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm")); | 
|---|
|  |  |  | }else if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditFail) || objCode.equals(SmsConstants.carUseBookContent.carUseBookCancel)){ | 
|---|
|  |  |  | //您的【用车申请】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系派车员。 | 
|---|
|  |  |  | content = content.replace("{驳回原因}",msg); | 
|---|
|  |  |  | //您的【用车申请】已被取消,取消原因为:{取消原因}。如有疑问,请联系派车员。 | 
|---|
|  |  |  | content = content.replace("{取消原因}",msg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sendBusinessSms(emayService,smsEmailMapper, | 
|---|
|  |  |  | userList,SmsConstants.carUse,content,carUseBook.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 物流车预约 短信通知配置 | 
|---|
|  |  |  | * @param emayService | 
|---|
|  |  |  | * @param smsEmailMapper | 
|---|
|  |  |  | * @param smsConfigMapper | 
|---|
|  |  |  | 
|---|
|  |  |  | if(Objects.nonNull(platformBooks)){ | 
|---|
|  |  |  | if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditSuccess)){ | 
|---|
|  |  |  | //您的【车辆入园申请】已经审批通过,入园时间为{入园时间},请提前30分钟前往现场签到。如计划有变,请及时联系审核人员。 | 
|---|
|  |  |  | content = content.replace("{入园时间}",DateUtil.getDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm")); | 
|---|
|  |  |  | content = content.replace("{入园时间}",DateUtil.getFomartDate(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)){ | 
|---|