8 changed files with 158 additions and 8 deletions
@ -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生成视频扣费
|
|||
|
|||
//后台管理
|
|||
//查询规则列表
|
|||
//查询规则详情
|
|||
//新增规则
|
|||
//修改规则
|
|||
//启用/禁用规则
|
|||
//删除规则
|
|||
|
|||
} |
|||
@ -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); |
|||
} |
|||
@ -1,7 +0,0 @@ |
|||
package com.youlai.boot.mini.mapper; |
|||
|
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public interface MiniPointAccountMapperExt extends MiniPointAccountMapper{ |
|||
} |
|||
@ -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;
|
|||
|
|||
} |
|||
@ -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; |
|||
|
|||
} |
|||
@ -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); |
|||
} |
|||
@ -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…
Reference in new issue