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();
}
}