jiangping
2024-12-10 eb275c6d06d3c27fd30bbf4975d27c93d7f56eb2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -17,6 +17,8 @@
import com.doumee.core.tms.model.response.TmsBaseResponse;
import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
import com.doumee.core.utils.*;
import com.doumee.core.wx.wxPlat.WxPlatConstants;
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;
@@ -47,6 +49,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -55,6 +58,7 @@
import java.math.RoundingMode;
import java.util.*;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -118,6 +122,10 @@
    private PlatformBroadcastLogMapper platformBroadcastLogMapper;
    @Autowired
    private PlatformWarnEventServiceImpl platformWarnEventService;
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private WxNoticeConfigMapper wxNoticeConfigMapper;
    @Override
    public Integer create(PlatformJob platformJob) {
@@ -645,11 +653,11 @@
    }
    public void sceneSignIn(SignInDTO signInDTO){
        if( StringUtils.isNotBlank(signInDTO.getQrCodeKey())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(!signInDTO.getQrCodeKey().equals(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE).getCode())){
        if(!signInDTO.getQrCodeKey().equals(
                systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode() +  systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE).getCode())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"二维码已过期,请刷新重试");
        }
    }
@@ -860,6 +868,20 @@
                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                SmsConstants.platformJobContent.platformJobCallIn,null,null
        );
        //公众号模板消息
        if(Objects.nonNull(platformJob.getDriverId())) {
            Member member = memberMapper.selectById(platformJob.getDriverId());
            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobTemplateNotice(
                        wxNoticeConfigMapper, platformJob,
                        WxPlatConstants.platformJobContent.platformJobCallIn,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        Arrays.asList(member.getOpenid().split(","))
                );
            }
        }
        return platformJob;
    }
@@ -1058,6 +1080,21 @@
                SmsConstants.platformJobContent.platformJobSingIn,platform.getName(),null
        );
        //公众号模板消息
        if(Objects.nonNull(platformJob.getDriverId())){
            Member member = memberMapper.selectById(platformJob.getDriverId());
            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobTemplateNotice(
                        wxNoticeConfigMapper,platformJob,
                        WxPlatConstants.platformJobContent.platformJobSingIn,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        Arrays.asList(member.getOpenid().split(","))
                );
            }
        }
        //广播 led通知
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.CALLING.getInfo(),
@@ -1188,6 +1225,20 @@
                SmsConstants.platformJobContent.platformJobMove,oldPlatform.getName(),platform.getName()
        );
        //公众号模板消息
        if(Objects.nonNull(platformJob.getDriverId())) {
            Member member = memberMapper.selectById(platformJob.getDriverId());
            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobTemplateNotice(
                        wxNoticeConfigMapper, platformJob,
                        WxPlatConstants.platformJobContent.platformJobMove,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        Arrays.asList(member.getOpenid().split(","))
                );
            }
        }
        platformJob.setPlatformName(oldPlatform.getName());
        platformJob.setPlatformId(oldPlatform.getId());
        this.broadcastAndLEed(platformJob, StringUtils.isBlank(oldPlatform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():oldPlatform.getLedContent(),
@@ -1216,7 +1267,7 @@
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        Platform platform = platformJoinMapper.selectById(jobOperateDTO.getPlatformId());
        Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
        if(Objects.isNull(platform)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到月台信息");
        }
@@ -1235,6 +1286,21 @@
                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                SmsConstants.platformJobContent.platformJobOverNum,null,null
        );
        //公众号模板消息
        if(Objects.nonNull(platformJob.getDriverId())){
            Member member = memberMapper.selectById(platformJob.getDriverId());
            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobTemplateNotice(
                        wxNoticeConfigMapper,platformJob,
                        WxPlatConstants.platformJobContent.platformJobOverNum,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        Arrays.asList(member.getOpenid().split(","))
                );
            }
        }
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
                null
@@ -1281,6 +1347,20 @@
                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                SmsConstants.platformJobContent.platformJobError,platform.getName(),null
        );
        //公众号模板消息
        if(Objects.nonNull(platformJob.getDriverId())) {
            Member member = memberMapper.selectById(platformJob.getDriverId());
            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobTemplateNotice(
                        wxNoticeConfigMapper, platformJob,
                        WxPlatConstants.platformJobContent.platformJobError,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        Arrays.asList(member.getOpenid().split(","))
                );
            }
        }
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
@@ -1331,7 +1411,19 @@
                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                SmsConstants.platformJobContent.platformJobWorking,platform.getName(),null
        );
        //公众号模板消息
        if(Objects.nonNull(platformJob.getDriverId())) {
            Member member = memberMapper.selectById(platformJob.getDriverId());
            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobTemplateNotice(
                        wxNoticeConfigMapper, platformJob,
                        WxPlatConstants.platformJobContent.platformJobWorking,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        Arrays.asList(member.getOpenid().split(","))
                );
            }
        }
        //广播 led通知
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.WORKING.getInfo(),
@@ -1416,6 +1508,21 @@
                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                SmsConstants.platformJobContent.platformJobFinish,platform.getName(),null
        );
        //公众号模板消息
        if(Objects.nonNull(platformJob.getDriverId())) {
            Member member = memberMapper.selectById(platformJob.getDriverId());
            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobTemplateNotice(
                        wxNoticeConfigMapper, platformJob,
                        WxPlatConstants.platformJobContent.platformJobFinish,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        Arrays.asList(member.getOpenid().split(","))
                );
            }
        }
        //广播 led通知
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.DONE.getInfo(),