From 98c8368c39bc0749a00e13544227fcdf490171f9 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 23 十二月 2024 17:31:32 +0800
Subject: [PATCH] 代码初始化
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 144 +++++++++++++++++++++--------------------------
1 files changed, 64 insertions(+), 80 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 b96856e..01c5d7b 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
@@ -29,11 +29,13 @@
import com.doumee.dao.openapi.request.*;
import com.doumee.dao.openapi.response.*;
+import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.reqeust.*;
import com.doumee.dao.web.response.DriverHomeVO;
import com.doumee.dao.web.response.LineUpVO;
import com.doumee.dao.web.response.PlatformWorkVO;
+import com.doumee.dao.web.response.platformReport.WholeProvinceBoardVO;
import com.doumee.service.business.PlatformJobService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -49,14 +51,17 @@
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;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.net.URLEncoder;
import java.util.*;
import java.util.Date;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -117,6 +122,8 @@
private EmayService emayService;
@Autowired
+ private RedisTemplate<String, Object> redisTemplate;
+ @Autowired
private PlatformBroadcastLogMapper platformBroadcastLogMapper;
@Autowired
private PlatformWarnEventServiceImpl platformWarnEventService;
@@ -124,6 +131,8 @@
private MemberMapper memberMapper;
@Autowired
private WxNoticeConfigMapper wxNoticeConfigMapper;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
@Override
public Integer create(PlatformJob platformJob) {
@@ -869,19 +878,35 @@
//鍏紬鍙锋ā鏉挎秷鎭�
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(","))
- );
- }
+ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob);
}
-
return platformJob;
+ }
+
+ public void sendWxNotice(String objCode,PlatformJob platformJob){
+ SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+ .eq(SystemUser::getDeleted, Constants.ZERO)
+ .eq(SystemUser::getType, Constants.ZERO)
+ .eq(SystemUser::getMobile,platformJob.getDrivierPhone())
+ .last(" limit 1 "));
+ if (Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())) {
+ PlatformJob p = platformJobJoinMapper.selectJoinOne(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAll(PlatformJob.class)
+ .selectAs(Platform::getName,PlatformJob::getPlatformName)
+ .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+ .eq(PlatformJob::getId,platformJob.getId())
+ .last(" limit 1")
+ );
+
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(systemDictDataBiz,
+ wxNoticeConfigMapper, p,
+ objCode,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(driver.getOpenid().split(","))
+ );
+ }
}
private Logger logger = LoggerFactory.getLogger(PlatformJobServiceImpl.class);
@@ -1079,17 +1104,8 @@
);
//鍏紬鍙锋ā鏉挎秷鎭�
- 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(","))
- );
- }
+ if(Objects.nonNull(platformJob.getDriverId())){
+ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobSingIn,platformJob);
}
@@ -1224,17 +1240,8 @@
);
//鍏紬鍙锋ā鏉挎秷鎭�
- 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(","))
- );
- }
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobMove,platformJob);
}
platformJob.setPlatformName(oldPlatform.getName());
@@ -1287,16 +1294,7 @@
//鍏紬鍙锋ā鏉挎秷鎭�
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(","))
- );
- }
+ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobOverNum,platformJob);
}
platformJob.setPlatformName(platform.getName());
@@ -1348,16 +1346,7 @@
//鍏紬鍙锋ā鏉挎秷鎭�
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(","))
- );
- }
+ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobError,platformJob);
}
platformJob.setPlatformName(platform.getName());
@@ -1411,16 +1400,7 @@
);
//鍏紬鍙锋ā鏉挎秷鎭�
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(","))
- );
- }
+ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobWorking,platformJob);
}
//骞挎挱 led閫氱煡
platformJob.setPlatformName(platform.getName());
@@ -1430,11 +1410,22 @@
return platformJob;
}
-
-
- /**
- * 瀹屾垚浣滀笟
- */
+
+ @Override
+ 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){
@@ -1509,16 +1500,7 @@
//鍏紬鍙锋ā鏉挎秷鎭�
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(","))
- );
- }
+ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobFinish,platformJob);
}
//骞挎挱 led閫氱煡
@@ -2108,7 +2090,10 @@
List<PlatformJob> calledList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList());
largeScreenDataVO.setWaitWorkList(calledList);
}
- largeScreenDataVO.setQrCode(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode() + systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE).getCode());
+ String u = UUID.randomUUID().toString();
+ redisTemplate.opsForValue().set(Constants.RedisKeys.BIGSCREEN_UUID,u,3, TimeUnit.MINUTES);
+ String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),Constants.WxUrlParams.BISCREEN_CODE,u);
+ largeScreenDataVO.setQrCode(url);
largeScreenDataVO.setAttention(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_ATTENTION).getCode());
return largeScreenDataVO;
@@ -2216,7 +2201,6 @@
}
}
-
--
Gitblit v1.9.3