jiangping
2024-12-10 eb6cd7fd2469bf9c2aad7defe111244f9752d9c2
最新版本541200007
已修改2个文件
90 ■■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
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;
    }