package com.ruoyi.management.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.management.domain.TUser; import com.ruoyi.management.domain.TVipSet; import com.ruoyi.management.service.ITUserService; import com.ruoyi.management.service.ITVipSetService; import com.ruoyi.management.vo.VipSetVO; import com.ruoyi.study.api.dto.AppUserQuery; import com.ruoyi.study.api.dto.UserInfoQuery; import com.ruoyi.study.api.feignClient.StudyClient; import com.ruoyi.study.api.vo.AppUserVO; import com.ruoyi.study.api.vo.UserInfoVO; import com.ruoyi.study.api.vo.VipOrderVO; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** *

* 用户表 前端控制器 *

* * @author 无关风月 * @since 2024-04-26 */ @RestController @RequestMapping("/tUser") public class TUserController { @Autowired private ITUserService userService; @Autowired private ITVipSetService vipSetService; @Autowired private StudyClient studyClient; @PostMapping("/userList") @ApiOperation(value = "用户列表", tags = {"用户管理"}) public AjaxResult> couponReceive(AppUserQuery query) { // PageInfo res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); //// List list = userService.listAll(query); //// for (AppUserVO appUserVO : list) { //// if (appUserVO.getVipEndTime() == null){ //// appUserVO.setIsVip(0); //// }else{ //// if (appUserVO.getVipEndTime().getTime() > System.currentTimeMillis()){ //// appUserVO.setIsVip(1); //// }else{ //// appUserVO.setIsVip(0); //// } //// } //// } //// res.setRecords(list); //// res.setTotal(list.size()); PageInfo data = studyClient.couponReceive(query).getData(); return AjaxResult.success(data); } @PostMapping("/getUserInfo") @ApiOperation(value = "查看用户详情", tags = {"用户管理"}) public AjaxResult getUserInfo(UserInfoQuery dto) { // SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd"); // UserInfoVO res = new UserInfoVO(); // PageInfo list = new PageInfo<>(dto.getPageNumber(), dto.getPageSize()); // // // TUser byId = userService.getById(dto.getId()); // String name = byId.getName(); // String phone = byId.getPhone(); // Date insertTime = byId.getInsertTime(); // Date vipPayTime = byId.getVipPayTime(); // Date vipEndTime = byId.getVipEndTime(); // if (vipEndTime == null){ // res.setIsVip(0); // }else{ // if (vipEndTime.getTime() > System.currentTimeMillis()){ // res.setIsVip(1); // }else{ // res.setIsVip(0); // } // } // if (vipPayTime!=null){ // res.setVipPayTime(format.format(vipPayTime)); // } // res.setState(byId.getState()); // res.setName(name); // res.setPhone(phone); // res.setInsertTime(format.format(insertTime)); // res.setIntegral(byId.getIntegral()); // // todo 查询进度 // res.setCurrent(0); // res.setSurplus(0); // res.setTotalHours(0d); // res.setTodayHours(0d); // res.setWeekHours(0d); // res.setMonthHours(0d); // // todo 查询用户的游戏记录 // List userGameRecordVOS = new ArrayList<>(); // list.setRecords(userGameRecordVOS); // list.setTotal(0); // res.setGameRecords(list); UserInfoVO data = studyClient.getUserInfo(dto).getData(); return AjaxResult.success(data); } @PostMapping("/freeze") @ApiOperation(value = "冻结/解冻", tags = {"用户管理"}) public AjaxResult freeze(Integer id) { TUser byId = userService.getById(id); if (byId.getState() == 1) { studyClient.freeze(id); return AjaxResult.success("冻结成功"); } else { studyClient.freeze(id); return AjaxResult.success("解冻成功"); } } @PostMapping("/getVipSet") @ApiOperation(value = "获取会员设置", tags = {"用户管理"}) public AjaxResult> getVipSet() { List list = vipSetService.list(new QueryWrapper().orderByAsc("amount")); return AjaxResult.success(list); } @PostMapping("/getVipSet1") @ApiOperation(value = "获取会员设置", tags = {"家长端"}) public R> getVipSet1() { List list = vipSetService.list(new QueryWrapper() .orderByAsc("time")); return R.ok(list); } @PostMapping("/setVipSet") @ApiOperation(value = "保存会员设置", tags = {"用户管理"}) public AjaxResult setVipSet(@RequestBody VipSetVO vo) { List list = vo.getList(); // 删除原有数据 重新保存 vipSetService.remove(new QueryWrapper()); for (TVipSet tVipSet : list) { vipSetService.save(tVipSet); } return AjaxResult.success("保存成功"); } @PostMapping("/vipOrderList") @ApiOperation(value = "列表查询", tags = {"会员管理"}) public AjaxResult> vipOrderList(AppUserQuery query) { PageInfo data = studyClient.vipOrderList(query).getData(); return AjaxResult.success(data); } @PostMapping("/vipBack") @ApiOperation(value = "会员退款", tags = {"会员管理"}) public AjaxResult vipOrderList(Integer id) { studyClient.vipBack(id); return AjaxResult.success(); } }