CrmSupplierInfoController.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package org.dromara.crm.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import jakarta.servlet.http.HttpServletResponse;
  4. import jakarta.validation.constraints.*;
  5. import lombok.RequiredArgsConstructor;
  6. import org.dromara.common.core.domain.R;
  7. import org.dromara.common.core.validate.AddGroup;
  8. import org.dromara.common.core.validate.EditGroup;
  9. import org.dromara.common.excel.utils.ExcelUtil;
  10. import org.dromara.common.idempotent.annotation.RepeatSubmit;
  11. import org.dromara.common.log.annotation.Log;
  12. import org.dromara.common.log.enums.BusinessType;
  13. import org.dromara.common.mybatis.core.page.*;
  14. import org.dromara.common.web.core.BaseController;
  15. import org.dromara.crm.domain.bo.CrmSupplierInfoBo;
  16. import org.dromara.crm.domain.vo.CrmSupplierInfoVo;
  17. import org.dromara.crm.service.ICrmSupplierInfoService;
  18. import org.springframework.validation.annotation.Validated;
  19. import org.springframework.web.bind.annotation.*;
  20. import java.util.List;
  21. /**
  22. * 供方信息管理控制器
  23. *
  24. * @author AI Assistant
  25. * @date 2025-01-XX
  26. */
  27. @Validated
  28. @RequiredArgsConstructor
  29. @RestController
  30. @RequestMapping("/crm/supplierInfo")
  31. public class CrmSupplierInfoController extends BaseController {
  32. private final ICrmSupplierInfoService supplierInfoService;
  33. /**
  34. * 查询列表(分页)
  35. */
  36. @SaCheckPermission("crm:supplierInfo:list")
  37. @GetMapping("/list")
  38. public TableDataInfo<CrmSupplierInfoVo> list(CrmSupplierInfoBo bo, PageQuery pageQuery) {
  39. return supplierInfoService.queryPageList(bo, pageQuery);
  40. }
  41. /**
  42. * 查询所有列表(不分页,用于下拉选择)
  43. */
  44. @GetMapping("/listAll")
  45. public R<List<CrmSupplierInfoVo>> listAll(CrmSupplierInfoBo bo) {
  46. List<CrmSupplierInfoVo> list = supplierInfoService.queryList(bo);
  47. return R.ok(list);
  48. }
  49. /**
  50. * 获取详细信息
  51. */
  52. @GetMapping("/{id}")
  53. public R<CrmSupplierInfoVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) {
  54. return R.ok(supplierInfoService.queryById(id));
  55. }
  56. /**
  57. * 新增
  58. */
  59. @SaCheckPermission("crm:supplierInfo:add")
  60. @Log(title = "供方信息管理", businessType = BusinessType.INSERT)
  61. @RepeatSubmit()
  62. @PostMapping()
  63. public R<Void> add(@Validated(AddGroup.class) @RequestBody CrmSupplierInfoBo bo) {
  64. return toAjax(supplierInfoService.insertByBo(bo));
  65. }
  66. /**
  67. * 修改
  68. */
  69. @SaCheckPermission("crm:supplierInfo:edit")
  70. @Log(title = "供方信息管理", businessType = BusinessType.UPDATE)
  71. @RepeatSubmit()
  72. @PutMapping()
  73. public R<Void> edit(@Validated(EditGroup.class) @RequestBody CrmSupplierInfoBo bo) {
  74. return toAjax(supplierInfoService.updateByBo(bo));
  75. }
  76. /**
  77. * 删除
  78. */
  79. @SaCheckPermission("crm:supplierInfo:remove")
  80. @Log(title = "供方信息管理", businessType = BusinessType.DELETE)
  81. @DeleteMapping("/{ids}")
  82. public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) {
  83. return toAjax(supplierInfoService.deleteWithValidByIds(List.of(ids), true));
  84. }
  85. /**
  86. * 导出
  87. */
  88. @SaCheckPermission("crm:supplierInfo:export")
  89. @Log(title = "供方信息管理", businessType = BusinessType.EXPORT)
  90. @PostMapping("/export")
  91. public void export(CrmSupplierInfoBo bo, HttpServletResponse response) {
  92. List<CrmSupplierInfoVo> list = supplierInfoService.queryList(bo);
  93. ExcelUtil.exportExcel(list, "供方信息数据", CrmSupplierInfoVo.class, response);
  94. }
  95. }