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,22 +2,28 @@ package cn.iocoder.yudao.module.member.controller.admin.point;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 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 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; 7 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO;
6 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordRespVO; 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 import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert; 9 import cn.iocoder.yudao.module.member.convert.point.MemberPointRecordConvert;
9 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; 10 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
  11 +import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO;
10 import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService; 12 import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
11 import io.swagger.v3.oas.annotations.Operation; 13 import io.swagger.v3.oas.annotations.Operation;
12 -import io.swagger.v3.oas.annotations.Parameter;  
13 import io.swagger.v3.oas.annotations.tags.Tag; 14 import io.swagger.v3.oas.annotations.tags.Tag;
  15 +import org.apache.commons.lang3.StringUtils;
14 import org.springframework.security.access.prepost.PreAuthorize; 16 import org.springframework.security.access.prepost.PreAuthorize;
  17 +import org.springframework.util.CollectionUtils;
15 import org.springframework.validation.annotation.Validated; 18 import org.springframework.validation.annotation.Validated;
16 import org.springframework.web.bind.annotation.*; 19 import org.springframework.web.bind.annotation.*;
17 20
18 import javax.annotation.Resource; 21 import javax.annotation.Resource;
19 import javax.validation.Valid; 22 import javax.validation.Valid;
20 23
  24 +import java.util.List;
  25 +import java.util.stream.Collectors;
  26 +
