From 781b5fea46cd55220b5ffca17aa6bb1b83551410 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期二, 21 五月 2024 08:59:55 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java |  510 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 493 insertions(+), 17 deletions(-)

diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
index d477903..8fd56b1 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
@@ -1,30 +1,50 @@
 package com.ruoyi.study.controller;
 
 
+import com.alipay.api.AlipayApiException;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.JwtUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.security.auth.AuthUtil;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.management.api.feignClient.ManagementClient;
+import com.ruoyi.management.api.model.TFeedback;
+import com.ruoyi.management.api.model.TPage;
+import com.ruoyi.management.api.model.TUseGuide;
+import com.ruoyi.management.api.model.TVipSet;
+import com.ruoyi.management.api.query.UseGuideQuery;
 import com.ruoyi.study.domain.TUser;
+import com.ruoyi.study.domain.TVipOrder;
 import com.ruoyi.study.dto.AppUserQuery;
 import com.ruoyi.study.dto.UserInfoQuery;
 import com.ruoyi.study.service.ITUserService;
 import com.ruoyi.study.service.IVipOrderService;
-import com.ruoyi.study.vo.AppUserVO;
-import com.ruoyi.study.vo.UserGameRecordVO;
-import com.ruoyi.study.vo.UserInfoVO;
-import com.ruoyi.study.vo.VipOrderVO;
+import com.ruoyi.study.utils.PayMoneyUtil;
+import com.ruoyi.study.utils.UUIDUtil;
+import com.ruoyi.study.vo.*;
+import com.ruoyi.system.api.domain.SysRole;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.model.LoginUser;
+import com.ruoyi.system.api.model.LoginUserParent;
+import io.jsonwebtoken.Claims;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * <p>
@@ -42,9 +62,463 @@
 
     @Autowired
     private IVipOrderService vipOrderService;
