From ec6d43aa07ee0e8faf34498057ebcfbb446aa015 Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期二, 16 七月 2024 09:21:51 +0800 Subject: [PATCH] feat: 代码重构 --- ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java | 81 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 78 insertions(+), 3 deletions(-) diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java index 419a098..ff3d35f 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java @@ -31,6 +31,7 @@ import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * <p> @@ -59,13 +60,34 @@ private RecoveryServeService recoveryServeService; /** + * 解密用户敏感数据 + * + * @param encryptedData 明文,加密数据 + * @param iv 加密算法的初始向量 + * @param code 用户允许登录后,回调内容会带上 code(有效期五分钟),开发者需要将 code 发送到开发者服务器后台,使用code 换取 session_key api,将 code 换成 openid 和 session_key + * @return 登录信息 + */ + @ApiOperation("微信授权一键登录") + @GetMapping("/wxAuthorize") + @ApiImplicitParams({ + @ApiImplicitParam(value = "用户允许登录后回调内容code", name = "code", dataType = "String", required = true), + @ApiImplicitParam(value = "明文,加密数据", name = "encryptedData", dataType = "String", required = true), + @ApiImplicitParam(value = "加密算法的初始向量", name = "iv", dataType = "String", required = true) + }) + public R<Map<String, Object>> decodeUserInfo(@RequestParam("code") String code, + @RequestParam("encryptedData") String encryptedData, + @RequestParam("iv") String iv) { + return R.ok(userService.decodeUserInfo(code, encryptedData, iv)); + } + + /** * 用户端-获取微信openId * * @param code 随机code */ @ApiOperation(value = "获取微信openId", tags = {"用户端-登录"}) @PostMapping(value = "/decodeOpenid") - public R<String> decodeOpenid(HttpServletResponse response, @RequestParam String code) { + public R<String> decodeOpenid(HttpServletResponse response, String code) { return userService.decodeOpenid(response, code); } @@ -133,7 +155,7 @@ @ApiImplicitParam(value = "0:用户注册协议、1:用户隐私协议", name = "type", dataType = "Integer", required = true) }) public R<Agreement> recoverySearch(@RequestParam Integer type) { - if (!Constants.ZERO.equals(type) || !Constants.ONE.equals(type)) { + if (!Constants.ZERO.equals(type) && !Constants.ONE.equals(type)) { throw new GlobalException("获取类型异常!"); } return R.ok(adminClient.dataInfo(type).getData()); @@ -145,7 +167,25 @@ @ApiOperation(value = "轮播图列表", tags = {"用户端-首页"}) @GetMapping(value = "/banner") public R<List<Rotate>> banner() { - return R.ok(adminClient.bannerList().getData()); + List<Rotate> data = adminClient.bannerList().getData(); + for (Rotate datum : data) { + RecoveryServe recoveryServe = recoveryServeService.lambdaQuery() + .eq(RecoveryServe::getId, datum.getId()) + .eq(RecoveryServe::getIsDelete, 0).one(); + Integer classifyId = recoveryServe.getClassifyId(); + RecoveryClassify classify = recoveryClassifyService.lambdaQuery() + .eq(RecoveryClassify::getId, classifyId) + .eq(RecoveryClassify::getIsDelete, 0).one(); + if (null != classify) { + String supClassify = classify.getSupClassify(); + if (Constants.RECOVERY.equals(supClassify)) { + datum.setType(Constants.ONE); + } else { + datum.setType(Constants.ZERO); + } + } + } + return R.ok(data); } /** @@ -155,6 +195,15 @@ @GetMapping(value = "/notice") public R<List<Notices>> notice() { return R.ok(adminClient.noticesList().getData()); + } + + /** + * 用户端-通知公告详情 + */ + @ApiOperation(value = "通知公告详情", tags = {"用户端-首页"}) + @GetMapping(value = "/noticeDetail") + public R<Notices> notice(@RequestParam Integer id) { + return R.ok(adminClient.noticesDetail(id).getData()); } /** @@ -198,6 +247,17 @@ .eq(RecoveryServe::getIsDelete, 0) .orderByAsc(RecoveryServe::getSort); wrapper = StringUtils.isNotBlank(keyword) ? wrapper.like(RecoveryServe::getServeName, keyword) : wrapper; + List<RecoveryServe> serveList = wrapper.list(); + for (RecoveryServe recoveryServe : serveList) { + RecoveryClassify classify = recoveryClassifyService.lambdaQuery() + .eq(RecoveryClassify::getId, recoveryServe.getClassifyId()) + .eq(RecoveryClassify::getIsDelete, 0).one(); + if (Constants.RECOVERY.equals(classify.getSupClassify())) { + recoveryServe.setType(Constants.ONE); + } else { + recoveryServe.setType(Constants.ZERO); + } + } return R.ok(wrapper.list()); } @@ -215,4 +275,19 @@ .eq(User::getIsDelete, 0).one()); } + /** + * 用户端-修改头像&昵称 + */ + @ApiOperation(value = "修改头像&昵称", tags = {"用户端-个人中心"}) + @GetMapping(value = "/updateInfo") + public R<Boolean> updateInfo(@RequestParam String picture, @RequestParam String nickname) { + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + if (null == loginUser) { + return R.loginExpire("登录失效!"); + } + return R.ok(userService.lambdaUpdate().eq(User::getId, loginUser.getUserid()) + .set(User::getProfilePicture, picture) + .set(User::getNickname, nickname).update()); + } + } -- Gitblit v1.7.1