21 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 27 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
22 28
23 @Tag(name = "管理后台 - 用户积分记录") 29 @Tag(name = "管理后台 - 用户积分记录")
@@ -28,31 +34,34 @@ public class MemberPointRecordController { @@ -28,31 +34,34 @@ public class MemberPointRecordController {
28 34
29 @Resource 35 @Resource
30 private MemberPointRecordService recordService; 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 @GetMapping("/page") 40 @GetMapping("/page")
51 @Operation(summary = "获得用户积分记录分页") 41 @Operation(summary = "获得用户积分记录分页")
52 @PreAuthorize("@ss.hasPermission('point:record:query')") 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,7 +17,7 @@ public class MemberPointConfigBaseVO {
17 @Schema(description = "积分抵扣开关", required = true, example = "true") 17 @Schema(description = "积分抵扣开关", required = true, example = "true")
18 private Boolean tradeDeductEnable; 18 private Boolean tradeDeductEnable;
19 19
20 - @Schema(description = "积分抵扣,单位:分", example = "13506") 20 + @Schema(description = "积分抵扣,单位:元", example = "13506")
21 private BigDecimal tradeDeductUnitPrice; 21 private BigDecimal tradeDeductUnitPrice;
22 22
23 @Schema(description = "积分抵扣最大值", example = "32428") 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,10 +24,6 @@ public class MemberPointRecordBaseVO {
24 @NotNull(message = "业务类型不能为空") 24 @NotNull(message = "业务类型不能为空")
25 private String bizType; 25 private String bizType;
26 26
27 - @Schema(description = "1增加 0扣减", example = "1")  
28 - @NotNull(message = "操作类型不能为空")  
29 - private String type;  
30 -  
31 @Schema(description = "积分标题") 27 @Schema(description = "积分标题")
32 @NotNull(message = "积分标题不能为空") 28 @NotNull(message = "积分标题不能为空")
33 private String title; 29 private String title;
@@ -47,10 +43,6 @@ public class MemberPointRecordBaseVO { @@ -47,10 +43,6 @@ public class MemberPointRecordBaseVO {
47 @NotNull(message = "积分状态不能为空") 43 @NotNull(message = "积分状态不能为空")
48 private Integer status; 44 private Integer status;
49 45
50 - @Schema(description = "用户id", example = "31169")  
51 - @NotNull(message = "用户ID不能为空")  
52 - private Integer userId;  
53 -  
54 @Schema(description = "冻结时间") 46 @Schema(description = "冻结时间")
55 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 47 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
56 @NotNull(message = "冻结时间不能为空") 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,25 +4,28 @@ import lombok.*;
4 import io.swagger.v3.oas.annotations.media.Schema; 4 import io.swagger.v3.oas.annotations.media.Schema;
5 import cn.iocoder.yudao.framework.common.pojo.PageParam; 5 import cn.iocoder.yudao.framework.common.pojo.PageParam;
6 6
  7 +import java.util.List;
  8 +
7 @Schema(description = "管理后台 - 用户积分记录分页 Request VO") 9 @Schema(description = "管理后台 - 用户积分记录分页 Request VO")
8 @Data 10 @Data
9 @EqualsAndHashCode(callSuper = true) 11 @EqualsAndHashCode(callSuper = true)
10 @ToString(callSuper = true) 12 @ToString(callSuper = true)
11 public class MemberPointRecordPageReqVO extends PageParam { 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 @Schema(description = "业务类型", example = "1") 21 @Schema(description = "业务类型", example = "1")
17 private String bizType; 22 private String bizType;
18 23
19 - @Schema(description = "1增加 0扣减", example = "1")  
20 - private String type;  
21 -  
22 @Schema(description = "积分标题") 24 @Schema(description = "积分标题")
23 private String title; 25 private String title;
24 26
25 @Schema(description = "状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款) ", example = "1") 27 @Schema(description = "状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款) ", example = "1")
26 private Integer status; 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,4 +16,7 @@ public class MemberPointRecordRespVO extends MemberPointRecordBaseVO {
16 @Schema(description = "发生时间") 16 @Schema(description = "发生时间")
17 private LocalDateTime createTime; 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,6 +2,8 @@ package cn.iocoder.yudao.module.member.controller.admin.signin;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 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 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordPageReqVO; 7 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordPageReqVO;
6 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO; 8 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO;
7 import cn.iocoder.yudao.module.member.convert.signin.MemberSignInRecordConvert; 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,6 +14,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
12 import io.swagger.v3.oas.annotations.Operation; 14 import io.swagger.v3.oas.annotations.Operation;
13 import io.swagger.v3.oas.annotations.Parameter; 15 import io.swagger.v3.oas.annotations.Parameter;
14 import io.swagger.v3.oas.annotations.tags.Tag; 16 import io.swagger.v3.oas.annotations.tags.Tag;
  17 +import org.apache.commons.lang3.StringUtils;
15 import org.springframework.security.access.prepost.PreAuthorize; 18 import org.springframework.security.access.prepost.PreAuthorize;
16 import org.springframework.util.CollectionUtils; 19 import org.springframework.util.CollectionUtils;
17 import org.springframework.validation.annotation.Validated; 20 import org.springframework.validation.annotation.Validated;
@@ -34,20 +37,31 @@ public class MemberSignInRecordController { @@ -34,20 +37,31 @@ public class MemberSignInRecordController {
34 @Resource 37 @Resource
35 private MemberSignInRecordService memberSignInRecordService; 38 private MemberSignInRecordService memberSignInRecordService;
36 @Resource 39 @Resource
37 - AdminUserApi adminUserApi; 40 + MemberUserApi memberUserApi;
38 41
39 42
40 @GetMapping("/page") 43 @GetMapping("/page")
41 @Operation(summary = "获得用户签到积分分页") 44 @Operation(summary = "获得用户签到积分分页")
42 @PreAuthorize("@ss.hasPermission('point:sign-in-record:query')") 45 @PreAuthorize("@ss.hasPermission('point:sign-in-record:query')")
43 public CommonResult <PageResult <MemberSignInRecordRespVO>> getSignInRecordPage(@Valid MemberSignInRecordPageReqVO pageVO) { 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 PageResult <MemberSignInRecordDO> pageResult = memberSignInRecordService.getSignInRecordPage(pageVO); 58 PageResult <MemberSignInRecordDO> pageResult = memberSignInRecordService.getSignInRecordPage(pageVO);
45 List <MemberSignInRecordDO> result = pageResult.getList(); 59 List <MemberSignInRecordDO> result = pageResult.getList();
46 //设置获取的用户信息 60 //设置获取的用户信息
47 - List <AdminUserRespDTO> users = null; 61 + List <MemberUserRespDTO> users = null;
48 if (!CollectionUtils.isEmpty(result)) { 62 if (!CollectionUtils.isEmpty(result)) {
49 List <Long> ids = result.stream().map(user -> user.getUserId()).collect(Collectors.toList()); 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 return success(MemberSignInRecordConvert.INSTANCE.convertPage(pageResult, users)); 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,6 +8,7 @@ import lombok.ToString;
8 import org.springframework.format.annotation.DateTimeFormat; 8 import org.springframework.format.annotation.DateTimeFormat;
9 9
10 import java.time.LocalDateTime; 10 import java.time.LocalDateTime;
  11 +import java.util.List;
11 12
12 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 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,8 +18,11 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
17 @ToString(callSuper = true) 18 @ToString(callSuper = true)
18 public class MemberSignInRecordPageReqVO extends PageParam { 19 public class MemberSignInRecordPageReqVO extends PageParam {
19 20
  21 + //用户前台模糊查询
20 @Schema(description = "签到用户", example = "6507") 22 @Schema(description = "签到用户", example = "6507")
21 - private Long userId; 23 + private String nickName;
  24 +
  25 + private List<Long>userIds;
22 26
23 @Schema(description = "第几天签到") 27 @Schema(description = "第几天签到")
24 private Integer day; 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,9 +2,7 @@ package cn.iocoder.yudao.module.member.convert.point;
2 2
3 import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigRespVO; 3 import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigRespVO;
4 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;
5 -import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordUpdateReqVO;  
6 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO; 5 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
7 -import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;  
8 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
9 import org.mapstruct.factory.Mappers; 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 package cn.iocoder.yudao.module.member.convert.point; 1 package cn.iocoder.yudao.module.member.convert.point;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 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 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordRespVO; 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 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; 6 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
8 import org.mapstruct.Mapper; 7 import org.mapstruct.Mapper;
9 import org.mapstruct.factory.Mappers; 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 * 用户积分记录 Convert 17 * 用户积分记录 Convert
@@ -18,12 +23,62 @@ public interface MemberPointRecordConvert { @@ -18,12 +23,62 @@ public interface MemberPointRecordConvert {
18 23
19 MemberPointRecordConvert INSTANCE = Mappers.getMapper(MemberPointRecordConvert.class); 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 package cn.iocoder.yudao.module.member.convert.signin; 1 package cn.iocoder.yudao.module.member.convert.signin;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
4 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO; 5 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO;
5 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO; 6 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO;
6 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 7 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@@ -40,7 +41,7 @@ public interface MemberSignInRecordConvert { @@ -40,7 +41,7 @@ public interface MemberSignInRecordConvert {
40 return memberSignInRecordRespVO; 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 if (page == null) { 45 if (page == null) {
45 return null; 46 return null;
46 } 47 }
@@ -53,7 +54,7 @@ public interface MemberSignInRecordConvert { @@ -53,7 +54,7 @@ public interface MemberSignInRecordConvert {
53 return pageResult; 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 if (list == null) { 58 if (list == null) {
58 return null; 59 return null;
59 } 60 }
@@ -62,7 +63,7 @@ public interface MemberSignInRecordConvert { @@ -62,7 +63,7 @@ public interface MemberSignInRecordConvert {
62 boolean userNickFlag = !CollectionUtils.isEmpty(userRespDTOS); 63 boolean userNickFlag = !CollectionUtils.isEmpty(userRespDTOS);
63 if(userNickFlag){ 64 if(userNickFlag){
64 maps = userRespDTOS.stream() 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 List <MemberSignInRecordRespVO> list1 = new ArrayList <MemberSignInRecordRespVO>(list.size()); 68 List <MemberSignInRecordRespVO> list1 = new ArrayList <MemberSignInRecordRespVO>(list.size());
68 for (MemberSignInRecordDO memberSignInRecordDO : list) { 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,7 +27,7 @@ public class MemberPointConfigDO extends BaseDO {
27 * 自增主键 27 * 自增主键
28 */ 28 */
29 @TableId 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,11 +39,6 @@ public class MemberPointRecordDO extends BaseDO {
39 */ 39 */
40 private String bizType; 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 private String title; 44 private String title;
@@ -52,7 +47,7 @@ public class MemberPointRecordDO extends BaseDO { @@ -52,7 +47,7 @@ public class MemberPointRecordDO extends BaseDO {
52 */ 47 */
53 private String description; 48 private String description;
54 /** 49 /**
55 - * 积分 50 + * 积分 正数表示获得积分 负数表示消耗积分
56 */ 51 */
57 private Integer point; 52 private Integer point;
58 /** 53 /**
@@ -62,13 +57,13 @@ public class MemberPointRecordDO extends BaseDO { @@ -62,13 +57,13 @@ public class MemberPointRecordDO extends BaseDO {
62 /** 57 /**
63 * 状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款) 58 * 状态:1-订单创建,2-冻结期,3-完成,4-失效(订单退款)
64 * 59 *
65 - * 枚举 {@link TODO point_status 对应的类} 60 + * 枚举 {@link point_status 对应的类}
66 */ 61 */
67 private Integer status; 62 private Integer status;
68 /** 63 /**
69 * 用户id 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,7 +17,7 @@ public interface MemberPointRecordMapper extends BaseMapperX&lt;MemberPointRecordDO
17 17
18 default PageResult<MemberPointRecordDO> selectPage(MemberPointRecordPageReqVO reqVO) { 18 default PageResult<MemberPointRecordDO> selectPage(MemberPointRecordPageReqVO reqVO) {
19 return selectPage(reqVO, new LambdaQueryWrapperX<MemberPointRecordDO>() 19 return selectPage(reqVO, new LambdaQueryWrapperX<MemberPointRecordDO>()
20 - .eqIfPresent(MemberPointRecordDO::getBizId, reqVO.getBizId()) 20 + .inIfPresent(MemberPointRecordDO::getUserId,reqVO.getUserIds())
21 .eqIfPresent(MemberPointRecordDO::getBizType, reqVO.getBizType()) 21 .eqIfPresent(MemberPointRecordDO::getBizType, reqVO.getBizType())
22 .eqIfPresent(MemberPointRecordDO::getType, reqVO.getType()) 22 .eqIfPresent(MemberPointRecordDO::getType, reqVO.getType())
23 .eqIfPresent(MemberPointRecordDO::getTitle, reqVO.getTitle()) 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,7 +17,7 @@ public interface MemberSignInRecordMapper extends BaseMapperX&lt;MemberSignInRecord
17 17
18 default PageResult<MemberSignInRecordDO> selectPage(MemberSignInRecordPageReqVO reqVO) { 18 default PageResult<MemberSignInRecordDO> selectPage(MemberSignInRecordPageReqVO reqVO) {
19 return selectPage(reqVO, new LambdaQueryWrapperX<MemberSignInRecordDO>() 19 return selectPage(reqVO, new LambdaQueryWrapperX<MemberSignInRecordDO>()
20 - .eqIfPresent(MemberSignInRecordDO::getUserId, reqVO.getUserId()) 20 + .inIfPresent(MemberSignInRecordDO::getUserId, reqVO.getUserIds())
21 .eqIfPresent(MemberSignInRecordDO::getDay, reqVO.getDay()) 21 .eqIfPresent(MemberSignInRecordDO::getDay, reqVO.getDay())
22 .betweenIfPresent(MemberSignInRecordDO::getCreateTime, reqVO.getCreateTime()) 22 .betweenIfPresent(MemberSignInRecordDO::getCreateTime, reqVO.getCreateTime())
23 .orderByDesc(MemberSignInRecordDO::getId)); 23 .orderByDesc(MemberSignInRecordDO::getId));
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;
  4 +import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
3 import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO; 5 import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
4 import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert; 6 import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert;
5 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO; 7 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
@@ -24,13 +26,15 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService { @@ -24,13 +26,15 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService {
24 26
25 @Override 27 @Override
26 public void saveConfig(MemberPointConfigSaveReqVO saveReqVO) { 28 public void saveConfig(MemberPointConfigSaveReqVO saveReqVO) {
27 - // TODO @xiaqing:直接 getConfig() 查询,如果不存在,则插入;存在,则进行更新;  
28 - long total = pointConfigMapper.selectCount(); 29 + //获取当前记录
  30 + MemberPointConfigDO configDO = getConfig();
29 MemberPointConfigDO pointConfigDO = MemberPointConfigConvert.INSTANCE.convert(saveReqVO); 31 MemberPointConfigDO pointConfigDO = MemberPointConfigConvert.INSTANCE.convert(saveReqVO);
30 - //大于0存在记录,则更新,否则插入  
31 - if (total > 0) { 32 + //当前存在记录,则更新,否则插入
  33 + if (configDO != null) {
  34 + pointConfigDO.setId(configDO.getId());
32 pointConfigMapper.updateById(pointConfigDO); 35 pointConfigMapper.updateById(pointConfigDO);
33 } else { 36 } else {
  37 + pointConfigDO.setId(null);
34 pointConfigMapper.insert(pointConfigDO); 38 pointConfigMapper.insert(pointConfigDO);
35 } 39 }
36 } 40 }
@@ -38,8 +42,7 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService { @@ -38,8 +42,7 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService {
38 @Override 42 @Override
39 public MemberPointConfigDO getConfig() { 43 public MemberPointConfigDO getConfig() {
40 List <MemberPointConfigDO> list = pointConfigMapper.selectList(); 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,7 +2,6 @@ package cn.iocoder.yudao.module.member.service.point;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; 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.dal.dataobject.point.MemberPointRecordDO; 5 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
7 6
8 import javax.validation.Valid; 7 import javax.validation.Valid;
@@ -13,23 +12,6 @@ import javax.validation.Valid; @@ -13,23 +12,6 @@ import javax.validation.Valid;
13 * @author QingX 12 * @author QingX
14 */ 13 */
15 public interface MemberPointRecordService { 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,19 +2,12 @@ package cn.iocoder.yudao.module.member.service.point;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 import cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod.MemberPointRecordPageReqVO; 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 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO; 5 import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointRecordDO;
8 import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper; 6 import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointRecordMapper;
9 -import cn.iocoder.yudao.module.member.enums.ErrorCodeConstants;  
10 import org.springframework.stereotype.Service; 7 import org.springframework.stereotype.Service;
11 import org.springframework.validation.annotation.Validated; 8 import org.springframework.validation.annotation.Validated;
12 9
13 import javax.annotation.Resource; 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,26 +23,6 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService {
30 private MemberPointRecordMapper recordMapper; 23 private MemberPointRecordMapper recordMapper;
31 24
32 @Override 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 public PageResult<MemberPointRecordDO> getRecordPage(MemberPointRecordPageReqVO pageReqVO) { 26 public PageResult<MemberPointRecordDO> getRecordPage(MemberPointRecordPageReqVO pageReqVO) {
54 return recordMapper.selectPage(pageReqVO); 27 return recordMapper.selectPage(pageReqVO);
55 } 28 }