From f18979598c4c65ed927b904991f3137b7cad6c78 Mon Sep 17 00:00:00 2001 From: glx <783262171@qq.com> Date: Mon, 20 Apr 2026 14:07:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AE=A1=E7=90=86=E7=AB=AF?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot/common/enums/LogModuleEnum.java | 4 +- .../mini/controller/PointAdminController.java | 93 +++++++++++++++++++ .../boot/mini/controller/PointController.java | 36 +++---- .../converter/MiniPointAccountConverter.java | 9 +- .../converter/MiniPointRuleConverter.java | 16 ++++ .../mini/model/enums/AdjustUserPointEnum.java | 45 +++++++++ .../mini/model/form/AddPointRuleForm.java | 36 +++++++ .../mini/model/form/AdjustUserPointForm.java | 30 ++++++ .../PointAccountQuery.java} | 4 +- .../mini/model/query/PointRecordQuery.java | 12 +++ .../boot/mini/model/query/RulePageQuery.java | 24 +++++ .../{UserPointVO.java => PointAccountVO.java} | 2 +- .../boot/mini/model/vo/PointRecordVO.java | 13 +++ .../youlai/boot/mini/model/vo/RuleListVO.java | 65 +++++++++++++ .../mini/service/MiniPointAccountService.java | 11 +++ .../mini/service/MiniPointRecordService.java | 4 + .../mini/service/MiniPointRuleService.java | 9 ++ .../boot/mini/service/PointService.java | 12 --- ....java => MiniPointAccountServiceImpl.java} | 10 +- .../impl/MiniPointRecordServiceImpl.java | 15 +++ .../impl/MiniPointRuleServiceImpl.java | 43 +++++++++ 21 files changed, 447 insertions(+), 46 deletions(-) create mode 100644 src/main/java/com/youlai/boot/mini/controller/PointAdminController.java create mode 100644 src/main/java/com/youlai/boot/mini/converter/MiniPointRuleConverter.java create mode 100644 src/main/java/com/youlai/boot/mini/model/enums/AdjustUserPointEnum.java create mode 100644 src/main/java/com/youlai/boot/mini/model/form/AddPointRuleForm.java create mode 100644 src/main/java/com/youlai/boot/mini/model/form/AdjustUserPointForm.java rename src/main/java/com/youlai/boot/mini/model/{form/UserPointQuery.java => query/PointAccountQuery.java} (74%) create mode 100644 src/main/java/com/youlai/boot/mini/model/query/PointRecordQuery.java create mode 100644 src/main/java/com/youlai/boot/mini/model/query/RulePageQuery.java rename src/main/java/com/youlai/boot/mini/model/vo/{UserPointVO.java => PointAccountVO.java} (93%) create mode 100644 src/main/java/com/youlai/boot/mini/model/vo/PointRecordVO.java create mode 100644 src/main/java/com/youlai/boot/mini/model/vo/RuleListVO.java create mode 100644 src/main/java/com/youlai/boot/mini/service/MiniPointAccountService.java create mode 100644 src/main/java/com/youlai/boot/mini/service/MiniPointRecordService.java create mode 100644 src/main/java/com/youlai/boot/mini/service/MiniPointRuleService.java delete mode 100644 src/main/java/com/youlai/boot/mini/service/PointService.java rename src/main/java/com/youlai/boot/mini/service/impl/{PointServiceImpl.java => MiniPointAccountServiceImpl.java} (77%) create mode 100644 src/main/java/com/youlai/boot/mini/service/impl/MiniPointRecordServiceImpl.java create mode 100644 src/main/java/com/youlai/boot/mini/service/impl/MiniPointRuleServiceImpl.java diff --git a/src/main/java/com/youlai/boot/common/enums/LogModuleEnum.java b/src/main/java/com/youlai/boot/common/enums/LogModuleEnum.java index a26cedc..8bce249 100644 --- a/src/main/java/com/youlai/boot/common/enums/LogModuleEnum.java +++ b/src/main/java/com/youlai/boot/common/enums/LogModuleEnum.java @@ -29,7 +29,9 @@ public enum LogModuleEnum implements IBaseEnum { CODEGEN(11, "代码生成"), STRAY_ANIMAL_INFO(12, "流浪动物信息"), OTHER(99, "其他"), - Point(100, "积分管理"); + POINT_ACCOUNT(100, "积分账户"), + POINT_RECORD(101, "积分流水"), + POINT_RULE(102, "积分规则"); @EnumValue private final Integer value; diff --git a/src/main/java/com/youlai/boot/mini/controller/PointAdminController.java b/src/main/java/com/youlai/boot/mini/controller/PointAdminController.java new file mode 100644 index 0000000..3f42d9b --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/controller/PointAdminController.java @@ -0,0 +1,93 @@ +package com.youlai.boot.mini.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.youlai.boot.common.annotation.Log; +import com.youlai.boot.common.enums.ActionTypeEnum; +import com.youlai.boot.common.enums.LogModuleEnum; +import com.youlai.boot.common.result.PageResult; +import com.youlai.boot.common.result.Result; +import com.youlai.boot.mini.model.form.AddPointRuleForm; +import com.youlai.boot.mini.model.form.AdjustUserPointForm; +import com.youlai.boot.mini.model.query.PointAccountQuery; +import com.youlai.boot.mini.model.query.PointRecordQuery; +import com.youlai.boot.mini.model.query.RulePageQuery; +import com.youlai.boot.mini.model.vo.PointAccountVO; +import com.youlai.boot.mini.model.vo.PointRecordVO; +import com.youlai.boot.mini.model.vo.RuleListVO; +import com.youlai.boot.mini.service.MiniPointAccountService; +import com.youlai.boot.mini.service.MiniPointRecordService; +import com.youlai.boot.mini.service.MiniPointRuleService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springdoc.core.annotations.ParameterObject; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + + +@Tag(name = "管理端积分服务相关接口") +@RestController +@RequestMapping("/api/v1/mini/admin/point") +@RequiredArgsConstructor +public class PointAdminController { + + private final MiniPointAccountService pointAccountService; + private final MiniPointRuleService pointRuleService; + private final MiniPointRecordService pointRecordService; + + @Operation(summary = "分页查询用户积分账户") + @GetMapping("/accounts") + @PreAuthorize("@ss.hasPerm('mini:point:account:list')") + public PageResult pageAccount(PointAccountQuery query) { + return PageResult.success(pointAccountService.pageAccount(query)); + } + + @Operation(summary = "查询积分规则列表") + @GetMapping + @PreAuthorize("@ss.hasPerm('mini:point:rule:list')") + @Log(module = LogModuleEnum.POINT_RULE, value = ActionTypeEnum.LIST) + public PageResult page(@ParameterObject RulePageQuery queryParams) { + IPage result = pointRuleService.pageRule(queryParams); + return PageResult.success(result); + } + + @Operation(summary = "新增积分规则") + @PostMapping("/add/rules") + @PreAuthorize("@ss.hasPerm('mini:point:rule:add')") + public Result addRule(@RequestBody AddPointRuleForm form) { + pointRuleService.addRule(form); + return Result.success(); + } + + @Operation(summary = "删除积分规则") + @PostMapping("/delete/rules") + @PreAuthorize("@ss.hasPerm('mini:point:rule:delete')") + public Result deleteRule(@RequestParam Long id) { + pointRuleService.deleteRule(id); + return Result.success(); + } + + @Operation(summary = "启用/禁用积分规则") + @PatchMapping("/rules/{id}/status") + @PreAuthorize("@ss.hasPerm('mini:point:rule:edit')") + public Result changeRuleStatus(@PathVariable Long id, @RequestParam Integer status) { + pointRuleService.changeStatus(id, status); + return Result.success(); + } + + @Operation(summary = "手动调整用户积分") + @PutMapping("/adjustPoint") + @PreAuthorize("@ss.hasPerm('mini:point:account:edit')") + public Result adjustPoint(@RequestBody AdjustUserPointForm adjustUserPointForm) { + pointRecordService.adjustPoint(adjustUserPointForm); + return Result.success(); + } + + @Operation(summary = "分页查询所有积分记录") + @GetMapping("/records") + @PreAuthorize("@ss.hasPerm('mini:point:record:list')") + public PageResult pageRecord(PointRecordQuery query) { + return PageResult.success(pointRecordService.pageAllRecord(query)); + } + +} diff --git a/src/main/java/com/youlai/boot/mini/controller/PointController.java b/src/main/java/com/youlai/boot/mini/controller/PointController.java index 8f88914..1ebf9c4 100644 --- a/src/main/java/com/youlai/boot/mini/controller/PointController.java +++ b/src/main/java/com/youlai/boot/mini/controller/PointController.java @@ -5,34 +5,34 @@ import com.youlai.boot.common.annotation.Log; import com.youlai.boot.common.enums.ActionTypeEnum; import com.youlai.boot.common.enums.LogModuleEnum; import com.youlai.boot.common.result.PageResult; -import com.youlai.boot.mini.model.form.UserPointQuery; -import com.youlai.boot.mini.model.vo.UserPointVO; -import com.youlai.boot.mini.service.PointService; +import com.youlai.boot.mini.model.query.PointAccountQuery; +import com.youlai.boot.mini.model.vo.PointAccountVO; +import com.youlai.boot.mini.service.MiniPointAccountService; +import com.youlai.boot.mini.service.MiniPointRecordService; +import com.youlai.boot.mini.service.MiniPointRuleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springdoc.core.annotations.ParameterObject; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -/** - * 用户积分信息 - */ @Tag(name = "用户端积分服务相关接口") @RestController -@RequestMapping("/api/v1/mini/point") +@RequestMapping("/api/v1/mini/user/point") @RequiredArgsConstructor public class PointController { - private final PointService pointService; + private final MiniPointAccountService pointAccountService; + private final MiniPointRuleService pointRuleService; + private final MiniPointRecordService recordService; @Operation(summary = "查询用户积分") - @GetMapping -// @PreAuthorize("@ss.hasPerm('sys:config:list')") - @Log(module = LogModuleEnum.Point, value = ActionTypeEnum.LIST) - public PageResult page(@ParameterObject UserPointQuery queryParams) { - IPage result = pointService.page(queryParams); + @GetMapping(value = "/getListPage") + @PreAuthorize("@ss.hasPerm('mini:point:account:list')") + @Log(module = LogModuleEnum.POINT_ACCOUNT, value = ActionTypeEnum.LIST) + public PageResult page(@ParameterObject PointAccountQuery queryParams) { + IPage result = pointAccountService.page(queryParams); return PageResult.success(result); } @@ -46,12 +46,4 @@ public class PointController { //AI生成图片扣费 //AI生成视频扣费 - //后台管理 - //查询规则列表 - //查询规则详情 - //新增规则 - //修改规则 - //启用/禁用规则 - //删除规则 - } diff --git a/src/main/java/com/youlai/boot/mini/converter/MiniPointAccountConverter.java b/src/main/java/com/youlai/boot/mini/converter/MiniPointAccountConverter.java index 5a3987f..382fd9e 100644 --- a/src/main/java/com/youlai/boot/mini/converter/MiniPointAccountConverter.java +++ b/src/main/java/com/youlai/boot/mini/converter/MiniPointAccountConverter.java @@ -2,13 +2,16 @@ package com.youlai.boot.mini.converter; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.youlai.boot.mini.model.entity.MiniPointAccount; -import com.youlai.boot.mini.model.vo.UserPointVO; +import com.youlai.boot.mini.model.entity.MiniPointRule; +import com.youlai.boot.mini.model.vo.RuleListVO; +import com.youlai.boot.mini.model.vo.PointAccountVO; import org.mapstruct.Mapper; @Mapper(componentModel = "spring") public interface MiniPointAccountConverter { - Page toPageVo(Page pageList); + Page toPageVo(Page pageList); + + PointAccountVO toVo(MiniPointAccount entity); - UserPointVO toVo(MiniPointAccount entity); } diff --git a/src/main/java/com/youlai/boot/mini/converter/MiniPointRuleConverter.java b/src/main/java/com/youlai/boot/mini/converter/MiniPointRuleConverter.java new file mode 100644 index 0000000..4d5fd28 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/converter/MiniPointRuleConverter.java @@ -0,0 +1,16 @@ +package com.youlai.boot.mini.converter; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.youlai.boot.mini.model.entity.MiniPointRule; +import com.youlai.boot.mini.model.vo.RuleListVO; +import org.mapstruct.Mapper; + +@Mapper(componentModel = "spring") +public interface MiniPointRuleConverter { + + IPage toRulePageVo(Page pageList); + + RuleListVO toRuleVo(MiniPointRule entity); + +} diff --git a/src/main/java/com/youlai/boot/mini/model/enums/AdjustUserPointEnum.java b/src/main/java/com/youlai/boot/mini/model/enums/AdjustUserPointEnum.java new file mode 100644 index 0000000..c798c75 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/enums/AdjustUserPointEnum.java @@ -0,0 +1,45 @@ +package com.youlai.boot.mini.model.enums; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.v3.oas.annotations.media.Schema; + +@Schema(description = "操作用户积分类型") +public enum AdjustUserPointEnum { + + SYSTEM_INCREASE("system_increase", "增加"), + SYSTEM_REDUCE("system_reduce", "减少"); + + private final String value; + private final String desc; + + AdjustUserPointEnum(String value, String desc) { + this.value = value; + this.desc = desc; + } + + @JsonValue + public String getValue() { + return value; + } + + public String getDesc() { + return desc; + } + + @JsonCreator + public static AdjustUserPointEnum from(String value) { + if (value == null) return null; + + for (AdjustUserPointEnum e : values()) { + if (e.value.equalsIgnoreCase(value)) { + return e; + } + } + return null; + } + + public static boolean contains(String value) { + return from(value) != null; + } +} diff --git a/src/main/java/com/youlai/boot/mini/model/form/AddPointRuleForm.java b/src/main/java/com/youlai/boot/mini/model/form/AddPointRuleForm.java new file mode 100644 index 0000000..6f1dc06 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/form/AddPointRuleForm.java @@ -0,0 +1,36 @@ +package com.youlai.boot.mini.model.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import lombok.Getter; +import lombok.Setter; + +@Schema(description = "增加积分规则表单对象") +@Getter +@Setter +public class AddPointRuleForm { + + @NotBlank(message = "规则编码不能为空") + @Schema(description = "规则编码", requiredMode = Schema.RequiredMode.REQUIRED) + private String ruleCode; + + @NotBlank(message = "规则名称不能为空") + @Schema(description = "规则名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String ruleName; + + @NotEmpty(message = "积分不能为空") + @Schema(description = "积分", example = "100", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer point; + + @Schema(description = "限制周期:DAY/WEEK/MONTH/YEAR/ALL(NULL表示无限制)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String limitPeriod; + + @NotEmpty(message = "周期内限制次数不能为空") + @Schema(description = "周期内限制次数", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer limitCount; + + @NotBlank(message = "规则描述不能为空") + @Schema(description = "规则描述", requiredMode = Schema.RequiredMode.REQUIRED) + private String description; +} diff --git a/src/main/java/com/youlai/boot/mini/model/form/AdjustUserPointForm.java b/src/main/java/com/youlai/boot/mini/model/form/AdjustUserPointForm.java new file mode 100644 index 0000000..0b52076 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/form/AdjustUserPointForm.java @@ -0,0 +1,30 @@ +package com.youlai.boot.mini.model.form; + +import com.youlai.boot.common.annotation.EnumValid; +import com.youlai.boot.mini.model.enums.AdjustUserPointEnum; +import com.youlai.boot.mini.model.enums.AnimalStatusEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import lombok.Getter; +import lombok.Setter; + +@Schema(description = "调整用户积分表单对象") +@Getter +@Setter +public class AdjustUserPointForm { + + @NotBlank(message = "用户id不能为空") + @Schema(description = "用户uuid", example = "abc123", requiredMode = Schema.RequiredMode.REQUIRED) + private String uuid; + + @NotEmpty(message = "业务类型不能为空") + @EnumValid(enumClass = AdjustUserPointEnum.class, message = "业务类型不合法") + @Schema(description = "业务类型 system_increase system_reduce", requiredMode = Schema.RequiredMode.REQUIRED) + private String bizType; + + @NotEmpty(message = "积分不能为空") + @Schema(description = "变化值(+增加,-扣减)", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer changeAmount; + +} diff --git a/src/main/java/com/youlai/boot/mini/model/form/UserPointQuery.java b/src/main/java/com/youlai/boot/mini/model/query/PointAccountQuery.java similarity index 74% rename from src/main/java/com/youlai/boot/mini/model/form/UserPointQuery.java rename to src/main/java/com/youlai/boot/mini/model/query/PointAccountQuery.java index cf3652c..c0ae58e 100644 --- a/src/main/java/com/youlai/boot/mini/model/form/UserPointQuery.java +++ b/src/main/java/com/youlai/boot/mini/model/query/PointAccountQuery.java @@ -1,4 +1,4 @@ -package com.youlai.boot.mini.model.form; +package com.youlai.boot.mini.model.query; import com.youlai.boot.common.base.BaseQuery; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,7 +8,7 @@ import lombok.Setter; @Getter @Setter @Schema(description = "用户积分查询") -public class UserPointQuery extends BaseQuery { +public class PointAccountQuery extends BaseQuery { // @Schema(description="用户id") // private String uuid; diff --git a/src/main/java/com/youlai/boot/mini/model/query/PointRecordQuery.java b/src/main/java/com/youlai/boot/mini/model/query/PointRecordQuery.java new file mode 100644 index 0000000..166ee08 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/query/PointRecordQuery.java @@ -0,0 +1,12 @@ +package com.youlai.boot.mini.model.query; + +import com.youlai.boot.common.base.BaseQuery; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Schema(description = "用户积分流水查询") +public class PointRecordQuery extends BaseQuery { +} diff --git a/src/main/java/com/youlai/boot/mini/model/query/RulePageQuery.java b/src/main/java/com/youlai/boot/mini/model/query/RulePageQuery.java new file mode 100644 index 0000000..476219c --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/query/RulePageQuery.java @@ -0,0 +1,24 @@ +package com.youlai.boot.mini.model.query; + +import com.youlai.boot.common.base.BaseQuery; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Schema(description = "积分规则查询") +public class RulePageQuery extends BaseQuery { + + @Schema(description = "规则编码") + private String ruleCode; + + @Schema(description = "规则名称") + private String ruleName; + + @Schema(description = "限制周期") + private String limitPeriod; + + @Schema(description = "状态 0启用 1禁用") + private Integer status; +} diff --git a/src/main/java/com/youlai/boot/mini/model/vo/UserPointVO.java b/src/main/java/com/youlai/boot/mini/model/vo/PointAccountVO.java similarity index 93% rename from src/main/java/com/youlai/boot/mini/model/vo/UserPointVO.java rename to src/main/java/com/youlai/boot/mini/model/vo/PointAccountVO.java index 17f941f..42d4536 100644 --- a/src/main/java/com/youlai/boot/mini/model/vo/UserPointVO.java +++ b/src/main/java/com/youlai/boot/mini/model/vo/PointAccountVO.java @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; @Builder @EqualsAndHashCode(callSuper = false) @Schema(description = "用户积分信息VO") -public class UserPointVO { +public class PointAccountVO { @Schema(description = "uuid") private String uuid; diff --git a/src/main/java/com/youlai/boot/mini/model/vo/PointRecordVO.java b/src/main/java/com/youlai/boot/mini/model/vo/PointRecordVO.java new file mode 100644 index 0000000..21d742f --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/vo/PointRecordVO.java @@ -0,0 +1,13 @@ +package com.youlai.boot.mini.model.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@Builder +@EqualsAndHashCode(callSuper = false) +@Schema(description = "积分流水列表VO") +public class PointRecordVO { +} diff --git a/src/main/java/com/youlai/boot/mini/model/vo/RuleListVO.java b/src/main/java/com/youlai/boot/mini/model/vo/RuleListVO.java new file mode 100644 index 0000000..efbb66b --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/vo/RuleListVO.java @@ -0,0 +1,65 @@ +package com.youlai.boot.mini.model.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@Data +@Builder +@EqualsAndHashCode(callSuper = false) +@Schema(description = "积分规则列表VO") +public class RuleListVO { + + @Schema(description = "积分规则表自增id") + private Long id; + + @Schema(description = "积分规则表uuid") + private String uuid; + + @Schema(description = "规则编码") + private String ruleCode; + + @Schema(description = "规则名称") + private String ruleName; + + @Schema(description = "积分值") + private Integer points; + + @Schema(description = "限制周期") + private String limitPeriod; + + @Schema(description = "周期内容限制次数") + private Integer limitCount; + + @Schema(description = "状态 0启用 1禁用") + private Integer status; + + @Schema(description = "规则描述") + private String description; + + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @Schema(description = "创建时间毫秒级时间戳") + private Long createTimestamp; + + @Schema(description = "创建人ID") + private Long createBy; + + @Schema(description = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + @Schema(description = "更新时间毫秒级时间戳") + private Long updateTimestamp; + + @Schema(description = "修改人ID") + private Long updateBy; + +} diff --git a/src/main/java/com/youlai/boot/mini/service/MiniPointAccountService.java b/src/main/java/com/youlai/boot/mini/service/MiniPointAccountService.java new file mode 100644 index 0000000..84f9add --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/service/MiniPointAccountService.java @@ -0,0 +1,11 @@ +package com.youlai.boot.mini.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.youlai.boot.mini.model.entity.MiniPointAccount; +import com.youlai.boot.mini.model.query.PointAccountQuery; +import com.youlai.boot.mini.model.vo.PointAccountVO; + +public interface MiniPointAccountService extends IService { + IPage page(PointAccountQuery queryParams); +} diff --git a/src/main/java/com/youlai/boot/mini/service/MiniPointRecordService.java b/src/main/java/com/youlai/boot/mini/service/MiniPointRecordService.java new file mode 100644 index 0000000..5375df6 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/service/MiniPointRecordService.java @@ -0,0 +1,4 @@ +package com.youlai.boot.mini.service; + +public interface MiniPointRecordService { +} diff --git a/src/main/java/com/youlai/boot/mini/service/MiniPointRuleService.java b/src/main/java/com/youlai/boot/mini/service/MiniPointRuleService.java new file mode 100644 index 0000000..fa0025f --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/service/MiniPointRuleService.java @@ -0,0 +1,9 @@ +package com.youlai.boot.mini.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.youlai.boot.mini.model.query.RulePageQuery; +import com.youlai.boot.mini.model.vo.RuleListVO; + +public interface MiniPointRuleService { + IPage pageRule(RulePageQuery queryParams); +} diff --git a/src/main/java/com/youlai/boot/mini/service/PointService.java b/src/main/java/com/youlai/boot/mini/service/PointService.java deleted file mode 100644 index be20744..0000000 --- a/src/main/java/com/youlai/boot/mini/service/PointService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.youlai.boot.mini.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.youlai.boot.mini.model.entity.MiniPointAccount; -import com.youlai.boot.mini.model.form.UserPointQuery; -import com.youlai.boot.mini.model.vo.UserPointVO; -import com.youlai.boot.system.model.entity.Config; - -public interface PointService extends IService { - IPage page(UserPointQuery queryParams); -} diff --git a/src/main/java/com/youlai/boot/mini/service/impl/PointServiceImpl.java b/src/main/java/com/youlai/boot/mini/service/impl/MiniPointAccountServiceImpl.java similarity index 77% rename from src/main/java/com/youlai/boot/mini/service/impl/PointServiceImpl.java rename to src/main/java/com/youlai/boot/mini/service/impl/MiniPointAccountServiceImpl.java index 8c6c598..d0ac87e 100644 --- a/src/main/java/com/youlai/boot/mini/service/impl/PointServiceImpl.java +++ b/src/main/java/com/youlai/boot/mini/service/impl/MiniPointAccountServiceImpl.java @@ -8,9 +8,9 @@ import com.youlai.boot.framework.security.util.SecurityUtils; import com.youlai.boot.mini.converter.MiniPointAccountConverter; import com.youlai.boot.mini.mapper.*; import com.youlai.boot.mini.model.entity.MiniPointAccount; -import com.youlai.boot.mini.model.form.UserPointQuery; -import com.youlai.boot.mini.model.vo.UserPointVO; -import com.youlai.boot.mini.service.PointService; +import com.youlai.boot.mini.model.query.PointAccountQuery; +import com.youlai.boot.mini.model.vo.PointAccountVO; +import com.youlai.boot.mini.service.MiniPointAccountService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -18,14 +18,14 @@ import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor @Slf4j -public class PointServiceImpl extends ServiceImpl implements PointService { +public class MiniPointAccountServiceImpl extends ServiceImpl implements MiniPointAccountService { private final MiniPointAccountMapper miniPointAccountMapper; private final MiniPointRecordMapper miniPointRecordMapper; private final MiniPointAccountConverter miniPointAccountConverter; @Override - public IPage page(UserPointQuery queryParams) { + public IPage page(PointAccountQuery queryParams) { Long userId = SecurityUtils.getUserId(); Page page = new Page<>(queryParams.getPageNum(), queryParams.getPageSize()); LambdaQueryWrapper query = new LambdaQueryWrapper(); diff --git a/src/main/java/com/youlai/boot/mini/service/impl/MiniPointRecordServiceImpl.java b/src/main/java/com/youlai/boot/mini/service/impl/MiniPointRecordServiceImpl.java new file mode 100644 index 0000000..575fb02 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/service/impl/MiniPointRecordServiceImpl.java @@ -0,0 +1,15 @@ +package com.youlai.boot.mini.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.youlai.boot.mini.mapper.MiniPointRecordMapper; +import com.youlai.boot.mini.model.entity.MiniPointRecord; +import com.youlai.boot.mini.service.MiniPointRecordService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +@Slf4j +public class MiniPointRecordServiceImpl extends ServiceImpl implements MiniPointRecordService { +} diff --git a/src/main/java/com/youlai/boot/mini/service/impl/MiniPointRuleServiceImpl.java b/src/main/java/com/youlai/boot/mini/service/impl/MiniPointRuleServiceImpl.java new file mode 100644 index 0000000..c30adc1 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/service/impl/MiniPointRuleServiceImpl.java @@ -0,0 +1,43 @@ +package com.youlai.boot.mini.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.youlai.boot.mini.converter.MiniPointAccountConverter; +import com.youlai.boot.mini.converter.MiniPointRuleConverter; +import com.youlai.boot.mini.mapper.MiniPointAccountMapper; +import com.youlai.boot.mini.mapper.MiniPointRecordMapper; +import com.youlai.boot.mini.mapper.MiniPointRuleMapper; +import com.youlai.boot.mini.model.entity.MiniPointAccount; +import com.youlai.boot.mini.model.entity.MiniPointRule; +import com.youlai.boot.mini.model.query.RulePageQuery; +import com.youlai.boot.mini.model.vo.RuleListVO; +import com.youlai.boot.mini.service.MiniPointRuleService; +import jodd.util.StringUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +@Slf4j +public class MiniPointRuleServiceImpl extends ServiceImpl implements MiniPointRuleService { + + private final MiniPointAccountMapper miniPointAccountMapper; + private final MiniPointRecordMapper miniPointRecordMapper; + private final MiniPointRuleMapper miniPointRuleMapper; + private final MiniPointRuleConverter miniPointRuleConverter; + + @Override + public IPage pageRule(RulePageQuery queryParams) { + Page page = new Page<>(queryParams.getPageNum(), queryParams.getPageSize()); + LambdaQueryWrapper query = new LambdaQueryWrapper(); + query.eq(StringUtil.isNotBlank(queryParams.getRuleCode()),MiniPointRule::getRuleCode, queryParams.getRuleCode()); + query.like(StringUtil.isNotBlank(queryParams.getRuleName()),MiniPointRule::getRuleCode, queryParams.getRuleCode()); + Page pageList = this.page(page, query); + return miniPointRuleConverter.toRulePageVo(pageList); + } + + +}