From bdbc59fad455abbe7a13c8017e71c3db96420444 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 10 十二月 2024 18:22:58 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 134 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 127 insertions(+), 7 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index 271cc27..c184c0e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/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;
/**
@@ -115,9 +119,15 @@
private EmayService emayService;
@Autowired
+ private RedisTemplate<String, Object> redisTemplate;
+ @Autowired
private PlatformBroadcastLogMapper platformBroadcastLogMapper;
@Autowired
private PlatformWarnEventServiceImpl platformWarnEventService;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
@Override
public Integer create(PlatformJob platformJob) {
@@ -799,7 +809,7 @@
.last(" limit 1 ")
);
if(Objects.nonNull(lastBeginPlatform)){
- String v = Long.toString(System.currentTimeMillis() - lastBeginPlatform.getCreateDate().getTime() / 1000) ;
+ String v = Long.toString((System.currentTimeMillis() - lastBeginPlatform.getCreateDate().getTime() )/ 1000) ;
optTime = optTime + Long.valueOf(v);
}
}
@@ -860,6 +870,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 +1082,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 +1227,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 +1269,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 +1288,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 +1349,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 +1413,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(),
@@ -1341,10 +1435,19 @@
return platformJob;
}
-
- /**
- * 瀹屾垚浣滀笟
- */
+ public PlatformJob getLastWaitJob(String uuid, LoginUserInfo loginUser){
+ String u = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.BIGSCREEN_UUID);
+ if(!StringUtils.equals(u,uuid)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝浜岀淮鐮佸凡澶辨晥锛�");
+ }
+ PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
+ .eq(PlatformJob::getDrivierPhone,loginUser.getMobile())
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WART_SIGN_IN.getKey())
+ .orderByDesc(PlatformJob::getCreateDate)
+ .last(" limit 1 ") );
+ return platformJob;
+ }
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public PlatformJob finishWork(JobOperateDTO jobOperateDTO){
@@ -1416,6 +1519,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(),
@@ -2003,6 +2121,8 @@
List<PlatformJob> calledList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList());
largeScreenDataVO.setWaitWorkList(calledList);
}
+ String u = UUID.randomUUID().toString();
+ redisTemplate.opsForValue().set(Constants.RedisKeys.BIGSCREEN_UUID,u,3, TimeUnit.MINUTES);
largeScreenDataVO.setQrCode(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE).getCode());
return largeScreenDataVO;
--
Gitblit v1.9.3