feat(theme): 支持购买记录查询并调整积分类型为BigDecimal

- 新增 /themes/purchase/list 接口,支持用户查询主题购买记录
- 将 KeyboardThemePurchase 中的积分字段由 Integer 改为 BigDecimal,确保金额精度
- 对应 Mapper XML 中 jdbcType 由 INTEGER 调整为 NUMERIC
- 补充 getUserPurchaseList 服务及返回 VO ThemePurchaseListRespVO
- 开放接口权限并完善跨域配置
This commit is contained in:
2025-12-10 19:58:48 +08:00
parent 22b97b99aa
commit 1a6fb944b2
8 changed files with 107 additions and 10 deletions

View File

@@ -4,6 +4,7 @@ import cn.dev33.satoken.stp.StpUtil;
import com.yolo.keyborad.common.BaseResponse;
import com.yolo.keyborad.common.ResultUtils;
import com.yolo.keyborad.model.dto.purchase.ThemePurchaseReq;
import com.yolo.keyborad.model.vo.purchase.ThemePurchaseListRespVO;
import com.yolo.keyborad.model.vo.purchase.ThemePurchaseRespVO;
import com.yolo.keyborad.model.vo.themes.KeyboardThemeStylesRespVO;
import com.yolo.keyborad.model.vo.themes.KeyboardThemesRespVO;
@@ -58,4 +59,12 @@ public class ThemesController {
return ResultUtils.success(result);
}
@GetMapping("/purchase/list")
@Operation(summary = "查询购买记录", description = "查询当前用户的主题购买记录")
public BaseResponse<List<ThemePurchaseListRespVO>> getPurchaseList() {
Long userId = StpUtil.getLoginIdAsLong();
List<ThemePurchaseListRespVO> result = themePurchaseService.getUserPurchaseList(userId);
return ResultUtils.success(result);
}
}