Sfoglia il codice sorgente

增加推广系统返回消息体

tomatozq 5 anni fa
parent
commit
700969c719

+ 35 - 0
picc-admin-server/src/main/java/com/jpsoft/picc/modules/admin/controller/JwtsUserController.java

@@ -215,6 +215,41 @@ public class JwtsUserController {
         return msgResult;
     }
 
+    @ResponseBody
+    @ApiOperation(value = "推广码生成")
+    @GetMapping(value="/pub/qrcode/login/create")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "loginCode",value = "6位随机数", required = true, paramType = "query")
+    })
+    public MessageResult<String> createQrcodeLogin(@RequestParam(value = "loginCode") String loginCode){
+        MessageResult<String> msgResult = new MessageResult<>();
+
+        log.warn("收到登录请求码:" + loginCode);
+
+        try {
+            if (loginCode.length()>10){
+                throw new Exception("登录请求码长度不能大于10!");
+            }
+
+            long expireSeconds = 3000; //5分钟
+            String url = WeixinUtil.createQrcode(weixinConfig, WeixinEvent.PICC_ADMIN_SCAN_QRCODE_LOGIN + "," + loginCode, expireSeconds);
+
+            if(StringUtils.isNotEmpty(url)){
+                valueOperations.set(WeixinConfig.SCAN_QRCODE_LOGIN_PREFIX + loginCode,"0",expireSeconds, TimeUnit.SECONDS);
+
+                msgResult.setData(url);
+                msgResult.setResult(true);
+            }
+        }
+        catch (Exception ex){
+            log.error(ex.getMessage(),ex);
+            msgResult.setMessage(ex.getMessage());
+            msgResult.setResult(false);
+        }
+
+        return msgResult;
+    }
+
     /**
      * 接收扫码登录回调
      * @param eventKey

+ 14 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/common/dto/MsgResult.java

@@ -0,0 +1,14 @@
+package com.jpsoft.picc.modules.common.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.ToString;
+
+@ApiModel(value = "推广系统返回消息体")
+@ToString
+@Data
+public class MsgResult<T> {
+    private boolean success;
+    private String msg;
+    private T data;
+}