UserSubscriptionController.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.yingpai.miniapp.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import com.yingpai.miniapp.domain.bo.UserSubscriptionBo;
  4. import com.yingpai.miniapp.domain.vo.UserSubscriptionVo;
  5. import com.yingpai.miniapp.service.IUserSubscriptionService;
  6. import jakarta.servlet.http.HttpServletResponse;
  7. import lombok.RequiredArgsConstructor;
  8. import org.dromara.common.core.domain.R;
  9. import org.dromara.common.excel.utils.ExcelUtil;
  10. import org.dromara.common.log.annotation.Log;
  11. import org.dromara.common.log.enums.BusinessType;
  12. import org.dromara.common.mybatis.core.page.PageQuery;
  13. import org.dromara.common.mybatis.core.page.TableDataInfo;
  14. import org.dromara.common.web.core.BaseController;
  15. import org.springframework.validation.annotation.Validated;
  16. import org.springframework.web.bind.annotation.*;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * 订阅管理
  21. */
  22. @Validated
  23. @RequiredArgsConstructor
  24. @RestController
  25. @RequestMapping("/miniapp/subscription")
  26. public class UserSubscriptionController extends BaseController {
  27. private final IUserSubscriptionService subscriptionService;
  28. /**
  29. * 查询订阅列表
  30. */
  31. @SaCheckPermission("miniapp:subscription:list")
  32. @GetMapping("/list")
  33. public TableDataInfo<UserSubscriptionVo> list(UserSubscriptionBo bo, PageQuery pageQuery) {
  34. return subscriptionService.queryPageList(bo, pageQuery);
  35. }
  36. /**
  37. * 导出订阅列表
  38. */
  39. @SaCheckPermission("miniapp:subscription:export")
  40. @Log(title = "订阅管理", businessType = BusinessType.EXPORT)
  41. @PostMapping("/export")
  42. public void export(UserSubscriptionBo bo, HttpServletResponse response) {
  43. List<UserSubscriptionVo> list = subscriptionService.queryList(bo);
  44. ExcelUtil.exportExcel(list, "订阅数据", UserSubscriptionVo.class, response);
  45. }
  46. /**
  47. * 获取订阅详情
  48. */
  49. @SaCheckPermission("miniapp:subscription:query")
  50. @GetMapping("/{id}")
  51. public R<UserSubscriptionVo> getInfo(@PathVariable Long id) {
  52. return R.ok(subscriptionService.queryById(id));
  53. }
  54. /**
  55. * 修改订阅
  56. */
  57. @SaCheckPermission("miniapp:subscription:edit")
  58. @Log(title = "订阅管理", businessType = BusinessType.UPDATE)
  59. @PutMapping
  60. public R<Void> edit(@RequestBody Map<String, Object> params) {
  61. Long id = Long.valueOf(params.get("id").toString());
  62. Integer status = Integer.valueOf(params.get("status").toString());
  63. return toAjax(subscriptionService.updateStatus(id, status));
  64. }
  65. /**
  66. * 删除订阅(支持单个和批量删除)
  67. */
  68. @SaCheckPermission("miniapp:subscription:remove")
  69. @Log(title = "订阅管理", businessType = BusinessType.DELETE)
  70. @DeleteMapping("/{ids}")
  71. public R<Void> remove(@PathVariable Long[] ids) {
  72. return toAjax(subscriptionService.deleteByIds(List.of(ids)));
  73. }
  74. }