k94314517
2024-12-25 0843f9b1526b7680f5cd419cf1f2d2fff44562ee
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -11,6 +11,7 @@
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;
@@ -91,7 +92,7 @@
    @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");
@@ -267,18 +268,32 @@
        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);
@@ -368,19 +383,24 @@
            //开启短信通知
            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"));