| | |
| | | package com.ruoyi.user.controller; |
| | | |
| | | |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
| | | import com.ruoyi.admin.api.entity.*; |
| | | import com.ruoyi.admin.api.feignClient.AdminClient; |
| | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | } else { |
| | | user = new User(); |
| | | // 随机编号 |
| | | user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT))); |
| | | user.setUserNo(String.format(Constants.USER_NO_PRE, StringUtils.getCharAndNum(Constants.SIX))); |
| | | user.setState(Constants.ONE); |
| | | user.setNickname(phone); |
| | | user.setPhone(phone); |
| | |
| | | @ApiImplicitParams({ |
| | | @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)) { |
| | | public R<Agreement> registerOrAgreement(@RequestParam Integer type) { |
| | | if (!Constants.ZERO.equals(type) && !Constants.ONE.equals(type)) { |
| | | throw new GlobalException("获取类型异常!"); |
| | | } |
| | | return R.ok(adminClient.dataInfo(type).getData()); |
| | |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | @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()); |
| | | } |
| | | |
| | | /** |
| | |
| | | LambdaQueryChainWrapper<RecoveryServe> wrapper = recoveryServeService.lambdaQuery() |
| | | .eq(RecoveryServe::getIsDelete, 0) |
| | | .orderByAsc(RecoveryServe::getSort); |
| | | wrapper = StringUtils.isNotBlank(keyword) ? wrapper.like(RecoveryServe::getServeName, keyword) : wrapper; |
| | | return R.ok(wrapper.list()); |
| | | wrapper = null != keyword && !"".equals(keyword.trim()) ? |
| | | wrapper.like(RecoveryServe::getServeName, keyword) : wrapper; |
| | | List<RecoveryServe> serveList = wrapper.list(); |
| | | for (RecoveryServe recoveryServe : serveList) { |
| | | RecoveryClassify classify = recoveryClassifyService.lambdaQuery() |
| | | .eq(RecoveryClassify::getId, recoveryServe.getClassifyId()).one(); |
| | | if (null != classify) { |
| | | if (Constants.RECOVERY.equals(classify.getSupClassify())) { |
| | | recoveryServe.setType(Constants.ONE); |
| | | } else { |
| | | recoveryServe.setType(Constants.ZERO); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(serveList); |
| | | } |
| | | |
| | | /** |
| | |
| | | .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()); |
| | | } |
| | | |
| | | /** |
| | | * 用户端-修改用户定位城市 |
| | | */ |
| | | @ApiOperation(value = "修改用户定位城市", tags = {"用户端-个人中心"}) |
| | | @GetMapping(value = "/updateCity") |
| | | public R<Boolean> updateCity(@RequestParam String city, @RequestParam String cityCode) { |
| | | LoginUserInfo loginUser = tokenService.getLoginUserByUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | return R.ok(userService.lambdaUpdate().eq(User::getId, loginUser.getUserid()) |
| | | .set(User::getCity, city) |
| | | .set(User::getCityCode, cityCode).update()); |
| | | } |
| | | |
| | | } |