+    @Autowired
+    private ManagementClient managementClient;
+    @Autowired
+    private TokenService tokenService;
+
+    @PostMapping("/vipInfo")
+    @ApiOperation(value = "会员中心-获取会员说明、当前登录用户是否为会员、会员购买规格", tags = {"家长端-个人中心"})
+    public AjaxResult<List<VipInfoVO>> vipInfo() {
+        if (tokenService.getLoginUser1() == null){
+            return AjaxResult.tokenError("登录失效",new Object());
+        }
+        List<VipInfoVO> vipInfoVOS = new ArrayList<>();
+        List<TVipSet> data = managementClient.getVipSet1().getData();
+        for (TVipSet datum : data) {
+            VipInfoVO vipInfoVO = new VipInfoVO();
+            vipInfoVO.setInfo(datum.getInfo());
+            vipInfoVO.setId(datum.getId());
+            Integer userid = tokenService.getLoginUser1().getUserid();
+            TUser byId = userService.getById(userid);
+            // 先判断vipEndTime
+            if (byId.getVipEndTime() == null){
+                vipInfoVO.setIsVip(0);
+            }else{
+                // 判断会员到期时间是否大于当前时间
+                if (byId.getVipEndTime().getTime() > new Date().getTime()){
+                    vipInfoVO.setIsVip(1);
+                }else{
+                    vipInfoVO.setIsVip(0);
+                }
+            }
+            vipInfoVO.setTime(datum.getTime());
+            vipInfoVO.setAmount(datum.getAmount());
+        }
+        return AjaxResult.ok(vipInfoVOS);
+    }
+    @Autowired
+    private PayMoneyUtil payMoneyUtil;
+
+    @PostMapping("/order")
+    @ApiOperation(value = "购买会员下单操作", tags = {"家长端-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header"),
+            @ApiImplicitParam(name = "payType", value = "支付类型 1=微信 2=支付宝", required = true),
+            @ApiImplicitParam(name = "id", value = "会员规格id", required = true),
+    })
+    public AjaxResult order(Integer payType,Integer id) throws Exception {
+        if (tokenService.getLoginUser1() == null){
+            return AjaxResult.tokenError("登录失效",new Object());
+        }
+        Integer userid = tokenService.getLoginUser1().getUserid();
+        TVipOrder tVipOrder = new TVipOrder();
+        List<TVipSet> data = managementClient.getVipSet1().getData();
+        Integer time = 0;
+        for (TVipSet datum : data) {
+            if (datum.getId() == id){
+                tVipOrder.setMoney(datum.getAmount());
+                time = datum.getTime();
+            }
+        }
+        tVipOrder.setPayState(1);
+        tVipOrder.setUserId(userid);
+        tVipOrder.setPayType(payType);
+        tVipOrder.setCount(time);
+        switch (payType){
+            case 1:
+                return payMoneyUtil.weixinpay
+                        ("购买会员", "",
+                                id+"_"+tVipOrder.getId() + "_"+
+                                        UUIDUtil.getRandomCode(8),
+                                tVipOrder.getMoney().toString(),
+                                "/base/wxPayBuyVip", "APP", "");
+            case 2:
+                return payMoneyUtil.alipay
+                        ("购买会员",
+                                "购买会员下单支付",
+                                "",
+                                id+"_"+tVipOrder.getId()+"_"+
+                                        UUIDUtil.getRandomCode(8),
+                                tVipOrder.getMoney().toString(),
+                                "/base/aliPayBuyVip");
+        }
+        return AjaxResult.success();
+    }
+    @ResponseBody
+    @PostMapping("/base/aliPayBuyVip")
+    public void addVipPaymentAliCallback(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.alipayCallback(request);
+            if (null != map) {
+                String out_trade_no = map.get("out_trade_no");
+                String trade_no = map.get("trade_no");
+                // 会员规格id
+                String s = out_trade_no.split("_")[0];
+                Integer integer = Integer.valueOf(s);
+                Integer time  = 0;
+                for (TVipSet datum : managementClient.getVipSet1().getData()) {
+                    if (datum.getId() == integer){
+                        time = datum.getTime();
+                    }
+                }
+                // 订单id
+                String s1 = out_trade_no.split("_")[1];
+                Integer integer1 = Integer.valueOf(s1);
+                TVipOrder byId = vipOrderService.getById(integer1);
+                byId.setPayState(2);
+                byId.setTransactionId(trade_no);
+                byId.setOutTradeNo(out_trade_no);
+                byId.setPayTime(new Date());
+
+
+                TUser byId1 = userService.getById(byId.getUserId());
+                if (byId1.getVipPayTime() == null){
+                    // 是否是首次充值会员
+                    byId1.setVipPayTime(new Date());
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(new Date());
+                    calendar.add(Calendar.MONTH, time);
+                    Date dateAfterOneMonth = calendar.getTime();
+                    byId.setTime(dateAfterOneMonth);
+                    byId1.setVipEndTime(dateAfterOneMonth);
+                }else{
+                    // 不是首次 判断vipEndTime 是否到期 如果没有 加指定月份时间 如果到期了 将会员到期时间从当前增加指定月份
+                    if (byId1.getVipEndTime().getTime() < new Date().getTime()){
+                        Calendar calendar = Calendar.getInstance();
+                        calendar.setTime(new Date());
+                        calendar.add(Calendar.MONTH, time);
+                        Date dateAfterOneMonth = calendar.getTime();
+                        byId.setTime(dateAfterOneMonth);
+                        byId1.setVipEndTime(dateAfterOneMonth);
+                    }else{
+                        Calendar calendar = Calendar.getInstance();
+                        calendar.setTime(byId1.getVipEndTime());
+                        calendar.add(Calendar.MONTH, time);
+                        Date dateAfterOneMonth = calendar.getTime();
+                        byId.setTime(dateAfterOneMonth);
+                        byId1.setVipEndTime(dateAfterOneMonth);
+                    }
+                }
+
+                // 修改订单状态
+                vipOrderService.updateById(byId);
+
+                // 修改用户会员续期信息
+                userService.updateById(byId1);
+                PrintWriter out = response.getWriter();
+                out.write("success");
+                out.flush();
+                out.close();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    @ResponseBody
+    @PostMapping("/base/wxPayBuyVip")
+    public void wxPayBuyPackage(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+            if (null != map) {
+                // 内部订单号
+                String out_trade_no = map.get("out_trade_no");
+                // 微信订单号
+                String transaction_id = map.get("transaction_id");
+                String result = map.get("result");
+                // 会员规格id
+                String s = out_trade_no.split("_")[0];
+                Integer integer = Integer.valueOf(s);
+                Integer time  = 0;
+                for (TVipSet datum : managementClient.getVipSet1().getData()) {
+                    if (datum.getId() == integer){
+                        time = datum.getTime();
+                    }
+                }
+                // 订单id
+                String s1 = out_trade_no.split("_")[1];
+                Integer integer1 = Integer.valueOf(s1);
+                TVipOrder byId = vipOrderService.getById(integer1);
+                byId.setPayState(2);
+                byId.setTransactionId(transaction_id);
+                byId.setOutTradeNo(out_trade_no);
+                byId.setPayTime(new Date());
+
+
+                TUser byId1 = userService.getById(byId.getUserId());
+                if (byId1.getVipPayTime() == null){
+                    // 是否是首次充值会员
+                    byId1.setVipPayTime(new Date());
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(new Date());
+                    calendar.add(Calendar.MONTH, time);
+                    Date dateAfterOneMonth = calendar.getTime();
+                    byId.setTime(dateAfterOneMonth);
+                    byId1.setVipEndTime(dateAfterOneMonth);
+                }else{
+                    // 不是首次 判断vipEndTime 是否到期 如果没有 加指定月份时间 如果到期了 将会员到期时间从当前增加指定月份
+                    if (byId1.getVipEndTime().getTime() < new Date().getTime()){
+                        Calendar calendar = Calendar.getInstance();
+                        calendar.setTime(new Date());
+                        calendar.add(Calendar.MONTH, time);
+                        Date dateAfterOneMonth = calendar.getTime();
+                        byId.setTime(dateAfterOneMonth);
+                        byId1.setVipEndTime(dateAfterOneMonth);
+                    }else{
+                        Calendar calendar = Calendar.getInstance();
+                        calendar.setTime(byId1.getVipEndTime());
+                        calendar.add(Calendar.MONTH, time);
+                        Date dateAfterOneMonth = calendar.getTime();
+                        byId.setTime(dateAfterOneMonth);
+                        byId1.setVipEndTime(dateAfterOneMonth);
+                    }
+                }
+                // 修改订单状态
+                vipOrderService.updateById(byId);
+                // 修改用户会员续期信息
+                userService.updateById(byId1);
+                PrintWriter out = response.getWriter();
+                out.write(result);
+                out.flush();
+                out.close();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    @PostMapping("/getPage")
+    @ApiOperation(value = "获取注意事项", tags = {"家长端-注意事项"})
+    public AjaxResult<String> getPage() {
+        List<TPage> data = managementClient.getPage1().getData();
+        for (TPage datum : data) {
+            if (datum.getType() == 4){
+                return AjaxResult.success(datum.getImg());
+            }
+        }
+        return AjaxResult.success();
+    }
+    @PostMapping("/useGuide")
+    @ApiOperation(value = "使用指南", tags = {"家长端-使用指南"})
+    public AjaxResult<PageInfo<TUseGuide>> useGuide(@RequestBody UseGuideQuery query) {
+        PageInfo<TUseGuide> data = managementClient.useGuide1(query).getData();
+        return AjaxResult.success(data);
+    }
+    @PostMapping("/feedBack")
+    @ApiOperation(value = "反馈", tags = {"家长端-意见反馈"})
+    public AjaxResult feedBack(@RequestBody TFeedback dto) {
+        if (tokenService.getLoginUser1() == null){
+            return AjaxResult.tokenError("登录失效",new Object());
+        }
+        LoginUserParent loginUser1 = tokenService.getLoginUser1();
+        dto.setUserId(loginUser1.getUserid());
+        managementClient.addFeedBack(dto);
+        return AjaxResult.success("反馈成功");
+    }
+    @PostMapping("/parentLogin")
+    @ApiOperation(value = "登录", tags = {"家长端-登录"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "手机号", name = "phone", dataType = "string", required = true),
+            @ApiImplicitParam(value = "验证码", name = "phoneCode", dataType = "string", required = true)
+    })
+    public AjaxResult login(String phone, String phoneCode)
+    {
+        TUser tUser1 = userService.getOne(new QueryWrapper<TUser>()
+                .ne("state", 3)
+                .eq("phone",phone));
+        if (tUser1 != null){
+            if (tUser1.getState() == 2){
+                return AjaxResult.error("登录失败,您的账号已被冻结!");
+            }
+        }else{
+            // todo 验证码校验
+            tUser1 = new TUser();
+            // 注册
+            tUser1.setName(phone);
+            tUser1.setAccount(phone);
+            tUser1.setState(1);
+            tUser1.setInsertTime(new Date());
+            tUser1.setCreateTime(new Date());
+            tUser1.setPhone(phone);
+            userService.save(tUser1);
+        }
+        LoginUserParent loginUserParent = new LoginUserParent();
+        loginUserParent.setName(tUser1.getName());
+        loginUserParent.setUserid(tUser1.getId());
+        loginUserParent.setPhone(tUser1.getPhone());
+        loginUserParent.setLoginTime(new Date().getTime());
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("token",tokenService.createToken1(loginUserParent));
+        // 获取登录token
+        return AjaxResult.success(map);
+    }
+
+
+    @PostMapping("/deleteUser")
+    @ApiOperation(value = "注销当前帐号", tags = {"家长端-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header"),
+    })
+    public AjaxResult deleteUser() {
+        if (tokenService.getLoginUser1() == null){
+           return AjaxResult.tokenError("登录失效");
+        }
+        Integer userid = tokenService.getLoginUser1().getUserid();
+        TUser tUser = userService.getById(userid);
+
+        tUser.setState(3);
+        userService.updateById(tUser);
+
+        userService.removeById(tUser);
+        return AjaxResult.success("注销成功");
+    }
+    @PostMapping("/logout")
+    @ApiOperation(value = "退出登录", tags = {"家长端-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header"),
+    })
+    public AjaxResult logout(HttpServletRequest request) {
+        if (tokenService.getLoginUser1() == null){
+            return AjaxResult.tokenError("登录失效");
+        }
+        String token = SecurityUtils.getToken(request);
+        if (com.ruoyi.common.core.utils.StringUtils.isNotEmpty(token))
+        {
+            // 删除用户缓存记录
+            AuthUtil.logoutByToken1(token);
+        }
+        // todo 清除token
+        return AjaxResult.success("退出登录成功");
+    }
+    @PostMapping("/updateUserInfo")
+    @ApiOperation(value = "修改个人资料", tags = {"家长端-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header"),
+            @ApiImplicitParam(name = "name", value = "姓名 改什么就只传什么"),
+            @ApiImplicitParam(name = "phone", value = "电话 改什么就只传什么"),
+            @ApiImplicitParam(name = "headImg", value = "头像 改什么就只传什么"),
+    })
+    public AjaxResult updateUserInfo(String name, String phone,String headImg) {
+        if (tokenService.getLoginUser1() == null){
+            return AjaxResult.tokenError("登录失效",new Object());
+        }
+        // todo 获取用户id
+        Integer userid = tokenService.getLoginUser1().getUserid();
+        TUser byId = userService.getById(userid);
+
+        if (StringUtils.hasLength(name)){
+            byId.setName(name);
+        }
+        if (StringUtils.hasLength(phone)){
+            // 先判断手机号是否和当前用户手机号一致
+//            if (byId == null){
+//                return AjaxResult.tokenError("登录失效");
+//            }
+
+            if (phone.equals(byId.getPhone())){
+                return AjaxResult.error("更换的手机号不能和原手机号相同");
+            }
+            List<TUser> list = userService.list(new QueryWrapper<TUser>()
+                    .eq("phone", phone)
+                    .ne("state", 3));
+            if (list.size() > 0){
+                return AjaxResult.error("更换的手机号已被使用",new Object());
+            }
+            byId.setPhone(phone);
+        }
+        if (StringUtils.hasLength(headImg)){
+            byId.setHeadImg(headImg);
+        }
+        userService.updateById(byId);
+        return AjaxResult.success("修改成功");
+    }
+    @PostMapping("/vipBack/{id}")
+    @ApiOperation(value = "会员退款", tags = {"管理后台-会员退款"})
+    public R vipBack(@PathVariable("id") Integer id) throws AlipayApiException {
+        TVipOrder byId = vipOrderService.getById(id);
+        // 外部订单号
+        String transactionId = byId.getTransactionId();
+        // 内部订单号
+        String outTradeNo = byId.getOutTradeNo();
+        switch (byId.getPayType()){
+            case 1:
+                 // 微信退款
+                Map<String, String> stringStringMap = payMoneyUtil.wxRefund(transactionId, outTradeNo, byId.getMoney().toString(), byId.getMoney().toString(), "/base/wxRefund");
+                if (stringStringMap.get("code").equals("SUCCESS")){
+                    byId.setPayState(3);
+                    byId.setBackTime(new Date());
+                    vipOrderService.updateById(byId);
+                    // 用户的vip剩余时间减少
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(new Date());
+                    calendar.add(Calendar.MONTH, -byId.getCount());
+                    Date dateAfterOneMonth = calendar.getTime();
+                    Integer userId = byId.getUserId();
+                    TUser byId1 = userService.getById(userId);
+                    // 判断用户是不是第一次充值
+                    List<TVipOrder> list = vipOrderService.list(new QueryWrapper<TVipOrder>()
+                            .eq("userId", userId)
+                            .eq("payState", 2)
+                            .orderByDesc("createTime"));
+                    int size = list.size();
+                    if (size == 0){
+                        // 证明这是用户第一次充值会员 将首次充值会员时间和会员到期时间清空
+                        byId1.setVipEndTime(null);
+                        byId1.setVipPayTime(null);
+                        userService.updateById(byId1);
+                    }else{
+                        // 最近的一次充值会员时间
+                        TVipOrder tVipOrder = list.get(0);
+                        // 将会员到期时间回退到上一次
+                        byId1.setVipEndTime(tVipOrder.getTime());
+                        userService.updateById(byId1);
+                    }
+
+                    return R.ok();
+                }else{
+                    return R.fail(stringStringMap.get("msg"));
+                }
+            case 2:
+                // 支付宝退款
+                Map<String, String> stringStringMap1 = payMoneyUtil.aliRefund(transactionId,byId.getMoney().toString());
+                if (stringStringMap1.get("code").equals("10000")){
+                    byId.setPayState(3);
+                    byId.setBackTime(new Date());
+                    vipOrderService.updateById(byId);
+                    // 用户的vip剩余时间减少
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(new Date());
+                    calendar.add(Calendar.MONTH, -byId.getCount());
+                    Date dateAfterOneMonth = calendar.getTime();
+                    Integer userId = byId.getUserId();
+                    TUser byId1 = userService.getById(userId);
+                    // 判断用户是不是第一次充值
+                    List<TVipOrder> list = vipOrderService.list(new QueryWrapper<TVipOrder>()
+                            .eq("userId", userId)
+                            .eq("payState", 2)
+                            .orderByDesc("createTime"));
+                    int size = list.size();
+                    if (size == 0){
+                        // 证明这是用户第一次充值会员 将首次充值会员时间和会员到期时间清空
+                        byId1.setVipEndTime(null);
+                        byId1.setVipPayTime(null);
+                        userService.updateById(byId1);
+                    }else{
+                        // 最近的一次充值会员时间
+                        TVipOrder tVipOrder = list.get(0);
+                        // 将会员到期时间回退到上一次
+                        byId1.setVipEndTime(tVipOrder.getTime());
+                        userService.updateById(byId1);
+                    }
+                    return R.ok();
+                }else{
+                    return R.fail(stringStringMap1.get("msg"));
+                }
+        }
+        return R.ok();
+    }
     @PostMapping("/userList")
