From 9b00b80c926b3d1b38b7ef9b682ee097345dde3f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 17 四月 2025 11:09:31 +0800
Subject: [PATCH] 代码初始化

---
 server/src/main/java/com/doumee/api/web/WebMemberController.java |   44 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/server/src/main/java/com/doumee/api/web/WebMemberController.java b/server/src/main/java/com/doumee/api/web/WebMemberController.java
index 24cca6a..6121e43 100644
--- a/server/src/main/java/com/doumee/api/web/WebMemberController.java
+++ b/server/src/main/java/com/doumee/api/web/WebMemberController.java
@@ -1,24 +1,35 @@
 package com.doumee.api.web;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.config.Jwt.JwtProperties;
 import com.doumee.config.Jwt.JwtTokenUtil;
 import com.doumee.config.annotation.LoginRequired;
 import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.Constants;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.dao.business.dto.WebQwSingatureDto;
 import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.vo.WebQwSingatureVO;
 import com.doumee.dao.web.dto.LoginH5DTO;
 import com.doumee.dao.web.dto.UpdEmailDTO;
 import com.doumee.service.business.MemberService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.server.reactive.ServerHttpRequest;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.server.ServerWebExchange;
 
 import javax.annotation.Resource;
+import java.math.BigInteger;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
 
 /**
  * JWT鑾峰彇浠ょ墝鍜屽埛鏂颁护鐗屾帴鍙�
@@ -26,13 +37,14 @@
 @RestController
 @Api(tags ="web绔敤鎴风浉鍏虫帴鍙�")
 @RequestMapping("/web/member")
+@Slf4j
 public class WebMemberController {
     @Resource
     private JwtTokenUtil jwtTokenUtil;
-
     @Resource
     private MemberService memberService;
-
+    @Resource
+    private SystemDictDataBiz systemDictDataBiz;
 
     @PreventRepeat(limit = 10, lockTime = 10000)
     @ApiOperation("H5涓氬姟鐧诲綍")
@@ -90,4 +102,32 @@
         return ApiResponse.failed( "鐧诲綍宸插け鏁�");
     }
 
+    @ApiOperation("鑾峰彇浼佷笟寰俊JS绛惧悕")
+    @PostMapping("/getQwSignature")
+    @ResponseBody
+    public ApiResponse<WebQwSingatureVO> getQwSignature(@RequestBody WebQwSingatureDto param) {
+        try {
+            String jsapiTicket = systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_JS_API_TICKET).getCode();
+            String noncestr = UUID.randomUUID().toString();
+            Long timestamp = System.currentTimeMillis() / 1000;
+            String jsapiTicketStr = jsapiTicket + "&noncestr=" + noncestr + "&timestamp=" + timestamp + "&url=" + param.getUrl();
+            MessageDigest instance = MessageDigest.getInstance("SHA-1");
+            instance.update(jsapiTicketStr.getBytes());
+            byte[] digest = instance.digest();
+            BigInteger bigInteger = new BigInteger(1, digest);
+            String string = bigInteger.toString();
+            WebQwSingatureVO result = new WebQwSingatureVO();
+            result.setNoncestr(  noncestr);
+            result.setSignature(  string);
+            result.setTimestamp( timestamp);
+            result.setUrl( param.getUrl());
+//            result.put("ticket", jsapiTicket);
+            return ApiResponse.success( result);
+        } catch ( Exception e) {
+            e.printStackTrace();
+            log.error("鑾峰彇绛惧悕澶辫触"+e.getMessage());
+        }
+
+        return ApiResponse.failed("鑾峰彇绛惧悕澶辫触");
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3