mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-25 08:25:07 +08:00
Merge remote-tracking branch 'origin/feature/mall_product' into member_dev
# Conflicts: # sql/mysql/member_level.sql # yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberExperienceLogService.java # yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelLogService.java # yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelLogServiceImpl.java
This commit is contained in:
@ -35,7 +35,7 @@ public class MemberLevelBaseVO {
|
||||
@Schema(description = "享受折扣", requiredMode = Schema.RequiredMode.REQUIRED, example = "98")
|
||||
@NotNull(message = "享受折扣不能为空")
|
||||
@Range(min = 0, max = 100, message = "享受折扣的范围为 0-100")
|
||||
private Integer discount;
|
||||
private Integer discountPercent;
|
||||
|
||||
@Schema(description = "等级图标", example = "https://www.iocoder.cn/yudao.jpg")
|
||||
@URL(message = "等级图标必须是 URL 格式")
|
||||
|
@ -26,7 +26,7 @@ public class MemberLevelRecordBaseVO {
|
||||
|
||||
@Schema(description = "享受折扣", requiredMode = Schema.RequiredMode.REQUIRED, example = "13319")
|
||||
@NotNull(message = "享受折扣不能为空")
|
||||
private Integer discount;
|
||||
private Integer discountPercent;
|
||||
|
||||
@Schema(description = "升级经验", requiredMode = Schema.RequiredMode.REQUIRED, example = "13319")
|
||||
@NotNull(message = "升级经验不能为空")
|
||||
|
@ -15,6 +15,9 @@ public class MemberPointRecordPageReqVO extends PageParam {
|
||||
@Schema(description = "用户昵称", example = "张三")
|
||||
private String nickname;
|
||||
|
||||
@Schema(description = "用户编号", example = "123")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "业务类型", example = "1")
|
||||
private Integer bizType;
|
||||
|
||||
|
@ -23,6 +23,9 @@ public class MemberSignInRecordPageReqVO extends PageParam {
|
||||
@Schema(description = "第几天签到", example = "10")
|
||||
private Integer day;
|
||||
|
||||
@Schema(description = "用户编号", example = "123")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "签到时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
@ -29,9 +29,11 @@ public class MemberUserRespVO extends MemberUserBaseVO {
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
// ========== 其它信息 ==========
|
||||
|
||||
@Schema(description = "积分", example = "100")
|
||||
private Integer point;
|
||||
|
||||
@Schema(description = "会员标签", example = "[红色, 快乐]")
|
||||
private List<String> tagNames;
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package cn.iocoder.yudao.module.member.dal.dataobject.level;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||
import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@ -29,6 +30,8 @@ public class MemberExperienceRecordDO extends BaseDO {
|
||||
private Long id;
|
||||
/**
|
||||
* 用户编号
|
||||
*
|
||||
* 关联 {@link MemberUserDO#getId()} 字段
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
@ -45,6 +48,10 @@ public class MemberExperienceRecordDO extends BaseDO {
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* 经验
|
||||
*/
|
||||
@ -53,9 +60,5 @@ public class MemberExperienceRecordDO extends BaseDO {
|
||||
* 变更后的经验
|
||||
*/
|
||||
private Integer totalExperience;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
}
|
||||
|
@ -33,18 +33,19 @@ public class MemberLevelDO extends BaseDO {
|
||||
* 等级名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 升级经验
|
||||
*/
|
||||
private Integer experience;
|
||||
/**
|
||||
* 等级
|
||||
*/
|
||||
private Integer level;
|
||||
/**
|
||||
* 升级经验
|
||||
*/
|
||||
private Integer experience;
|
||||
/**
|
||||
* 享受折扣
|
||||
*/
|
||||
private Integer discount;
|
||||
private Integer discountPercent;
|
||||
|
||||
/**
|
||||
* 等级图标
|
||||
*/
|
||||
|
@ -1,6 +1,7 @@
|
||||
package cn.iocoder.yudao.module.member.dal.dataobject.level;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -30,20 +31,26 @@ public class MemberLevelRecordDO extends BaseDO {
|
||||
private Long id;
|
||||
/**
|
||||
* 用户编号
|
||||
*
|
||||
* 关联 {@link MemberUserDO#getId()} 字段
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 等级编号
|
||||
*
|
||||
* 关联 {@link MemberLevelDO#getId()} 字段
|
||||
*/
|
||||
private Long levelId;
|
||||
/**
|
||||
* 会员等级
|
||||
*
|
||||
* 冗余 {@link MemberLevelDO#getLevel()} 字段
|
||||
*/
|
||||
private Integer level;
|
||||
/**
|
||||
* 享受折扣
|
||||
*/
|
||||
private Integer discount;
|
||||
private Integer discountPercent;
|
||||
/**
|
||||
* 升级经验
|
||||
*/
|
||||
|
@ -21,6 +21,7 @@ public interface MemberPointRecordMapper extends BaseMapperX<MemberPointRecordDO
|
||||
default PageResult<MemberPointRecordDO> selectPage(MemberPointRecordPageReqVO reqVO, Set<Long> userIds) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<MemberPointRecordDO>()
|
||||
.inIfPresent(MemberPointRecordDO::getUserId, userIds)
|
||||
.eqIfPresent(MemberPointRecordDO::getUserId, reqVO.getUserId())
|
||||
.eqIfPresent(MemberPointRecordDO::getBizType, reqVO.getBizType())
|
||||
.likeIfPresent(MemberPointRecordDO::getTitle, reqVO.getTitle())
|
||||
.orderByDesc(MemberPointRecordDO::getId));
|
||||
|
@ -21,6 +21,7 @@ public interface MemberSignInRecordMapper extends BaseMapperX<MemberSignInRecord
|
||||
default PageResult<MemberSignInRecordDO> selectPage(MemberSignInRecordPageReqVO reqVO, Set<Long> userIds) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<MemberSignInRecordDO>()
|
||||
.inIfPresent(MemberSignInRecordDO::getUserId, userIds)
|
||||
.eqIfPresent(MemberSignInRecordDO::getUserId, reqVO.getUserId())
|
||||
.eqIfPresent(MemberSignInRecordDO::getDay, reqVO.getDay())
|
||||
.betweenIfPresent(MemberSignInRecordDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(MemberSignInRecordDO::getId));
|
||||
|
@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
|
||||
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.signin.vo.record.MemberSignInRecordPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.signin.vo.record.AppMemberSignInRecordRespVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.signin.MemberSignInRecordMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
@ -49,7 +49,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest {
|
||||
public void testCreateLevel_success() {
|
||||
// 准备参数
|
||||
MemberLevelCreateReqVO reqVO = randomPojo(MemberLevelCreateReqVO.class, o -> {
|
||||
o.setDiscount(randomInt());
|
||||
o.setDiscountPercent(randomInt());
|
||||
o.setIcon(randomURL());
|
||||
o.setBackgroundUrl(randomURL());
|
||||
});
|
||||
@ -76,7 +76,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest {
|
||||
o.setLevel(dbLevel.getLevel());
|
||||
o.setExperience(dbLevel.getExperience());
|
||||
//以下是要修改的字段
|
||||
o.setDiscount(randomInt());
|
||||
o.setDiscountPercent(randomInt());
|
||||
o.setIcon(randomURL());
|
||||
o.setBackgroundUrl(randomURL());
|
||||
});
|
||||
@ -255,7 +255,7 @@ public class MemberLevelServiceImplTest extends BaseDbUnitTest {
|
||||
private static MemberLevelDO randomLevelDO(Consumer<MemberLevelDO>... consumers) {
|
||||
Consumer<MemberLevelDO> consumer = (o) -> {
|
||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
o.setDiscount(randomInt(0, 100));
|
||||
o.setDiscountPercent(randomInt(0, 100));
|
||||
o.setIcon(randomURL());
|
||||
o.setBackgroundUrl(randomURL());
|
||||
};
|
||||
|
Reference in New Issue
Block a user