Commit c7285da9a7314b3f34f634eb8ba0bc75ed2dffc3

Authored by YunaiV
1 parent bfc72a98

code review:会员签到配置

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 }