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 | 12 | @Data |
| 13 | 13 | public class MemberPointConfigBaseVO { |
| 14 | 14 | |
| 15 | - @NotNull(message = "积分抵扣开发不能为空") | |
| 16 | 15 | @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") |
| 16 | + @NotNull(message = "积分抵扣开发不能为空") | |
| 17 | 17 | private Boolean tradeDeductEnable; |
| 18 | 18 | |
| 19 | - @NotNull(message = "积分抵扣不能为空") | |
| 20 | 19 | @Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "13506") |
| 20 | + @NotNull(message = "积分抵扣不能为空") | |
| 21 | 21 | private Integer tradeDeductUnitPrice; |
| 22 | - @NotNull(message = "积分抵扣最大值不能为空") | |
| 22 | + | |
| 23 | 23 | @Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "32428") |
| 24 | + @NotNull(message = "积分抵扣最大值不能为空") | |
| 24 | 25 | private Integer tradeDeductMaxPrice; |
| 25 | - @NotNull(message = "1元赠送积分不能为空") | |
| 26 | + | |
| 26 | 27 | @Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") |
| 28 | + @NotNull(message = "1 元赠送积分不能为空") | |
| 27 | 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 | 1 | package cn.iocoder.yudao.module.member.controller.admin.signin.vo.config; |
| 2 | 2 | |
| 3 | 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 | 6 | import javax.validation.constraints.NotNull; |
| 9 | -import javax.validation.constraints.Pattern; | |
| 10 | 7 | |
| 11 | 8 | /** |
| 12 | 9 | * 积分签到规则 Base VO,提供给添加、修改、详细的子 VO 使用 |
| ... | ... | @@ -14,14 +11,13 @@ import javax.validation.constraints.Pattern; |
| 14 | 11 | */ |
| 15 | 12 | @Data |
| 16 | 13 | public class MemberSignInConfigBaseVO { |
| 17 | - | |
| 18 | - | |
| 14 | + | |
| 19 | 15 | @Schema(description = "签到第 x 天", requiredMode = Schema.RequiredMode.REQUIRED, example = "7") |
| 20 | 16 | @NotNull(message = "签到天数不能为空") |
| 21 | 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 | 21 | private Integer point; |
| 26 | 22 | |
| 27 | 23 | @NotNull | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/signin/MemberSignInConfigDO.java
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/signin/MemberSignInConfigMapper.java
| 1 | 1 | package cn.iocoder.yudao.module.member.dal.mysql.signin; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 4 | -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | |
| 5 | 4 | import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO; |
| 6 | -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | |
| 7 | 5 | import org.apache.ibatis.annotations.Mapper; |
| 8 | 6 | |
| 9 | -import java.util.List; | |
| 10 | - | |
| 11 | 7 | /** |
| 12 | 8 | * 积分签到规则 Mapper |
| 13 | 9 | * |
| ... | ... | @@ -16,7 +12,6 @@ import java.util.List; |
| 16 | 12 | @Mapper |
| 17 | 13 | public interface MemberSignInConfigMapper extends BaseMapperX<MemberSignInConfigDO> { |
| 18 | 14 | |
| 19 | - | |
| 20 | 15 | default MemberSignInConfigDO selectByDay(Integer day) { |
| 21 | 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 | 1 | package cn.iocoder.yudao.module.member.service.point; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 4 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | |
| 5 | 4 | import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO; |
| 6 | 5 | import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert; |
| 7 | 6 | import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO; |
| ... | ... | @@ -26,22 +25,19 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService { |
| 26 | 25 | |
| 27 | 26 | @Override |
| 28 | 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 | 38 | @Override |
| 43 | 39 | public MemberPointConfigDO getConfig() { |
| 44 | - List <MemberPointConfigDO> list = pointConfigMapper.selectList(); | |
| 40 | + List<MemberPointConfigDO> list = pointConfigMapper.selectList(); | |
| 45 | 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 | 29 | |
| 30 | 30 | @Resource |
| 31 | 31 | private MemberPointRecordMapper recordMapper; |
| 32 | + | |
| 32 | 33 | @Resource |
| 33 | 34 | private MemberUserApi memberUserApi; |
| 34 | 35 | |
| 35 | 36 | @Override |
| 36 | 37 | public PageResult<MemberPointRecordDO> getRecordPage(MemberPointRecordPageReqVO pageReqVO) { |
| 37 | - // 根据用户昵称查询出用户ids | |
| 38 | + // 根据用户昵称查询出用户 ids | |
| 38 | 39 | Set<Long> userIds = null; |
| 39 | 40 | if (StringUtils.isNotBlank(pageReqVO.getNickname())) { |
| 40 | 41 | List<MemberUserRespDTO> users = memberUserApi.getUserListByNickname(pageReqVO.getNickname()); |
| ... | ... | @@ -44,6 +45,7 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService { |
| 44 | 45 | } |
| 45 | 46 | userIds = convertSet(users, MemberUserRespDTO::getId); |
| 46 | 47 | } |
| 48 | + // 执行查询 | |
| 47 | 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 | 11 | import javax.annotation.Resource; |
| 12 | 12 | import java.util.Comparator; |
| 13 | 13 | import java.util.List; |
| 14 | -import java.util.stream.Collectors; | |
| 15 | 14 | |
| 16 | 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 | 20 | * 积分签到规则 Service 实现类 |
| ... | ... | @@ -91,10 +91,9 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService |
| 91 | 91 | |
| 92 | 92 | @Override |
| 93 | 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 | } | ... | ... |