Commit fd126ba2f7ed54111ea9d2187aa86d7a39983d85

Authored by owen
1 parent d4acacec

member: 根据积分配置的比例,换算积分

yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointRecordServiceImpl.java
@@ -8,11 +8,13 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -8,11 +8,13 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 import cn.iocoder.yudao.module.member.api.user.MemberUserApi; 8 import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
9 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; 9 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
10 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; 10 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO;
  11 +import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
11 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; 12 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
12 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; 13 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
13 import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper; 14 import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper;
14 import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum; 15 import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
15 import cn.iocoder.yudao.module.member.service.user.MemberUserService; 16 import cn.iocoder.yudao.module.member.service.user.MemberUserService;
  17 +import lombok.extern.slf4j.Slf4j;
16 import org.apache.commons.lang3.StringUtils; 18 import org.apache.commons.lang3.StringUtils;
17 import org.springframework.stereotype.Service; 19 import org.springframework.stereotype.Service;
18 import org.springframework.util.CollectionUtils; 20 import org.springframework.util.CollectionUtils;
@@ -30,12 +32,15 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils. @@ -30,12 +32,15 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
30 * 32 *
31 * @author QingX 33 * @author QingX
32 */ 34 */
  35 +@Slf4j
33 @Service 36 @Service
34 @Validated 37 @Validated
35 public class MemberPointRecordServiceImpl implements MemberPointRecordService { 38 public class MemberPointRecordServiceImpl implements MemberPointRecordService {
36 39
37 @Resource 40 @Resource
38 private MemberPointRecordMapper recordMapper; 41 private MemberPointRecordMapper recordMapper;
  42 + @Resource
  43 + private MemberPointConfigService memberPointConfigService;
39 44
40 @Resource 45 @Resource
41 private MemberUserApi memberUserApi; 46 private MemberUserApi memberUserApi;
@@ -65,6 +70,15 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService { @@ -65,6 +70,15 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService {
65 70
66 @Override 71 @Override
67 public void createPointRecord(Long userId, Integer point, MemberPointBizTypeEnum bizType, String bizId) { 72 public void createPointRecord(Long userId, Integer point, MemberPointBizTypeEnum bizType, String bizId) {
  73 + MemberPointConfigDO pointConfig = memberPointConfigService.getPointConfig();
  74 + if (pointConfig == null || pointConfig.getTradeGivePoint() == null) {
  75 + log.warn("增加积分失败:积分配置”1 元赠送多少分“未设置, userId={}, point={}, bizType={}, bizId={}",
  76 + userId, point, bizType.getType(), bizId);
  77 + return;
  78 + }
  79 +
  80 + // 根据配置的比例,换算实际的积分
  81 + point = point * pointConfig.getTradeGivePoint();
68 if (bizType.isReduce() && point > 0) { 82 if (bizType.isReduce() && point > 0) {
69 point = -point; 83 point = -point;
70 } 84 }