-    @ApiOperation(value = "用户列表", tags = {"用户管理"})
-    public R<PageInfo<AppUserVO>> couponReceive(AppUserQuery query) {
+    @ApiOperation(value = "用户列表", tags = {"管理后台-用户管理"})
+    public R<PageInfo<AppUserVO>> couponReceive(@RequestBody AppUserQuery query) {
         PageInfo<AppUserVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize());
         List<AppUserVO> list =  userService.listAll(query);
         for (AppUserVO appUserVO : list) {
@@ -64,8 +538,8 @@
     }
 
     @PostMapping("/getUserInfo")
-    @ApiOperation(value = "查看用户详情", tags = {"用户管理"})
-    public R<UserInfoVO> getUserInfo(UserInfoQuery dto) {
+    @ApiOperation(value = "查看用户详情", tags = {"管理后台-用户管理"})
+    public R<UserInfoVO> getUserInfo(@RequestBody UserInfoQuery dto) {
         SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
         UserInfoVO res = new UserInfoVO();
         PageInfo<UserGameRecordVO> list = new PageInfo<>(dto.getPageNumber(), dto.getPageSize());
@@ -108,23 +582,25 @@
         res.setGameRecords(list);
         return R.ok(res);
     }
-    @PostMapping("/freeze")
-    @ApiOperation(value = "冻结/解冻", tags = {"用户管理"})
-    public R freeze(Integer id) {
+    @PostMapping("/freeze/{id}")
+    @ApiOperation(value = "冻结/解冻", tags = {"管理后台-用户管理"})
+    public R freeze(@PathVariable("id")  Integer id) {
         TUser byId = userService.getById(id);
         if (byId.getState() == 1) {
             byId.setState(2);
+            userService.updateById(byId);
             return R.ok("冻结成功");
         }else {
             byId.setState(1);
+            userService.updateById(byId);
             return R.ok("解冻成功");
         }
     }
 
 
     @PostMapping("/vipOrderList")
-    @ApiOperation(value = "列表查询", tags = {"会员管理"})
-    public R<PageInfo<VipOrderVO>> vipOrderList(AppUserQuery query) {
+    @ApiOperation(value = "列表查询", tags = {"管理后台-会员管理"})
+    public R<PageInfo<VipOrderVO>> vipOrderList(@RequestBody AppUserQuery query) {
         PageInfo<VipOrderVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize());
         List<VipOrderVO> list =  vipOrderService.listAll(query);
         res.setRecords(list);

--
Gitblit v1.7.1