From 8d90d3f271a9c28bf46f755b1561f07c163d8823 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期四, 16 五月 2024 17:41:39 +0800 Subject: [PATCH] 代码提交 --- ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/TUserMapper.xml | 23 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RegionMapper.java | 12 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/AppUserQuery.java | 2 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/VipOrderMapper.java | 22 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TGoods.java | 7 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TVipOrder.java | 65 ++ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TParentLoginController.java | 54 + ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java | 147 ++-- ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Recipient.java | 163 +++++ ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/VipOrderMapper.xml | 4 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/VipOrderServiceImpl.java | 28 + ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/VipOrderVO.java | 2 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRegionService.java | 12 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RegionServiceImpl.java | 14 ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RegionMapper.xml | 8 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITUserService.java | 6 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RecipientServiceImpl.java | 20 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/IVipOrderService.java | 22 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RecipientMapper.java | 17 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TVipOrder.java | 65 ++ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserServiceImpl.java | 28 + ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TUserMapper.java | 6 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/AppUserQuery.java | 2 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/AppUserVO.java | 2 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/AppUserVO.java | 2 ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RecipientMapper.xml | 24 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java | 20 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java | 4 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TUserServiceImpl.java | 12 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserService.java | 23 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/UserInfoQuery.java | 17 ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java | 7 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java | 208 +++++++ ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TGameMapper.xml | 17 ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserMapper.xml | 51 + ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserGameRecordVO.java | 18 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/VipOrderVO.java | 2 /dev/null | 32 - ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TUser.java | 208 +++++++ ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Region.java | 41 + ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java | 135 ++++ ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRecipientService.java | 17 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java | 39 + ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/TGoodsVO.java | 4 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java | 11 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserMapper.java | 23 46 files changed, 1,477 insertions(+), 169 deletions(-) diff --git a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java b/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java index 7fe4807..a2a0100 100644 --- a/ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TGoods.java +++ b/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 = "商品名称") diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TUser.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TUser.java new file mode 100644 index 0000000..7878ac2 --- /dev/null +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TUser.java @@ -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 + + + "}"; + } +} diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TVipOrder.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TVipOrder.java new file mode 100644 index 0000000..26953e9 --- /dev/null +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/domain/TVipOrder.java @@ -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; + + + +} diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/dto/AppUserQuery.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/AppUserQuery.java similarity index 94% copy 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 index 5a31070..4142889 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/dto/AppUserQuery.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/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; diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java index 1ce47f1..4d28c73 100644 --- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/factory/StudyFallbackFactory.java +++ b/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()); } diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java index 5ac294b..9ffab99 100644 --- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java +++ b/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 diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/AppUserVO.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/AppUserVO.java similarity index 95% rename from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/AppUserVO.java rename to ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/AppUserVO.java index 772e920..c1243cc 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/AppUserVO.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/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; diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/VipOrderVO.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/VipOrderVO.java similarity index 96% copy 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 index dba0c1b..37f209b 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/VipOrderVO.java +++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/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; diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java index d74b507..22f61dc 100644 --- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java +++ b/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); diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Recipient.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Recipient.java new file mode 100644 index 0000000..ceadfb2 --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Recipient.java @@ -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 + + "}"; + } +} diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Region.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Region.java new file mode 100644 index 0000000..cf79817 --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/Region.java @@ -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; +} diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TGoods.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TGoods.java index cf7df3a..fb1adc8 100644 --- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TGoods.java +++ b/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 = "商品原价") diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RecipientMapper.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RecipientMapper.java new file mode 100644 index 0000000..9271081 --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RecipientMapper.java @@ -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> { + +} diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RegionMapper.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RegionMapper.java new file mode 100644 index 0000000..4493b68 --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/RegionMapper.java @@ -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> { + + +} diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRecipientService.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRecipientService.java new file mode 100644 index 0000000..bcc273d --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRecipientService.java @@ -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> { + +} diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRegionService.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRegionService.java new file mode 100644 index 0000000..8e32b7d --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IRegionService.java @@ -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> { + + +} diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RecipientServiceImpl.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RecipientServiceImpl.java new file mode 100644 index 0000000..1903ed7 --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RecipientServiceImpl.java @@ -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 { + +} diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RegionServiceImpl.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RegionServiceImpl.java new file mode 100644 index 0000000..ba857bc --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/RegionServiceImpl.java @@ -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 { + +} diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/TGoodsVO.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/TGoodsVO.java index e0c2255..2e3319d 100644 --- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/vo/TGoodsVO.java +++ b/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 */ diff --git a/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RecipientMapper.xml b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RecipientMapper.xml new file mode 100644 index 0000000..5a4750d --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RecipientMapper.xml @@ -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> diff --git a/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RegionMapper.xml b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RegionMapper.xml new file mode 100644 index 0000000..7d7695d --- /dev/null +++ b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/RegionMapper.xml @@ -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> \ No newline at end of file diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java index cf1fb43..d63cb2f 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java +++ b/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); } } diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TUserMapper.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TUserMapper.java index 4d4a254..398c3f6 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TUserMapper.java +++ b/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); } diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/VipOrderMapper.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/VipOrderMapper.java deleted file mode 100644 index 6f03352..0000000 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/VipOrderMapper.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.ruoyi.management.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.management.domain.SysDept; -import com.ruoyi.management.domain.TVipOrder; -import com.ruoyi.management.dto.AppUserQuery; -import com.ruoyi.management.dto.DeptQuery; -import com.ruoyi.management.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); - -} diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITUserService.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITUserService.java index 80af5f3..a401331 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITUserService.java +++ b/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); } diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/IVipOrderService.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/IVipOrderService.java deleted file mode 100644 index f6a83e6..0000000 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/IVipOrderService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.ruoyi.management.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.management.domain.SysDept; -import com.ruoyi.management.domain.TVipOrder; -import com.ruoyi.management.dto.AppUserQuery; -import com.ruoyi.management.dto.DeptQuery; -import com.ruoyi.management.vo.VipOrderVO; - -import java.util.List; - -/** - * <p> - * 部门表 服务类 - * </p> - * - * @author 无关风月 - * @since 2024-04-26 - */ -public interface IVipOrderService extends IService<TVipOrder> { - List<VipOrderVO> listAll(AppUserQuery query); - -} diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TUserServiceImpl.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TUserServiceImpl.java index 1922562..24b9959 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TUserServiceImpl.java +++ b/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); +// } } diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/VipOrderServiceImpl.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/VipOrderServiceImpl.java deleted file mode 100644 index 1e3275b..0000000 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/VipOrderServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.ruoyi.management.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.management.domain.SysDept; -import com.ruoyi.management.domain.TVipOrder; -import com.ruoyi.management.dto.AppUserQuery; -import com.ruoyi.management.dto.DeptQuery; -import com.ruoyi.management.mapper.SysDeptMapper; -import com.ruoyi.management.mapper.VipOrderMapper; -import com.ruoyi.management.service.ISysDeptService; -import com.ruoyi.management.service.IVipOrderService; -import com.ruoyi.management.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); - } -} diff --git a/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/TUserMapper.xml b/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/TUserMapper.xml index a7861a3..26d6e4b 100644 --- a/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/TUserMapper.xml +++ b/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> diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TParentLoginController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TParentLoginController.java new file mode 100644 index 0000000..f30ee1f --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TParentLoginController.java @@ -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("退出成功"); + } +} + 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 new file mode 100644 index 0000000..d477903 --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java @@ -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); + } +} + diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java new file mode 100644 index 0000000..59c4fc8 --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java @@ -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 + + + "}"; + } +} diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TVipOrder.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TVipOrder.java new file mode 100644 index 0000000..8c544ee --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TVipOrder.java @@ -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; + + + +} diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/dto/AppUserQuery.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/AppUserQuery.java similarity index 94% rename from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/dto/AppUserQuery.java rename to ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/AppUserQuery.java index 5a31070..d53312c 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/dto/AppUserQuery.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/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; diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/UserInfoQuery.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/UserInfoQuery.java new file mode 100644 index 0000000..bae44ce --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/UserInfoQuery.java @@ -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; +} \ No newline at end of file diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserMapper.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserMapper.java new file mode 100644 index 0000000..fac948a --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/TUserMapper.java @@ -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); + +} diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/VipOrderMapper.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/VipOrderMapper.java new file mode 100644 index 0000000..c56fd32 --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/mapper/VipOrderMapper.java @@ -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); + +} diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserService.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserService.java new file mode 100644 index 0000000..b78562c --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/ITUserService.java @@ -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); + +} diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/IVipOrderService.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/IVipOrderService.java new file mode 100644 index 0000000..207e6ea --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/IVipOrderService.java @@ -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); + +} diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserServiceImpl.java new file mode 100644 index 0000000..0fcce24 --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserServiceImpl.java @@ -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); + } +} diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/VipOrderServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/VipOrderServiceImpl.java new file mode 100644 index 0000000..614fdba --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/VipOrderServiceImpl.java @@ -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); + } +} diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/AppUserVO.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/AppUserVO.java similarity index 95% copy 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 index 772e920..9b6908d 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/AppUserVO.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/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; diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserGameRecordVO.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserGameRecordVO.java new file mode 100644 index 0000000..dbcb012 --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserGameRecordVO.java @@ -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; +} \ No newline at end of file diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java new file mode 100644 index 0000000..97b22f0 --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/UserInfoVO.java @@ -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; +} \ No newline at end of file diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/VipOrderVO.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/VipOrderVO.java similarity index 96% rename from ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/VipOrderVO.java rename to ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/VipOrderVO.java index dba0c1b..05c6e23 100644 --- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/VipOrderVO.java +++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/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; diff --git a/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TGameMapper.xml b/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TGameMapper.xml index 05a78f7..e068c76 100644 --- a/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TGameMapper.xml +++ b/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> diff --git a/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserMapper.xml b/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserMapper.xml new file mode 100644 index 0000000..7fd39ef --- /dev/null +++ b/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/TUserMapper.xml @@ -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> diff --git a/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/VipOrderMapper.xml b/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/VipOrderMapper.xml similarity index 81% rename from ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/VipOrderMapper.xml rename to ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/VipOrderMapper.xml index 21bea1a..35ff663 100644 --- a/ruoyi-service/ruoyi-management/src/main/resources/mapper/management/src/main/resources/mapper/VipOrderMapper.xml +++ b/ruoyi-service/ruoyi-study/src/main/resources/mapper/sutdy/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 -- Gitblit v1.7.1