Commit 497ea2eee856783fad17868fa51e3a021a849728

Authored by owen
1 parent be639923

会员详情,修改会员积分

sql/mysql/member.sql 0 → 100644
  1 +-- 查询上级菜单、排序
  2 +SELECT parent_id, sort
  3 +INTO @parentId, @sort
  4 +FROM system_menu
  5 +WHERE name = '用户等级修改'
  6 +LIMIT 1;
  7 +-- 新增 按钮权限
  8 +INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
  9 +VALUES ('用户积分修改', 'member:user:update-point', 3, @sort + 1, @parentId, '', '', '', 0);
  10 +INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
  11 +VALUES ('用户余额修改', 'member:user:update-balance', 3, @sort + 2, @parentId, '', '', '', 0);
yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/point/MemberPointBizTypeEnum.java
@@ -17,6 +17,7 @@ import java.util.Objects; @@ -17,6 +17,7 @@ import java.util.Objects;
17 public enum MemberPointBizTypeEnum implements IntArrayValuable { 17 public enum MemberPointBizTypeEnum implements IntArrayValuable {
18 18
19 SIGN(1, "签到", "签到获得 {} 积分", true), 19 SIGN(1, "签到", "签到获得 {} 积分", true),
  20 + ADMIN(2, "管理员修改", "管理员修改 {} 积分", true),
20 ORDER_GIVE(10, "订单奖励", "下单获得 {} 积分", true), // 支付订单时,赠送积分 21 ORDER_GIVE(10, "订单奖励", "下单获得 {} 积分", true), // 支付订单时,赠送积分
21 ORDER_CANCEL(11, "订单取消", "订单取消,退还 {} 积分", true), // 取消订单时,退回积分 22 ORDER_CANCEL(11, "订单取消", "订单取消,退还 {} 积分", true), // 取消订单时,退回积分
22 ORDER_USE(12, "订单使用", "下单使用 {} 积分", false), // 下单时,扣减积分 23 ORDER_USE(12, "订单使用", "下单使用 {} 积分", false), // 下单时,扣减积分
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/MemberUserController.java
@@ -3,17 +3,16 @@ package cn.iocoder.yudao.module.member.controller.admin.user; @@ -3,17 +3,16 @@ package cn.iocoder.yudao.module.member.controller.admin.user;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 -import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO;  
7 -import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserRespVO;  
8 -import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateLevelReqVO;  
9 -import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; 6 +import cn.iocoder.yudao.module.member.controller.admin.user.vo.*;
10 import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert; 7 import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
11 import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO; 8 import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
12 import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO; 9 import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
13 import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO; 10 import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO;
14 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; 11 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
  12 +import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
15 import cn.iocoder.yudao.module.member.service.group.MemberGroupService; 13 import cn.iocoder.yudao.module.member.service.group.MemberGroupService;
16 import cn.iocoder.yudao.module.member.service.level.MemberLevelService; 14 import cn.iocoder.yudao.module.member.service.level.MemberLevelService;
  15 +import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
17 import cn.iocoder.yudao.module.member.service.tag.MemberTagService; 16 import cn.iocoder.yudao.module.member.service.tag.MemberTagService;
18 import cn.iocoder.yudao.module.member.service.user.MemberUserService; 17 import cn.iocoder.yudao.module.member.service.user.MemberUserService;
19 import io.swagger.v3.oas.annotations.Operation; 18 import io.swagger.v3.oas.annotations.Operation;
@@ -33,6 +32,7 @@ import java.util.stream.Collectors; @@ -33,6 +32,7 @@ import java.util.stream.Collectors;
33 32
34 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 33 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
35 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; 34 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
  35 +import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
36 36
37 @Tag(name = "管理后台 - 会员用户") 37 @Tag(name = "管理后台 - 会员用户")
38 @RestController 38 @RestController
@@ -48,6 +48,8 @@ public class MemberUserController { @@ -48,6 +48,8 @@ public class MemberUserController {
48 private MemberLevelService memberLevelService; 48 private MemberLevelService memberLevelService;
49 @Resource 49 @Resource
50 private MemberGroupService memberGroupService; 50 private MemberGroupService memberGroupService;
  51 + @Resource
  52 + private MemberPointRecordService memberPointRecordService;
51 53
52 @PutMapping("/update") 54 @PutMapping("/update")
53 @Operation(summary = "更新会员用户") 55 @Operation(summary = "更新会员用户")
@@ -65,6 +67,23 @@ public class MemberUserController { @@ -65,6 +67,23 @@ public class MemberUserController {
65 return success(true); 67 return success(true);
66 } 68 }
67 69
  70 + @PutMapping("/update-point")
  71 + @Operation(summary = "更新会员用户积分")
  72 + @PreAuthorize("@ss.hasPermission('member:user:update-point')")
  73 + public CommonResult<Boolean> updateUserPoint(@Valid @RequestBody MemberUserUpdatePointReqVO updateReqVO) {
  74 + memberPointRecordService.createPointRecord(updateReqVO.getId(), updateReqVO.getPoint(),
  75 + MemberPointBizTypeEnum.ADMIN, String.valueOf(getLoginUserId()));
  76 + return success(true);
  77 + }
  78 +
  79 + @PutMapping("/update-balance")
  80 + @Operation(summary = "更新会员用户余额")
  81 + @PreAuthorize("@ss.hasPermission('member:user:update-balance')")
  82 + public CommonResult<Boolean> updateUserBalance(@Valid @RequestBody Long id) {
  83 + // todo @jason:增加一个【修改余额】
  84 + return success(true);
  85 + }
  86 +
68 @GetMapping("/get") 87 @GetMapping("/get")
69 @Operation(summary = "获得会员用户") 88 @Operation(summary = "获得会员用户")
70 @Parameter(name = "id", description = "编号", required = true, example = "1024") 89 @Parameter(name = "id", description = "编号", required = true, example = "1024")
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdateLevelReqVO.java
@@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.member.controller.admin.user.vo; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.member.controller.admin.user.vo;
2 2
3 import io.swagger.v3.oas.annotations.media.Schema; 3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data; 4 import lombok.Data;
5 -import lombok.EqualsAndHashCode;  
6 import lombok.ToString; 5 import lombok.ToString;
7 6
8 import javax.validation.constraints.NotBlank; 7 import javax.validation.constraints.NotBlank;
@@ -10,9 +9,8 @@ import javax.validation.constraints.NotNull; @@ -10,9 +9,8 @@ import javax.validation.constraints.NotNull;
10 9
11 @Schema(description = "管理后台 - 会员用户 修改等级 Request VO") 10 @Schema(description = "管理后台 - 会员用户 修改等级 Request VO")
12 @Data 11 @Data
13 -@EqualsAndHashCode(callSuper = true)  
14 @ToString(callSuper = true) 12 @ToString(callSuper = true)
15 -public class MemberUserUpdateLevelReqVO extends MemberUserBaseVO { 13 +public class MemberUserUpdateLevelReqVO {
16 14
17 @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788") 15 @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788")
18 @NotNull(message = "用户编号不能为空") 16 @NotNull(message = "用户编号不能为空")
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdatePointReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.member.controller.admin.user.vo;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +import lombok.ToString;
  6 +
  7 +import javax.validation.constraints.NotNull;
  8 +
  9 +@Schema(description = "管理后台 - 会员用户 修改积分 Request VO")
  10 +@Data
  11 +@ToString(callSuper = true)
  12 +public class MemberUserUpdatePointReqVO {
  13 +
  14 + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788")
  15 + @NotNull(message = "用户编号不能为空")
  16 + private Long id;
  17 +
  18 + @Schema(description = "变动积分,正数为增加,负数为减少", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
  19 + @NotNull(message = "变动积分不能为空")
  20 + private Integer point;
  21 +
  22 +}