jiangping
2024-10-17 de0e3e6b98d7d2b7f7ccf88a008eb9cd8a9fa4c3
Merge remote-tracking branch 'origin/master'
已修改5个文件
202 ■■■■■ 文件已修改
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java 190 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -36,7 +36,9 @@
    @Select(" select a.id , a.START_TIME , a.END_TIME , b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Y-%m-%d') as meetingDate , a.START_TIME as startTime, a.status ," +
            " CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime,  c.REALNAME as bookingUser ," +
            //" CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1  WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1  WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1 " +
//            " WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 " +
            "WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " b.IMGURL as imgUrl ," +
            " a.remark  " +
            " from meeting_book a inner join meeting_rooms b  on a.ROOM_ID = b.ID  " +
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -1204,7 +1204,9 @@
                .eq("b.STATUS",MeetConstants.ZERO)
                .eq("a.ISDELETED",MeetConstants.ZERO)
                .eq("a.status",Constants.ZERO)
                .ne("a.status",Constants.TWO)
                .like("a.start_time",DateUtil.getCurrDate())
                .apply(" not exists ( select 1  from  meeting_book mb where mb.END_TIME < now() and  mb.id = a.id and START_TIME_REAL is null  )   ")
                .orderByAsc("a.start_time")
        );
        this.dealMeetingStatus(meetingList);
server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java
@@ -94,7 +94,7 @@
     */
    public interface platformBookContent{
        //短信通知模板(给处理人)
        String platformBookWaitAudit = "platformBookContent";
        String platformBookWaitAudit = "platformBookWaitAudit";
        //物流车预约-审批通过通知(给申请人):。
        String platformBookAuditSuccess = "platformBookAuditSuccess";
        //物流车预约-审批驳回短信通知模板(给申请人)
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -575,14 +575,14 @@
                approve.setType(Constants.ZERO);
                approveList.add(approve);
                if(Constants.equalsInteger(approve.getStatus(),Constants.ONE)){
                if(Constants.equalsInteger(approve.getStatus(),Constants.ONE) && StringUtils.isNotBlank(member.getPhone())){
                    //发送短信通知
                    if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.reason)){
                        //物流车预约
                        SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
                                emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,businessId,
                                SmsConstants.platformBookContent.platformBookWaitAudit,
                                null,null
                                null,Arrays.asList(member.getPhone().split(","))
                        );
                    }
                }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -15,10 +15,7 @@
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;
@@ -256,9 +253,192 @@
        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.getDate(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.getDate(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.getDate(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.getDate(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.getDate(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