lyhzzz пре 3 година
родитељ
комит
20af1e7c1d

+ 6 - 0
pom.xml

@@ -98,6 +98,12 @@
             <artifactId>easyexcel</artifactId>
             <version>3.1.0</version>
         </dependency>
+
+        <dependency>
+            <groupId>com.github.tencentyun</groupId>
+            <artifactId>tls-sig-api-v2</artifactId>
+            <version>2.0</version>
+        </dependency>
     </dependencies>
 
 

+ 6 - 0
src/main/java/com/cdf/common/RedisUseKey.java

@@ -0,0 +1,6 @@
+package com.cdf.common;
+
+public class RedisUseKey {
+
+    public final static String TENCENT_YUN_KEY = "cdf:tencent:";
+}

+ 26 - 0
src/main/java/com/cdf/controller/api/TencentYunController.java

@@ -0,0 +1,26 @@
+package com.cdf.controller.api;
+
+import com.alibaba.fastjson.JSONObject;
+import com.cdf.common.ResultData;
+import com.cdf.service.ITencentYunService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+
+@RestController
+@RequestMapping("/api/tencentYun")
+public class TencentYunController {
+
+    @Autowired
+    ITencentYunService tencentYunService;
+
+
+    @GetMapping("/getSign")
+    public ResultData getSign(@RequestParam(required = false) String userId){
+        return ResultData.ok(tencentYunService.getSign(userId));
+
+    }
+}

+ 60 - 0
src/main/java/com/cdf/entity/TencentYun.java

@@ -0,0 +1,60 @@
+package com.cdf.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-25
+ */
+@Getter
+@Setter
+@TableName("t_tencent_yun")
+public class TencentYun implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 腾讯云相关
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("appid")
+    private Integer appid;
+
+    @TableField("sdk_appid")
+    private Long sdkAppid;
+
+    @TableField("secretkey")
+    private String secretkey;
+
+    @TableField("bizid")
+    private Integer bizid;
+
+    @TableField("create_time")
+    private String createTime;
+
+    @TableField("update_time")
+    private String updateTime;
+
+    @TableField("tb_status")
+    @TableLogic
+    private Integer tbStatus;
+
+    @TableField("ex_time")
+    private Long exTime;
+
+
+}

+ 1 - 1
src/main/java/com/cdf/generate/AutoGenerate.java

@@ -20,7 +20,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
 
         generate(path,"", getTables(new String[]{
-                "t_syn_num"
+                "t_tencent_yun"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/cdf/mapper/ITencentYunMapper.java

@@ -0,0 +1,18 @@
+package com.cdf.mapper;
+
+import com.cdf.entity.TencentYun;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-25
+ */
+@Mapper
+public interface ITencentYunMapper extends BaseMapper<TencentYun> {
+
+}

+ 18 - 0
src/main/java/com/cdf/service/ITencentYunService.java

@@ -0,0 +1,18 @@
+package com.cdf.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.cdf.entity.TencentYun;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-25
+ */
+public interface ITencentYunService extends IService<TencentYun> {
+
+    JSONObject getSign(String userId);
+}

+ 48 - 0
src/main/java/com/cdf/service/impl/TencentYunServiceImpl.java

@@ -0,0 +1,48 @@
+package com.cdf.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.cdf.common.RedisUseKey;
+import com.cdf.entity.TencentYun;
+import com.cdf.mapper.ITencentYunMapper;
+import com.cdf.service.ITencentYunService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.redis.util.RedisUtil;
+import com.tencentyun.TLSSigAPIv2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-25
+ */
+@Service
+public class TencentYunServiceImpl extends ServiceImpl<ITencentYunMapper, TencentYun> implements ITencentYunService {
+
+    @Autowired
+    RedisUtil redisUtil;
+
+    @Override
+    public JSONObject getSign(String userId) {
+        String redisKey = RedisUseKey.TENCENT_YUN_KEY + userId;
+        if (!redisUtil.hasKey(redisKey)) {
+            TencentYun tencentYun = this.getById(1);
+
+            TLSSigAPIv2 api = new TLSSigAPIv2(tencentYun.getSdkAppid(), tencentYun.getSecretkey());
+            String sign = api.genUserSig(userId, tencentYun.getExTime() );
+
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("sdkAppId",tencentYun.getSdkAppid());
+            jsonObject.put("expire",tencentYun.getExTime());
+            jsonObject.put("sign",sign);
+            redisUtil.set(redisKey ,jsonObject.toJSONString(),tencentYun.getExTime() - 60);
+            return jsonObject;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(redisUtil.get(redisKey));
+        jsonObject.put("expire",redisUtil.getExpire(redisKey));
+        return jsonObject;
+    }
+}

+ 3 - 9
src/main/java/com/cdf/test/Test.java

@@ -2,20 +2,14 @@ package com.cdf.test;
 
 import com.cdf.util.Base64Converter;
 import com.cdf.util.SecurityUtil;
+import com.tencentyun.TLSSigAPIv2;
 import org.apache.commons.lang3.StringUtils;
 import org.omg.CORBA.INTERNAL;
 
 public class Test {
     public static void main(String[] args) {
-        String pass = "DepH29D3ExMjM0NTY=mMjpTktrQWnDJ9qFyz";
-        String password = Base64Converter.decode(Base64Converter.subText(pass));
-        System.out.println(password);
-        System.out.println(SecurityUtil.MD52(password));
-
-        String fdPassword =Base64Converter.getEncode(Base64Converter.encode("Aa123456"));
-        System.out.println(fdPassword);
-
+        TLSSigAPIv2 api = new TLSSigAPIv2(1400709402, "ef391b02e6423a6db15eea3d9a0c131f2abac921204246bbe3f36fcea7d111d");
+        System.out.println(api.genUserSig("1302178016", 180*86400));
     }
 
-
 }

+ 2 - 2
src/main/resources/application-eurpord.yaml

@@ -36,7 +36,7 @@ fdkk:
   hot-path: scene_view_data/%s/user/hot.json
   hot-cdf-path: cdf/hot/%s/hot.json
   hot-local-path: /home/cdf/fdkk/%s
-  qr-code-url: http://vr.cdfmembers.com/index.html?m=
+  qr-code-url: https://vr.cdfmembers.com/index.html?m=
   aws:
     s3key: AKIAWCV5QFZ3ZNELKYUY
     s3secrey: epS5ghyR4LJ7rxk/qJO9ZYh6m9Oz6g5haKDu4yws
@@ -51,7 +51,7 @@ cdf:
 upload:
   type: aws
   file-path: cdf/file/
-  query-path: http://glp-vr.cdfmembers.com/
+  query-path: https://glp-vr.cdfmembers.com/
 
 local:
   path: /home/4dkankan/

+ 5 - 0
src/main/resources/mapper/TencentYunMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.cdf.mapper.ITencentYunMapper">
+
+</mapper>