| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.*; |
| | | import com.doumee.core.wx.wxPlat.WxPlatNotice; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.dao.SmsConfigMapper; |
| | | import com.doumee.dao.business.dao.SmsEmailMapper; |
| | |
| | | |
| | | @Override |
| | | public Integer sendSms(SmsEmail smsEmail) { |
| | | if(StringUtils.isBlank(smsEmail.getPhone())){ |
| | | if(StringUtils.isBlank(smsEmail.getPhone()) || smsEmail.getPhone().length() != 11 ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | String nowDate = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd HH:mm:ss"); |
| | |
| | | List<SmsEmail> smsEmails = smsEmailMapper.selectList(wrapper); |
| | | if(smsEmails!=null && smsEmails.size()>0){ |
| | | for(SmsEmail model : smsEmails){ |
| | | if(model.getPhone() == null){ |
| | | model.setStatus(Constants.THREE);//发送失败 |
| | | model.setRemark("手机号为空,取消任务发送!"); |
| | | }else{ |
| | | try { |
| | | emayService.sendSmsByHk(model.getPhone(),model.getContent()); |
| | | model.setStatus(Constants.ONE);//发送成功 |
| | | model.setRemark("短信任务发送成功"); |
| | | }catch (Exception e){ |
| | | if(Constants.equalsInteger(model.getType(),Constants.ONE)){ |
| | | if(model.getPhone() == null){ |
| | | model.setStatus(Constants.THREE);//发送失败 |
| | | model.setRemark("短信任务发送失败!"+e.getMessage()); |
| | | model.setRemark("手机号为空,取消任务发送!"); |
| | | }else{ |
| | | try { |
| | | emayService.sendSmsByHk(model.getPhone(),model.getContent()); |
| | | model.setStatus(Constants.ONE);//发送成功 |
| | | model.setRemark("短信任务发送成功"); |
| | | }catch (Exception e){ |
| | | model.setStatus(Constants.THREE);//发送失败 |
| | | model.setRemark("短信任务发送失败!"+e.getMessage()); |
| | | } |
| | | } |
| | | }else if(Constants.equalsInteger(model.getType(),Constants.TWO)){ |
| | | if(DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",model.getInfo()).getTime() < System.currentTimeMillis()){ |
| | | WxPlatNotice wxPlatNotice = new WxPlatNotice(); |
| | | wxPlatNotice.sendMeetTemplateNotice(systemDictDataBiz,model,systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode()); |
| | | model.setStatus(Constants.ONE);//发送成功 |
| | | model.setRemark("微信通知发送成功"); |
| | | }else{ |
| | | model.setStatus(Constants.THREE);//发送成功 |
| | | model.setRemark("微信通知发送失败"); |
| | | } |
| | | }else{ |
| | | continue; |
| | | } |
| | | model.setEditDate(new Date()); |
| | | smsEmailMapper.updateById(model); |
| | |
| | | //开启短信通知 |
| | | 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")); |