123
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -43,6 +43,10 @@ public class MemberPrice implements Serializable {
|
||||
*/
|
||||
@Schema(description = "会员价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "会员价格/天")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal dayPrice;
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
|
||||
@@ -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 不可用
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user