This commit is contained in:
dute7liang
2024-01-04 23:10:02 +08:00
parent 04f4861912
commit 54801cc546
15 changed files with 73 additions and 139 deletions

View File

@@ -145,19 +145,9 @@ public class CaiLoginManager {
try {
UserInvite check = userInviteService.getByUserId(user.getId());
if(check == null){
UserInfo inviteUserInfo = userInfoService.getByUserId(inviteUser.getId());
UserInvite userInvite = new UserInvite();
userInvite.setUserId(user.getId());
userInvite.setInviteId(user.getInviteId());
userInvite.setVideoIncomeRate(inviteUserInfo.getVideoIncomeRate());
userInvite.setGuardIncomeRate(inviteUserInfo.getGuardIncomeRate());
userInvite.setGiftIncomeRate(inviteUserInfo.getGiftIncomeRate());
userInvite.setPayIncomeRate(inviteUserInfo.getPayIncomeRate());
if(inviteUser.getIsUnion() == 1){
BigDecimal unionOneRate = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_UNION_ONE_INCOME_RATE);
BigDecimal videoIncome = NumberUtil.add(inviteUserInfo.getVideoIncomeRate(), unionOneRate);
userInvite.setVideoIncomeRate(videoIncome);
}
userInviteService.save(userInvite);
}
// 处理工会
@@ -306,6 +296,6 @@ public class CaiLoginManager {
if(user == null){
throw new ServiceException("账户不存在");
}
userService.resetPassword(code.getMobile(),code.getPassword());
userService.resetPassword(user.getId(),code.getPassword());
}
}

View File

