package com.youlai.boot.mini.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.youlai.boot.common.result.PageResult; import com.youlai.boot.common.result.Result; import com.youlai.boot.framework.security.util.SecurityUtils; import com.youlai.boot.common.result.PageResult; import com.youlai.boot.mini.model.query.MyPointRecordQuery; import com.youlai.boot.mini.model.query.PointAccountQuery; import com.youlai.boot.mini.model.vo.MyPointRecordVO; import com.youlai.boot.mini.model.vo.MyPointVO; 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.web.bind.annotation.*; @Tag(name = "用户端积分服务相关接口") @RestController @RequestMapping("/api/v1/mini/user/point") @RequiredArgsConstructor public class PointController { private final MiniPointAccountService pointAccountService; private final MiniPointRuleService pointRuleService; private final MiniPointRecordService recordService; @Operation(summary = "查询当前用户的积分账户信息") @GetMapping("/my") public Result getMyPoint() { Long userId = SecurityUtils.getUserId(); MyPointVO myPoint = pointAccountService.getUserPoint(userId); return Result.success(myPoint); } @Operation(summary = "分页查询当前用户的积分流水列表") @GetMapping("/records") public PageResult getMyPointRecords(@ParameterObject MyPointRecordQuery query) { Long userId = SecurityUtils.getUserId(); return PageResult.success(recordService.pageMyPointRecord(userId, query)); } //事件监听 实现 用户注册赠送积分 //每日签到,加签到表, //分享奖励,分享链接带上分享人ID,其他用户点击链接进入小程序后才给分享人发奖励 //AI生成图片扣费 //AI生成视频扣费 }