This commit is contained in:
dute7liang
2023-12-31 14:42:53 +08:00
parent 1d28fe8d68
commit d1a59f2d4a
33 changed files with 462 additions and 93 deletions

View File

@@ -77,7 +77,6 @@ public class CaiLoginManager {
UserInfo update = new UserInfo();
update.setUserId(user.getId());
update.setLoginCount(userInfo.getLoginCount()+1);
update.setPrevLoginTime(userInfo.getLastLoginTime());
update.setLastLoginIp(ip);
update.setLastLoginTime(LocalDateTime.now());
update.setLastLocation(address);

View File

@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.AccountCash;
import com.ruoyi.cai.dto.admin.vo.AccountCashAdminVo;
import com.ruoyi.cai.service.CaiAccountCashService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@@ -44,8 +45,8 @@ public class AccountCashController extends BaseController {
*/
@SaCheckPermission("cai:accountCash:list")
@GetMapping("/list")
public TableDataInfo<AccountCash> list(AccountCash bo, PageQuery pageQuery) {
Page<AccountCash> page = accountCashService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
public TableDataInfo<AccountCashAdminVo> list(AccountCashAdminVo bo, PageQuery pageQuery) {
Page<AccountCashAdminVo> page = accountCashService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page);
}

View File

@@ -0,0 +1,95 @@
package com.ruoyi.cai.controller.admin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.Account;
import com.ruoyi.cai.dto.admin.vo.AccountAdminVo;
import com.ruoyi.cai.service.CaiAccountService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
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.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 用户账户
*
* @author 77
* @date 2023-12-31
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/cai/account")
public class AccountController extends BaseController {
private final CaiAccountService accountService;
/**
* 查询用户账户列表
*/
@SaCheckPermission("cai:account:list")
@GetMapping("/list")
public TableDataInfo<AccountAdminVo> list(AccountAdminVo bo, PageQuery pageQuery) {
Page<AccountAdminVo> page = accountService.pageAdmin(pageQuery,bo);
return TableDataInfo.build(page);
}
/**
* 获取用户账户详细信息
*
* @param id 主键
*/
@SaCheckPermission("cai:account:query")
@GetMapping("/{id}")
public R<Account> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(accountService.getById(id));
}
/**
* 新增用户账户
*/
@SaCheckPermission("cai:account:add")
@Log(title = "用户账户", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody Account bo) {
return toAjax(accountService.save(bo));
}
/**
* 修改用户账户
*/
@SaCheckPermission("cai:account:edit")
@Log(title = "用户账户", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody Account bo) {
return toAjax(accountService.updateById(bo));
}
/**
* 删除用户账户
*
* @param ids 主键串
*/
@SaCheckPermission("cai:account:remove")
@Log(title = "用户账户", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(accountService.removeBatchByIds(Arrays.asList(ids)));
}
}

View File

@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.UnionUser;
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
import com.ruoyi.cai.service.CaiUnionUserService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@@ -41,8 +42,8 @@ public class UnionUserController extends BaseController {
*/
@SaCheckPermission("cai:unionUser:list")
@GetMapping("/list")
public TableDataInfo<UnionUser> list(UnionUser bo, PageQuery pageQuery) {
Page<UnionUser> page = caiUnionUserService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
public TableDataInfo<UnionUserAdminVo> list(UnionUserAdminVo bo, PageQuery pageQuery) {
Page<UnionUserAdminVo> page = caiUnionUserService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page);
}

View File

@@ -3,7 +3,9 @@ package com.ruoyi.cai.controller.admin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.dto.admin.query.UserUpdateAdminReq;
import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
import com.ruoyi.cai.manager.UserAdminManager;
import com.ruoyi.cai.service.CaiUserService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@@ -35,6 +37,7 @@ import java.util.Arrays;
public class UserController extends BaseController {
private final CaiUserService caiUserService;
private final UserAdminManager userAdminManager;
/**
* 查询用户列表
@@ -75,8 +78,8 @@ public class UserController extends BaseController {
@Log(title = "用户", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody User bo) {
return toAjax(caiUserService.updateById(bo));
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserUpdateAdminReq bo) {
return toAjax(userAdminManager.updateUser(bo));
}
/**

View File

@@ -1,9 +1,9 @@
package com.ruoyi.cai.controller.admin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.UserCount;
import com.ruoyi.cai.dto.admin.vo.UserCountAdminVo;
import com.ruoyi.cai.service.CaiUserCountService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@@ -41,11 +41,17 @@ public class UserCountController extends BaseController {
*/
@SaCheckPermission("cai:userCount:list")
@GetMapping("/list")
public TableDataInfo<UserCount> list(UserCount bo, PageQuery pageQuery) {
Page<UserCount> page = caiUserCountService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
public TableDataInfo<UserCountAdminVo> list(UserCountAdminVo bo, PageQuery pageQuery) {
Page<UserCountAdminVo> page = caiUserCountService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page);
}
@GetMapping("/reset")
public R<Void> reset(Long userId) {
caiUserCountService.reset(userId);
return R.ok();
}
/**
* 获取用户信息数量统计详细信息

View File

@@ -34,11 +34,11 @@ public class UnionUser implements Serializable {
*/
private Long userId;
/**
* 视频分成比例 例子"0.7"
* 视频分成比例
*/
private BigDecimal videoDivide;
/**
* 礼物分成比例 例子"0.7"
* 礼物分成比例
*/
private BigDecimal giftDivide;
/**
@@ -54,7 +54,7 @@ public class UnionUser implements Serializable {
*/
private Long unionEarning;
/**
* 是否为主动邀请1=主动、0=被动
* 是否为主动邀请
*/
private Integer isInitiative;

View File

@@ -24,17 +24,21 @@ public class UserInfo {
@TableId(value = "user_id",type = IdType.INPUT)
private Long userId;
/**
* 奖励好友支出的比率
* 奖励好友收入视频提成比率
*/
private BigDecimal rewardPayRate;
private BigDecimal videoIncomeRate;
/**
* 奖励好友收入的比
* 奖励好友守护的比
*/
private BigDecimal rewardIncomeRate;
private BigDecimal guardIncomeRate;
/**
* 奖励好友礼物的比例
*/
private BigDecimal giftIncomeRate;
/**
* 奖励好友充值的比率
*/
private BigDecimal rewardRechargeRate;
private BigDecimal payIncomeRate;
/**
* 登录次数
*/
@@ -47,10 +51,6 @@ public class UserInfo {
* 最大连续登录天数
*/
private Long maxLoginCount;
/**
* 上次登录时间
*/
private LocalDateTime prevLoginTime;
/**
* 最后登录IP
*/

View File

@@ -0,0 +1,25 @@
package com.ruoyi.cai.dto.admin.query;
import lombok.Data;
@Data
public class UserUpdateAdminReq {
private Long id;
private String nickname;
/**
* 头像
*/
private String avatar;
/**
* 性别 0 未知 1 女 2 男
*/
private Integer gender;
/**
* 手机号
*/
private String mobile;
/**
* 是否可发动态
*/
private Integer sendDynamic;
}

View File

@@ -0,0 +1,33 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.Account;
import lombok.Data;
@Data
public class AccountAdminVo extends Account {
/**
* 用户号/ID号
*/
private String usercode;
/**
* 昵称
*/
private String nickname;
/**
* 手机号
*/
private String mobile;
/**
* 头像
*/
private String avatar;
/**
* 性别
*/
private Integer gender;
private Integer age;
private Integer isAnchor;
}

View File

@@ -0,0 +1,32 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.AccountCash;
import lombok.Data;
@Data
public class AccountCashAdminVo extends AccountCash {
/**
* 用户号/ID号
*/
private String usercode;
/**
* 昵称
*/
private String nickname;
/**
* 手机号
*/
private String mobile;
/**
* 头像
*/
private String avatar;
/**
* 性别
*/
private Integer gender;
private Integer age;
private Integer isAnchor;
}

View File

@@ -3,6 +3,7 @@ package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.Union;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bouncycastle.util.Integers;
import java.time.LocalDateTime;
@@ -33,6 +34,7 @@ public class UnionAdminVo extends Union {
* 性别 0 未知 1 女 2 男
*/
private Integer gender;
private Integer status;
private LocalDateTime unionTime;
}

View File

@@ -0,0 +1,34 @@
package com.ruoyi.cai.dto.admin.vo;
import com.ruoyi.cai.domain.UnionUser;
import lombok.Data;
@Data
public class UnionUserAdminVo extends UnionUser {
/**
* 用户号/ID号
*/
private String usercode;
/**
* 昵称
*/
private String nickname;
/**
* 手机号
*/
private String mobile;
/**
* 头像
*/
private String avatar;
/**
* 性别
*/
private Integer gender;
private Integer age;
private Integer isAnchor;
private Integer status;
private String unionName;
}

View File

@@ -27,4 +27,7 @@ public class UserCountAdminVo extends UserCount {
* 性别
*/
private Integer gender;
private Integer age;
private Integer isAnchor;
private Integer status;
}

View File

@@ -0,0 +1,41 @@
package com.ruoyi.cai.manager;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.dto.admin.query.UserUpdateAdminReq;
import com.ruoyi.cai.service.CaiUserService;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class UserAdminManager {
@Autowired
private CaiUserService userService;
public boolean updateUser(UserUpdateAdminReq userUpdateAdmin){
User user = userService.getById(userUpdateAdmin.getId());
if(!user.getGender().equals(userUpdateAdmin.getGender()) && user.getIsAnchor() == 1){
throw new BaseException("主播不能修改性别");
}
if(StringUtils.isNotEmpty(userUpdateAdmin.getMobile())){
long count = userService.count(Wrappers.lambdaQuery(User.class)
.eq(User::getMobile, userUpdateAdmin.getMobile())
.ne(User::getId, user.getId()));
if(count > 0){
throw new BaseException("手机号已存在,无法修改");
}
}
User update = new User();
update.setId(user.getId());
update.setMobile(userUpdateAdmin.getMobile());
update.setNickname(userUpdateAdmin.getNickname());
update.setGender(userUpdateAdmin.getGender());
update.setSendDynamic(userUpdateAdmin.getSendDynamic());
update.setAvatar(userUpdateAdmin.getAvatar());
// TODO 需要检测资料完成度
userService.updateById(update);
return true;
}
}

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.AccountCash;
import com.ruoyi.cai.dto.admin.vo.AccountCashAdminVo;
import org.apache.ibatis.annotations.Param;
/**
* 用户提现记录Mapper接口
@@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.AccountCash;
*/
public interface CaiAccountCashMapper extends BaseMapper<AccountCash> {
Page<AccountCashAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") AccountCashAdminVo bo);
}

View File

@@ -1,7 +1,9 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.Account;
import com.ruoyi.cai.dto.admin.vo.AccountAdminVo;
import org.apache.ibatis.annotations.Param;
/**
@@ -20,4 +22,6 @@ public interface CaiAccountMapper extends BaseMapper<Account> {
long decrIncomeCoin(@Param("userId") Long userId, @Param("incomeCoin") Long incomeCoin);
Page<AccountAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") AccountAdminVo bo);
}

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.UnionUser;
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
import org.apache.ibatis.annotations.Param;
/**
* 123Mapper接口
@@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.UnionUser;
*/
public interface CaiUnionUserMapper extends BaseMapper<UnionUser> {
Page<UnionUserAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UnionUserAdminVo bo);
}

View File

@@ -1,7 +1,9 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.UserCount;
import com.ruoyi.cai.dto.admin.vo.UserCountAdminVo;
import org.apache.ibatis.annotations.Param;
/**
@@ -15,4 +17,6 @@ public interface CaiUserCountMapper extends BaseMapper<UserCount> {
void starIncs(@Param("userId") Long userId, @Param("fansIncs") int fansIncs, @Param("followIncs") int followIncs);
void visitorIncs(@Param("userId") Long userId, @Param("footIncs") int footIncs, @Param("visitorIncs") int visitorIncs);
Page<UserCountAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UserCountAdminVo bo);
}

View File

@@ -1,8 +1,11 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.AccountCash;
import com.ruoyi.cai.dto.admin.vo.AccountCashAdminVo;
import com.ruoyi.cai.dto.app.query.WithdrawReq;
import com.ruoyi.common.core.domain.PageQuery;
/**
* 用户提现记录Service接口
@@ -13,4 +16,6 @@ import com.ruoyi.cai.dto.app.query.WithdrawReq;
public interface CaiAccountCashService extends IService<AccountCash> {
void withdraw(WithdrawReq res);
Page<AccountCashAdminVo> pageAdmin(PageQuery pageQuery, AccountCashAdminVo bo);
}

View File

@@ -1,8 +1,11 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.Account;
import com.ruoyi.cai.domain.CaiConsumeLog;
import com.ruoyi.cai.dto.admin.vo.AccountAdminVo;
import com.ruoyi.common.core.domain.PageQuery;
/**
* 用户账户Service接口
@@ -17,4 +20,6 @@ public interface CaiAccountService extends IService<Account> {
CaiConsumeLog decr(CaiConsumeLog log);
void withdraw(Long userId, Long incomeCoin);
Page<AccountAdminVo> pageAdmin(PageQuery pageQuery, AccountAdminVo bo);
}

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.UnionUser;
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
import com.ruoyi.common.core.domain.PageQuery;
/**
* 123Service接口
@@ -12,4 +15,6 @@ import com.ruoyi.cai.domain.UnionUser;
public interface CaiUnionUserService extends IService<UnionUser> {
UnionUser getByUserId(Long userId);
Page<UnionUserAdminVo> pageAdmin(PageQuery pageQuery, UnionUserAdminVo bo);
}

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.UserCount;
import com.ruoyi.cai.dto.admin.vo.UserCountAdminVo;
import com.ruoyi.common.core.domain.PageQuery;
/**
* 用户信息数量统计Service接口
@@ -17,4 +20,6 @@ public interface CaiUserCountService extends IService<UserCount> {
void resetAsync(Long userId);
UserCount getByUserId(Long userId);
Page<UserCountAdminVo> pageAdmin(PageQuery pageQuery, UserCountAdminVo bo);
}

View File

@@ -1,16 +1,19 @@
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.AccountBankcard;
import com.ruoyi.cai.domain.AccountCash;
import com.ruoyi.cai.domain.WithdrawExchange;
import com.ruoyi.cai.dto.admin.vo.AccountCashAdminVo;
import com.ruoyi.cai.dto.app.query.WithdrawReq;
import com.ruoyi.cai.mapper.CaiAccountCashMapper;
import com.ruoyi.cai.service.CaiAccountBankcardService;
import com.ruoyi.cai.service.CaiAccountCashService;
import com.ruoyi.cai.service.CaiAccountService;
import com.ruoyi.cai.service.CaiWithdrawExchangeService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -50,4 +53,9 @@ public class CaiAccountCashServiceImpl extends ServiceImpl<CaiAccountCashMapper,
cash.setCardAccount(one.getCardAccount());
this.save(cash);
}
@Override
public Page<AccountCashAdminVo> pageAdmin(PageQuery pageQuery, AccountCashAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
}

View File

@@ -2,12 +2,15 @@ package com.ruoyi.cai.service.impl;
import com.alibaba.fastjson2.JSON;
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.*;
import com.ruoyi.cai.dto.admin.vo.AccountAdminVo;
import com.ruoyi.cai.enums.ConsumeLogType;
import com.ruoyi.cai.mapper.CaiAccountMapper;
import com.ruoyi.cai.service.*;
import com.ruoyi.cai.util.NumCaUtil;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -166,4 +169,9 @@ public class CaiAccountServiceImpl extends ServiceImpl<CaiAccountMapper, Account
throw new ServiceException(""+incomeCoin+"紫贝才可提现");
}
}
@Override
public Page<AccountAdminVo> pageAdmin(PageQuery pageQuery, AccountAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
}

View File

@@ -1,10 +1,13 @@
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.UnionUser;
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
import com.ruoyi.cai.mapper.CaiUnionUserMapper;
import com.ruoyi.cai.service.CaiUnionUserService;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.stereotype.Service;
/**
@@ -22,4 +25,9 @@ public class CaiUnionUserServiceImpl extends ServiceImpl<CaiUnionUserMapper, Uni
.eq(UnionUser::getUserId, userId)
.last("limit 1"));
}
@Override
public Page<UnionUserAdminVo> pageAdmin(PageQuery pageQuery, UnionUserAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
}

View File

@@ -1,12 +1,15 @@
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.*;
import com.ruoyi.cai.dto.admin.vo.UserCountAdminVo;
import com.ruoyi.cai.executor.ExecutorConstant;
import com.ruoyi.cai.mapper.CaiUserCountMapper;
import com.ruoyi.cai.mapper.CaiUserGiftMapper;
import com.ruoyi.cai.service.*;
import com.ruoyi.common.core.domain.PageQuery;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -33,6 +36,8 @@ public class CaiUserCountServiceImpl extends ServiceImpl<CaiUserCountMapper, Use
private CaiUserGiftMapper userGiftMapper;
@Autowired
private CaiUserAlbumService userAlbumService;
@Autowired
private CaiDynamicService dynamicService;
@Override
public void star(Long fromUserId, Long toUserId) {
@@ -76,8 +81,8 @@ public class CaiUserCountServiceImpl extends ServiceImpl<CaiUserCountMapper, Use
update.setFootCount(foot);
update.setVisitorCount(visitor);
update.setPhotoCount(photo);
// TODO
update.setDynamicCount(0L);
long count = dynamicService.count(Wrappers.lambdaQuery(Dynamic.class).eq(Dynamic::getUserId, userId));
update.setDynamicCount(count);
update.setReceiveGiftCount(receiveGiftCount);
update.setGiveGiftCount(giveGiftCount);
this.updateById(update);
@@ -92,4 +97,9 @@ public class CaiUserCountServiceImpl extends ServiceImpl<CaiUserCountMapper, Use
public UserCount getByUserId(Long userId) {
return this.getOne(Wrappers.lambdaQuery(UserCount.class).eq(UserCount::getUserId,userId).last("limit 1"));
}
@Override
public Page<UserCountAdminVo> pageAdmin(PageQuery pageQuery, UserCountAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
}

View File

@@ -15,18 +15,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="cardName" column="card_name"/>
<result property="cardAccount" column="card_account"/>
<result property="status" column="status"/>
<result property="payMoney" column="pay_money"/>
<result property="createTime" column="create_time"/>
<result property="operateIp" column="operate_ip"/>
<result property="verifyTime" column="verify_time"/>
<result property="verifyRemark" column="verify_remark"/>
<result property="isFail" column="is_fail"/>
<result property="isImmediately" column="is_immediately"/>
<result property="isPay" column="is_pay"/>
<result property="payTime" column="pay_time"/>
<result property="isExport" column="is_export"/>
<result property="exportTime" column="export_time"/>
</resultMap>
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.AccountCashAdminVo">
select t1.*,t2.usercode,t2.nickname,t2.mobile,t2.avatar,t2.gender,t2.is_anchor,t2.age,t2.status
from cai_account_cash t1
left join cai_user t2 on t1.user_id = t2.id
<where>
<if test="bo.cardName != null and bo.cardName != ''">
and t1.card_name like concat('%',#{bo.cardName},'%')
</if>
<if test="bo.cardAccount != null and bo.cardAccount != ''">
and t1.card_account like concat('%',#{bo.cardAccount},'%')
</if>
<if test="bo.mobile != null and bo.mobile != ''">
and t2.mobile = #{bo.mobile}
</if>
<if test="bo.usercode != null and bo.usercode != ''">
and t2.usercode = #{bo.usercode}
</if>
</where>
order by t1.create_time
</select>
</mapper>

View File

@@ -36,6 +36,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
set income_coin = income_coin + #{incomeCoin}
where user_id = #{userId}
</update>
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.AccountAdminVo">
select t1.*,t2.usercode,t2.nickname,t2.mobile,t2.avatar,t2.gender,t2.is_anchor,t2.age
from cai_account t1
left join cai_user t2 on t1.user_id = t2.id
<where>
<if test="bo.mobile != null and bo.mobile != ''">
and t2.mobile = #{bo.mobile}
</if>
<if test="bo.usercode != null and bo.usercode != ''">
and t2.usercode = #{bo.usercode}
</if>
</where>
order by t2.create_time desc
</select>
</mapper>

View File

@@ -4,23 +4,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cai.mapper.CaiUnionMapper">
<resultMap type="com.ruoyi.cai.domain.Union" id="CaiUnionResult">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="name" column="name"/>
<result property="status" column="status"/>
<result property="unionPayRate" column="union_pay_rate"/>
<result property="unionIncomeRate" column="union_income_rate"/>
<result property="createTime" column="create_time"/>
<result property="allNum" column="all_num"/>
<result property="inDivideNum" column="in_divide_num"/>
<result property="notDivideNum" column="not_divide_num"/>
</resultMap>
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.UnionAdminVo">
select t1.*,t2.age,t2.avatar,t2.usercode,t2.nickname,t2.mobile,t2.gender,t2.union_time
select t1.*,t2.age,t2.avatar,t2.usercode,t2.nickname,t2.mobile,t2.gender,t2.union_time,t2.status
from cai_union t1
join cai_user t2 on t1.user_id = t2.id
where t1.status = 0
<where>
<if test="bo.mobile != null and bo.mobile != ''">
and t2.mobile = #{bo.mobile}
</if>
<if test="bo.usercode != null and bo.usercode != ''">
and t2.usercode = #{bo.usercode}
</if>
</where>
order by t1.create_time
</select>

View File

@@ -3,19 +3,25 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cai.mapper.CaiUnionUserMapper">
<resultMap type="com.ruoyi.cai.domain.UnionUser" id="CaiUnionUserResult">
<result property="id" column="id"/>
<result property="unionId" column="union_id"/>
<result property="userId" column="user_id"/>
<result property="videoDivide" column="video_divide"/>
<result property="giftDivide" column="gift_divide"/>
<result property="vipDivide" column="vip_divide"/>
<result property="type" column="type"/>
<result property="createTime" column="create_time"/>
<result property="unionEarning" column="union_earning"/>
<result property="isInitiative" column="is_initiative"/>
</resultMap>
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo">
select t1.*,t3.name as union_name,
t2.age,t2.avatar,t2.usercode,t2.nickname,t2.mobile,t2.gender,t2.status,t2.is_anchor
from cai_union_user t1
left join cai_user t2 on t1.user_id = t2.id
left join cai_union t3 on t1.union_id = t3.id
<where>
<if test="bo.unionId != null">
and t1.union_id = #{bo.unionId}
</if>
<if test="bo.mobile != null and bo.mobile != ''">
and t2.mobile = #{bo.mobile}
</if>
<if test="bo.usercode != null and bo.usercode != ''">
and t2.usercode = #{bo.usercode}
</if>
</where>
order by t1.create_time
</select>
</mapper>

View File

@@ -29,6 +29,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
follow_count = follow_count + #{followIncs}
where user_id = #{userId}
</select>
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.UserCountAdminVo">
select t1.*,t2.usercode,t2.nickname,t2.mobile,t2.avatar,t2.gender,t2.is_anchor,t2.age,t2.status
from cai_user_count t1
left join cai_user t2 on t1.user_id = t2.id
<where>
<if test="bo.mobile != null and bo.mobile != ''">
and t2.mobile = #{bo.mobile}
</if>
<if test="bo.usercode != null and bo.usercode != ''">
and t2.usercode = #{bo.usercode}
</if>
</where>
order by t2.create_time desc
</select>
</mapper>

View File

@@ -4,48 +4,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cai.mapper.CaiUserMapper">
<resultMap type="com.ruoyi.cai.domain.User" id="CaiUserResult">
<result property="id" column="id"/>
<result property="usercode" column="usercode"/>
<result property="nickname" column="nickname"/>
<result property="type" column="type"/>
<result property="password" column="password"/>
<result property="salt" column="salt"/>
<result property="groupId" column="group_id"/>
<result property="mobile" column="mobile"/>
<result property="mobileStatus" column="mobile_status"/>
<result property="cameraStatus" column="camera_status"/>
<result property="avatar" column="avatar"/>
<result property="avatarState" column="avatar_state"/>
<result property="level" column="level"/>
<result property="gender" column="gender"/>
<result property="age" column="age"/>
<result property="birthday" column="birthday"/>
<result property="city" column="city"/>
<result property="finishStatus" column="finish_status"/>
<result property="skillStatus" column="skill_status"/>
<result property="photoStatus" column="photo_status"/>
<result property="videoStatus" column="video_status"/>
<result property="token" column="token"/>
<result property="status" column="status"/>
<result property="inviteId" column="invite_id"/>
<result property="wealthValue" column="wealth_value"/>
<result property="loveValue" column="love_value"/>
<result property="terminal" column="terminal"/>
<result property="createdBy" column="created_by"/>
<result property="imToken" column="im_token"/>
<result property="isAnchor" column="is_anchor"/>
<result property="voice" column="voice"/>
<result property="voiceTime" column="voice_time"/>
<result property="rankHide" column="rank_hide"/>
<result property="noGreet" column="no_greet"/>
<result property="isUnion" column="is_union"/>
<result property="unionTime" column="union_time"/>
</resultMap>
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.UserAdminVo">
select t1.*,t2.last_login_ip,t2.last_login_time,t2.reg_ip,t2.reg_time
from cai_user t1
left join cai_user_info t2 on t1.id = t2.user_id
<where>
<if test="query.isAnchor != null">
and t1.is_anchor = #{query.isAnchor}
</if>
<if test="query.nickname != null and query.nickname != ''">
and t1.nickname like concat('%',#{query.nickname},'%')
</if>
<if test="query.usercode != null and query.usercode != ''">
and t1.usercode like concat('%',#{query.usercode},'%')
</if>
<if test="query.gender != null">
and t1.gender = #{query.gender}
</if>
<if test="query.city != null">
and t1.city = #{query.city}
</if>
</where>
</select>
<select id="pageApp" resultType="com.ruoyi.cai.dto.app.vo.user.UserListVo">
select t1.avatar,t1.gender,t1.city,t1.nickname,t1.usercode,t1.age,t2.last_live_time