|  |  | 
 |  |  | import com.doumee.dao.business.*; | 
 |  |  | import com.doumee.dao.business.dao.SmsConfigMapper; | 
 |  |  | import com.doumee.dao.business.dao.SmsEmailMapper; | 
 |  |  | import com.doumee.dao.business.join.VisitsJoinMapper; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.business.model.vo.ValidPhoneCodeVO; | 
 |  |  | import com.doumee.dao.system.model.SystemUser; | 
 |  |  | import com.doumee.service.business.SmsEmailService; | 
 |  |  | import com.doumee.service.business.third.EmayService; | 
 |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.beans.factory.annotation.Value; | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public     void validPhoneCaptcha(ValidPhoneCodeVO param){ | 
 |  |  |        isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode()); | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  |     public Integer create(SmsEmail smsEmail) { | 
 |  |  |         smsEmailMapper.insert(smsEmail); | 
 |  |  | 
 |  |  |      * @param auditUser | 
 |  |  |      */ | 
 |  |  |     public static void sendVisitSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, | 
 |  |  |                                     VisitsMapper visitsMapper, Integer objId, String objCode, String msg, List<String> auditUser){ | 
 |  |  |                                     VisitsJoinMapper 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); | 
 |  |  |                 Visits visits = visitsMapper.selectJoinOne(Visits.class,new MPJLambdaWrapper<Visits>().selectAll(Visits.class) | 
 |  |  |                                 .selectAs(SystemUser::getMobile,Visits::getReceptMemberMobile) | 
 |  |  |                         .leftJoin(SystemUser.class,SystemUser::getMemberId, Visits::getReceptMemberId) | 
 |  |  |                         .eq(Visits::getId,objId).last(" limit 1 ")); | 
 |  |  |                 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()); | 
 |  |  | 
 |  |  |                         content = content.replace("{未签离数量}",msg); | 
 |  |  |                         sendBusinessSms(emayService,smsEmailMapper, | 
 |  |  |                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); | 
 |  |  |                     }else if(objCode.equals(SmsConstants.visitContent.visitAuditSuccessToVisiter))  { | 
 |  |  |                         content = content.replace("{预约入园开始时间}",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm")); | 
 |  |  |                         sendBusinessSms(emayService,smsEmailMapper, | 
 |  |  |                                 Arrays.asList(visits.getReceptMemberMobile().split(",")),SmsConstants.visit,content,visits.getId()); | 
 |  |  |                     }else{ | 
 |  |  |                         //您有一条【车辆入园申请】需要处理,详细信息请前往微信公众号查看。 | 
 |  |  |                         sendBusinessSms(emayService,smsEmailMapper, | 
 |  |  | 
 |  |  |      * @param auditUser | 
 |  |  |      */ | 
 |  |  |     public static void sendVisitReportSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, | 
 |  |  |                                           VisitsMapper visitsMapper, Integer objId, String objCode, String msg, List<String> auditUser){ | 
 |  |  |                                           VisitsJoinMapper 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); | 
 |  |  |                 Visits visits = visitsMapper.selectJoinOne(Visits.class,new MPJLambdaWrapper<Visits>().selectAll(Visits.class) | 
 |  |  |                         .selectAs(SystemUser::getMobile,Visits::getCreateMobile) | 
 |  |  |                         .leftJoin(SystemUser.class,SystemUser::getMemberId,Visits::getMemberId) | 
 |  |  |                         .eq(Visits::getId,objId) | 
 |  |  |                         .last(" limit   1") | 
 |  |  |                 ); | 
 |  |  |                 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()); | 
 |  |  |                                 Arrays.asList(visits.getCreateMobile().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()); | 
 |  |  |                                 Arrays.asList(visits.getCreateMobile().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")); | 
 |  |  | 
 |  |  |                         content = content.replace("{提交的出发时间}",DateUtil.getFomartDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm")); | 
 |  |  |                     }else if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditFail) || objCode.equals(SmsConstants.carUseBookContent.carUseBookCancel)){ | 
 |  |  |                         //您的【用车申请】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系派车员。 | 
 |  |  |                         if(StringUtils.isBlank(msg)){ | 
 |  |  |                             msg = "其他原因"; | 
 |  |  |                         } | 
 |  |  |                         content = content.replace("{驳回原因}",msg); | 
 |  |  |                         //您的【用车申请】已被取消,取消原因为:{取消原因}。如有疑问,请联系派车员。 | 
 |  |  |                         content = content.replace("{取消原因}",msg); |