TProjectChannelController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package com.ruoyi.web.controller.invest;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletResponse;
  4. import com.ruoyi.common.config.RuoYiConfig;
  5. import com.ruoyi.common.enums.FileType;
  6. import com.ruoyi.common.utils.file.FileUploadUtils;
  7. import com.ruoyi.common.utils.file.FileUtils;
  8. import com.ruoyi.common.utils.uuid.IdUtils;
  9. import com.ruoyi.framework.config.ServerConfig;
  10. import com.ruoyi.invest.domain.TProjectChannel;
  11. import com.ruoyi.invest.service.ITProjectChannelService;
  12. import com.ruoyi.tool.domain.TUnifyFile;
  13. import com.ruoyi.tool.service.ITUnifyFileService;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiOperation;
  16. import org.springframework.security.access.prepost.PreAuthorize;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.GetMapping;
  19. import org.springframework.web.bind.annotation.PostMapping;
  20. import org.springframework.web.bind.annotation.PutMapping;
  21. import org.springframework.web.bind.annotation.DeleteMapping;
  22. import org.springframework.web.bind.annotation.PathVariable;
  23. import org.springframework.web.bind.annotation.RequestBody;
  24. import org.springframework.web.bind.annotation.RequestMapping;
  25. import org.springframework.web.bind.annotation.RestController;
  26. import com.ruoyi.common.annotation.Log;
  27. import com.ruoyi.common.core.controller.BaseController;
  28. import com.ruoyi.common.core.domain.AjaxResult;
  29. import com.ruoyi.common.enums.BusinessType;
  30. import com.ruoyi.common.utils.poi.ExcelUtil;
  31. import com.ruoyi.common.core.page.TableDataInfo;
  32. import org.springframework.web.multipart.MultipartFile;
  33. /**
  34. * 渠道信息Controller
  35. *
  36. * @author ruoyi
  37. * @date 2024-02-22
  38. */
  39. @Api(tags = "渠道信息")
  40. @RestController
  41. @RequestMapping("/invest/channel")
  42. public class TProjectChannelController extends BaseController
  43. {
  44. @Autowired
  45. private ITProjectChannelService tProjectChannelService;
  46. @Autowired
  47. private ITUnifyFileService tUnifyFileService;
  48. @Autowired
  49. private ServerConfig serverConfig;
  50. /**
  51. * 查询渠道信息列表
  52. */
  53. @ApiOperation("查询渠道信息列表")
  54. @PreAuthorize("@ss.hasPermi('invest:channel:list')")
  55. @GetMapping("/list")
  56. public TableDataInfo list(TProjectChannel tProjectChannel)
  57. {
  58. startPage();
  59. List<TProjectChannel> list = tProjectChannelService.selectTProjectChannelList(tProjectChannel);
  60. return getDataTable(list);
  61. }
  62. /**
  63. * 导出渠道信息列表
  64. */
  65. @ApiOperation("导出渠道信息列表")
  66. @PreAuthorize("@ss.hasPermi('invest:channel:export')")
  67. @Log(title = "渠道信息", businessType = BusinessType.EXPORT)
  68. @PostMapping("/export")
  69. public void export(HttpServletResponse response, TProjectChannel tProjectChannel)
  70. {
  71. List<TProjectChannel> list = tProjectChannelService.selectTProjectChannelList(tProjectChannel);
  72. ExcelUtil<TProjectChannel> util = new ExcelUtil<TProjectChannel>(TProjectChannel.class);
  73. util.exportExcel(response, list, "渠道信息数据");
  74. }
  75. /**
  76. * 获取渠道信息详细信息
  77. */
  78. @ApiOperation("获取渠道信息详细信息")
  79. @PreAuthorize("@ss.hasPermi('invest:channel:query')")
  80. @GetMapping(value = "/{id}")
  81. public AjaxResult getInfo(@PathVariable("id") String id)
  82. {
  83. return success(tProjectChannelService.selectTProjectChannelById(id));
  84. }
  85. /**
  86. * 新增渠道信息
  87. */
  88. @ApiOperation("新增渠道信息")
  89. @PreAuthorize("@ss.hasPermi('invest:channel:add')")
  90. @Log(title = "渠道信息", businessType = BusinessType.INSERT)
  91. @PostMapping
  92. public AjaxResult add(@RequestBody TProjectChannel tProjectChannel)
  93. {
  94. tProjectChannel.setId(IdUtils.fastSimpleUUID());
  95. tProjectChannel.setCreateBy(getNickName());
  96. // todo 保存附件信息
  97. List<TUnifyFile> tUnifyFileList = tProjectChannel.getListFile();
  98. if(!tUnifyFileList.isEmpty()){
  99. for (TUnifyFile tUnifyFile:
  100. tUnifyFileList) {
  101. tUnifyFile.setFileBusinessId(tProjectChannel.getId());//公司ID
  102. tUnifyFile.setUploadType(String.valueOf(FileType.CHANNEL.ordinal()));//文件类型:公司信息
  103. tUnifyFile.setCreateBy(getNickName());
  104. tUnifyFileService.insertTUnifyFile(tUnifyFile);
  105. }
  106. }
  107. return toAjax(tProjectChannelService.insertTProjectChannel(tProjectChannel));
  108. }
  109. /**
  110. * 修改渠道信息
  111. */
  112. @ApiOperation("修改渠道信息")
  113. @PreAuthorize("@ss.hasPermi('invest:channel:edit')")
  114. @Log(title = "渠道信息", businessType = BusinessType.UPDATE)
  115. @PutMapping
  116. public AjaxResult edit(@RequestBody TProjectChannel tProjectChannel)
  117. {
  118. return toAjax(tProjectChannelService.updateTProjectChannel(tProjectChannel));
  119. }
  120. /**
  121. * 删除渠道信息
  122. */
  123. @ApiOperation("删除渠道信息")
  124. @PreAuthorize("@ss.hasPermi('invest:channel:remove')")
  125. @Log(title = "渠道信息", businessType = BusinessType.DELETE)
  126. @DeleteMapping("/{ids}")
  127. public AjaxResult remove(@PathVariable String[] ids)
  128. {
  129. return toAjax(tProjectChannelService.updateTProjectChannelByIds(ids));
  130. }
  131. }