From c8b32b8bca79a116cfab70eb8c389907b664c9ca Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 23 四月 2025 10:43:14 +0800
Subject: [PATCH] 提交
---
server/src/main/java/com/doumee/api/web/WebMemberController.java | 68 +++++++++++++++++++++++++++++-----
1 files changed, 58 insertions(+), 10 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 3c6571e..920c993 100644
--- a/server/src/main/java/com/doumee/api/web/WebMemberController.java
+++ b/server/src/main/java/com/doumee/api/web/WebMemberController.java
@@ -3,12 +3,16 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.Jwt.JwtProperties;
import com.doumee.config.Jwt.JwtTokenUtil;
+import com.doumee.config.annotation.EncryptionReq;
+import com.doumee.config.annotation.EncryptionResp;
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.core.model.PageData;
+import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.dto.WebQwSingatureDto;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.vo.WebQwSingatureVO;
@@ -18,6 +22,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -41,16 +46,16 @@
public class WebMemberController {
@Resource
private JwtTokenUtil jwtTokenUtil;
-
@Resource
private MemberService memberService;
@Resource
private SystemDictDataBiz systemDictDataBiz;
-
@PreventRepeat(limit = 10, lockTime = 10000)
@ApiOperation("H5涓氬姟鐧诲綍")
@PostMapping("/loginH5")
+ @EncryptionReq
+ @EncryptionResp
public ApiResponse<Member> loginH5 (@RequestBody LoginH5DTO dto) {
try {
//鎷緾ODE鎹wid锛屽厛鏌ヤ笅鏈郴缁熸槸鍚﹀瓨鍦紝瀛樺湪鐩存帴杩斿洖member锛屽惁鍒欑敤qwid鏌ヨ浼佷笟鐢ㄦ埛鏁版嵁锛屾彃鍏ユ暟鎹簱锛坢ember)
@@ -69,6 +74,8 @@
@LoginRequired
@ApiOperation("鏇存柊鐢ㄦ埛閭淇℃伅")
@PostMapping("/upateInfo")
+ @EncryptionReq
+ @EncryptionResp
public ApiResponse upateInfo (@RequestBody UpdEmailDTO updEmailDTO ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
try {
Member user = jwtTokenUtil.getUserInfoByToken(token);
@@ -107,23 +114,25 @@
@ApiOperation("鑾峰彇浼佷笟寰俊JS绛惧悕")
@PostMapping("/getQwSignature")
@ResponseBody
+ @EncryptionReq
+ @EncryptionResp
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();
+ String jsapiTicketStr = "jsapi_ticket="+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.setSignature( getSHA1(jsapiTicketStr));
result.setTimestamp( timestamp);
result.setUrl( param.getUrl());
-// result.put("ticket", jsapiTicket);
+ result.setTicket(jsapiTicket);
return ApiResponse.success( result);
} catch ( Exception e) {
e.printStackTrace();
@@ -132,4 +141,43 @@
return ApiResponse.failed("鑾峰彇绛惧悕澶辫触");
}
+
+
+ @LoginRequired
+ @ApiOperation("鏌ヨ鍙鎶勯�佷汉鍒嗛〉")
+ @PostMapping("/getCopySendUserPage")
+ @EncryptionReq
+ @EncryptionResp
+ public ApiResponse<PageData<Member>> getCopySendUserPage (@RequestBody PageWrap<Member> pageWrap) {
+ pageWrap.getModel().setIsSendCopy(Constants.ONE);
+ return ApiResponse.success(memberService.findPage(pageWrap));
+ }
+
+
+
+ public static String getSHA1(String input) {
+ try {
+ // 鑾峰彇MessageDigest绫荤殑瀹炰緥锛屾寚瀹氫娇鐢⊿HA-1绠楁硶
+ MessageDigest md = MessageDigest.getInstance("SHA-1");
+
+ // 浣跨敤鎸囧畾鐨勫瓧鑺傛洿鏂版憳瑕�
+ md.update(input.getBytes());
+
+ // 鑾峰彇瀵嗘枃锛堝搱甯屽�硷級
+ byte[] digest = md.digest();
+
+ // 灏嗗瓧鑺傛暟缁勮浆鎹负鍗佸叚杩涘埗瀛楃涓�
+ StringBuilder hexString = new StringBuilder();
+ for (byte b : digest) {
+ String hex = Integer.toHexString(0xff & b);
+ if (hex.length() == 1) hexString.append('0');
+ hexString.append(hex);
+ }
+
+ return hexString.toString();
+ } catch (NoSuchAlgorithmException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3