This commit is contained in:
张良(004796)
2024-01-29 10:42:57 +08:00
parent eff64dee50
commit 528a4332f2
10 changed files with 125 additions and 1 deletions

View File

@@ -4,6 +4,8 @@ import com.ruoyi.cai.dto.app.query.AlbumAddReq;
import com.ruoyi.cai.dto.app.query.AlbumResetReq;
import com.ruoyi.cai.dto.app.query.IdRes;
import com.ruoyi.cai.dto.app.query.UserUpdateReq;
import com.ruoyi.cai.dto.app.query.member.UpdateNoGreet;
import com.ruoyi.cai.dto.app.query.member.UpdateRankHideReq;
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
import com.ruoyi.cai.dto.app.vo.user.CurrentUserUpdateInfoVo;
import com.ruoyi.cai.dto.app.vo.user.MemberInfoVo;
@@ -77,6 +79,25 @@ public class UserAppController {
return R.ok(userMemberService.memberApp(userId,type));
}
@PostMapping("/updateRankHide")
@Operation(summary = "修改排行榜隐藏状态")
@Log(title = "修改排行榜隐藏状态", businessType = BusinessType.OTHER, isSaveDb = false)
public R<Void> updateRankHide(@RequestBody UpdateRankHideReq updateRankHideReq){
updateRankHideReq.setUserId(LoginHelper.getUserId());
userMemberService.updateRankHide(updateRankHideReq);
return R.ok();
}
@PostMapping("/updateNoGreet")
@Operation(summary = "修改隐藏模式状态")
@Log(title = "修改排行榜隐藏状态", businessType = BusinessType.OTHER, isSaveDb = false)
public R<Void> updateNoGreet(@RequestBody UpdateNoGreet updateNoGreet){
updateNoGreet.setUserId(LoginHelper.getUserId());
userMemberService.updateNoGreet(updateNoGreet);
return R.ok();
}
/*@PostMapping("/update/one")
@Operation(summary = "完善用户必填信息")
@Log(title = "完善用户必填信息", businessType = BusinessType.OTHER, isSaveDb = false)

View File

@@ -43,6 +43,10 @@ public class MemberPrice implements Serializable {
*/
@Schema(description = "会员价格")
private BigDecimal price;
@Schema(description = "会员价格/天")
@TableField(exist = false)
private BigDecimal dayPrice;
/**
* 图片地址
*/

View File

