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 17 public enum MemberPointBizTypeEnum implements IntArrayValuable {
18 18  
19 19 SIGN(1, "签到", "签到获得 {} 积分", true),
  20 + ADMIN(2, "管理员修改", "管理员修改 {} 积分", true),
20 21 ORDER_GIVE(10, "订单奖励", "下单获得 {} 积分", true), // 支付订单时,赠送积分
21 22 ORDER_CANCEL(11, "订单取消", "订单取消,退还 {} 积分", true), // 取消订单时,退回积分
22 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 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 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 7 import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
11 8 import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
12 9 import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
13 10 import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO;
14 11 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
  12 +import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
15 13 import cn.iocoder.yudao.module.member.service.group.MemberGroupService;
16 14 import cn.iocoder.yudao.module.member.service.level.MemberLevelService;
  15 +import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
17 16 import cn.iocoder.yudao.module.member.service.tag.MemberTagService;
18 17 import cn.iocoder.yudao.module.member.service.user.MemberUserService;
19 18 import io.swagger.v3.oas.annotations.Operation;
... ... @@ -33,6 +32,7 @@ import java.util.stream.Collectors;
33 32  
34 33 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
35 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 37 @Tag(name = "管理后台 - 会员用户")
38 38 @RestController
... ... @@ -48,6 +48,8 @@ public class MemberUserController {
48 48 private MemberLevelService memberLevelService;
49 49 @Resource
50 50 private MemberGroupService memberGroupService;
  51 + @Resource
  52 + private MemberPointRecordService memberPointRecordService;
51 53  
52 54 @PutMapping("/update")
53 55 @Operation(summary = "更新会员用户")
... ... @@ -65,6 +67,23 @@ public class MemberUserController {
65 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 87 @GetMapping("/get")
69 88 @Operation(summary = "获得会员用户")
70 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 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import lombok.Data;
5   -import lombok.EqualsAndHashCode;
6 5 import lombok.ToString;
7 6  
8 7 import javax.validation.constraints.NotBlank;
... ... @@ -10,9 +9,8 @@ import javax.validation.constraints.NotNull;
10 9  
11 10 @Schema(description = "管理后台 - 会员用户 修改等级 Request VO")
12 11 @Data
13   -@EqualsAndHashCode(callSuper = true)
14 12 @ToString(callSuper = true)
15   -public class MemberUserUpdateLevelReqVO extends MemberUserBaseVO {
  13 +public class MemberUserUpdateLevelReqVO {
16 14  
17 15 @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788")
18 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 +}
... ...