ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; @@ -30,6 +31,12 @@ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 已兑换数量 */ @ApiModelProperty(value = "已兑换数量") @TableField(exist = false) private Long inventory; /** * 商品名称 */ @ApiModelProperty(value = "商品名称") ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TUser.java
New file @@ -0,0 +1,208 @@ package com.ruoyi.study.api.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; import lombok.Data; import java.util.Date; /** * <p> * 用户表 * </p> * * @author 无关风月 * @since 2024-04-26 */ @Data @TableName("t_user") public class TUser extends BaseModel { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 用户姓名 */ private String name; /** * 账号 */ private String account; /** * 电话 */ private String phone; /** * 密码 */ private String password; /** * 微信openId */ private String openId; /** * 生日 */ private Date birthday; /** * 性别1男2女 */ private Integer gender; /** * 用户头像 */ private String headImg; /** * 积分 */ private Integer integral; /** * 状态1正常 2冻结 3删除 */ private Integer state; /** * 添加时间 */ private Date insertTime; /** * 会员到期时间 字段未空 则不是会员 */ private Date vipEndTime; /** * 充值会员时间 续费刷新该字段 */ private Date vipPayTime; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getOpenId() { return openId; } public void setOpenId(String openId) { this.openId = openId; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public Integer getGender() { return gender; } public void setGender(Integer gender) { this.gender = gender; } public String getHeadImg() { return headImg; } public void setHeadImg(String headImg) { this.headImg = headImg; } public Integer getState() { return state; } public void setState(Integer state) { this.state = state; } public Date getInsertTime() { return insertTime; } public void setInsertTime(Date insertTime) { this.insertTime = insertTime; } public Date getVipEndTime() { return vipEndTime; } public void setVipEndTime(Date vipEndTime) { this.vipEndTime = vipEndTime; } public Date getVipPayTime() { return vipPayTime; } public void setVipPayTime(Date vipPayTime) { this.vipPayTime = vipPayTime; } @Override public String toString() { return "TUser{" + ", id=" + id + ", name=" + name + ", account=" + account + ", phone=" + phone + ", password=" + password + ", openId=" + openId + ", birthday=" + birthday + ", gender=" + gender + ", headImg=" + headImg + ", integral=" + integral + ", state=" + state + ", insertTime=" + insertTime + ", vipEndTime=" + vipEndTime + ", vipPayTime=" + vipPayTime + "}"; } } ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TVipOrder.java
New file @@ -0,0 +1,65 @@ package com.ruoyi.study.api.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * <p> * 系统设置 * </p> * * @author 无关风月 * @since 2024-04-26 */ @Data @TableName("t_vip_order") public class TVipOrder extends BaseModel { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 用户id */ @ApiModelProperty(value = "用户id") private Integer userId; /** * 支付金额 */ @ApiModelProperty(value = "支付金额") private BigDecimal money; /** * 支付时间 */ @ApiModelProperty(value = "支付时间") private Date payTime; /** * 订单状态1未支付2已支付3已退款 */ @ApiModelProperty(value = "订单状态1未支付2已支付3已退款") private Integer payState; /** * 退款时间 */ @ApiModelProperty(value = "退款时间") private Date backTime; /** * 有效期至 */ @ApiModelProperty(value = "有效期至") private Date time; } ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/AppUserQuery.javacopy from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/dto/AppUserQuery.java copy to ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/AppUserQuery.java
File was copied from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/dto/AppUserQuery.java @@ -1,4 +1,4 @@ package com.ruoyi.management.dto; package com.ruoyi.study.api.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java
@@ -20,6 +20,26 @@ public StudyClient create(Throwable cause) { return new StudyClient() { @Override public R<PageInfo<AppUserVO>> couponReceive(AppUserQuery query) { return R.fail("获取用户列表查询失败" + cause.getMessage()); } @Override public R<UserInfoVO> getUserInfo(UserInfoQuery dto) { return R.fail("获取用户详情信息" + cause.getMessage()); } @Override public R freeze(Integer id) { return R.fail("冻结/解冻用户失败" + cause.getMessage()); } @Override public R<PageInfo<VipOrderVO>> vipOrderList(AppUserQuery query) { return R.fail("获取会员管理列表失败" + cause.getMessage()); } @Override public R<PageInfo<TStory>> storyList(ChoiceStory query) { return R.fail("选择故事列表获取失败" + cause.getMessage()); } ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java
@@ -2,6 +2,7 @@ import com.ruoyi.common.core.constant.ServiceNameConstants; 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.study.api.dto.*; import com.ruoyi.study.api.factory.StudyFallbackFactory; @@ -9,6 +10,7 @@ import com.ruoyi.study.api.model.TSubject; import com.ruoyi.study.api.vo.StudyDTO; import com.ruoyi.study.api.vo.*; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -20,7 +22,14 @@ @FeignClient(contextId = "studyClient", value = ServiceNameConstants.STUDY_SERVICE, fallbackFactory = StudyFallbackFactory.class) public interface StudyClient { @PostMapping("/base/user/userList") R<PageInfo<AppUserVO>> couponReceive(AppUserQuery query); @PostMapping("/base/user/getUserInfo") R<UserInfoVO> getUserInfo(UserInfoQuery dto); @PostMapping("/base/user/freeze") R freeze(Integer id); @PostMapping("/base/user/vipOrderList") R<PageInfo<VipOrderVO>> vipOrderList(AppUserQuery query); /** * 选择故事列表查询 * @param query ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/AppUserVO.java
File was renamed from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/AppUserVO.java @@ -1,4 +1,4 @@ package com.ruoyi.management.vo; package com.ruoyi.study.api.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/VipOrderVO.javacopy from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/VipOrderVO.java copy to ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/VipOrderVO.java
File was copied from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/VipOrderVO.java @@ -1,4 +1,4 @@ package com.ruoyi.management.vo; package com.ruoyi.study.api.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
@@ -81,6 +81,10 @@ } wrapper.orderByDesc("id"); List<TGoods> list = goodsService.list(wrapper); for (TGoods tGoods : list) { long goodsId = orderService.count(new QueryWrapper<TOrder>().eq("goodsId", tGoods.getId())); tGoods.setInventory(goodsId); } PageInfo<TGoods> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); res.setRecords(list); return R.ok(res); ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Recipient.java
New file @@ -0,0 +1,163 @@ package com.ruoyi.goods.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; /** * <p> * 收货地址 * </p> * * @author 无关风月 * @since 2024-02-06 */ @TableName("t_recipient") @Data public class Recipient extends Model<Recipient> { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 用户id */ private Integer userId; /** * 收件人姓名 */ @ApiModelProperty(value = "收件人姓名") private String recipient; /** * 收件人姓名 */ @ApiModelProperty(value = "电话") private String recipientPhone; /** * 省 */ @ApiModelProperty(value = "省") private String province; /** * 省code */ @ApiModelProperty(value = "省code") private String provinceCode; /** * 市 */ @ApiModelProperty(value = "市") private String city; /** * 市code */ @ApiModelProperty(value = "市code") private String cityCode; /** * 地址 */ @ApiModelProperty(value = "详细地址") private String address; /** * 地址 */ @ApiModelProperty(value = "是否为默认地址0否1是") private Integer isDefault; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getRecipient() { return recipient; } public void setRecipient(String recipient) { this.recipient = recipient; } public String getRecipientPhone() { return recipientPhone; } public void setRecipientPhone(String recipientPhone) { this.recipientPhone = recipientPhone; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getProvinceCode() { return provinceCode; } public void setProvinceCode(String provinceCode) { this.provinceCode = provinceCode; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getCityCode() { return cityCode; } public void setCityCode(String cityCode) { this.cityCode = cityCode; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Recipient{" + "id=" + id + ", userId=" + userId + ", recipient=" + recipient + ", recipientPhone=" + recipientPhone + ", province=" + province + ", provinceCode=" + provinceCode + ", city=" + city + ", cityCode=" + cityCode + ", address=" + address + "}"; } } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Region.java
New file @@ -0,0 +1,41 @@ package com.ruoyi.goods.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * 行政区域数据 * @author pzb * @Date 2022/2/9 10:00 */ @Data @TableName("t_region") public class Region { /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) @TableField("id") private Integer id; /** * 城市名称 */ @TableField("name") @ApiModelProperty("省/市 名称") private String name; /** * 城市code */ @TableField("code") @ApiModelProperty("省/市 编码") private String code; /** * 父级id */ @TableField("parent_id") private Integer parentId; } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TGoods.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; @@ -40,6 +41,12 @@ @ApiModelProperty(value = "所需积分") private Integer integral; /** * 已兑换数量 */ @ApiModelProperty(value = "已兑换数量") @TableField(exist = false) private Long inventory; /** * 商品原价 */ @ApiModelProperty(value = "商品原价") ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RecipientMapper.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.goods.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.goods.domain.Recipient; /** * <p> * 收货地址 Mapper 接口 * </p> * * @author 无关风月 * @since 2024-02-06 */ public interface RecipientMapper extends BaseMapper<Recipient> { } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RegionMapper.java
New file @@ -0,0 +1,12 @@ package com.ruoyi.goods.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.goods.domain.Region; import org.apache.ibatis.annotations.Param; import java.util.List; public interface RegionMapper extends BaseMapper<Region> { } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRecipientService.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.goods.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.goods.domain.Recipient; /** * <p> * 收货地址 服务类 * </p> * * @author 无关风月 * @since 2024-02-06 */ public interface IRecipientService extends IService<Recipient> { } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRegionService.java
New file @@ -0,0 +1,12 @@ package com.ruoyi.goods.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.goods.domain.Region; import java.util.List; public interface IRegionService extends IService<Region> { } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RecipientServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ruoyi.goods.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.goods.domain.Recipient; import com.ruoyi.goods.mapper.RecipientMapper; import com.ruoyi.goods.service.IRecipientService; import org.springframework.stereotype.Service; /** * <p> * 收货地址 服务实现类 * </p> * * @author 无关风月 * @since 2024-02-06 */ @Service public class RecipientServiceImpl extends ServiceImpl<RecipientMapper, Recipient> implements IRecipientService { } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RegionServiceImpl.java
New file @@ -0,0 +1,14 @@ package com.ruoyi.goods.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.goods.domain.Region; import com.ruoyi.goods.mapper.RegionMapper; import com.ruoyi.goods.service.IRegionService; import org.springframework.stereotype.Service; import java.util.List; @Service public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements IRegionService { } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/TGoodsVO.java
@@ -21,8 +21,10 @@ private static final long serialVersionUID = 1L; @ApiModelProperty(value = "剩余数量") @ApiModelProperty(value = "已兑换数量") private Long inventory; @ApiModelProperty(value = "基础已兑换数量") private Integer basicCount; /** * 主键id */ ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RecipientMapper.xml
New file @@ -0,0 +1,24 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.RecipientMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.goods.domain.Recipient"> <id column="id" property="id" /> <result column="userId" property="userId" /> <result column="recipient" property="recipient" /> <result column="recipientPhone" property="recipientPhone" /> <result column="province" property="province" /> <result column="provinceCode" property="provinceCode" /> <result column="city" property="city" /> <result column="cityCode" property="cityCode" /> <result column="address" property="address" /> <result column="isDefault" property="isDefault" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, userId, recipient, recipientPhone, province, provinceCode, city, cityCode, address,isDefault </sql> </mapper> ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RegionMapper.xml
New file @@ -0,0 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.RegionMapper"> </mapper> ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java
@@ -2,20 +2,20 @@ 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.dto.AppUserQuery; import com.ruoyi.management.service.ITUserService; import com.ruoyi.management.service.ITVipSetService; import com.ruoyi.management.service.IVipOrderService; import com.ruoyi.management.vo.AppUserVO; import com.ruoyi.management.vo.VipOrderVO; 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.vo.UserGameRecordVO; 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.stereotype.Controller; @@ -24,9 +24,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** @@ -44,75 +41,80 @@ private ITUserService userService; @Autowired private ITVipSetService vipSetService; @Autowired private IVipOrderService vipOrderService; private StudyClient studyClient; @ResponseBody @PostMapping("/userList") @ApiOperation(value = "用户列表", tags = {"用户管理"}) public AjaxResult<PageInfo<AppUserVO>> couponReceive(AppUserQuery query) { PageInfo<AppUserVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); List<AppUserVO> 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()); return AjaxResult.success(res); // PageInfo<AppUserVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); //// List<AppUserVO> 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()); R<PageInfo<AppUserVO>> pageInfoR = studyClient.couponReceive(query); return AjaxResult.success(pageInfoR); } @ResponseBody @PostMapping("/getUserInfo") @ApiOperation(value = "查看用户详情", tags = {"用户管理"}) public AjaxResult<UserInfoVO> getUserInfo(UserInfoQuery dto) { SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd"); UserInfoVO res = new UserInfoVO(); PageInfo<UserGameRecordVO> list = new PageInfo<>(dto.getPageNumber(), dto.getPageSize()); // SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd"); // UserInfoVO res = new UserInfoVO(); // PageInfo<UserGameRecordVO> 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<UserGameRecordVO> userGameRecordVOS = new ArrayList<>(); // list.setRecords(userGameRecordVOS); // list.setTotal(0); // res.setGameRecords(list); UserInfoVO data = studyClient.getUserInfo(dto).getData(); 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<UserGameRecordVO> userGameRecordVOS = new ArrayList<>(); list.setRecords(userGameRecordVOS); list.setTotal(0); res.setGameRecords(list); return AjaxResult.success(res); return AjaxResult.success(data); } @ResponseBody @PostMapping("/freeze") @@ -120,10 +122,10 @@ public AjaxResult freeze(Integer id) { TUser byId = userService.getById(id); if (byId.getState() == 1) { byId.setState(2); studyClient.freeze(id); return AjaxResult.success("冻结成功"); }else { byId.setState(1); studyClient.freeze(id); return AjaxResult.success("解冻成功"); } } @@ -146,18 +148,15 @@ tVipSet.setInfo(info); vipSetService.save(tVipSet); } return AjaxResult.success("保存成功"); } @ResponseBody @PostMapping("/vipOrderList") @ApiOperation(value = "列表查询", tags = {"会员管理"}) public AjaxResult<PageInfo<AppUserVO>> vipOrderList(AppUserQuery query) { PageInfo<VipOrderVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); List<VipOrderVO> list = vipOrderService.listAll(query); res.setRecords(list); res.setTotal(list.size()); return AjaxResult.success(res); public AjaxResult<PageInfo<VipOrderVO>> vipOrderList(AppUserQuery query) { PageInfo<VipOrderVO> data = studyClient.vipOrderList(query).getData(); return AjaxResult.success(data); } } ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TUserMapper.java
@@ -2,8 +2,8 @@ import com.ruoyi.management.domain.TUser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.management.dto.AppUserQuery; import com.ruoyi.management.vo.AppUserVO; import com.ruoyi.study.api.dto.AppUserQuery; import com.ruoyi.study.api.vo.AppUserVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -18,6 +18,6 @@ */ public interface TUserMapper extends BaseMapper<TUser> { List<AppUserVO> listAll(@Param("req") AppUserQuery query); // List<AppUserVO> listAll(@Param("req") AppUserQuery query); } ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/VipOrderMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITUserService.java
@@ -2,10 +2,6 @@ import com.ruoyi.management.domain.TUser; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.management.dto.AppUserQuery; import com.ruoyi.management.vo.AppUserVO; import java.util.List; /** * <p> @@ -17,6 +13,6 @@ */ public interface ITUserService extends IService<TUser> { List<AppUserVO> listAll(AppUserQuery query); // List<AppUserVO> listAll(AppUserQuery query); } ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/IVipOrderService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TUserServiceImpl.java
@@ -1,11 +1,11 @@ package com.ruoyi.management.service.impl; import com.ruoyi.management.domain.TUser; import com.ruoyi.management.dto.AppUserQuery; import com.ruoyi.management.mapper.TUserMapper; import com.ruoyi.management.service.ITUserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.management.vo.AppUserVO; import com.ruoyi.study.api.dto.AppUserQuery; import com.ruoyi.study.api.vo.AppUserVO; import org.springframework.stereotype.Service; import java.util.List; @@ -21,8 +21,8 @@ @Service public class TUserServiceImpl extends ServiceImpl<TUserMapper, TUser> implements ITUserService { @Override public List<AppUserVO> listAll(AppUserQuery query) { return this.baseMapper.listAll(query); } // @Override // public List<AppUserVO> listAll(AppUserQuery query) { // return this.baseMapper.listAll(query); // } } ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/VipOrderServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/TUserMapper.xml
@@ -25,27 +25,6 @@ <sql id="Base_Column_List"> id, name, account, phone, password, openId, birthday, gender, headImg, integral, state, insertTime, vipEndTime, vipPayTime, isBack, backTime </sql> <select id="listAll" resultType="com.ruoyi.management.vo.AppUserVO"> select * from t_user where 1=1 <if test="req.name !=null and req.name!=''"> AND name LIKE concat('%',#{req.name},'%') </if> <if test="req.phone !=null and req.phone!=''"> AND phone LIKE concat('%',#{req.phone},'%') </if> <if test="req.state !=null "> AND state = #{req.state} </if> <if test="req.isVip !=null and req.isVip == 0 "> AND (isNull(vipEndTime) or vipEndTime <= NOW()) </if> <if test="req.isVip !=null and req.isVip == 1 "> AND (vipEndTime IS NOT NULL and vipEndTime >= NOW()) </if> and state!=3 order by insertTime desc </select> </mapper> ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TParentLoginController.java
New file @@ -0,0 +1,54 @@ package com.ruoyi.study.controller; import com.ruoyi.common.core.web.domain.AjaxResult; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.time.LocalDate; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * <p> * 家长端登录 控制器 * </p> * * @author 无关风月 * @since 2024-04-26 */ @Controller @RequestMapping("/login/parent") public class TParentLoginController { @ResponseBody @PostMapping("/loginSms") @ApiOperation(value = "短信验证码登录", tags = {"APP-登录注册"}) @ApiImplicitParams({ @ApiImplicitParam(value = "电话号码", name = "phone", dataType = "string", required = true), @ApiImplicitParam(value = "短信验证码", name = "code", dataType = "string", required = true), }) public AjaxResult<String> loginSms(String phone, String code) { return null; } @ResponseBody @PostMapping("/base/appUser/logout") @ApiOperation(value = "退出登录", tags = {"我的"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header") }) public AjaxResult logout() { return AjaxResult.success("退出成功"); } } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
New file @@ -0,0 +1,135 @@ package com.ruoyi.study.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.study.domain.TUser; 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 io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * <p> * 用户管理 控制器 * </p> * * @author 无关风月 * @since 2024-04-26 */ @RestController @RequestMapping("/base/user") public class TUserController { @Autowired private ITUserService userService; @Autowired private IVipOrderService vipOrderService; @PostMapping("/userList") @ApiOperation(value = "用户列表", tags = {"用户管理"}) public R<PageInfo<AppUserVO>> couponReceive(AppUserQuery query) { PageInfo<AppUserVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); List<AppUserVO> 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()); return R.ok(res); } @PostMapping("/getUserInfo") @ApiOperation(value = "查看用户详情", tags = {"用户管理"}) public R<UserInfoVO> getUserInfo(UserInfoQuery dto) { SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd"); UserInfoVO res = new UserInfoVO(); PageInfo<UserGameRecordVO> 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<UserGameRecordVO> userGameRecordVOS = new ArrayList<>(); list.setRecords(userGameRecordVOS); list.setTotal(0); res.setGameRecords(list); return R.ok(res); } @PostMapping("/freeze") @ApiOperation(value = "冻结/解冻", tags = {"用户管理"}) public R freeze(Integer id) { TUser byId = userService.getById(id); if (byId.getState() == 1) { byId.setState(2); return R.ok("冻结成功"); }else { byId.setState(1); return R.ok("解冻成功"); } } @PostMapping("/vipOrderList") @ApiOperation(value = "列表查询", tags = {"会员管理"}) public R<PageInfo<VipOrderVO>> vipOrderList(AppUserQuery query) { PageInfo<VipOrderVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); List<VipOrderVO> list = vipOrderService.listAll(query); res.setRecords(list); res.setTotal(list.size()); return R.ok(res); } } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java
New file @@ -0,0 +1,208 @@ package com.ruoyi.study.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; import lombok.Data; import java.util.Date; /** * <p> * 用户表 * </p> * * @author 无关风月 * @since 2024-04-26 */ @Data @TableName("t_user") public class TUser extends BaseModel { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 用户姓名 */ private String name; /** * 账号 */ private String account; /** * 电话 */ private String phone; /** * 密码 */ private String password; /** * 微信openId */ private String openId; /** * 生日 */ private Date birthday; /** * 性别1男2女 */ private Integer gender; /** * 用户头像 */ private String headImg; /** * 积分 */ private Integer integral; /** * 状态1正常 2冻结 3删除 */ private Integer state; /** * 添加时间 */ private Date insertTime; /** * 会员到期时间 字段未空 则不是会员 */ private Date vipEndTime; /** * 充值会员时间 续费刷新该字段 */ private Date vipPayTime; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getOpenId() { return openId; } public void setOpenId(String openId) { this.openId = openId; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public Integer getGender() { return gender; } public void setGender(Integer gender) { this.gender = gender; } public String getHeadImg() { return headImg; } public void setHeadImg(String headImg) { this.headImg = headImg; } public Integer getState() { return state; } public void setState(Integer state) { this.state = state; } public Date getInsertTime() { return insertTime; } public void setInsertTime(Date insertTime) { this.insertTime = insertTime; } public Date getVipEndTime() { return vipEndTime; } public void setVipEndTime(Date vipEndTime) { this.vipEndTime = vipEndTime; } public Date getVipPayTime() { return vipPayTime; } public void setVipPayTime(Date vipPayTime) { this.vipPayTime = vipPayTime; } @Override public String toString() { return "TUser{" + ", id=" + id + ", name=" + name + ", account=" + account + ", phone=" + phone + ", password=" + password + ", openId=" + openId + ", birthday=" + birthday + ", gender=" + gender + ", headImg=" + headImg + ", integral=" + integral + ", state=" + state + ", insertTime=" + insertTime + ", vipEndTime=" + vipEndTime + ", vipPayTime=" + vipPayTime + "}"; } } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TVipOrder.java
New file @@ -0,0 +1,65 @@ package com.ruoyi.study.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.web.domain.BaseModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * <p> * 系统设置 * </p> * * @author 无关风月 * @since 2024-04-26 */ @Data @TableName("t_vip_order") public class TVipOrder extends BaseModel { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 用户id */ @ApiModelProperty(value = "用户id") private Integer userId; /** * 支付金额 */ @ApiModelProperty(value = "支付金额") private BigDecimal money; /** * 支付时间 */ @ApiModelProperty(value = "支付时间") private Date payTime; /** * 订单状态1未支付2已支付3已退款 */ @ApiModelProperty(value = "订单状态1未支付2已支付3已退款") private Integer payState; /** * 退款时间 */ @ApiModelProperty(value = "退款时间") private Date backTime; /** * 有效期至 */ @ApiModelProperty(value = "有效期至") private Date time; } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/AppUserQuery.java
File was renamed from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/dto/AppUserQuery.java @@ -1,4 +1,4 @@ package com.ruoyi.management.dto; package com.ruoyi.study.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/UserInfoQuery.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.study.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @ApiModel @Data public class UserInfoQuery { @ApiModelProperty(value = "用户id") private Integer id; @ApiModelProperty(value = "页码,首页1", required = true) private Integer pageNumber; @ApiModelProperty(value = "页条数", required = true) private Integer pageSize; } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserMapper.java
New file @@ -0,0 +1,23 @@ package com.ruoyi.study.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.study.domain.TUser; import com.ruoyi.study.dto.AppUserQuery; import com.ruoyi.study.vo.AppUserVO; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> * 用户表 Mapper 接口 * </p> * * @author 无关风月 * @since 2024-04-26 */ public interface TUserMapper extends BaseMapper<TUser> { List<AppUserVO> listAll(@Param("req") AppUserQuery query); } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/VipOrderMapper.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.study.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.study.domain.TVipOrder; import com.ruoyi.study.dto.AppUserQuery; import com.ruoyi.study.vo.VipOrderVO; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> * 部门表 Mapper 接口 * </p> * * @author 无关风月 * @since 2024-04-26 */ public interface VipOrderMapper extends BaseMapper<TVipOrder> { List<VipOrderVO> listAll(@Param("req") AppUserQuery query); } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserService.java
New file @@ -0,0 +1,23 @@ package com.ruoyi.study.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.study.domain.TUser; import com.ruoyi.study.dto.AppUserQuery; import com.ruoyi.study.vo.AppUserVO; import java.util.List; /** * <p> * 用户表 服务类 * </p> * * @author 无关风月 * @since 2024-04-26 */ public interface ITUserService extends IService<TUser> { List<AppUserVO> listAll(AppUserQuery query); } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/IVipOrderService.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.study.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.study.domain.TVipOrder; import com.ruoyi.study.dto.AppUserQuery; import com.ruoyi.study.vo.VipOrderVO; import java.util.List; /** * <p> * 部门表 服务类 * </p> * * @author 无关风月 * @since 2024-04-26 */ public interface IVipOrderService extends IService<TVipOrder> { List<VipOrderVO> listAll(AppUserQuery query); } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserServiceImpl.java
New file @@ -0,0 +1,28 @@ package com.ruoyi.study.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.study.domain.TUser; import com.ruoyi.study.dto.AppUserQuery; import com.ruoyi.study.mapper.TUserMapper; import com.ruoyi.study.service.ITUserService; import com.ruoyi.study.vo.AppUserVO; import org.springframework.stereotype.Service; import java.util.List; /** * <p> * 用户表 服务实现类 * </p> * * @author 无关风月 * @since 2024-04-26 */ @Service public class TUserServiceImpl extends ServiceImpl<TUserMapper, TUser> implements ITUserService { @Override public List<AppUserVO> listAll(AppUserQuery query) { return this.baseMapper.listAll(query); } } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/VipOrderServiceImpl.java
New file @@ -0,0 +1,28 @@ package com.ruoyi.study.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.study.domain.TVipOrder; import com.ruoyi.study.dto.AppUserQuery; import com.ruoyi.study.mapper.VipOrderMapper; import com.ruoyi.study.service.IVipOrderService; import com.ruoyi.study.vo.VipOrderVO; import org.springframework.stereotype.Service; import java.util.List; /** * <p> * 部门表 服务实现类 * </p> * * @author 无关风月 * @since 2024-04-26 */ @Service public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper, TVipOrder> implements IVipOrderService { @Override public List<VipOrderVO> listAll(AppUserQuery query) { return this.baseMapper.listAll(query); } } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/AppUserVO.javacopy from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/AppUserVO.java copy to ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/AppUserVO.java
File was copied from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/AppUserVO.java @@ -1,4 +1,4 @@ package com.ruoyi.management.vo; package com.ruoyi.study.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserGameRecordVO.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.study.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "游戏数据VO") public class UserGameRecordVO { @ApiModelProperty(value = "游戏时间") private Integer time; @ApiModelProperty(value = "游戏名称") private String gameName; @ApiModelProperty(value = "用时时间") private String useTime; @ApiModelProperty(value = "正确率") private String accuracy; } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java
New file @@ -0,0 +1,39 @@ package com.ruoyi.study.vo; import com.ruoyi.common.core.web.page.PageInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "用户详情VO") public class UserInfoVO { @ApiModelProperty(value = "用户状态 1正常 2冻结") private Integer state; @ApiModelProperty(value = "用户名称") private String name; @ApiModelProperty(value = "电话") private String phone; @ApiModelProperty(value = "注册时间") private String insertTime; @ApiModelProperty(value = "是否是会员 0否1是") private Integer isVip; @ApiModelProperty(value = "成为会员时间 没有则为空") private String vipPayTime; @ApiModelProperty(value = "剩余积分") private Integer integral; @ApiModelProperty(value = "当前进度") private Integer current; @ApiModelProperty(value = "剩余进度") private Integer surplus; @ApiModelProperty(value = "学习总时长") private Double totalHours; @ApiModelProperty(value = "今日学习时长") private Double todayHours; @ApiModelProperty(value = "本周学习时长") private Double weekHours; @ApiModelProperty(value = "本月学习时长") private Double monthHours; @ApiModelProperty(value = "游戏数据列表") private PageInfo<UserGameRecordVO> gameRecords; } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/VipOrderVO.java
File was renamed from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/VipOrderVO.java @@ -1,4 +1,4 @@ package com.ruoyi.management.vo; package com.ruoyi.study.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TGameMapper.xml
@@ -2,23 +2,6 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.study.mapper.TGameMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.study.domain.TGame"> <id column="id" property="id" /> <result column="week" property="week" /> <result column="name" property="name" /> <result column="difficulty" property="difficulty" /> <result column="count" property="count" /> <result column="integral" property="integral" /> <result column="time" property="time" /> <result column="answerTime" property="answerTime" /> <result column="answerIntegral" property="answerIntegral" /> <result column="answerCount" property="answerCount" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, week, name, difficulty, count, integral, time, answerTime, answerIntegral, answerCount </sql> </mapper> ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserMapper.xml
New file @@ -0,0 +1,51 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.study.mapper.TUserMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.study.domain.TUser"> <id column="id" property="id" /> <result column="name" property="name" /> <result column="account" property="account" /> <result column="phone" property="phone" /> <result column="password" property="password" /> <result column="openId" property="openId" /> <result column="birthday" property="birthday" /> <result column="gender" property="gender" /> <result column="headImg" property="headImg" /> <result column="integral" property="integral" /> <result column="state" property="state" /> <result column="insertTime" property="insertTime" /> <result column="vipEndTime" property="vipEndTime" /> <result column="vipPayTime" property="vipPayTime" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, name, account, phone, password, openId, birthday, gender, headImg, integral, state, insertTime, vipEndTime, vipPayTime, isBack, backTime </sql> <select id="listAll" resultType="com.ruoyi.study.vo.AppUserVO"> select * from t_user where 1=1 <if test="req.name !=null and req.name!=''"> AND name LIKE concat('%',#{req.name},'%') </if> <if test="req.phone !=null and req.phone!=''"> AND phone LIKE concat('%',#{req.phone},'%') </if> <if test="req.state !=null "> AND state = #{req.state} </if> <if test="req.isVip !=null and req.isVip == 0 "> AND (isNull(vipEndTime) or vipEndTime <= NOW()) </if> <if test="req.isVip !=null and req.isVip == 1 "> AND (vipEndTime IS NOT NULL and vipEndTime >= NOW()) </if> and state!=3 order by insertTime desc </select> </mapper> ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/VipOrderMapper.xml
File was renamed from ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/VipOrderMapper.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.management.mapper.VipOrderMapper"> <mapper namespace="com.ruoyi.study.mapper.VipOrderMapper"> <select id="listAll" resultType="com.ruoyi.management.vo.VipOrderVO"> <select id="listAll" resultType="com.ruoyi.study.vo.VipOrderVO"> select t1.*,t2.`name`,t2.phone from t_vip_order left join t_user t2 on t1.id = t2.userid