Commit bae94d06aced7b75366d977463a88aa237d79625

Authored by xiaqing
1 parent 33323c14

会员积分针对代码格式、功能优化

1.优化todo建议
2.删除无用代码
Showing 20 changed files with 146 additions and 169 deletions
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointRecordController.java
... ... @@ -2,22 +2,28 @@ package cn.iocoder.yudao.module.member.controller.admin.point;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
  6 +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
5 7 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO;
6 8 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordRespVO;
7   -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO;
8 9 import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert;
9 10 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
  11 +import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO;
10 12 import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
11 13 import io.swagger.v3.oas.annotations.Operation;
12   -import io.swagger.v3.oas.annotations.Parameter;
13 14 import io.swagger.v3.oas.annotations.tags.Tag;
  15 +import org.apache.commons.lang3.StringUtils;
14 16 import org.springframework.security.access.prepost.PreAuthorize;
  17 +import org.springframework.util.CollectionUtils;
15 18 import org.springframework.validation.annotation.Validated;
16 19 import org.springframework.web.bind.annotation.*;
17 20  
18 21 import javax.annotation.Resource;
19 22 import javax.validation.Valid;
20 23  
  24 +import java.util.List;
  25 +import java.util.stream.Collectors;
  26 +
21 27 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
22 28  
23 29 @Tag(name = "管理后台 - 用户积分记录")
... ... @@ -28,31 +34,34 @@ public class MemberPointRecordController {
28 34  
29 35 @Resource
30 36 private MemberPointRecordService recordService;
31   -
32   - // TODO @xiaqing:积分应该没有更新操作呀?可以删除哈;
33   - @PutMapping("/update")
34   - @Operation(summary = "更新用户积分记录")
35   - @PreAuthorize("@ss.hasPermission('point:record:update')")
36   - public CommonResult<Boolean> updateRecord(@Valid @RequestBody MemberPointRecordUpdateReqVO updateReqVO) {
37   - recordService.updateRecord(updateReqVO);
38   - return success(true);
39   - }
40   -
41   - @GetMapping("/get")
42   - @Operation(summary = "获得用户积分记录")
43   - @Parameter(name = "id", description = "编号", required = true, example = "1024")
44   - @PreAuthorize("@ss.hasPermission('point:record:query')")
45   - public CommonResult<MemberPointRecordRespVO> getRecord(@RequestParam("id") Long id) {
46   - MemberPointRecordDO record = recordService.getRecord(id);
47   - return success(MemberPointRecordConvert.INSTANCE.convert(record));
48   - }
  37 + @Resource
  38 + MemberUserApi memberUserApi;
49 39  
50 40 @GetMapping("/page")
51 41 @Operation(summary = "获得用户积分记录分页")
52 42 @PreAuthorize("@ss.hasPermission('point:record:query')")
53   - public CommonResult<PageResult<MemberPointRecordRespVO>> getRecordPage(@Valid MemberPointRecordPageReqVO pageVO) {
54   - PageResult<MemberPointRecordDO> pageResult = recordService.getRecordPage(pageVO);
55   - return success(MemberPointRecordConvert.INSTANCE.convertPage(pageResult));
  43 + public CommonResult <PageResult <MemberPointRecordRespVO>> getRecordPage(@Valid MemberPointRecordPageReqVO pageVO) {
  44 + //根据用户昵称查询出用户ids
  45 + List <Long> userIds = null;
  46 + if (StringUtils.isNotBlank(pageVO.getNickName())) {
  47 + List <MemberUserRespDTO> users = memberUserApi.getUserListByNickname(pageVO.getNickName());
  48 + //如果查询用户结果为空直接返回无需继续查询
  49 + if (CollectionUtils.isEmpty(users)) {
  50 + return success(new PageResult <>());
  51 + }
  52 + userIds=users.stream().map(user->user.getId()).collect(Collectors.toList());
  53 + pageVO.setUserIds(userIds);
  54 + }
  55 +
  56 + PageResult <MemberPointRecordDO> pageResult = recordService.getRecordPage(pageVO);
  57 + //根据查询的userId转换成nickName
  58 + List <MemberPointRecordDO> result = pageResult.getList();
  59 + List <MemberUserRespDTO> users = null;
  60 + if (!CollectionUtils.isEmpty(result)) {
  61 + List <Long> ids = result.stream().map(user -> user.getUserId()).collect(Collectors.toList());
  62 + users = memberUserApi.getUsers(ids);
  63 + }
  64 + return success(MemberPointRecordConvert.INSTANCE.convertPage(pageResult,users));
56 65 }
57 66  
58 67 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/config/MemberPointConfigBaseVO.java
... ... @@ -17,7 +17,7 @@ public class MemberPointConfigBaseVO {
17 17 @Schema(description = "积分抵扣开关", required = true, example = "true")
18 18 private Boolean tradeDeductEnable;
19 19  
20   - @Schema(description = "积分抵扣,单位:分", example = "13506")
  20 + @Schema(description = "积分抵扣,单位:元", example = "13506")
21 21 private BigDecimal tradeDeductUnitPrice;
22 22  
23 23 @Schema(description = "积分抵扣最大值", example = "32428")
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordBaseVO.java
... ... @@ -24,10 +24,6 @@ public class MemberPointRecordBaseVO {
24 24 @NotNull(message = "业务类型不能为空")
25 25 private String bizType;
26 26  
27   - @Schema(description = "1增加 0扣减", example = "1")
28   - @NotNull(message = "操作类型不能为空")
29   - private String type;
30   -
31 27 @Schema(description = "积分标题")
32 28 @NotNull(message = "积分标题不能为空")
33 29 private String title;
... ... @@ -47,10 +43,6 @@ public class MemberPointRecordBaseVO {
47 43 @NotNull(message = "积分状态不能为空")
48 44 private Integer status;
49 45  
50   - @Schema(description = "用户id", example = "31169")
51   - @NotNull(message = "用户ID不能为空")
52   - private Integer userId;
53   -
54 46 @Schema(description = "冻结时间")
55 47 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
56 48 @NotNull(message = "冻结时间不能为空")
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordCreateReqVO.java deleted
1   -package cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod;
2   -
3   -import lombok.*;
4   -import io.swagger.v3.oas.annotations.media.Schema;
5   -
6   -@Schema(description = "管理后台 - 用户积分记录创建 Request VO")
7   -@Data
8   -@EqualsAndHashCode(callSuper = true)
9   -@ToString(callSuper = true)
10   -public class MemberPointRecordCreateReqVO extends MemberPointRecordBaseVO {
11   -
12   -}
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordExportReqVO.java deleted
1   -package cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod;
2   -
3   -import lombok.*;
4   -import io.swagger.v3.oas.annotations.media.Schema;
5   -
6   -@Schema(description = "管理后台 - 用户积分记录 Excel 导出 Request VO,参数和 PointRecordPageReqVO 是一致的")
7   -@Data
8   -public class MemberPointRecordExportReqVO {
9   -
10   - @Schema(description = "业务编码", example = "22706")
11   - private String bizId;
12   -
13   - @Schema(description = "业务类型", example = "1")
14   - private String bizType;
15   -
16   - @Schema(description = "1增加 0扣减", example = "1")
17   - private String type;
18   -
19   - @Schema(description = "积分标题")
20   - private String title;
21   -
22   - @Schema(description = "状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款) ", example = "1")
23   - private Integer status;
24   -
25   -}
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordPageReqVO.java
... ... @@ -4,25 +4,28 @@ import lombok.*;
4 4 import io.swagger.v3.oas.annotations.media.Schema;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageParam;
6 6  
  7 +import java.util.List;
  8 +
7 9 @Schema(description = "管理后台 - 用户积分记录分页 Request VO")
8 10 @Data
9 11 @EqualsAndHashCode(callSuper = true)
10 12 @ToString(callSuper = true)
11 13 public class MemberPointRecordPageReqVO extends PageParam {
12 14  
13   - @Schema(description = "业务编码", example = "22706")
14   - private String bizId;
  15 + @Schema(description = "用户昵称", example = "张三")
  16 + private String nickName;
  17 +
  18 + //用户id集合,用户将nickName查询转换成user_ids查询
  19 + private List<Long> userIds;
15 20  
16 21 @Schema(description = "业务类型", example = "1")
17 22 private String bizType;
18 23  
19   - @Schema(description = "1增加 0扣减", example = "1")
20   - private String type;
21   -
22 24 @Schema(description = "积分标题")
23 25 private String title;
24 26  
25 27 @Schema(description = "状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款) ", example = "1")
26 28 private Integer status;
27 29  
  30 +
28 31 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordRespVO.java
... ... @@ -16,4 +16,7 @@ public class MemberPointRecordRespVO extends MemberPointRecordBaseVO {
16 16 @Schema(description = "发生时间")
17 17 private LocalDateTime createTime;
18 18  
  19 + //昵称
  20 + private String nickName;
  21 +
19 22 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/recrod/MemberPointRecordUpdateReqVO.java deleted
1   -package cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod;
2   -
3   -import io.swagger.v3.oas.annotations.media.Schema;
4   -import lombok.*;
5   -
6   -import javax.validation.constraints.*;
7   -
8   -@Schema(description = "管理后台 - 用户积分记录更新 Request VO")
9   -@Data
10   -@EqualsAndHashCode(callSuper = true)
11   -@ToString(callSuper = true)
12   -public class MemberPointRecordUpdateReqVO extends MemberPointRecordBaseVO {
13   -
14   - @Schema(description = "自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31457")
15   - @NotNull(message = "自增主键不能为空")
16   - private Long id;
17   -
18   -}
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java
... ... @@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.member.controller.admin.signin;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
  6 +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
5 7 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordPageReqVO;
6 8 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO;
7 9 import cn.iocoder.yudao.module.member.convert.signin.MemberSignInRecordConvert;
... ... @@ -12,6 +14,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
12 14 import io.swagger.v3.oas.annotations.Operation;
13 15 import io.swagger.v3.oas.annotations.Parameter;
14 16 import io.swagger.v3.oas.annotations.tags.Tag;
  17 +import org.apache.commons.lang3.StringUtils;
15 18 import org.springframework.security.access.prepost.PreAuthorize;
16 19 import org.springframework.util.CollectionUtils;
17 20 import org.springframework.validation.annotation.Validated;
... ... @@ -34,20 +37,31 @@ public class MemberSignInRecordController {
34 37 @Resource
35 38 private MemberSignInRecordService memberSignInRecordService;
36 39 @Resource
37   - AdminUserApi adminUserApi;
  40 + MemberUserApi memberUserApi;
38 41  
39 42  
40 43 @GetMapping("/page")
41 44 @Operation(summary = "获得用户签到积分分页")
42 45 @PreAuthorize("@ss.hasPermission('point:sign-in-record:query')")
43 46 public CommonResult <PageResult <MemberSignInRecordRespVO>> getSignInRecordPage(@Valid MemberSignInRecordPageReqVO pageVO) {
  47 + //请求中如果有nickName,需要根据nickName查询出userId
  48 + if(StringUtils.isNotBlank(pageVO.getNickName())){
  49 + List<Long> users= memberUserApi.getUserListByNickname(pageVO.getNickName()).stream()
  50 + .map(user->user.getId()).collect(Collectors.toList());
  51 + //如果根据昵称查出来的用户为空,则无需继续查找
  52 + if(CollectionUtils.isEmpty(users)){
  53 + return success(new PageResult <>());
  54 + }
  55 + pageVO.setUserIds(users);
  56 + }
  57 + //处理查询结果首先将数据信息查询,然后将userId转换为nickName
44 58 PageResult <MemberSignInRecordDO> pageResult = memberSignInRecordService.getSignInRecordPage(pageVO);
45 59 List <MemberSignInRecordDO> result = pageResult.getList();
46 60 //设置获取的用户信息
47   - List <AdminUserRespDTO> users = null;
  61 + List <MemberUserRespDTO> users = null;
48 62 if (!CollectionUtils.isEmpty(result)) {
49 63 List <Long> ids = result.stream().map(user -> user.getUserId()).collect(Collectors.toList());
50   - users = adminUserApi.getUserList(ids);
  64 + users = memberUserApi.getUsers(ids);
51 65 }
52 66 return success(MemberSignInRecordConvert.INSTANCE.convertPage(pageResult, users));
53 67 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/vo/MemberSignInRecordPageReqVO.java
... ... @@ -8,6 +8,7 @@ import lombok.ToString;
8 8 import org.springframework.format.annotation.DateTimeFormat;
9 9  
10 10 import java.time.LocalDateTime;
  11 +import java.util.List;
11 12  
12 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
13 14  
... ... @@ -17,8 +18,11 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
17 18 @ToString(callSuper = true)
18 19 public class MemberSignInRecordPageReqVO extends PageParam {
19 20  
  21 + //用户前台模糊查询
20 22 @Schema(description = "签到用户", example = "6507")
21   - private Long userId;
  23 + private String nickName;
  24 +
  25 + private List<Long>userIds;
22 26  
23 27 @Schema(description = "第几天签到")
24 28 private Integer day;
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointConfigConvert.java
... ... @@ -2,9 +2,7 @@ package cn.iocoder.yudao.module.member.convert.point;
2 2  
3 3 import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigRespVO;
4 4 import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
5   -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO;
6 5 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
7   -import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
8 6 import org.mapstruct.Mapper;
9 7 import org.mapstruct.factory.Mappers;
10 8  
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointRecordConvert.java
1 1 package cn.iocoder.yudao.module.member.convert.point;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordCreateReqVO;
  4 +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
5 5 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordRespVO;
6   -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO;
7 6 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
8 7 import org.mapstruct.Mapper;
9 8 import org.mapstruct.factory.Mappers;
  9 +import org.springframework.util.CollectionUtils;
  10 +
  11 +import java.util.ArrayList;
  12 +import java.util.List;
  13 +import java.util.Map;
  14 +import java.util.stream.Collectors;
10 15  
11 16 /**
12 17 * 用户积分记录 Convert
... ... @@ -18,12 +23,62 @@ public interface MemberPointRecordConvert {
18 23  
19 24 MemberPointRecordConvert INSTANCE = Mappers.getMapper(MemberPointRecordConvert.class);
20 25  
21   - MemberPointRecordDO convert(MemberPointRecordCreateReqVO bean);
  26 + default PageResult <MemberPointRecordRespVO> convertPage(PageResult <MemberPointRecordDO> page, List <MemberUserRespDTO> users) {
  27 + if (page == null) {
  28 + return null;
  29 + }
  30 +
  31 + PageResult <MemberPointRecordRespVO> pageResult = new PageResult <MemberPointRecordRespVO>();
  32 +
  33 + pageResult.setList(memberPointRecordDOListToMemberPointRecordRespVOList(page.getList(), users));
  34 + pageResult.setTotal(page.getTotal());
  35 +
  36 + return pageResult;
  37 + }
  38 +
  39 + default List <MemberPointRecordRespVO> memberPointRecordDOListToMemberPointRecordRespVOList(List <MemberPointRecordDO> list, List <MemberUserRespDTO> users) {
  40 + if (list == null) {
  41 + return null;
  42 + }
  43 + Map <Long, String> maps = null;
  44 + //是否需要转换用户标志
  45 + boolean userNickFlag = !CollectionUtils.isEmpty(users);
  46 + if (userNickFlag) {
  47 + maps = users.stream()
  48 + .collect(Collectors.toMap(MemberUserRespDTO::getId, MemberUserRespDTO::getNickname, (key1, key2) -> key2));
  49 + }
  50 + List <MemberPointRecordRespVO> list1 = new ArrayList <MemberPointRecordRespVO>(list.size());
  51 + for (MemberPointRecordDO memberPointRecordDO : list) {
  52 + MemberPointRecordRespVO recordRespVO = memberPointRecordDOToMemberPointRecordRespVO(memberPointRecordDO);
  53 + recordRespVO.setNickName(maps.get(memberPointRecordDO.getUserId()));
  54 + list1.add(recordRespVO);
  55 + }
  56 +
  57 + return list1;
  58 + }
  59 +
  60 + default MemberPointRecordRespVO memberPointRecordDOToMemberPointRecordRespVO(MemberPointRecordDO memberPointRecordDO) {
  61 + if (memberPointRecordDO == null) {
  62 + return null;
  63 + }
  64 +
  65 + MemberPointRecordRespVO memberPointRecordRespVO = new MemberPointRecordRespVO();
22 66  
23   - MemberPointRecordDO convert(MemberPointRecordUpdateReqVO bean);
  67 + memberPointRecordRespVO.setBizId(memberPointRecordDO.getBizId());
  68 + memberPointRecordRespVO.setBizType(memberPointRecordDO.getBizType());
  69 + memberPointRecordRespVO.setType(memberPointRecordDO.getType());
  70 + memberPointRecordRespVO.setTitle(memberPointRecordDO.getTitle());
  71 + memberPointRecordRespVO.setDescription(memberPointRecordDO.getDescription());
  72 + memberPointRecordRespVO.setPoint(memberPointRecordDO.getPoint());
  73 + memberPointRecordRespVO.setTotalPoint(memberPointRecordDO.getTotalPoint());
  74 + memberPointRecordRespVO.setStatus(memberPointRecordDO.getStatus());
  75 + memberPointRecordRespVO.setFreezingTime(memberPointRecordDO.getFreezingTime());
  76 + memberPointRecordRespVO.setThawingTime(memberPointRecordDO.getThawingTime());
  77 + memberPointRecordRespVO.setId(memberPointRecordDO.getId());
  78 + memberPointRecordRespVO.setCreateTime(memberPointRecordDO.getCreateTime());
24 79  
25   - MemberPointRecordRespVO convert(MemberPointRecordDO bean);
  80 + return memberPointRecordRespVO;
  81 + }
26 82  
27   - PageResult<MemberPointRecordRespVO> convertPage(PageResult<MemberPointRecordDO> page);
28 83  
29 84 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java
1 1 package cn.iocoder.yudao.module.member.convert.signin;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
4 5 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO;
5 6 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO;
6 7 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
... ... @@ -40,7 +41,7 @@ public interface MemberSignInRecordConvert {
40 41 return memberSignInRecordRespVO;
41 42 }
42 43  
43   - default PageResult <MemberSignInRecordRespVO> convertPage(PageResult <MemberSignInRecordDO> page, List<AdminUserRespDTO> userRespDTOS) {
  44 + default PageResult <MemberSignInRecordRespVO> convertPage(PageResult <MemberSignInRecordDO> page, List <MemberUserRespDTO> userRespDTOS) {
44 45 if (page == null) {
45 46 return null;
46 47 }
... ... @@ -53,7 +54,7 @@ public interface MemberSignInRecordConvert {
53 54 return pageResult;
54 55 }
55 56  
56   - default List <MemberSignInRecordRespVO> memberSignInRecordDOListToMemberSignInRecordRespVOList(List <MemberSignInRecordDO> list,List<AdminUserRespDTO> userRespDTOS) {
  57 + default List <MemberSignInRecordRespVO> memberSignInRecordDOListToMemberSignInRecordRespVOList(List <MemberSignInRecordDO> list,List <MemberUserRespDTO> userRespDTOS) {
57 58 if (list == null) {
58 59 return null;
59 60 }
... ... @@ -62,7 +63,7 @@ public interface MemberSignInRecordConvert {
62 63 boolean userNickFlag = !CollectionUtils.isEmpty(userRespDTOS);
63 64 if(userNickFlag){
64 65 maps = userRespDTOS.stream()
65   - .collect(Collectors.toMap(AdminUserRespDTO::getId, AdminUserRespDTO::getNickname, (key1, key2) -> key2));
  66 + .collect(Collectors.toMap(MemberUserRespDTO::getId, MemberUserRespDTO::getNickname, (key1, key2) -> key2));
66 67 }
67 68 List <MemberSignInRecordRespVO> list1 = new ArrayList <MemberSignInRecordRespVO>(list.size());
68 69 for (MemberSignInRecordDO memberSignInRecordDO : list) {
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/point/MemberPointConfigDO.java
... ... @@ -27,7 +27,7 @@ public class MemberPointConfigDO extends BaseDO {
27 27 * 自增主键
28 28 */
29 29 @TableId
30   - private Integer id;
  30 + private Long id;
31 31 /**
32 32 * 积分抵扣开关
33 33 */
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/point/MemberPointRecordDO.java
... ... @@ -39,11 +39,6 @@ public class MemberPointRecordDO extends BaseDO {
39 39 */
40 40 private String bizType;
41 41 /**
42   - * 1增加 0扣减
43   - */
44   - // TODO @xiaqing:要不把 type 合并到 point 里?增加 point 是正数,减少 point 是负数?
45   - private String type;
46   - /**
47 42 * 积分标题
48 43 */
49 44 private String title;
... ... @@ -52,7 +47,7 @@ public class MemberPointRecordDO extends BaseDO {
52 47 */
53 48 private String description;
54 49 /**
55   - * 积分
  50 + * 积分 正数表示获得积分 负数表示消耗积分
56 51 */
57 52 private Integer point;
58 53 /**
... ... @@ -62,13 +57,13 @@ public class MemberPointRecordDO extends BaseDO {
62 57 /**
63 58 * 状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款)
64 59 *
65   - * 枚举 {@link TODO point_status 对应的类}
  60 + * 枚举 {@link point_status 对应的类}
66 61 */
67 62 private Integer status;
68 63 /**
69 64 * 用户id
70 65 */
71   - private Integer userId;
  66 + private Long userId;
72 67 /**
73 68 * 冻结时间
74 69 */
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/point/MemberPointRecordMapper.java
... ... @@ -17,7 +17,7 @@ public interface MemberPointRecordMapper extends BaseMapperX&lt;MemberPointRecordDO
17 17  
18 18 default PageResult<MemberPointRecordDO> selectPage(MemberPointRecordPageReqVO reqVO) {
19 19 return selectPage(reqVO, new LambdaQueryWrapperX<MemberPointRecordDO>()
20   - .eqIfPresent(MemberPointRecordDO::getBizId, reqVO.getBizId())
  20 + .inIfPresent(MemberPointRecordDO::getUserId,reqVO.getUserIds())
21 21 .eqIfPresent(MemberPointRecordDO::getBizType, reqVO.getBizType())
22 22 .eqIfPresent(MemberPointRecordDO::getType, reqVO.getType())
23 23 .eqIfPresent(MemberPointRecordDO::getTitle, reqVO.getTitle())
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/signin/MemberSignInRecordMapper.java
... ... @@ -17,7 +17,7 @@ public interface MemberSignInRecordMapper extends BaseMapperX&lt;MemberSignInRecord
17 17  
18 18 default PageResult<MemberSignInRecordDO> selectPage(MemberSignInRecordPageReqVO reqVO) {
19 19 return selectPage(reqVO, new LambdaQueryWrapperX<MemberSignInRecordDO>()
20   - .eqIfPresent(MemberSignInRecordDO::getUserId, reqVO.getUserId())
  20 + .inIfPresent(MemberSignInRecordDO::getUserId, reqVO.getUserIds())
21 21 .eqIfPresent(MemberSignInRecordDO::getDay, reqVO.getDay())
22 22 .betweenIfPresent(MemberSignInRecordDO::getCreateTime, reqVO.getCreateTime())
23 23 .orderByDesc(MemberSignInRecordDO::getId));
... ...
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 +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  4 +import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
3 5 import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
4 6 import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert;
5 7 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
... ... @@ -24,13 +26,15 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService {
24 26  
25 27 @Override
26 28 public void saveConfig(MemberPointConfigSaveReqVO saveReqVO) {
27   - // TODO @xiaqing:直接 getConfig() 查询,如果不存在,则插入;存在,则进行更新;
28   - long total = pointConfigMapper.selectCount();
  29 + //获取当前记录
  30 + MemberPointConfigDO configDO = getConfig();
29 31 MemberPointConfigDO pointConfigDO = MemberPointConfigConvert.INSTANCE.convert(saveReqVO);
30   - //大于0存在记录,则更新,否则插入
31   - if (total > 0) {
  32 + //当前存在记录,则更新,否则插入
  33 + if (configDO != null) {
  34 + pointConfigDO.setId(configDO.getId());
32 35 pointConfigMapper.updateById(pointConfigDO);
33 36 } else {
  37 + pointConfigDO.setId(null);
34 38 pointConfigMapper.insert(pointConfigDO);
35 39 }
36 40 }
... ... @@ -38,8 +42,7 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService {
38 42 @Override
39 43 public MemberPointConfigDO getConfig() {
40 44 List <MemberPointConfigDO> list = pointConfigMapper.selectList();
41   - // TODO @xiaqing:可以使用 CollUtil.getFirst()
42   - return list == null ? null : list.get(0);
  45 + return CollectionUtils.getFirst(list);
43 46 }
44 47  
45 48 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointRecordService.java
... ... @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.member.service.point;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO;
5   -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO;
6 5 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
7 6  
8 7 import javax.validation.Valid;
... ... @@ -13,23 +12,6 @@ import javax.validation.Valid;
13 12 * @author QingX
14 13 */
15 14 public interface MemberPointRecordService {
16   - // TODO @xiaqing:方法和方法之间,是空一行哈;
17   -
18   - /**
19   - * 更新用户积分记录
20   - *
21   - * @param updateReqVO 更新信息
22   - */
23   - void updateRecord(@Valid MemberPointRecordUpdateReqVO updateReqVO);
24   -
25   -
26   - /**
27   - * 获得用户积分记录
28   - *
29   - * @param id 编号
30   - * @return 用户积分记录
31   - */
32   - MemberPointRecordDO getRecord(Long id);
33 15  
34 16 /**
35 17 * 获得用户积分记录分页
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointRecordServiceImpl.java
... ... @@ -2,19 +2,12 @@ package cn.iocoder.yudao.module.member.service.point;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO;
5   -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO;
6   -import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert;
7 5 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
8 6 import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper;
9   -import cn.iocoder.yudao.module.member.enums.ErrorCodeConstants;
10 7 import org.springframework.stereotype.Service;
11 8 import org.springframework.validation.annotation.Validated;
12 9  
13 10 import javax.annotation.Resource;
14   -import java.util.Collection;
15   -import java.util.List;
16   -
17   -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
18 11  
19 12  
20 13 /**
... ... @@ -30,26 +23,6 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService {
30 23 private MemberPointRecordMapper recordMapper;
31 24  
32 25 @Override
33   - public void updateRecord(MemberPointRecordUpdateReqVO updateReqVO) {
34   - // 校验存在
35   - validateRecordExists(updateReqVO.getId());
36   - // 更新
37   - MemberPointRecordDO updateObj = MemberPointRecordConvert.INSTANCE.convert(updateReqVO);
38   - recordMapper.updateById(updateObj);
39   - }
40   -
41   - private void validateRecordExists(Long id) {
42   - if (recordMapper.selectById(id) == null) {
43   - throw exception(ErrorCodeConstants.RECORD_NOT_EXISTS);
44   - }
45   - }
46   -
47   - @Override
48   - public MemberPointRecordDO getRecord(Long id) {
49   - return recordMapper.selectById(id);
50   - }
51   -
52   - @Override
53 26 public PageResult<MemberPointRecordDO> getRecordPage(MemberPointRecordPageReqVO pageReqVO) {
54 27 return recordMapper.selectPage(pageReqVO);
55 28 }
... ...