@@ -1,8 +1,10 @@
package com.ruoyi.cai.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.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@@ -31,14 +33,20 @@ public class MemberSkill implements Serializable {
/**
* 名称
*/
@TableField(value = "`name`")
@Schema(description = "名称")
private String name;
/**
* 描述
*/
@TableField(value = "`desc`")
@Schema(description = "描述")
private String desc;
/**
*
*/
@TableField(value = "`icon`")
@Schema(description = "图片")
private String icon;
/**
* 状态 0 可用 1 不可用

View File

@@ -0,0 +1,12 @@
package com.ruoyi.cai.dto.app.query.member;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class UpdateNoGreet {
@Schema(description = "用户ID",hidden = true)
private Long userId;
@Schema(description = "隐身模式 0-关闭 1-打开")
private Integer noGreet;
}

View File

@@ -0,0 +1,12 @@
package com.ruoyi.cai.dto.app.query.member;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class UpdateRankHideReq {
@Schema(description = "用户ID",hidden = true)
private Long userId;
@Schema(description = "隐藏排行榜 0-关闭 1-打开")
private Integer rankHide;
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.dto.app.vo.user;
import com.ruoyi.cai.domain.MemberPrice;
import com.ruoyi.cai.domain.MemberSkill;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@@ -14,16 +15,24 @@ public class MemberInfoVo {
private String nickname;
private Integer gender;
private String avatar;
@Schema(description = "会员技能")
private List<MemberPrice> memberPriceList;
@Schema(description = "会员价格")
private List<MemberSkill> memberSkillList;
@Schema(description = "是否开通永久会员 1-永久 0-非永久")
private Integer longs;
@Schema(description = "过期时间")
private LocalDateTime expireTime;
@Schema(description = "过期时间字符")
private String expireTimeStr;
@Schema(description = "是否开通会员")
private Integer on;
private String bannerPic = "images/member/vip_banner.gif";
@Schema(description = "隐藏排行榜 0-关闭 1-打开")
private Integer rankHide;
@Schema(description = "隐身模式 0-关闭 1-打开")
private Integer noGreet;

View File

@@ -8,6 +8,8 @@ import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.dto.app.query.AccountAliBankCardRes;
import com.ruoyi.cai.dto.app.query.AnchorUpdateReq;
import com.ruoyi.cai.dto.app.query.UserUpdateReq;
import com.ruoyi.cai.dto.app.query.member.UpdateNoGreet;
import com.ruoyi.cai.dto.app.query.member.UpdateRankHideReq;
import com.ruoyi.cai.dto.app.vo.AnchorVo;
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
import com.ruoyi.cai.dto.app.vo.user.CurrentUserUpdateInfoVo;

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.UserMember;
import com.ruoyi.cai.dto.admin.vo.UserMemberAdminVo;
import com.ruoyi.cai.dto.app.query.member.UpdateNoGreet;
import com.ruoyi.cai.dto.app.query.member.UpdateRankHideReq;
import com.ruoyi.cai.dto.app.vo.user.MemberInfoVo;
import com.ruoyi.cai.enums.UserMemberTypeEnum;
import com.ruoyi.common.core.domain.PageQuery;
@@ -36,4 +38,8 @@ public interface UserMemberService extends IService<UserMember> {
void relieveMember(Long id);
MemberInfoVo memberApp(Long userId, Integer type);
void updateRankHide(UpdateRankHideReq updateRankHideReq);
void updateNoGreet(UpdateNoGreet updateNoGreet);
}

View File

@@ -9,6 +9,8 @@ import com.ruoyi.cai.domain.MemberSkill;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserMember;
import com.ruoyi.cai.dto.admin.vo.UserMemberAdminVo;
import com.ruoyi.cai.dto.app.query.member.UpdateNoGreet;
import com.ruoyi.cai.dto.app.query.member.UpdateRankHideReq;
import com.ruoyi.cai.dto.app.vo.user.MemberInfoVo;
import com.ruoyi.cai.enums.UserMemberTypeEnum;
import com.ruoyi.cai.mapper.UserMemberMapper;
@@ -17,6 +19,7 @@ import com.ruoyi.cai.service.MemberPriceService;
import com.ruoyi.cai.service.MemberSkillService;
import com.ruoyi.cai.service.UserMemberService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.cai.util.CaiNumUtil;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
@@ -114,6 +117,9 @@ public class UserMemberServiceImpl extends ServiceImpl<UserMemberMapper, UserMem
memberInfoVo.setRankHide(user.getRankHide());
memberInfoVo.setNoGreet(user.getNoGreet());
List<MemberPrice> memberPriceList = memberPriceService.listByType(type);
for (MemberPrice memberPrice : memberPriceList) {
memberPrice.setDayPrice(CaiNumUtil.memberDay(memberPrice.getPrice(),memberPrice.getExpires()));
}
memberInfoVo.setMemberPriceList(memberPriceList);
List<MemberSkill> memberSkillList = memberSkillService.listByType(type);
memberInfoVo.setMemberSkillList(memberSkillList);
@@ -136,4 +142,38 @@ public class UserMemberServiceImpl extends ServiceImpl<UserMemberMapper, UserMem
}
return memberInfoVo;
}
@Override
public void updateRankHide(UpdateRankHideReq updateRankHideReq) {
if(updateRankHideReq.getRankHide() == null){
throw new ServiceException("参数异常");
}
if(updateRankHideReq.getRankHide() != 0 && updateRankHideReq.getRankHide() != 1){
throw new ServiceException("参数异常");
}
UserMemberTypeEnum typeEnum = this.checkUserIsMember(updateRankHideReq.getUserId());
if(typeEnum == null){
throw new ServiceException("用户非会员或会员已到期");
}
userService.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId,updateRankHideReq.getUserId())
.set(User::getRankHide,updateRankHideReq.getRankHide()));
}
@Override
public void updateNoGreet(UpdateNoGreet updateNoGreet) {
if(updateNoGreet.getNoGreet() == null){
throw new ServiceException("参数异常");
}
if(updateNoGreet.getNoGreet() != 0 && updateNoGreet.getNoGreet() != 1){
throw new ServiceException("参数异常");
}
UserMemberTypeEnum typeEnum = this.checkUserIsMember(updateNoGreet.getUserId());
if(typeEnum == null){
throw new ServiceException("用户非会员或会员已到期");
}
userService.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId,updateNoGreet.getUserId())
.set(User::getNoGreet,updateNoGreet.getNoGreet()));
}
}

View File

@@ -1,6 +1,8 @@
package com.ruoyi.cai.util;
import cn.hutool.core.util.NumberUtil;
import lombok.Data;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTabJc;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -26,7 +28,15 @@ public class CaiNumUtil {
return mul.intValue()+"%";
}
public static BigDecimal memberDay(BigDecimal price, Integer days){
BigDecimal div = NumberUtil.div(price, days, 2);
if(div.compareTo(BigDecimal.ZERO) == 0){
return new BigDecimal("0.01");
}
return div;
}
public static void main(String[] args) {
System.out.println(rateToStr(BigDecimal.valueOf(0.07)));
System.out.println(memberDay(BigDecimal.valueOf(20), 3220));
}
}