From 499fe8b9c0ab0d9eaa578f25cc734136026fa175 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 11 十二月 2024 16:07:09 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 32 +++++++++++++++++++++++++-------
1 files changed, 25 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 f8d9293..4203b81 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
@@ -49,14 +49,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;
/**
@@ -116,6 +119,8 @@
@Autowired
private EmayService emayService;
+ @Autowired
+ private RedisTemplate<String, Object> redisTemplate;
@Autowired
private PlatformBroadcastLogMapper platformBroadcastLogMapper;
@Autowired
@@ -651,11 +656,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(),"浜岀淮鐮佸凡杩囨湡,璇峰埛鏂伴噸璇�");
}
}
@@ -1431,10 +1436,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){
@@ -2108,7 +2122,11 @@
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).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(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode().replace( "${param}", url));
+ largeScreenDataVO.setAttention(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_ATTENTION).getCode());
return largeScreenDataVO;
}
--
Gitblit v1.9.3