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