From fdbb421ace3d5f0252610c7ae780052a55a6e870 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 16 四月 2025 14:37:42 +0800
Subject: [PATCH] 代码初始化

---
 server/src/main/java/com/doumee/api/web/WebMemberController.java |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 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 b34efe3..ffd107b 100644
--- a/server/src/main/java/com/doumee/api/web/WebMemberController.java
+++ b/server/src/main/java/com/doumee/api/web/WebMemberController.java
@@ -1,9 +1,11 @@
 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;
@@ -19,6 +21,12 @@
 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鑾峰彇浠ょ墝鍜屽埛鏂颁护鐗屾帴鍙�
@@ -32,14 +40,15 @@
 
     @Resource
     private MemberService memberService;
+    @Resource
+    private SystemDictDataBiz systemDictDataBiz;
 
 
     @PreventRepeat(limit = 10, lockTime = 10000)
     @ApiOperation("H5涓氬姟鐧诲綍")
     @PostMapping("/loginH5")
-    public ApiResponse<Member> loginH5 (@Validated @RequestBody LoginH5DTO dto, ServerWebExchange serverWebExchange) {
+    public ApiResponse<Member> loginH5 (@RequestBody LoginH5DTO dto) {
         try {
-            ServerHttpRequest request = serverWebExchange.getRequest();
             //鎷緾ODE鎹wid锛屽厛鏌ヤ笅鏈郴缁熸槸鍚﹀瓨鍦紝瀛樺湪鐩存帴杩斿洖member锛屽惁鍒欑敤qwid鏌ヨ浼佷笟鐢ㄦ埛鏁版嵁锛屾彃鍏ユ暟鎹簱锛坢ember)
             Member user =  memberService.getUserInfo(dto);
             String token = jwtTokenUtil.generateToken(user);
@@ -56,9 +65,8 @@
     @LoginRequired
     @ApiOperation("鏇存柊鐢ㄦ埛閭淇℃伅")
     @PostMapping("/upateInfo")
-    public ApiResponse upateInfo (@RequestBody UpdEmailDTO updEmailDTO ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) {
+    public ApiResponse upateInfo (@RequestBody UpdEmailDTO updEmailDTO ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
         try {
-            ServerHttpRequest request = serverWebExchange.getRequest();
             Member user =  jwtTokenUtil.getUserInfoByToken(token);
             updEmailDTO.setUserId(user.getId());
             memberService.updEmail(updEmailDTO);
@@ -92,4 +100,31 @@
         return ApiResponse.failed( "鐧诲綍宸插け鏁�");
     }
 
+    @ApiOperation("鑾峰彇浼佷笟寰俊JS绛惧悕")
+    @PostMapping("/getQwSignature")
+    @ResponseBody
+    public ApiResponse<Object> getQwSignature(@RequestBody  Map<String,String> url) {
+        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=" + url;
+        try {
+            MessageDigest instance = MessageDigest.getInstance("SHA-1");
+            instance.update(jsapiTicketStr.getBytes());
+            byte[] digest = instance.digest();
+            BigInteger bigInteger = new BigInteger(1, digest);
+            String string = bigInteger.toString();
+            Map<String, Object> result = new HashMap<>();
+            result.put("noncestr", noncestr);
+            result.put("signature", string);
+            result.put("timestamp", timestamp);
+            result.put("url", url);
+//            result.put("ticket", jsapiTicket);
+            return ApiResponse.success( result);
+        } catch (NoSuchAlgorithmException e) {
+            throw new RuntimeException(e);
+        }
+        return ApiResponse.failed( "鑾峰彇绛惧悕澶辫触");
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3