From 9f1e7f80a3260c30e1e534437da5c79e17fc20af Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 16 四月 2025 14:35:23 +0800 Subject: [PATCH] 代码初始化 --- server/src/main/java/com/doumee/api/web/WebMemberController.java | 79 ++++++++++++++++++++++++++++----------- 1 files changed, 57 insertions(+), 22 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 15e772c..3f8ca41 100644 --- a/server/src/main/java/com/doumee/api/web/WebMemberController.java +++ b/server/src/main/java/com/doumee/api/web/WebMemberController.java @@ -9,6 +9,8 @@ import com.doumee.core.model.ApiResponse; import com.doumee.dao.business.model.Member; 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 org.springframework.http.server.reactive.ServerHttpRequest; @@ -17,6 +19,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鑾峰彇浠ょ墝鍜屽埛鏂颁护鐗屾帴鍙� @@ -27,17 +35,18 @@ public class WebMemberController { @Resource private JwtTokenUtil jwtTokenUtil; + + @Resource + private MemberService memberService; + + @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(); - //---------TODO-----浠诲悍---鍋氱敤鎴风櫥褰曢�昏緫澶勭悊-------start------- //鎷緾ODE鎹wid锛屽厛鏌ヤ笅鏈郴缁熸槸鍚﹀瓨鍦紝瀛樺湪鐩存帴杩斿洖member锛屽惁鍒欑敤qwid鏌ヨ浼佷笟鐢ㄦ埛鏁版嵁锛屾彃鍏ユ暟鎹簱锛坢ember) - Member user = new Member(); - - //---------TODO--------鍋氱敤鎴风櫥褰曢�昏緫澶勭悊-------end------- + Member user = memberService.getUserInfo(dto); String token = jwtTokenUtil.generateToken(user); user.setToken(token); return ApiResponse.success(user); @@ -48,17 +57,16 @@ return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } - @ApiOperation("鏇存柊鐢ㄦ埛淇℃伅") - @PostMapping("/upateInfo") - public ApiResponse<String> upateInfo (@Validated @RequestBody LoginH5DTO dto, ServerWebExchange serverWebExchange) { - try { - ServerHttpRequest request = serverWebExchange.getRequest(); - //---------TODO-----浠诲悍---鍋氱敤鎴蜂俊鎭洿鏂帮紙閭锛夊鐞�-------start------- - Member user = new Member(); - //---------TODO--------鍋氱敤鎴蜂俊鎭洿鏂帮紙閭锛夊鐞�-------end------- - String token = jwtTokenUtil.generateToken(user); - return ApiResponse.success(token); + @LoginRequired + @ApiOperation("鏇存柊鐢ㄦ埛閭淇℃伅") + @PostMapping("/upateInfo") + public ApiResponse upateInfo (@RequestBody UpdEmailDTO updEmailDTO ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token) { + try { + Member user = jwtTokenUtil.getUserInfoByToken(token); + updEmailDTO.setUserId(user.getId()); + memberService.updEmail(updEmailDTO); + return ApiResponse.success("鎿嶄綔鎴愬姛"); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ @@ -69,16 +77,14 @@ /** * 鍒锋柊JWT浠ょ墝,鐢ㄦ棫鐨勪护鐗屾崲鏂扮殑浠ょ墝 */ + @LoginRequired @GetMapping("/getMemberInfo") @ApiOperation("鑾峰彇褰撳墠鐧婚檰鐢ㄦ埛") - @LoginRequired public ApiResponse<Member> getMemberInfo(@RequestHeader(JwtTokenUtil.HEADER_KEY) String token){ try { - Member user =jwtTokenUtil.getUserInfoByToken(token); - //---------TODO------浠诲悍--妫�鏌ョ敤鎴蜂俊鎭綋鍓嶆槸鍚﹀悎娉�-------start------- - - //---------TODO--------妫�鏌ョ敤鎴蜂俊鎭綋鍓嶆槸鍚﹀悎娉�-------end------- - jwtTokenUtil.refreshToken(token);//姣忔鏇存柊token鏈夋晥鏈� + Member user = jwtTokenUtil.getUserInfoByToken(token); + user = memberService.checkUserValid(user); + user.setToken(jwtTokenUtil.refreshToken(token));//姣忔鏇存柊token鏈夋晥鏈� if(user !=null){ return ApiResponse.success( user); } @@ -90,4 +96,33 @@ return ApiResponse.failed( "鐧诲綍宸插け鏁�"); } + @ApiOperation("鑾峰彇浼佷笟寰俊JS绛惧悕") + @PostMapping("/getQwSignature") + @ResponseBody + public ApiResponse<Object> getQwSignature(@RequestBody String url) { + + /* Map jsapiTicket = s; + String ticket = jsapiTicket.get("ticket").toString(); + String noncestr = UUID.randomUUID().toString(); + Long timestamp = System.currentTimeMillis() / 1000; + + String jsapiTicketStr = ticket + "&noncestr=" + noncestr + "×tamp=" + 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("jsapi_ticket", string); + result.put("timestamp", timestamp); + result.put("url", url); + result.put("ticket", ticket); + return ApiResponse.success( result); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + }*/ + return ApiResponse.failed( "鑾峰彇绛惧悕澶辫触"); + } } \ No newline at end of file -- Gitblit v1.9.3