Browse Source

增加查询用户积分接口

master
glx 1 month ago
parent
commit
5ca88bd7e9
  1. 3
      src/main/java/com/youlai/boot/common/enums/LogModuleEnum.java
  2. 57
      src/main/java/com/youlai/boot/mini/controller/PointController.java
  3. 14
      src/main/java/com/youlai/boot/mini/converter/MiniPointAccountConverter.java
  4. 7
      src/main/java/com/youlai/boot/mini/mapper/MiniPointAccountMapperExt.java
  5. 16
      src/main/java/com/youlai/boot/mini/model/form/UserPointQuery.java
  6. 20
      src/main/java/com/youlai/boot/mini/model/vo/UserPointVO.java
  7. 12
      src/main/java/com/youlai/boot/mini/service/PointService.java
  8. 37
      src/main/java/com/youlai/boot/mini/service/impl/PointServiceImpl.java

3
src/main/java/com/youlai/boot/common/enums/LogModuleEnum.java

@ -28,7 +28,8 @@ public enum LogModuleEnum implements IBaseEnum<Integer> {
LOG(10, "日志管理"), LOG(10, "日志管理"),
CODEGEN(11, "代码生成"), CODEGEN(11, "代码生成"),
STRAY_ANIMAL_INFO(12, "流浪动物信息"), STRAY_ANIMAL_INFO(12, "流浪动物信息"),
OTHER(99, "其他"); OTHER(99, "其他"),
Point(100, "积分管理");
@EnumValue @EnumValue
private final Integer value; private final Integer value;

57
src/main/java/com/youlai/boot/mini/controller/PointController.java

@ -0,0 +1,57 @@
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.mini.model.form.UserPointQuery;
import com.youlai.boot.mini.model.vo.UserPointVO;
import com.youlai.boot.mini.service.PointService;
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")
@RequiredArgsConstructor
public class PointController {
private final PointService pointService;
@Operation(summary = "查询用户积分")
@GetMapping
// @PreAuthorize("@ss.hasPerm('sys:config:list')")
@Log(module = LogModuleEnum.Point, value = ActionTypeEnum.LIST)
public PageResult<UserPointVO> page(@ParameterObject UserPointQuery queryParams) {
IPage<UserPointVO> result = pointService.page(queryParams);
return PageResult.success(result);
}
//查询用户积分
//查询积分明细
//查询积分统计
//用户注册赠送积分
//每日签到
//分享奖励
//AI生成图片扣费
//AI生成视频扣费
//后台管理
//查询规则列表
//查询规则详情
//新增规则
//修改规则
//启用/禁用规则
//删除规则
}

14
src/main/java/com/youlai/boot/mini/converter/MiniPointAccountConverter.java

@ -0,0 +1,14 @@
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 org.mapstruct.Mapper;
@Mapper(componentModel = "spring")
public interface MiniPointAccountConverter {
Page<UserPointVO> toPageVo(Page<MiniPointAccount> pageList);
UserPointVO toVo(MiniPointAccount entity);
}

7
src/main/java/com/youlai/boot/mini/mapper/MiniPointAccountMapperExt.java

@ -1,7 +0,0 @@
package com.youlai.boot.mini.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MiniPointAccountMapperExt extends MiniPointAccountMapper{
}

16
src/main/java/com/youlai/boot/mini/model/form/UserPointQuery.java

@ -0,0 +1,16 @@
package com.youlai.boot.mini.model.form;
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 UserPointQuery extends BaseQuery {
// @Schema(description="用户id")
// private String uuid;
}

20
src/main/java/com/youlai/boot/mini/model/vo/UserPointVO.java

@ -0,0 +1,20 @@
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 UserPointVO {
@Schema(description = "uuid")
private String uuid;
@Schema(description = "用户积分")
private Integer points;
}

12
src/main/java/com/youlai/boot/mini/service/PointService.java

@ -0,0 +1,12 @@
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<MiniPointAccount> {
IPage<UserPointVO> page(UserPointQuery queryParams);
}

37
src/main/java/com/youlai/boot/mini/service/impl/PointServiceImpl.java

@ -0,0 +1,37 @@
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.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 lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
@Slf4j
public class PointServiceImpl extends ServiceImpl<MiniPointAccountMapper, MiniPointAccount> implements PointService {
private final MiniPointAccountMapper miniPointAccountMapper;
private final MiniPointRecordMapper miniPointRecordMapper;
private final MiniPointAccountConverter miniPointAccountConverter;
@Override
public IPage<UserPointVO> page(UserPointQuery queryParams) {
Long userId = SecurityUtils.getUserId();
Page<MiniPointAccount> page = new Page<>(queryParams.getPageNum(), queryParams.getPageSize());
LambdaQueryWrapper<MiniPointAccount> query = new LambdaQueryWrapper<MiniPointAccount>();
query.eq(MiniPointAccount::getUserId, userId);
Page<MiniPointAccount> pageList = this.page(page, query);
return miniPointAccountConverter.toPageVo(pageList);
}
}
Loading…
Cancel
Save