@@ -4,7 +4,6 @@ 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.User;
import com.ruoyi.cai.domain.UserCodeGen;
import com.ruoyi.cai.dto.admin.query.ResetPasswordReq;
import com.ruoyi.cai.dto.admin.query.UpdateMobileAdminReq;
import com.ruoyi.cai.dto.admin.query.UserUpdateAdminReq;
@@ -26,9 +25,7 @@ import org.apache.commons.lang3.StringUtils;
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;
import java.util.List;
import java.util.stream.Collectors;
@@ -125,7 +122,7 @@ public class UserController extends BaseController {
@PostMapping("/resetPwd")
public R<Void> resetPwd(@RequestBody ResetPasswordReq req) {
User user = userService.getById(req.getUserId());
userService.resetPassword(user.getMobile(),user.getPassword());
userService.resetPassword(req.getUserId(),user.getPassword());
return R.ok();
}

View File

@@ -1,7 +1,6 @@
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.UserInvite;
import com.ruoyi.cai.dto.admin.vo.UserInviteAdminVo;
@@ -13,7 +12,6 @@ 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;
@@ -70,24 +68,6 @@ public class UserInviteController extends BaseController {
return toAjax(userInviteService.save(bo));
}
@SaCheckPermission("cai:userInvite:edit")
@Log(title = "用户邀请", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/updateRate")
public R<Void> updateUserInviteRate(@RequestBody UserInvite bo) {
return toAjax(userInviteService.updateUserInviteRate(bo));
}
/**
* 修改用户邀请
*/
@SaCheckPermission("cai:userInvite:edit")
@Log(title = "用户邀请", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserInvite bo) {
return toAjax(userInviteService.updateById(bo));
}
/**
* 删除用户邀请

View File

@@ -45,10 +45,12 @@ public class Union implements Serializable {
/**
* 在分成的人数
*/
@Deprecated
private Long inDivideNum;
/**
* 不分成人数
*/
@Deprecated
private Long notDivideNum;
private LocalDateTime createTime;

View File

@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@@ -34,22 +33,6 @@ public class UserInvite implements Serializable {
* 邀请人
*/
private Long inviteId;
/**
* 奖励好友收入视频提成比率
*/
private BigDecimal videoIncomeRate;
/**
* 奖励好友守护的比例
*/
private BigDecimal guardIncomeRate;
/**
* 奖励好友礼物的比例
*/
private BigDecimal giftIncomeRate;
/**
* 奖励好友充值的比率
*/
private BigDecimal payIncomeRate;
/**
* 邀请奖励汇总
*/

View File

@@ -5,6 +5,8 @@ import com.ruoyi.common.annotation.Sensitive;
import com.ruoyi.common.enums.SensitiveStrategy;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UserInviteAdminVo extends UserInvite {
private String usercode;
@@ -15,4 +17,20 @@ public class UserInviteAdminVo extends UserInvite {
private String inviteMobile;
private Integer inviteIsUnion;
private String unionName;
/**
* 奖励好友收入视频提成比率
*/
private BigDecimal videoIncomeRate;
/**
* 奖励好友守护的比例
*/
private BigDecimal guardIncomeRate;
/**
* 奖励好友礼物的比例
*/
private BigDecimal giftIncomeRate;
/**
* 奖励好友充值的比率
*/
private BigDecimal payIncomeRate;
}

View File

@@ -17,8 +17,24 @@ import org.springframework.stereotype.Component;
public class UserAdminManager {
@Autowired
private UserService userService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private AccountService accountService;
@Autowired
private AnchorService anchorService;
@Autowired
private UnionService unionService;
@Autowired
private UserOnlineService userOnlineService;
@Autowired
private UserCountService userCountService;
@Autowired
private UserAlbumService userAlbumService;
@Autowired
private UserMemberService userMemberService;
public boolean updateMobileUser(UpdateMobileAdminReq req){
public synchronized boolean updateMobileUser(UpdateMobileAdminReq req){
User user = userService.getById(req.getId());
if(StringUtils.isNotEmpty(req.getMobile())){
long count = userService.count(Wrappers.lambdaQuery(User.class)
@@ -51,23 +67,6 @@ public class UserAdminManager {
return true;
}
@Autowired
private UserInfoService userInfoService;
@Autowired
private AccountService accountService;
@Autowired
private AnchorService anchorService;
@Autowired
private UnionService unionService;
@Autowired
private UserOnlineService userOnlineService;
@Autowired
private UserCountService userCountService;
@Autowired
private UserAlbumService userAlbumService;
@Autowired
private UserMemberService userMemberService;
public UserFullAdminVo getUser(Long id) {
UserFullAdminVo vo = new UserFullAdminVo();
vo.setUser(userService.getById(id));

View File

@@ -23,6 +23,4 @@ public interface UserInviteService extends IService<UserInvite> {
Page<UserListVo> inviteUserPage(PageQuery pageQuery, Long inviteId);
Page<UserInviteAdminVo> pageAdmin(PageQuery pageQuery, UserInviteAdminVo bo);
boolean updateUserInviteRate(UserInvite bo);
}

View File

@@ -37,7 +37,7 @@ public interface UserService extends IService<User> {
void checkFinishStatus(Long userId);
void resetPassword(String mobile, String password);
void resetPassword(Long userId, String password);
boolean removeUser(Long id);
}

View File

@@ -37,6 +37,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
private UnionUserService unionUserService;
@Autowired
private UnionService unionService;
@Autowired
private UserInfoService userInfoService;
@Override
@@ -115,7 +117,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
if(userInvite != null){
User oneUser = userService.getById(userInvite.getInviteId());
if(oneUser != null && oneUser.getStatus() == 0){
consumeLog.setOneRate(userInvite.getPayIncomeRate());
UserInfo userInfo = userInfoService.getByUserId(userInvite.getUserId());
consumeLog.setOneRate(userInfo.getPayIncomeRate());
consumeLog.setOneUserId(userInvite.getInviteId());
consumeLog.setOneUsercode(oneUser.getUsercode());
consumeLog.setOnePhone(oneUser.getMobile());
@@ -132,12 +135,13 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
if(userInvite != null){
User oneUser = userService.getById(userInvite.getInviteId());
if(oneUser != null && oneUser.getStatus() == 0){
UserInfo userInfo = userInfoService.getByUserId(userInvite.getUserId());
if(ConsumeLogType.GUARD.getCode().equals(consumeLog.getType())){
consumeLog.setOneRate(userInvite.getGuardIncomeRate());
consumeLog.setOneRate(userInfo.getGuardIncomeRate());
}else if(ConsumeLogType.GIFT.getCode().equals(consumeLog.getType())){
consumeLog.setOneRate(userInvite.getGiftIncomeRate());
consumeLog.setOneRate(userInfo.getGiftIncomeRate());
}else if(ConsumeLogType.VIDEO.getCode().equals(consumeLog.getType())){
consumeLog.setOneRate(userInvite.getVideoIncomeRate());
consumeLog.setOneRate(userInfo.getVideoIncomeRate());
}
consumeLog.setOneUserId(userInvite.getInviteId());
consumeLog.setOneUsercode(oneUser.getUsercode());

View File

@@ -5,6 +5,8 @@ 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.UnionAdminVo;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.mapper.UnionMapper;
import com.ruoyi.cai.service.*;
import com.ruoyi.common.core.domain.PageQuery;
@@ -25,11 +27,11 @@ public class UnionServiceImpl extends ServiceImpl<UnionMapper, Union> implements
@Autowired
private UnionUserService unionUserService;
@Autowired
private UserInviteService inviteService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private UserService userService;
@Autowired
private SystemConfigManager systemConfigManager;
@Override
public Page<UnionAdminVo> pageAdmin(PageQuery pageQuery, UnionAdminVo bo) {
@@ -53,13 +55,12 @@ public class UnionServiceImpl extends ServiceImpl<UnionMapper, Union> implements
throw new ServiceException("工会不存在");
}
unionUserService.remove(Wrappers.lambdaQuery(UnionUser.class).eq(UnionUser::getUnionId,id));
UserInfo userInfo = userInfoService.getByUserId(union.getUserId());
inviteService.update(Wrappers.lambdaUpdate(UserInvite.class)
.eq(UserInvite::getInviteId,union.getUserId())
.set(UserInvite::getVideoIncomeRate,userInfo.getVideoIncomeRate())
.set(UserInvite::getGiftIncomeRate,userInfo.getGuardIncomeRate())
.set(UserInvite::getGuardIncomeRate,userInfo.getGuardIncomeRate())
.set(UserInvite::getPayIncomeRate,userInfo.getPayIncomeRate()));
userInfoService.update(Wrappers.lambdaUpdate(UserInfo.class)
.eq(UserInfo::getUserId,union.getUserId())
.set(UserInfo::getVideoIncomeRate,systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_VIDEO_INCOME_RATE))
.set(UserInfo::getGiftIncomeRate,systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_GIFT_INCOME_RATE))
.set(UserInfo::getGuardIncomeRate,systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_GUARD_INCOME_RATE))
.set(UserInfo::getPayIncomeRate,systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_PAY_INCOME_RATE)));
return true;
}

View File

@@ -58,7 +58,7 @@ public class UserCallServiceImpl extends ServiceImpl<UserCallMapper, UserCall> i
UserInvite invite = inviteService.getByUserId(toUser.getId());
if(invite != null){
userCall.setReceiverInviteUserId(invite.getInviteId());
userCall.setReceiverIncomeDivide(invite.getVideoIncomeRate());
// userCall.setReceiverIncomeDivide(invite.getVideoIncomeRate());
}
boolean save = this.save(userCall);
if(!save){

View File

@@ -3,21 +3,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.UserInfo;
import com.ruoyi.cai.domain.UserInvite;
import com.ruoyi.cai.dto.admin.vo.UserInviteAdminVo;
import com.ruoyi.cai.dto.app.dto.InviteCountDTO;
import com.ruoyi.cai.dto.app.vo.invite.InviteHomeVo;
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.cai.mapper.UserInviteMapper;
import com.ruoyi.cai.service.UserInfoService;
import com.ruoyi.cai.service.UserInviteService;
import com.ruoyi.cai.service.UserService;
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;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@@ -31,11 +25,6 @@ import java.util.List;
@Service
public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInvite> implements UserInviteService {
@Autowired
private UserService userService;
@Autowired
private UserInfoService userInfoService;
@Override
public UserInvite getByUserId(Long id) {
return this.getOne(Wrappers.lambdaQuery(UserInvite.class).eq(UserInvite::getUserId,id).last("limit 1"));
@@ -71,32 +60,4 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
return baseMapper.pageAdmin(pageQuery.build(), bo);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateUserInviteRate(UserInvite bo) {
UserInvite userInvite = this.getById(bo.getId());
if(userInvite == null){
throw new ServiceException("数据不存在");
}
UserInvite update = new UserInvite();
update.setId(bo.getId());
update.setGiftIncomeRate(bo.getGiftIncomeRate());
update.setVideoIncomeRate(bo.getVideoIncomeRate());
update.setGuardIncomeRate(bo.getGuardIncomeRate());
update.setPayIncomeRate(bo.getPayIncomeRate());
boolean b = this.updateById(update);
if(b){
UserInfo userInfo = new UserInfo();
userInfo.setGiftIncomeRate(bo.getGiftIncomeRate());
userInfo.setVideoIncomeRate(bo.getVideoIncomeRate());
userInfo.setGuardIncomeRate(bo.getGuardIncomeRate());
userInfo.setPayIncomeRate(bo.getPayIncomeRate());
userInfoService.update(Wrappers.lambdaUpdate(UserInfo.class).eq(UserInfo::getUserId,userInvite.getUserId())
.set(UserInfo::getGiftIncomeRate,bo.getGiftIncomeRate())
.set(UserInfo::getVideoIncomeRate,bo.getVideoIncomeRate())
.set(UserInfo::getGuardIncomeRate,bo.getGuardIncomeRate())
.set(UserInfo::getPayIncomeRate,bo.getPayIncomeRate()));
}
return b;
}
}

View File

@@ -53,6 +53,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
private UserCountService userCountService;
@Autowired
private DynamicImagesService dynamicImagesService;
@Autowired
private UserGreetService userGreetService;
@Autowired
private UserMemberService userMemberService;
@Autowired
private UserForbidService userForbidService;
@Autowired
private AnchorApplyService anchorApplyService;
@Override
public User getByUsername(String username) {
@@ -154,24 +162,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
}
@Override
public void resetPassword(String mobile, String password) {
if(StringUtils.isEmpty(mobile) || StringUtils.isEmpty(password)){
public void resetPassword(Long userId, String password) {
if(userId == null || StringUtils.isEmpty(password)){
throw new ServiceException("参数异常");
}
this.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getMobile,mobile)
.eq(User::getId,userId)
.set(User::getPassword,BCrypt.hashpw(password)));
}
@Autowired
private UserGreetService userGreetService;
@Autowired
private UserMemberService userMemberService;
@Autowired
private UserForbidService userForbidService;
@Autowired
private AnchorApplyService anchorApplyService;
@Override
@Transactional(rollbackFor = Exception.class)
public boolean removeUser(Long id) {

View File

@@ -25,10 +25,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.UserInviteAdminVo">
select t1.*,
t2.usercode,t2.mobile,
t3.usercode as invite_usercode,t3.mobile as invite_mobile,t3.is_union as invite_is_union
t3.usercode as invite_usercode,t3.mobile as invite_mobile,t3.is_union as invite_is_union,
t4.gift_income_rate,t4.guard_income_rate,t4.video_income_rate,t4.pay_income_rate
from cai_user_invite t1
left join cai_user t2 on t1.user_id = t2.id
left join cai_user t3 on t1.invite_id = t3.id
left join cai_user_info t4 on t1.invite_id = t4.user_id
<where>
<if test="bo.mobile != null and bo.mobile != ''">
and t2.mobile = #{bo.mobile}