| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package com.zxyj.controller.reward;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.zxyj.common.Result;
- import com.zxyj.dto.CreateRewardDTO;
- import com.zxyj.dto.RewardDTO;
- import com.zxyj.entity.Reward;
- import com.zxyj.service.RewardService;
- import javax.annotation.Resource;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- import java.util.Map;
- @RestController
- @RequestMapping("/api/rewards")
- public class RewardController {
- @Resource
- private RewardService rewardService;
- @PostMapping
- public Result<Long> createReward(@RequestAttribute("userId") Long userId,
- @RequestBody CreateRewardDTO dto) {
- Long rewardId = rewardService.createReward(userId, dto);
- return Result.success(rewardId);
- }
- @PostMapping("/wishlist")
- public Result<List<RewardDTO>> getWishlist(@RequestBody Map<String, Object> params) {
- Long childId = params.get("childId") != null ? ((Number) params.get("childId")).longValue() : null;
- List<RewardDTO> wishlist = rewardService.getWishlist(childId);
- return Result.success(wishlist);
- }
- @PostMapping("/{id}/exchange")
- public Result<Map<String, Object>> exchangeReward(@PathVariable Long id,
- @RequestBody Map<String, Object> params) {
- Long childId = Long.valueOf(params.get("childId").toString());
- Map<String, Object> result = rewardService.exchangeReward(id, childId);
- return Result.success(result);
- }
- @PostMapping("/{id}/approve")
- public Result<Boolean> approveReward(@PathVariable Long id,
- @RequestBody java.util.Map<String, Boolean> body) {
- Boolean approved = body.get("approved");
- boolean success = rewardService.approveReward(id, approved);
- return Result.success(success);
- }
- @PostMapping("/templates")
- public Result<List<Reward>> getTemplates() {
- List<Reward> templates = rewardService.getTemplates();
- return Result.success(templates);
- }
- @PostMapping("/exchange-history")
- public Result<Page<Reward>> getExchangeHistory(@RequestBody Map<String, Object> params) {
- Long childId = params.get("childId") != null ? ((Number) params.get("childId")).longValue() : null;
- Integer page = params.get("page") != null ? (Integer) params.get("page") : 1;
- Integer size = params.get("size") != null ? (Integer) params.get("size") : 10;
- Page<Reward> history = rewardService.getExchangeHistory(childId, page, size);
- return Result.success(history);
- }
- }
|