Commit c7285da9a7314b3f34f634eb8ba0bc75ed2dffc3
1 parent
bfc72a98
code review:会员签到配置
Showing
7 changed files
with
27 additions
and
37 deletions
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/config/MemberPointConfigBaseVO.java
| @@ -12,18 +12,20 @@ import javax.validation.constraints.NotNull; | @@ -12,18 +12,20 @@ import javax.validation.constraints.NotNull; | ||
| 12 | @Data | 12 | @Data |
| 13 | public class MemberPointConfigBaseVO { | 13 | public class MemberPointConfigBaseVO { |
| 14 | 14 | ||
| 15 | - @NotNull(message = "积分抵扣开发不能为空") | ||
| 16 | @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") | 15 | @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") |
| 16 | + @NotNull(message = "积分抵扣开发不能为空") | ||
| 17 | private Boolean tradeDeductEnable; | 17 | private Boolean tradeDeductEnable; |
| 18 | 18 | ||
| 19 | - @NotNull(message = "积分抵扣不能为空") | ||
| 20 | @Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "13506") | 19 | @Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "13506") |
| 20 | + @NotNull(message = "积分抵扣不能为空") | ||
| 21 | private Integer tradeDeductUnitPrice; | 21 | private Integer tradeDeductUnitPrice; |
| 22 | - @NotNull(message = "积分抵扣最大值不能为空") | 22 | + |
| 23 | @Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "32428") | 23 | @Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "32428") |
| 24 | + @NotNull(message = "积分抵扣最大值不能为空") | ||
| 24 | private Integer tradeDeductMaxPrice; | 25 | private Integer tradeDeductMaxPrice; |
| 25 | - @NotNull(message = "1元赠送积分不能为空") | 26 | + |
| 26 | @Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") | 27 | @Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") |
| 28 | + @NotNull(message = "1 元赠送积分不能为空") | ||
| 27 | private Integer tradeGivePoint; | 29 | private Integer tradeGivePoint; |
| 28 | 30 | ||
| 29 | } | 31 | } |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/vo/config/MemberSignInConfigBaseVO.java
| 1 | package cn.iocoder.yudao.module.member.controller.admin.signin.vo.config; | 1 | package cn.iocoder.yudao.module.member.controller.admin.signin.vo.config; |
| 2 | 2 | ||
| 3 | import io.swagger.v3.oas.annotations.media.Schema; | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | -import lombok.*; | 4 | +import lombok.Data; |
| 5 | 5 | ||
| 6 | -import javax.validation.constraints.NotBlank; | ||
| 7 | -import javax.validation.constraints.NotEmpty; | ||
| 8 | import javax.validation.constraints.NotNull; | 6 | import javax.validation.constraints.NotNull; |
| 9 | -import javax.validation.constraints.Pattern; | ||
| 10 | 7 | ||
| 11 | /** | 8 | /** |
| 12 | * 积分签到规则 Base VO,提供给添加、修改、详细的子 VO 使用 | 9 | * 积分签到规则 Base VO,提供给添加、修改、详细的子 VO 使用 |
| @@ -14,14 +11,13 @@ import javax.validation.constraints.Pattern; | @@ -14,14 +11,13 @@ import javax.validation.constraints.Pattern; | ||
| 14 | */ | 11 | */ |
| 15 | @Data | 12 | @Data |
| 16 | public class MemberSignInConfigBaseVO { | 13 | public class MemberSignInConfigBaseVO { |
| 17 | - | ||
| 18 | - | 14 | + |
| 19 | @Schema(description = "签到第 x 天", requiredMode = Schema.RequiredMode.REQUIRED, example = "7") | 15 | @Schema(description = "签到第 x 天", requiredMode = Schema.RequiredMode.REQUIRED, example = "7") |
| 20 | @NotNull(message = "签到天数不能为空") | 16 | @NotNull(message = "签到天数不能为空") |
| 21 | private Integer day; | 17 | private Integer day; |
| 22 | 18 | ||
| 23 | - @Schema(description = "签到天数对应分数", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") | ||
| 24 | - @NotNull(message = "签到天数对应分数不能为空") | 19 | + @Schema(description = "奖励积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") |
| 20 | + @NotNull(message = "奖励积分不能为空") | ||
| 25 | private Integer point; | 21 | private Integer point; |
| 26 | 22 | ||
| 27 | @NotNull | 23 | @NotNull |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/signin/MemberSignInConfigDO.java
| @@ -31,7 +31,7 @@ public class MemberSignInConfigDO extends BaseDO { | @@ -31,7 +31,7 @@ public class MemberSignInConfigDO extends BaseDO { | ||
| 31 | */ | 31 | */ |
| 32 | private Integer day; | 32 | private Integer day; |
| 33 | /** | 33 | /** |
| 34 | - * 签到天数对应分数 | 34 | + * 奖励积分 |
| 35 | */ | 35 | */ |
| 36 | private Integer point; | 36 | private Integer point; |
| 37 | 37 |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/signin/MemberSignInConfigMapper.java
| 1 | package cn.iocoder.yudao.module.member.dal.mysql.signin; | 1 | package cn.iocoder.yudao.module.member.dal.mysql.signin; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 4 | -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 5 | import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO; | 4 | import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO; |
| 6 | -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | ||
| 7 | import org.apache.ibatis.annotations.Mapper; | 5 | import org.apache.ibatis.annotations.Mapper; |
| 8 | 6 | ||
| 9 | -import java.util.List; | ||
| 10 | - | ||
| 11 | /** | 7 | /** |
| 12 | * 积分签到规则 Mapper | 8 | * 积分签到规则 Mapper |
| 13 | * | 9 | * |
| @@ -16,7 +12,6 @@ import java.util.List; | @@ -16,7 +12,6 @@ import java.util.List; | ||
| 16 | @Mapper | 12 | @Mapper |
| 17 | public interface MemberSignInConfigMapper extends BaseMapperX<MemberSignInConfigDO> { | 13 | public interface MemberSignInConfigMapper extends BaseMapperX<MemberSignInConfigDO> { |
| 18 | 14 | ||
| 19 | - | ||
| 20 | default MemberSignInConfigDO selectByDay(Integer day) { | 15 | default MemberSignInConfigDO selectByDay(Integer day) { |
| 21 | return selectOne(MemberSignInConfigDO::getDay, day); | 16 | return selectOne(MemberSignInConfigDO::getDay, day); |
| 22 | } | 17 | } |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointConfigServiceImpl.java
| 1 | package cn.iocoder.yudao.module.member.service.point; | 1 | package cn.iocoder.yudao.module.member.service.point; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 3 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 4 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | ||
| 5 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO; | 4 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO; |
| 6 | import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert; | 5 | import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert; |
| 7 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO; | 6 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO; |
| @@ -26,22 +25,19 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService { | @@ -26,22 +25,19 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService { | ||
| 26 | 25 | ||
| 27 | @Override | 26 | @Override |
| 28 | public void saveConfig(MemberPointConfigSaveReqVO saveReqVO) { | 27 | public void saveConfig(MemberPointConfigSaveReqVO saveReqVO) { |
| 29 | - //获取当前记录 | ||
| 30 | - MemberPointConfigDO configDO = getConfig(); | ||
| 31 | - MemberPointConfigDO pointConfigDO = MemberPointConfigConvert.INSTANCE.convert(saveReqVO); | ||
| 32 | - //当前存在记录,则更新,否则插入 | ||
| 33 | - if (configDO != null) { | ||
| 34 | - pointConfigDO.setId(configDO.getId()); | ||
| 35 | - pointConfigMapper.updateById(pointConfigDO); | ||
| 36 | - } else { | ||
| 37 | - pointConfigDO.setId(null); | ||
| 38 | - pointConfigMapper.insert(pointConfigDO); | 28 | + // 存在,则进行更新 |
| 29 | + MemberPointConfigDO dbConfig = getConfig(); | ||
| 30 | + if (dbConfig != null) { | ||
| 31 | + pointConfigMapper.updateById(MemberPointConfigConvert.INSTANCE.convert(saveReqVO).setId(dbConfig.getId())); | ||
| 32 | + return; | ||
| 39 | } | 33 | } |
| 34 | + // 不存在,则进行插入 | ||
| 35 | + pointConfigMapper.insert(MemberPointConfigConvert.INSTANCE.convert(saveReqVO)); | ||
| 40 | } | 36 | } |
| 41 | 37 | ||
| 42 | @Override | 38 | @Override |
| 43 | public MemberPointConfigDO getConfig() { | 39 | public MemberPointConfigDO getConfig() { |
| 44 | - List <MemberPointConfigDO> list = pointConfigMapper.selectList(); | 40 | + List<MemberPointConfigDO> list = pointConfigMapper.selectList(); |
| 45 | return CollectionUtils.getFirst(list); | 41 | return CollectionUtils.getFirst(list); |
| 46 | } | 42 | } |
| 47 | 43 |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointRecordServiceImpl.java
| @@ -29,12 +29,13 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService { | @@ -29,12 +29,13 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService { | ||
| 29 | 29 | ||
| 30 | @Resource | 30 | @Resource |
| 31 | private MemberPointRecordMapper recordMapper; | 31 | private MemberPointRecordMapper recordMapper; |
| 32 | + | ||
| 32 | @Resource | 33 | @Resource |
| 33 | private MemberUserApi memberUserApi; | 34 | private MemberUserApi memberUserApi; |
| 34 | 35 | ||
| 35 | @Override | 36 | @Override |
| 36 | public PageResult<MemberPointRecordDO> getRecordPage(MemberPointRecordPageReqVO pageReqVO) { | 37 | public PageResult<MemberPointRecordDO> getRecordPage(MemberPointRecordPageReqVO pageReqVO) { |
| 37 | - // 根据用户昵称查询出用户ids | 38 | + // 根据用户昵称查询出用户 ids |
| 38 | Set<Long> userIds = null; | 39 | Set<Long> userIds = null; |
| 39 | if (StringUtils.isNotBlank(pageReqVO.getNickname())) { | 40 | if (StringUtils.isNotBlank(pageReqVO.getNickname())) { |
| 40 | List<MemberUserRespDTO> users = memberUserApi.getUserListByNickname(pageReqVO.getNickname()); | 41 | List<MemberUserRespDTO> users = memberUserApi.getUserListByNickname(pageReqVO.getNickname()); |
| @@ -44,6 +45,7 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService { | @@ -44,6 +45,7 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService { | ||
| 44 | } | 45 | } |
| 45 | userIds = convertSet(users, MemberUserRespDTO::getId); | 46 | userIds = convertSet(users, MemberUserRespDTO::getId); |
| 46 | } | 47 | } |
| 48 | + // 执行查询 | ||
| 47 | return recordMapper.selectPage(pageReqVO, userIds); | 49 | return recordMapper.selectPage(pageReqVO, userIds); |
| 48 | } | 50 | } |
| 49 | 51 |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInConfigServiceImpl.java
| @@ -11,10 +11,10 @@ import org.springframework.validation.annotation.Validated; | @@ -11,10 +11,10 @@ import org.springframework.validation.annotation.Validated; | ||
| 11 | import javax.annotation.Resource; | 11 | import javax.annotation.Resource; |
| 12 | import java.util.Comparator; | 12 | import java.util.Comparator; |
| 13 | import java.util.List; | 13 | import java.util.List; |
| 14 | -import java.util.stream.Collectors; | ||
| 15 | 14 | ||
| 16 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 15 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 17 | -import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*; | 16 | +import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.SIGN_IN_CONFIG_EXISTS; |
| 17 | +import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.SIGN_IN_CONFIG_NOT_EXISTS; | ||
| 18 | 18 | ||
| 19 | /** | 19 | /** |
| 20 | * 积分签到规则 Service 实现类 | 20 | * 积分签到规则 Service 实现类 |
| @@ -91,10 +91,9 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService | @@ -91,10 +91,9 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService | ||
| 91 | 91 | ||
| 92 | @Override | 92 | @Override |
| 93 | public List <MemberSignInConfigDO> getSignInConfigList() { | 93 | public List <MemberSignInConfigDO> getSignInConfigList() { |
| 94 | - //查询出所有的配置记录 | ||
| 95 | - List<MemberSignInConfigDO> result = signInConfigMapper.selectList(); | ||
| 96 | - //业务侧排序后返回结果 | ||
| 97 | - return result.stream().sorted(Comparator.comparing(MemberSignInConfigDO::getDay)).collect(Collectors.toList()); | 94 | + List<MemberSignInConfigDO> list = signInConfigMapper.selectList(); |
| 95 | + list.sort(Comparator.comparing(MemberSignInConfigDO::getDay)); | ||
| 96 | + return list; | ||
| 98 | } | 97 | } |
| 99 | 98 | ||
| 100 | } | 99 | } |