Browse Source

会员详情,修改会员积分

owen 1 year ago
parent
commit
497ea2eee8

+ 11 - 0
sql/mysql/member.sql

@@ -0,0 +1,11 @@
+-- 查询上级菜单、排序
+SELECT parent_id, sort
+INTO @parentId, @sort
+FROM system_menu
+WHERE name = '用户等级修改'
+LIMIT 1;
+-- 新增 按钮权限
+INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
+VALUES ('用户积分修改', 'member:user:update-point', 3, @sort + 1, @parentId, '', '', '', 0);
+INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
+VALUES ('用户余额修改', 'member:user:update-balance', 3, @sort + 2, @parentId, '', '', '', 0);

+ 1 - 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;
 public enum MemberPointBizTypeEnum implements IntArrayValuable {
 
     SIGN(1, "签到", "签到获得 {} 积分", true),
+    ADMIN(2, "管理员修改", "管理员修改 {} 积分", true),
     ORDER_GIVE(10, "订单奖励", "下单获得 {} 积分", true), // 支付订单时,赠送积分
     ORDER_CANCEL(11, "订单取消", "订单取消,退还 {} 积分", true), // 取消订单时,退回积分
     ORDER_USE(12, "订单使用", "下单使用 {} 积分", false), // 下单时,扣减积分

+ 23 - 4
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;
 import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO;
-import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserRespVO;
-import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateLevelReqVO;
-import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO;
+import cn.iocoder.yudao.module.member.controller.admin.user.vo.*;
 import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
 import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
 import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
 import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO;
 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
+import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
 import cn.iocoder.yudao.module.member.service.group.MemberGroupService;
 import cn.iocoder.yudao.module.member.service.level.MemberLevelService;
+import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
 import cn.iocoder.yudao.module.member.service.tag.MemberTagService;
 import cn.iocoder.yudao.module.member.service.user.MemberUserService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -33,6 +32,7 @@ import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
+import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
 
 @Tag(name = "管理后台 - 会员用户")
 @RestController
@@ -48,6 +48,8 @@ public class MemberUserController {
     private MemberLevelService memberLevelService;
     @Resource
     private MemberGroupService memberGroupService;
+    @Resource
+    private MemberPointRecordService memberPointRecordService;
 
     @PutMapping("/update")
     @Operation(summary = "更新会员用户")
@@ -65,6 +67,23 @@ public class MemberUserController {
         return success(true);
     }
 
+    @PutMapping("/update-point")
+    @Operation(summary = "更新会员用户积分")
+    @PreAuthorize("@ss.hasPermission('member:user:update-point')")
+    public CommonResult<Boolean> updateUserPoint(@Valid @RequestBody MemberUserUpdatePointReqVO updateReqVO) {
+        memberPointRecordService.createPointRecord(updateReqVO.getId(), updateReqVO.getPoint(),
+                MemberPointBizTypeEnum.ADMIN, String.valueOf(getLoginUserId()));
+        return success(true);
+    }
+
+    @PutMapping("/update-balance")
+    @Operation(summary = "更新会员用户余额")
+    @PreAuthorize("@ss.hasPermission('member:user:update-balance')")
+    public CommonResult<Boolean> updateUserBalance(@Valid @RequestBody Long id) {
+        // todo @jason:增加一个【修改余额】
+        return success(true);
+    }
+
     @GetMapping("/get")
     @Operation(summary = "获得会员用户")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")

+ 1 - 3
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;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import lombok.ToString;
 
 import javax.validation.constraints.NotBlank;
@@ -10,9 +9,8 @@ import javax.validation.constraints.NotNull;
 
 @Schema(description = "管理后台 - 会员用户 修改等级 Request VO")
 @Data
-@EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
-public class MemberUserUpdateLevelReqVO extends MemberUserBaseVO {
+public class MemberUserUpdateLevelReqVO {
 
     @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788")
     @NotNull(message = "用户编号不能为空")

+ 22 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdatePointReqVO.java

@@ -0,0 +1,22 @@
+package cn.iocoder.yudao.module.member.controller.admin.user.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.ToString;
+
+import javax.validation.constraints.NotNull;
+
+@Schema(description = "管理后台 - 会员用户 修改积分 Request VO")
+@Data
+@ToString(callSuper = true)
+public class MemberUserUpdatePointReqVO {
+
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788")
+    @NotNull(message = "用户编号不能为空")
+    private Long id;
+
+    @Schema(description = "变动积分,正数为增加,负数为减少", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
+    @NotNull(message = "变动积分不能为空")
+    private Integer point;
+
+}