From eb6cd7fd2469bf9c2aad7defe111244f9752d9c2 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 10 十二月 2024 19:05:56 +0800
Subject: [PATCH] 最新版本541200007
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 64 ++++++++++++++++++++++++++++++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 26 ++++++++++--
2 files changed, 85 insertions(+), 5 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 371bfbd..d6fb18f 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -151,6 +151,7 @@
public static final String HK_WXTOKEN_CONFIGID ="HK_WXTOKEN_CONFIGID" ;
public static final String HK_WXTOKEN_TAGID ="HK_WXTOKEN_TAGID" ;
public static final String WMS_TOTAL_STOCK_NUM ="WMS_TOTAL_STOCK_NUM" ;
+ public static final String WX_REDIRECT_URL = "WX_REDIRECT_URL";
public static boolean DEALING_HK_SYNCPRIVILEGE= false;
public static boolean DEALING_HK_SYNCDEVICE = false;
public static boolean DEALING_HK_SYNCPLATFORM = false;
@@ -201,6 +202,18 @@
return sb.toString();
}
+
+ /**
+ * 鑾峰彇鍏紬鍙疯烦杞噸瀹氬悜涓氬姟鍦板潃
+ * @param code
+ * @param paramCode
+ * @param ywid
+ * @return
+ */
+ public static String getWxUrl(String code, WxUrlParams paramCode, String ywid) {
+ return code.replace("${type}",paramCode.type+"").replace("${yw}",paramCode.yw).replace("${ywid}",ywid);
+ }
+
public interface VisitIccmStatus{
//璁垮鐘舵��(0:鏈鍒�,1:宸茬鍒�,2:宸茬閫�,3:婊炵暀,4:鏈闂�,5:鑷姩绛剧,6:鏈閫�)
int waitSign = 0;
@@ -1148,6 +1161,57 @@
}
}
+ public enum WxUrlParams {
+ BISCREEN_CODE(0,0, "0", "闂ㄥ彛澶у睆浜岀淮鐮�"),
+ MEETING_CODE(1,1, "1","浼氳瀹ゅぇ灞�")
+ ;
+ // 鎴愬憳鍙橀噺
+ private int key;
+ private int type;//鐢ㄦ埛绫诲瀷 0鍛樺伐 1鍙告満
+ private String yw;//涓氬姟绫诲瀷
+ private String info;//璇存槑
+
+ // 鏋勯�犳柟娉�
+ WxUrlParams(int key,int type, String yw,String info) {
+ this.yw = yw;
+ this.key = key;
+ this.type = type;
+ this.info= info;
+ }
+
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ public String getYw() {
+ return yw;
+ }
+
+ public void setYw(String yw) {
+ this.yw = yw;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+
+ public void setInfo(String info) {
+ this.info = info;
+ }
+ }
public static <T> T toSnakeObject(String json, Class<T> clazz) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
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 d1811f2..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
@@ -56,6 +56,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.net.URLEncoder;
import java.util.*;
import java.util.Date;
import java.util.concurrent.TimeUnit;
@@ -118,6 +119,8 @@
@Autowired
private EmayService emayService;
+ @Autowired
+ private RedisTemplate<String, Object> redisTemplate;
@Autowired
private PlatformBroadcastLogMapper platformBroadcastLogMapper;
@Autowired
@@ -1433,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){
@@ -2110,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