From 16332a341801f80d27830d2ea4e683b4ab21167c Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 21 四月 2025 18:28:00 +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