From c1f74bfce654f713da387a288b998a1c7f6aecf8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 16 四月 2025 17:12:38 +0800
Subject: [PATCH] 代码初始化
---
server/src/main/java/com/doumee/api/web/WebMemberController.java | 50 ++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 44 insertions(+), 6 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..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,20 +37,20 @@
@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涓氬姟鐧诲綍")
@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 +67,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 +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 + "×tamp=" + 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