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.AlbumResetReq;
|
||||||
import com.ruoyi.cai.dto.app.query.IdRes;
|
import com.ruoyi.cai.dto.app.query.IdRes;
|
||||||
import com.ruoyi.cai.dto.app.query.UserUpdateReq;
|
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.CurrentUserInfoVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.user.CurrentUserUpdateInfoVo;
|
import com.ruoyi.cai.dto.app.vo.user.CurrentUserUpdateInfoVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.user.MemberInfoVo;
|
import com.ruoyi.cai.dto.app.vo.user.MemberInfoVo;
|
||||||
@@ -77,6 +79,25 @@ public class UserAppController {
|
|||||||
return R.ok(userMemberService.memberApp(userId,type));
|
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")
|
/*@PostMapping("/update/one")
|
||||||
@Operation(summary = "完善用户必填信息")
|
@Operation(summary = "完善用户必填信息")
|
||||||
@Log(title = "完善用户必填信息", businessType = BusinessType.OTHER, isSaveDb = false)
|
@Log(title = "完善用户必填信息", businessType = BusinessType.OTHER, isSaveDb = false)
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ public class MemberPrice implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@Schema(description = "会员价格")
|
@Schema(description = "会员价格")
|
||||||
private BigDecimal price;
|
private BigDecimal price;
|
||||||
|
|
||||||
|
@Schema(description = "会员价格/天")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal dayPrice;
|
||||||
/**
|
/**
|
||||||
* 图片地址
|
* 图片地址
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package com.ruoyi.cai.domain;
|
package com.ruoyi.cai.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -31,14 +33,20 @@ public class MemberSkill implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 名称
|
* 名称
|
||||||
*/
|
*/
|
||||||
|
@TableField(value = "`name`")
|
||||||
|
@Schema(description = "名称")
|
||||||
private String name;
|
private String name;
|
||||||
/**
|
/**
|
||||||
* 描述
|
* 描述
|
||||||
*/
|
*/
|
||||||
|
@TableField(value = "`desc`")
|
||||||
|
@Schema(description = "描述")
|
||||||
private String desc;
|
private String desc;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@TableField(value = "`icon`")
|
||||||
|
@Schema(description = "图片")
|
||||||
private String icon;
|
private String icon;
|
||||||
/**
|
/**
|
||||||
* 状态 0 可用 1 不可用
|
* 状态 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.MemberPrice;
|
||||||
import com.ruoyi.cai.domain.MemberSkill;
|
import com.ruoyi.cai.domain.MemberSkill;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -14,16 +15,24 @@ public class MemberInfoVo {
|
|||||||
private String nickname;
|
private String nickname;
|
||||||
private Integer gender;
|
private Integer gender;
|
||||||
private String avatar;
|
private String avatar;
|
||||||
|
@Schema(description = "会员技能")
|
||||||
private List<MemberPrice> memberPriceList;
|
private List<MemberPrice> memberPriceList;
|
||||||
|
@Schema(description = "会员价格")
|
||||||
private List<MemberSkill> memberSkillList;
|
private List<MemberSkill> memberSkillList;
|
||||||
|
@Schema(description = "是否开通永久会员 1-永久 0-非永久")
|
||||||
private Integer longs;
|
private Integer longs;
|
||||||
|
@Schema(description = "过期时间")
|
||||||
private LocalDateTime expireTime;
|
private LocalDateTime expireTime;
|
||||||
|
@Schema(description = "过期时间字符")
|
||||||
private String expireTimeStr;
|
private String expireTimeStr;
|
||||||
|
@Schema(description = "是否开通会员")
|
||||||
private Integer on;
|
private Integer on;
|
||||||
|
|
||||||
private String bannerPic = "images/member/vip_banner.gif";
|
private String bannerPic = "images/member/vip_banner.gif";
|
||||||
|
|
||||||
|
@Schema(description = "隐藏排行榜 0-关闭 1-打开")
|
||||||
private Integer rankHide;
|
private Integer rankHide;
|
||||||
|
@Schema(description = "隐身模式 0-关闭 1-打开")
|
||||||
private Integer noGreet;
|
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.AccountAliBankCardRes;
|
||||||
import com.ruoyi.cai.dto.app.query.AnchorUpdateReq;
|
import com.ruoyi.cai.dto.app.query.AnchorUpdateReq;
|
||||||
import com.ruoyi.cai.dto.app.query.UserUpdateReq;
|
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.AnchorVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
|
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.CurrentUserUpdateInfoVo;
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.ruoyi.cai.domain.UserMember;
|
import com.ruoyi.cai.domain.UserMember;
|
||||||
import com.ruoyi.cai.dto.admin.vo.UserMemberAdminVo;
|
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.dto.app.vo.user.MemberInfoVo;
|
||||||
import com.ruoyi.cai.enums.UserMemberTypeEnum;
|
import com.ruoyi.cai.enums.UserMemberTypeEnum;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
@@ -36,4 +38,8 @@ public interface UserMemberService extends IService<UserMember> {
|
|||||||
void relieveMember(Long id);
|
void relieveMember(Long id);
|
||||||
|
|
||||||
MemberInfoVo memberApp(Long userId, Integer type);
|
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.User;
|
||||||
import com.ruoyi.cai.domain.UserMember;
|
import com.ruoyi.cai.domain.UserMember;
|
||||||
import com.ruoyi.cai.dto.admin.vo.UserMemberAdminVo;
|
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.dto.app.vo.user.MemberInfoVo;
|
||||||
import com.ruoyi.cai.enums.UserMemberTypeEnum;
|
import com.ruoyi.cai.enums.UserMemberTypeEnum;
|
||||||
import com.ruoyi.cai.mapper.UserMemberMapper;
|
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.MemberSkillService;
|
||||||
import com.ruoyi.cai.service.UserMemberService;
|
import com.ruoyi.cai.service.UserMemberService;
|
||||||
import com.ruoyi.cai.service.UserService;
|
import com.ruoyi.cai.service.UserService;
|
||||||
|
import com.ruoyi.cai.util.CaiNumUtil;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -114,6 +117,9 @@ public class UserMemberServiceImpl extends ServiceImpl<UserMemberMapper, UserMem
|
|||||||
memberInfoVo.setRankHide(user.getRankHide());
|
memberInfoVo.setRankHide(user.getRankHide());
|
||||||
memberInfoVo.setNoGreet(user.getNoGreet());
|
memberInfoVo.setNoGreet(user.getNoGreet());
|
||||||
List<MemberPrice> memberPriceList = memberPriceService.listByType(type);
|
List<MemberPrice> memberPriceList = memberPriceService.listByType(type);
|
||||||
|
for (MemberPrice memberPrice : memberPriceList) {
|
||||||
|
memberPrice.setDayPrice(CaiNumUtil.memberDay(memberPrice.getPrice(),memberPrice.getExpires()));
|
||||||
|
}
|
||||||
memberInfoVo.setMemberPriceList(memberPriceList);
|
memberInfoVo.setMemberPriceList(memberPriceList);
|
||||||
List<MemberSkill> memberSkillList = memberSkillService.listByType(type);
|
List<MemberSkill> memberSkillList = memberSkillService.listByType(type);
|
||||||
memberInfoVo.setMemberSkillList(memberSkillList);
|
memberInfoVo.setMemberSkillList(memberSkillList);
|
||||||
@@ -136,4 +142,38 @@ public class UserMemberServiceImpl extends ServiceImpl<UserMemberMapper, UserMem
|
|||||||
}
|
}
|
||||||
return memberInfoVo;
|
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;
|
package com.ruoyi.cai.util;
|
||||||
|
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTabJc;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
@@ -26,7 +28,15 @@ public class CaiNumUtil {
|
|||||||
return mul.intValue()+"%";
|
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) {
|
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