This commit is contained in:
张良(004796)
2023-12-26 10:27:32 +08:00
parent b2cdbe9985
commit b4ceb243e3
45 changed files with 293 additions and 9 deletions

View File

@@ -1,9 +1,13 @@
package com.ruoyi.cai.auth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "登陆入参模型")
public class LoginCaiUser {
@Schema(description = "用户")
private String username;
@Schema(description = "密码")
private String password;
}

View File

@@ -13,7 +13,6 @@ import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

View File

@@ -6,6 +6,9 @@ import com.ruoyi.cai.auth.LoginCaiUser;
import com.ruoyi.cai.service.CaiUserService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginBody;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -18,6 +21,7 @@ import java.util.Map;
@RestController
@RequestMapping("/api/auth")
@SaIgnore
@Tag(name = "权限相关接口,免鉴权")
public class CaiAuthAppController {
@Autowired
@@ -26,13 +30,15 @@ public class CaiAuthAppController {
private CaiUserService caiUserService;
@PostMapping("/register")
@Operation(summary = "注册")
public R<Void> register(@RequestBody LoginCaiUser caiUser){
caiUserService.register(caiUser);
return R.ok();
}
@PostMapping("/login")
public R<Map<String,Object>> login(@RequestBody LoginBody loginBody){
@Operation(summary = "登陆")
public R<Map<String,Object>> login(@RequestBody LoginCaiUser loginBody){
Map<String, Object> ajax = new HashMap<>();
String token = caiLoginManager.login(loginBody.getUsername(), loginBody.getPassword());
ajax.put("token",token);

View File

@@ -13,6 +13,8 @@ import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.helper.LoginHelper;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -23,6 +25,7 @@ import java.util.List;
@RestController
@RequestMapping("/api/current")
@Tag(name = "当前用户相关接口")
public class CaiCurrentUserAppController {
@Autowired
private CurrentUserManager currentUserManager;
@@ -36,18 +39,21 @@ public class CaiCurrentUserAppController {
private CaiReportService reportService;
@GetMapping("/user/aliInfo")
@Operation(summary = "获取绑定支付宝信息")
public R<CaiAccountBankcard> aliInfo(){
CaiAccountBankcard accountBankcard = currentUserManager.aliInfo();
return R.ok(accountBankcard);
}
@PostMapping("/user/save-or-update/ali")
@Operation(summary = "支付宝信息的新增和修改")
public R<Boolean> updateAli(AccountAliBankCardRes res){
currentUserManager.saveOrUpdateAliInfo(res);
return R.ok(true);
}
@PostMapping("/user/withdraw/ali")
@Operation(summary = "支付宝提现接口")
public R<Boolean> withdraw(WithdrawRes res){
res.setUserId(LoginHelper.getUserId());
accountCashService.withdraw(res);
@@ -55,47 +61,56 @@ public class CaiCurrentUserAppController {
}
@GetMapping("/user/info")
@Operation(summary = "当前用户信息")
public R<CurrentUserInfoVo> currentInfo(){
return R.ok(currentUserManager.currentInfo());
}
@GetMapping("/user/account")
@Operation(summary = "快速获取当前用户账号信息")
public R<UserAccountVo> currentAccount(){
return R.ok(currentUserManager.currentAccount());
}
@GetMapping("/anchor/info")
@Operation(summary = "当前用户的主播信息")
public R<AnchorVo> anchorInfo(){
return R.ok(currentUserManager.anchorInfo());
}
@PostMapping("/anchor/update")
@Operation(summary = "修改当前用户的主播信息")
public R<Boolean> anchorUpdate(AnchorUpdateRes anchorUpdate){
return R.ok(currentUserManager.anchorUpdate(anchorUpdate));
}
@PostMapping("/user/update")
@Operation(summary = "修改当前用户信息")
public R<Boolean> userUpdate(UserUpdateRes res){
return R.ok(currentUserManager.userUpdate(res));
}
@PostMapping("/user/album/del")
@Operation(summary = "删除相册")
public R<Boolean> userAlbumDel(IdRes res){
return R.ok(userAlbumService.removeAlbum(res.getId()));
}
@PostMapping("/user/album/add")
@Operation(summary = "新增相册")
public R<Boolean> userAlbumAdd(AlbumAddRes res){
res.setUserId(LoginHelper.getUserId());
return R.ok(userAlbumService.addAlbum(res));
}
@PostMapping("/user/album/reset")
@Operation(summary = "重排序相册")
public R<Boolean> userAlbumAdd(List<AlbumResetRes> res){
return R.ok(userAlbumService.resetAlbum(res,LoginHelper.getUserId()));
}
@GetMapping("/user/recharge/log")
@Operation(summary = "充值记录-分页")
public TableDataInfo<AccountRechargeVo> rechargeLog(PageQuery query){
Long userId = LoginHelper.getUserId();
Page<CaiAccountRecharge> page = caiAccountRechargeService.page(query.build(), Wrappers.lambdaQuery(CaiAccountRecharge.class)
@@ -105,6 +120,7 @@ public class CaiCurrentUserAppController {
}
@GetMapping("/user/cash/log")
@Operation(summary = "提现记录-分页")
public TableDataInfo<AccountCashVo> cashLog(PageQuery query){
Long userId = LoginHelper.getUserId();
Page<CaiAccountCash> page = accountCashService.page(query.build(), Wrappers.lambdaQuery(CaiAccountCash.class)
@@ -114,6 +130,7 @@ public class CaiCurrentUserAppController {
}
@PostMapping("/user/report")
@Operation(summary = "举报")
public R<Void> report(UserReportRes reportRes){
Long userId = LoginHelper.getUserId();
reportRes.setUserId(userId);

View File

@@ -8,6 +8,8 @@ import com.ruoyi.cai.service.CaiGoodsService;
import com.ruoyi.cai.service.CaiReportCateService;
import com.ruoyi.cai.service.CaiWithdrawExchangeService;
import com.ruoyi.common.core.domain.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -17,6 +19,7 @@ import java.util.List;
@RestController
@RequestMapping("/api/setting")
@Tag(name = "获取设置相关接口")
public class CaiSettingAppController {
@Autowired
@@ -27,6 +30,7 @@ public class CaiSettingAppController {
private CaiReportCateService reportCateService;
@GetMapping("/goods")
@Operation(summary = "充值配置")
public R<List<CaiGoods>> goods(){
List<CaiGoods> list = goodsService.list(Wrappers.lambdaQuery(CaiGoods.class)
.eq(CaiGoods::getStatus,0)
@@ -35,6 +39,7 @@ public class CaiSettingAppController {
}
@GetMapping("/withdraw")
@Operation(summary = "提现配置")
public R<List<CaiWithdrawExchange>> withdraw(){
List<CaiWithdrawExchange> list = withdrawExchangeService.list(Wrappers.lambdaQuery(CaiWithdrawExchange.class)
.orderByAsc(CaiWithdrawExchange::getMoney));
@@ -42,6 +47,7 @@ public class CaiSettingAppController {
}
@GetMapping("/report")
@Operation(summary = "举报分类配置")
public R<List<CaiReportCate>> report(){
List<CaiReportCate> list = reportCateService.list(Wrappers.lambdaQuery(CaiReportCate.class));
return R.ok(list);

View File

@@ -10,6 +10,8 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.helper.LoginHelper;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -17,18 +19,21 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/user")
@Tag(name = "用户相关接口")
public class CaiUserAppController {
@Autowired
private CaiUserService caiUserService;
@GetMapping("/page")
@Operation(summary = "用户全局查询-分页")
public TableDataInfo<UserListVo> page(PageQuery page, UserQuery query){
Page<UserListVo> res = caiUserService.pageApp(page,query);
return TableDataInfo.build(res);
}
@GetMapping("/info")
@Operation(summary = "用户首页信息")
public R<UserInfoVo> info(Long userId){
UserInfoVo res = caiUserService.info(userId);
return R.ok(res);

View File

@@ -11,6 +11,8 @@ import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.helper.LoginHelper;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/dynamic")
@Tag(name = "广场动态相关接口")
public class CaiUserDynamicAppController {
@Autowired
@@ -27,12 +30,14 @@ public class CaiUserDynamicAppController {
private CaiUserFollowDynamicService userFollowDynamicService;
@GetMapping("/page")
@Operation(summary = "广场动态查询")
public TableDataInfo<DynamicListVo> page(PageQuery pageQuery, DynamicQuery query){
Page<DynamicListVo> resp = dynamicService.pageApp(pageQuery,query);
return TableDataInfo.build(resp);
}
@PostMapping("/star")
@Operation(summary = "关注动态")
public R<Void> star(DynamicStarRes query){
query.setUserId(LoginHelper.getUserId());
userFollowDynamicService.star(query);
@@ -40,6 +45,7 @@ public class CaiUserDynamicAppController {
}
@PostMapping("/unstar")
@Operation(summary = "取消关注动态")
public R<Void> unStar(DynamicStarRes query){
query.setUserId(LoginHelper.getUserId());
userFollowDynamicService.unStar(query);
@@ -47,6 +53,7 @@ public class CaiUserDynamicAppController {
}
@PostMapping("/save")
@Operation(summary = "发布动态")
public R<Void> save(DynamicAddRes res){
res.setUserId(LoginHelper.getUserId());
dynamicService.saveDynamic(res);

View File

@@ -8,6 +8,8 @@ import com.ruoyi.cai.service.CaiUserFollowService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -16,24 +18,28 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/user/star")
@Tag(name = "关注相关接口")
public class CaiUserStartAppController {
@Autowired
private CaiUserFollowService userFollowService;
@PostMapping("/star")
@Operation(summary = "关注用户")
public R<Boolean> star(StarOrVisitorRes starOrVisitorRes){
boolean bool = userFollowService.star(starOrVisitorRes);
return R.ok(bool);
}
@PostMapping("/unstar")
@Operation(summary = "取消关注用户")
public R<Boolean> unStar(StarOrVisitorRes starOrVisitorRes){
boolean bool = userFollowService.unStar(starOrVisitorRes);
return R.ok(bool);
}
@GetMapping("/page")
@Operation(summary = "关注、粉丝列表查询")
public TableDataInfo<UserStarOrVisitorList> page(StarQuery query, PageQuery pageQuery){
Page<UserStarOrVisitorList> res = userFollowService.pageApp(pageQuery,query);
return TableDataInfo.build(res);

View File

@@ -8,6 +8,8 @@ import com.ruoyi.cai.service.CaiUserVisitorService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/user/visitor")
@Slf4j
@Tag(name = "访问记录相关接口")
public class CaiUserVisitorAppController {
@Autowired
@@ -25,6 +28,7 @@ public class CaiUserVisitorAppController {
// 除网络问题不返回异常。避免影响业务
@PostMapping("/visitor")
@Operation(summary = "新增浏览记录")
public R<Boolean> visitor(StarOrVisitorRes starOrVisitorRes){
try {
boolean bool = userVisitorService.visitor(starOrVisitorRes);
@@ -35,6 +39,7 @@ public class CaiUserVisitorAppController {
}
@GetMapping("/page")
@Operation(summary = "我的浏览记录、访客查询-分页")
public TableDataInfo<UserStarOrVisitorList> page(VisitorQuery query, PageQuery pageQuery){
Page<UserStarOrVisitorList> res = userVisitorService.pageApp(pageQuery,query);
return TableDataInfo.build(res);

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@@ -14,6 +15,7 @@ import java.io.Serializable;
*/
@Data
@TableName("cai_account_bankcard")
@Schema(description = "用户银行卡对象")
public class CaiAccountBankcard implements Serializable {
private static final long serialVersionUID=1L;
@@ -22,34 +24,42 @@ public class CaiAccountBankcard implements Serializable {
*
*/
@TableId(value = "id")
@Schema(description = "ID")
private Integer id;
/**
*
*/
@Schema(description = "用户ID")
private Long userId;
/**
* 账户类型 1 支付宝 2 微信 3 银行卡
*/
@Schema(description = "类型")
private Integer type;
/**
* 银行编码
*/
@Schema(description = "编码")
private String bankCode;
/**
* 银行名称
*/
@Schema(description = "名称")
private String bank;
/**
* 持卡人姓名
*/
@Schema(description = "持卡人姓名")
private String cardName;
/**
* 卡号
*/
@Schema(description = "卡号")
private String cardAccount;
/**
* 0 可用 1 不可用
*/
@Schema(description = "状态")
private Integer status;
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@@ -22,27 +23,33 @@ public class CaiGoods implements Serializable {
/**
*
*/
@Schema(description = "ID")
@TableId(value = "id")
private Long id;
/**
*
*/
@Schema(description = "名称")
private String name;
/**
*
*/
@Schema(description = "价格")
private BigDecimal price;
/**
*
*/
@Schema(description = "紫贝数量")
private Long amount;
/**
* 状态 0 可用 1不可用
*/
@Schema(description = "可用状态")
private Integer status;
/**
*
*/
@Schema(description = "备注")
private String remark;
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@@ -22,10 +23,12 @@ public class CaiReportCate implements Serializable {
*
*/
@TableId(value = "id")
@Schema(description = "举报分类ID")
private Integer id;
/**
*
*/
@Schema(description = "名称")
private String name;
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@@ -22,14 +23,17 @@ public class CaiWithdrawExchange implements Serializable {
*
*/
@TableId(value = "id")
@Schema(description = "提现-兑换配置")
private Long id;
/**
* 兑换金额
*/
@Schema(description = "兑换金额")
private Integer money;
/**
* 所需货币数量
*/
@Schema(description = "所需货币")
private Integer coinNum;
}

View File

@@ -1,17 +1,22 @@
package com.ruoyi.cai.dto.app.query;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "用户银行卡修改入参")
public class AccountAliBankCardRes {
@Schema(description = "ID")
private Integer id;
/**
* 持卡人姓名
*/
@Schema(description = "持卡人姓名")
private String cardName;
/**
* 卡号
*/
@Schema(description = "卡号")
private String cardAccount;
}

View File

@@ -1,11 +1,15 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class AlbumAddRes {
@Schema(description = "用户ID",accessMode = Schema.AccessMode.READ_ONLY)
private Long userId;
@Schema(description = "url")
private String url;
@Schema(description = "排序")
private Integer orderBy;
// private boolean first;
}

View File

@@ -1,9 +1,12 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class AlbumResetRes {
@Schema(description = "ID")
private Long id;
@Schema(description = "排序")
private Integer orderBy;
}

View File

@@ -13,9 +13,9 @@ public class AnchorListQuery {
* 2-新人查询
* 3-同城查询
*/
@Schema(description = "类型")
@Schema(description = "类型 0-默认 1-活跃 2-新人 3-同城")
private Integer type;
@Schema(description = "城市")
@Schema(description = "城市(同城查询使用)")
private String city;
}

View File

@@ -1,21 +1,26 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class AnchorUpdateRes {
@Schema(description = "用户ID")
private Long userId;
/**
* 价格默认50彩币
*/
@Schema(description = "价格")
private Long price;
/**
* 开启视频接听 0 未开启 1 已开启
*/
@Schema(description = "开启视频接听")
private Integer openVideoStatus;
/**
* 是否隐藏接单次数 1隐藏 2不隐藏
*/
@Schema(description = "是否隐藏接单次数")
private Integer orderSwitch;
}

View File

@@ -1,28 +1,34 @@
package com.ruoyi.cai.dto.app.query;
import com.ruoyi.cai.dto.app.vo.DynamicImageVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
@Schema(description = "发布动态")
public class DynamicAddRes {
/**
* 用户ID
*/
@Schema(description = "用户ID")
private Long userId;
/**
* 内容
*/
@Schema(description = "内容")
private String content;
/**
* 城市ID
*/
@Schema(description = "城市ID")
private Integer cityId;
/**
* 是否有附件 0 没有 1 有
*/
@Schema(description = "是否有附件")
private Integer isAttach;
/**
* 状态 0 审核中 1可用 2 不可用
@@ -34,6 +40,6 @@ public class DynamicAddRes {
private Long sort;
private LocalDateTime createTime;
@Schema(description = "照片列表")
private List<DynamicImageVo> imageList;
}

View File

@@ -1,16 +1,22 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "动态查询入参")
public class DynamicQuery {
// 1=最新(默认) 2=关注 3=同城
@Schema(description = "类型 1=最新(默认) 2=关注 3=同城")
private Integer type = 1;
@Schema(description = "用户ID")
private Long userId;
@Schema(description = "当前用户ID", accessMode = Schema.AccessMode.READ_ONLY)
private Long currentUserId;
@Schema(description = "城市")
private Integer cityId;
}

View File

@@ -1,9 +1,13 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "动态关注")
public class DynamicStarRes {
@Schema(description = "动态ID")
private Long dynamicId;
@Schema(description = "用户ID",accessMode = Schema.AccessMode.READ_ONLY)
private Long userId;
}

View File

@@ -1,18 +1,24 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "赠送礼物入参")
public class GiveGiftRes {
/**
* 类型 1 个人详情页 2.IM页面 3视频页
*/
@Schema(description = "类型 1 个人详情页 2.IM页面 3视频页")
private Integer type;
@Schema(description = "接收方用户ID")
private Long toUserId;
@Schema(description = "礼物ID")
private Long giftId;
@Schema(description = "礼物数量")
private Long giftCount;
}

View File

@@ -1,8 +1,10 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class IdRes {
@Schema(description = "id")
private Long id;
}

View File

@@ -1,8 +1,11 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "入参模型")
public class StarOrVisitorRes {
@Schema(description = "目标用户ID")
private Long toUserId;
}

View File

@@ -1,11 +1,15 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "查询返回")
public class StarQuery {
// 1=查询我的关注 2=查询我的粉丝
@Schema(description = "类型 1=查询我的关注 2=查询我的粉丝")
private Integer type = 1;
@Schema(accessMode = Schema.AccessMode.READ_ONLY)
private Long userId;
}

View File

@@ -1,12 +1,17 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "用户查询")
public class UserQuery {
@Schema(description = "昵称")
private String nickname;
@Schema(description = "蜜瓜号")
private String usercode;
@Schema(description = "性别")
private Integer gender;
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@@ -8,21 +9,26 @@ public class UserReportRes {
/**
* 举报类型 1 个人详情页 2 视频结束 3 动态 4.IM页面
*/
@Schema(description = "举报类型 1 个人详情页 2 视频结束 3 动态 4.IM页面")
private Integer type;
/**
* 举报分类
*/
@Schema(description = "举报分类ID")
private Long cateId;
/**
* 举报人
*/
@Schema(description = "举报人")
private Long userId;
/**
* 举报对象
*/
@Schema(description = "举报对象")
private Long reportUid;
/**
* 举报内容
*/
@Schema(description = "举报内容")
private String content;
}

View File

@@ -1,13 +1,18 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class UserUpdateRes {
@Schema(description = "用户ID",accessMode = Schema.AccessMode.READ_ONLY)
private Long userId;
@Schema(description = "城市")
private String city;
@Schema(description = "昵称")
private String nickname;
@Schema(description = "生日")
private LocalDateTime birthday;
}

View File

@@ -1,11 +1,16 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "足迹")
public class VisitorQuery {
// 1=查询我的足迹 2=查询我的访客
@Schema(description = "类型 1=查询我的足迹 2=查询我的访客")
private Integer type = 1;
@Schema(description = "用户ID",accessMode = Schema.AccessMode.READ_WRITE)
private Long userId;
}

View File

@@ -1,22 +1,28 @@
package com.ruoyi.cai.dto.app.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "提现入参")
public class WithdrawRes {
/**
* 提现配置ID
*/
@Schema(description = "提现配置ID")
private Long withdrawSettingId;
/**
* 兑换金额
*/
@Schema(description = "兑换金额")
private Long money;
/**
* 所需货币数量
*/
@Schema(description = "所需货币数量")
private Long coinNum;
@Schema(description = "当前用户ID",accessMode = Schema.AccessMode.READ_ONLY)
private Long userId;
}

View File

@@ -1,58 +1,72 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@Schema(description = "提现记录")
public class AccountCashVo {
/**
*
*/
@Schema(description = "ID")
private Integer id;
/**
*
*/
@Schema(description = "用户Id")
private Long userId;
/**
* 提现金额
*/
@Schema(description = "提现金额")
private BigDecimal cashMoney;
/**
* 真实提现金额
*/
@Schema(description = "真实提现金额")
private BigDecimal realCashMoney;
/**
* 提现手续费
*/
@Schema(description = "手续费")
private BigDecimal cashFees;
/**
* 银行名称
*/
@Schema(description = "银行卡名称")
private String bank;
/**
* 账户名称
*/
@Schema(description = "账户名称")
private String cardName;
/**
* 账户
*/
@Schema(description = "账户")
private String cardAccount;
/**
* 1 申请 2 审核通过 3 审核不通过 4 提现取消
*/
@Schema(description = "1-待审核 2-审核通过 3-审核不通过 4-提现取消")
private Integer status;
/**
* 审核时间
*/
@Schema(description = "审核时间")
private LocalDateTime verifyTime;
/**
*
*/
@Schema(description = "审核备注")
private String verifyRemark;
@Schema(description = "提现时间")
private LocalDateTime createTime;
}

View File

@@ -1,48 +1,60 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@Schema(description = "充值记录")
public class AccountRechargeVo {
@Schema(description = "ID")
private Long id;
/**
*
*/
@Schema(description = "用户Id")
private Long userId;
/**
*
*/
@Schema(description = "充值ID")
private Long goodsId;
/**
*
*/
@Schema(description = "订单编号")
private String orderNo;
/**
* 订单名
*/
@Schema(description = "订单名称")
private String orderName;
/**
* 充值类型 0 手工充值 1 线上充值
*/
@Schema(description = "充值类型")
private Integer rechargeType;
/**
* 充值金额
*/
@Schema(description = "充值金额")
private BigDecimal rechargeMoney;
/**
* 充值的紫贝
*/
@Schema(description = "紫贝数量")
private Integer coinNum;
/**
* 充值平台类型
*/
@Schema(description = "平台")
private Long platformType;
/**
* 充值平台名称
*/
@Schema(description = "平台名称")
private String platformName;
/**
*
@@ -55,6 +67,8 @@ public class AccountRechargeVo {
/**
* 类型: 0积分(默认)1会员
*/
@Schema(description = "0-充值 1-会员")
private Integer type;
@Schema(description = "充值时间")
private LocalDateTime createTime;
}

View File

@@ -1,37 +1,46 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Data
@Schema(description = "主播信息")
public class AnchorVo {
/**
* 用户ID
*/
@Schema(description = "用户ID")
private Long userId;
/**
* 技能ID
*/
@Schema(description = "技能ID")
private Integer skillId;
/**
* 价格默认50彩币
*/
@Schema(description = "价格")
private Long price;
/**
* 是否隐藏接单次数 1隐藏 2不隐藏
*/
@Schema(description = "是否隐藏接单次数")
private Integer orderSwitch;
/**
* 开启视频接听 0 未开启 1 已开启
*/
@Schema(description = "是否开启视频接听")
private Integer openVideoStatus;
/**
* 用户评分
*/
@Schema(description = "用户评分")
private BigDecimal giveScore;
/**
* 服务总次数
*/
@Schema(description = "服务总次数")
private Long serviceCount;
}

View File

@@ -1,73 +1,92 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Data
@Schema(description = "当前用户模型")
public class CurrentUserInfoVo {
@Schema(description = "用户ID")
private Long userId;
/**
* 用户号/ID号
*/
@Schema(description = "蜜瓜号")
private String usercode;
/**
* 昵称
*/
@Schema(description = "昵称")
private String nickname;
/**
* 手机号
*/
@Schema(description = "手机号")
private String mobile;
/**
* 头像
*/
@Schema(description = "头像")
private String avatar;
/**
* 头像状态0 系统默认头像1 用户自定义头像
*/
@Schema(description = "头像状态 0-默认 1-自定义")
private Integer avatarState;
/**
* 性别 0 未知 1 女 2 男
*/
@Schema(description = "性别 0-未知 1-女 2-男")
private Integer gender;
/**
*
*/
private LocalDateTime birthday;
@Schema(description = "生日")
private LocalDate birthday;
/**
* 城市
*/
@Schema(description = "城市")
private Long city;
/**
* 是否是播主 0 否 1 是
*/
@Schema(description = "主播 0-否 1-是")
private Integer isAnchor;
/**
* 开启视频接听 0 未开启 1 已开启
*/
@Schema(description = "开启视频接听 0-否 1-是")
private Integer openVideoStatus;
/**
* 状态 0 可用 1 不可用
*/
@Schema(description = "可用状态 0-可用 1-封禁")
private Integer status;
/**
* 相册
*/
@Schema(description = "相册")
private List<UserAlbumDTO> userAlbumList;
/**
* 用户账户
*/
@Schema(description = "用户账户")
private UserAccountVo userAccount;
/**
* 用户统计
*/
@Schema(description = "用户统计")
private UserCountVo userCount;
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@@ -11,6 +12,7 @@ public class DynamicImageVo {
/**
* 用户ID
*/
@Schema(description = "用户ID")
private Long userId;
/**
* 动态ID
@@ -19,22 +21,27 @@ public class DynamicImageVo {
/**
* 物理路径
*/
@Schema(description = "URL")
private String url;
/**
* 宽度
*/
@Schema(description = "宽度")
private Long width;
/**
* 高度
*/
@Schema(description = "高度")
private Long height;
/**
* 图片大小
*/
@Schema(description = "图片大小")
private Long size;
/**
* 类型
*/
@Schema(description = "类型")
private String exts;
private LocalDateTime createTime;

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@@ -10,33 +11,42 @@ public class DynamicVo {
/**
*
*/
@Schema(description = "动态ID")
private Long id;
/**
* 用户ID
*/
@Schema(description = "用户ID")
private Long userId;
/**
* 内容
*/
@Schema(description = "内容")
private String content;
/**
* 城市ID
*/
@Schema(description = "城市")
private Integer cityId;
/**
* 是否有附件 0 没有 1 有
*/
@Schema(description = "是否有附件 0 没有 1 有")
private Integer isAttach;
/**
* 状态 0 审核中 1可用 2 不可用
*/
@Schema(description = "状态 0 审核中 1可用 2 不可用")
private Integer status;
/**
* 排序字段
*/
@Schema(description = "排序字段")
private Long sort;
@Schema(description = "创建时间")
private LocalDateTime createTime;
@Schema(description = "图片")
private List<DynamicImageVo> imageList;
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@@ -9,16 +10,20 @@ public class GuardTotalVo implements Serializable {
/**
* 被守护人的user_id(大咖)
*/
@Schema(description = "被守护人的user_id(大咖)")
private Long fromUserId;
/**
* 守护人的user_id
*/
@Schema(description = "守护人的user_id")
private Long toUserId;
@Schema(description = "用户头像")
private String userAvatar;
/**
* 累计守护符个数
*/
@Schema(description = "守护个数")
private Long guardNum;
}

View File

@@ -1,21 +1,27 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "用户账户信息")
public class UserAccountVo {
/**
* 用户ID
*/
@Schema(description = "用户ID")
private Long userId;
/**
* 当前彩币数量
*/
@Schema(description = "当前紫贝数量")
private Long coin;
/**
* 收益的彩币数量
*/
@Schema(description = "收益的紫贝")
private Long incomeCoin;
@Schema(description = "总数量")
private Long totalCoin;
}

View File

@@ -1,37 +1,45 @@
package com.ruoyi.cai.dto.app.vo;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@Schema(description = "用户相册模型")
public class UserAlbumDTO {
/**
*
*/
@TableId(value = "id")
@Schema(description = "ID")
private Long id;
/**
* 用户ID
*/
@Schema(description = "用户ID")
private Long userId;
/**
*
*/
@Schema(description = "相册URL")
private String url;
/**
* 状态 0 未审核 1 审核通过 2 审核未通过
*/
@Schema(description = "状态 0-未审核 1-审核通过 2-审核未通过")
private Integer status;
/**
* 审核时间
*/
@Schema(description = "审核时间")
private LocalDateTime auditTime;
/**
* 审核备注
*/
@Schema(description = "审核备注")
private String auditRemark;
@Schema(description = "排序")
private Integer orderBy;
}

View File

@@ -1,6 +1,7 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@@ -11,24 +12,30 @@ public class UserBaseVo {
/**
* 头像
*/
@Schema(description = "头像")
private String avatar;
/**
* 性别 0 未知 1 女 2 男
*/
@Schema(description = "性别 0 未知 1 女 2 男")
private Integer gender;
/**
* 城市
*/
@Schema(description = "城市")
private Long city;
/**
* 昵称
*/
@Schema(description = "昵称")
private String nickname;
/**
* 用户号/ID号
*/
@Schema(description = "蜜瓜号")
private String usercode;
@Schema(description = "年龄")
private Integer age;
}

View File

@@ -1,24 +1,30 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "用户统计相关")
public class UserCountVo {
private Long userId;
/**
* 粉丝总数
*/
@Schema(description = "粉丝总数")
private Long fansCount;
/**
* 关注数
*/
@Schema(description = "关注数")
private Long followCount;
/**
* 足迹数
*/
@Schema(description = "足迹数")
private Long footCount;
/**
* 访客数
*/
@Schema(description = "访客数")
private Long visitorCount;
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@@ -12,10 +13,12 @@ public class UserGiftVo {
/**
* 礼物ID
*/
@Schema(description = "礼物ID")
private Long giftId;
/**
* 礼物数量
*/
@Schema(description = "礼物数量")
private Long giftCount;
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Collections;
@@ -8,36 +9,51 @@ import java.util.List;
@Data
public class UserInfoVo {
@Schema(description = "用户ID")
private Long userId;
/**
* 是否是播主 0 否 1 是
*/
@Schema(description = "是否是播主 0 否 1 是")
private Integer isAnchor;
@Schema(description = "蜜瓜号")
private String usercode;
@Schema(description = "昵称")
private String nickname;
@Schema(description = "头像")
private String avatar;
/**
* 价格默认50彩币
*/
@Schema(description = "价格")
private Long price;
/**
* 接单次数
*/
@Schema(description = "接单次数")
private Long serviceCount;
@Schema(description = "粉丝数")
private Long fansNum;
@Schema(description = "是否关注")
private Boolean star;
// TODO
@Schema(description = "用户状态")
private String status;
@Schema(description = "相册集合")
private List<String> albumList = Collections.emptyList();
@Schema(description = "守护列表")
private List<GuardTotalVo> guardTotalList = Collections.emptyList();
@Schema(description = "动态列表")
private List<DynamicVo> dynamicList = Collections.emptyList();
@Schema(description = "礼物列表")
private List<UserGiftVo> giftList = Collections.emptyList();

View File

@@ -1,15 +1,18 @@
package com.ruoyi.cai.dto.app.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@Schema(description = "用户列表返回")
public class UserListVo extends UserBaseVo {
/**
* 最后在线时间
*/
@Schema(description = "最后在线时间")
private LocalDateTime lastLiveTime;
}

View File

@@ -3,6 +3,8 @@ package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUser;
import com.ruoyi.cai.domain.CaiUserCount;
import com.ruoyi.cai.domain.CaiUserFollow;
import com.ruoyi.cai.dto.app.query.StarQuery;
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
@@ -29,10 +31,11 @@ public class CaiUserFollowServiceImpl extends ServiceImpl<CaiUserFollowMapper,Ca
@Autowired
private CaiUserCountService userCountService;
@Override
public Long getFansNumByUserId(Long userId){
return this.count(Wrappers.lambdaQuery(CaiUserFollow.class)
.eq(CaiUserFollow::getFollowUser,userId));
CaiUserCount count = userCountService.getByUserId(userId);
return count.getFansCount();
}
@Override