CenterdataTResourcesDepositController.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package com.sooka.sponest.data.digitalresource.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.ruoyi.common.core.constant.DocumentNameConstants;
  4. import com.ruoyi.common.core.domain.R;
  5. import com.ruoyi.common.core.web.controller.BaseController;
  6. import com.ruoyi.common.core.web.domain.AjaxResult;
  7. import com.ruoyi.common.core.web.page.TableDataInfo;
  8. import com.ruoyi.common.log.annotation.Log;
  9. import com.ruoyi.common.log.enums.BusinessType;
  10. import com.ruoyi.common.security.annotation.RequiresPermissions;
  11. import com.sooka.sponest.data.base.domain.ESVo;
  12. import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesDeposit;
  13. import com.sooka.sponest.data.digitalresource.service.ICenterdataTResourcesDepositService;
  14. import com.sooka.sponest.data.utils.DataConstants;
  15. import com.sooka.sponest.data.utils.DataProducerUtil;
  16. import com.sooka.sponest.data.utils.ExcelUtil;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiOperation;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.validation.annotation.Validated;
  21. import org.springframework.web.bind.annotation.*;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.util.Arrays;
  24. import java.util.List;
  25. /**
  26. * 矿臧资源Controller
  27. *
  28. * @author ruoyi
  29. * @date 2023-02-21
  30. */
  31. @Api(tags = "矿臧资源控制器")
  32. @RestController
  33. @RequestMapping("/deposit")
  34. public class CenterdataTResourcesDepositController extends BaseController {
  35. @Autowired
  36. private ICenterdataTResourcesDepositService centerdataTResourcesDepositService;
  37. /**
  38. * 查询矿臧资源列表
  39. */
  40. @ApiOperation(value = "查询矿臧资源列表", notes = "查询矿臧资源列表")
  41. @RequiresPermissions("resources:deposit:list")
  42. @GetMapping("/list")
  43. public TableDataInfo list(CenterdataTResourcesDeposit centerdataTResourcesDeposit) {
  44. startPage();
  45. List<CenterdataTResourcesDeposit> list = centerdataTResourcesDepositService.selectCenterdataTResourcesDepositList(centerdataTResourcesDeposit);
  46. return getDataTable(list);
  47. }
  48. // 远端调用 数字资源远端调用
  49. @ApiOperation(value = "数字资源远端调用", notes = "数字资源远端调用")
  50. @PostMapping("/listDeposit")
  51. public R<List<CenterdataTResourcesDeposit>> listDeposit(CenterdataTResourcesDeposit centerdataTResourcesDeposit) {
  52. return R.ok(centerdataTResourcesDepositService.selectCenterdataTResourcesDepositList(centerdataTResourcesDeposit));
  53. }
  54. /**
  55. * 导出矿臧资源列表
  56. */
  57. @ApiOperation(value = "导出矿臧资源列表", notes = "导出矿臧资源列表")
  58. @RequiresPermissions("resources:deposit:export")
  59. @Log(title = "矿臧资源", businessType = BusinessType.EXPORT)
  60. @PostMapping("/export")
  61. public void export(HttpServletResponse response, CenterdataTResourcesDeposit centerdataTResourcesDeposit) {
  62. List<CenterdataTResourcesDeposit> list = centerdataTResourcesDepositService.selectCenterdataTResourcesDepositList(centerdataTResourcesDeposit);
  63. ExcelUtil<CenterdataTResourcesDeposit> util = new ExcelUtil<>(CenterdataTResourcesDeposit.class);
  64. util.exportExcel(response, list, "矿臧资源数据");
  65. }
  66. /**
  67. * 获取矿臧资源详细信息
  68. */
  69. @ApiOperation(value = "获取矿臧资源详细信息", notes = "获取矿臧资源详细信息")
  70. @RequiresPermissions("resources:deposit:query")
  71. @GetMapping(value = "/{id}")
  72. public AjaxResult getInfo(@PathVariable("id") String id) {
  73. return AjaxResult.success(centerdataTResourcesDepositService.selectCenterdataTResourcesDepositById(id));
  74. }
  75. /**
  76. * 新增矿臧资源
  77. */
  78. @ApiOperation(value = "新增矿臧资源", notes = "新增矿臧资源")
  79. @RequiresPermissions("resources:deposit:add")
  80. @Log(title = "矿臧资源", businessType = BusinessType.INSERT)
  81. @PostMapping
  82. public AjaxResult add(@Validated @RequestBody CenterdataTResourcesDeposit centerdataTResourcesDeposit) {
  83. String tableName = "centerdata_t_resources_deposit";
  84. String[] keys = {"name","dept_id"};
  85. String[] values = {centerdataTResourcesDeposit.getName(),String.valueOf(centerdataTResourcesDeposit.getDeptId())};
  86. if(!centerdataTResourcesDepositService.uniqueCheck(tableName, keys, values)){
  87. return AjaxResult.error(DataConstants.ERROR_MSG);
  88. }
  89. int result = centerdataTResourcesDepositService.insertCenterdataTResourcesDeposit(centerdataTResourcesDeposit);
  90. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.RESOURCES_DEPOSIT,BusinessType.INSERT, JSON.toJSONString(centerdataTResourcesDeposit)));
  91. return toAjax(result);
  92. }
  93. /**
  94. * 修改矿臧资源
  95. */
  96. @ApiOperation(value = "修改矿臧资源", notes = "修改矿臧资源")
  97. @RequiresPermissions("resources:deposit:edit")
  98. @Log(title = "矿臧资源", businessType = BusinessType.UPDATE)
  99. @PutMapping
  100. public AjaxResult edit(@Validated @RequestBody CenterdataTResourcesDeposit centerdataTResourcesDeposit) {
  101. String tableName = "centerdata_t_resources_deposit";
  102. String[] keys = {"name","id","dept_id"};
  103. String[] values = {centerdataTResourcesDeposit.getName(), centerdataTResourcesDeposit.getId(),String.valueOf(centerdataTResourcesDeposit.getDeptId())};
  104. if(!centerdataTResourcesDepositService.uniqueCheck(tableName, keys, values)){
  105. return AjaxResult.error(DataConstants.ERROR_MSG);
  106. }
  107. int result = centerdataTResourcesDepositService.updateCenterdataTResourcesDeposit(centerdataTResourcesDeposit);
  108. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.RESOURCES_DEPOSIT,BusinessType.UPDATE, JSON.toJSONString(centerdataTResourcesDeposit)));
  109. return toAjax(result);
  110. }
  111. /**
  112. * 删除矿臧资源
  113. */
  114. @ApiOperation(value = "删除矿臧资源", notes = "删除矿臧资源")
  115. @RequiresPermissions("resources:deposit:remove")
  116. @Log(title = "矿臧资源", businessType = BusinessType.DELETE)
  117. @DeleteMapping("/{ids}")
  118. public AjaxResult remove(@PathVariable String[] ids) {
  119. int result = centerdataTResourcesDepositService.deleteCenterdataTResourcesDepositByIds(ids);
  120. List<String> idList = Arrays.asList(ids);
  121. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.RESOURCES_DEPOSIT,BusinessType.DELETE, JSON.toJSONString(idList)));
  122. return toAjax(result);
  123. }
  124. }