PostCollectionsSystemController.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. package com.ruoyi.web.controller.system;
  2. import java.util.Date;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5. import javax.servlet.http.HttpServletResponse;
  6. import com.ruoyi.common.utils.DateUtils;
  7. import com.ruoyi.system.domain.vo.CollectionsVo;
  8. import com.ruoyi.system.service.IPostCollectionsService;
  9. import com.ruoyi.system.utils.CollectionStatusJudgment;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.springframework.security.access.prepost.PreAuthorize;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import com.ruoyi.common.annotation.Log;
  16. import com.ruoyi.common.core.controller.BaseController;
  17. import com.ruoyi.common.core.domain.AjaxResult;
  18. import com.ruoyi.common.enums.BusinessType;
  19. import com.ruoyi.system.domain.PostCollectionsSystem;
  20. import com.ruoyi.system.service.IPostCollectionsSystemService;
  21. import com.ruoyi.common.utils.poi.ExcelUtil;
  22. import com.ruoyi.common.core.page.TableDataInfo;
  23. /**
  24. * 藏品套系Controller
  25. *
  26. * @author ruoyi
  27. * @date 2023-02-15
  28. */
  29. @Api(tags = "PostCollectionsSystemController",description = "藏品套系")
  30. @RestController
  31. @RequestMapping("/system/system")
  32. public class PostCollectionsSystemController extends BaseController
  33. {
  34. @Autowired
  35. private IPostCollectionsSystemService postCollectionsSystemService;
  36. @Autowired
  37. private IPostCollectionsService postCollectionsService;
  38. /**
  39. * 查询藏品套系列表
  40. */
  41. @ApiOperation("查询藏品套系列表")
  42. @PreAuthorize("@ss.hasPermi('system:system:list')")
  43. @GetMapping("/list")
  44. public TableDataInfo list(PostCollectionsSystem postCollectionsSystem)
  45. {
  46. startPage();
  47. List<CollectionsVo> list = postCollectionsSystemService.selectPostCollectionsSystemListPage(postCollectionsSystem);
  48. return getDataTable(list);
  49. }
  50. /**
  51. * 导出藏品套系列表
  52. */
  53. @ApiOperation("导入藏品套系列表")
  54. @PreAuthorize("@ss.hasPermi('system:system:export')")
  55. @Log(title = "藏品套系", businessType = BusinessType.EXPORT)
  56. @PostMapping("/export")
  57. public void export(HttpServletResponse response, PostCollectionsSystem postCollectionsSystem)
  58. {
  59. List<PostCollectionsSystem> list = postCollectionsSystemService.selectPostCollectionsSystemList(postCollectionsSystem);
  60. ExcelUtil<PostCollectionsSystem> util = new ExcelUtil<PostCollectionsSystem>(PostCollectionsSystem.class);
  61. util.exportExcel(response, list, "藏品套系数据");
  62. }
  63. /**
  64. * 获取藏品套系详细信息
  65. */
  66. @ApiOperation("获取藏品套系详细信息")
  67. @PreAuthorize("@ss.hasPermi('system:system:query')")
  68. @GetMapping(value = "/{id}")
  69. public AjaxResult getInfo(@PathVariable("id") Long id)
  70. {
  71. return success(postCollectionsSystemService.selectPostCollectionsSystemById(id));
  72. }
  73. /**
  74. * 新增藏品套系
  75. */
  76. @ApiOperation("新增藏品套系")
  77. @PreAuthorize("@ss.hasPermi('system:system:add')")
  78. @Log(title = "藏品套系", businessType = BusinessType.INSERT)
  79. @PostMapping
  80. public AjaxResult add(@RequestBody PostCollectionsSystem postCollectionsSystem)
  81. {
  82. if (!getUsername().equals("admin")){
  83. //warn:601
  84. return warn("仅管理员拥有该权限");
  85. }
  86. //截止时间早于起售时间
  87. if (postCollectionsSystem.getStartTime().after(postCollectionsSystem.getEndTime())){
  88. return warn("请设置正确的套系时间");
  89. }
  90. //当套系售卖截止时间早于创建时间
  91. if (postCollectionsSystem.getEndTime().before(DateUtils.getNowDate())){
  92. return warn("请设置正确的套系时间");
  93. }
  94. //判断套系名称是否重复
  95. if (postCollectionsSystemService.selectPostCollectionsSystemByName(postCollectionsSystem) > 0){
  96. return warn("该套系名称已存在");
  97. }
  98. return toAjax(postCollectionsSystemService.insertPostCollectionsSystem(postCollectionsSystem));
  99. }
  100. /**
  101. * 修改藏品套系
  102. */
  103. @ApiOperation("修改藏品套系")
  104. @PreAuthorize("@ss.hasPermi('system:system:edit')")
  105. @Log(title = "藏品套系", businessType = BusinessType.UPDATE)
  106. @PutMapping
  107. public AjaxResult edit(@RequestBody PostCollectionsSystem postCollectionsSystem)
  108. {
  109. return toAjax(postCollectionsSystemService.updatePostCollectionsSystem(postCollectionsSystem));
  110. }
  111. /**
  112. * 删除藏品套系
  113. */
  114. @ApiOperation("删除藏品套系")
  115. @PreAuthorize("@ss.hasPermi('system:system:remove')")
  116. @Log(title = "藏品套系", businessType = BusinessType.DELETE)
  117. @DeleteMapping("/{ids}")
  118. public AjaxResult remove(@PathVariable Long[] ids)
  119. {
  120. return toAjax(postCollectionsSystemService.deletePostCollectionsSystemByIds(ids));
  121. }
  122. /**
  123. * 根据套系名称进行查询
  124. * @param title
  125. * @param TimeLeft
  126. * @param TimeRight
  127. * @return
  128. */
  129. @ApiOperation("根据套系名称进行查询")
  130. @PreAuthorize("@ss.hasPermi('system:collections:queryCollections')")
  131. @GetMapping("/queryCollections")
  132. public TableDataInfo list(@RequestParam(value="title",required = false)String title,
  133. @RequestParam(value="TimeLeft",required = false) Date TimeLeft,
  134. @RequestParam(value="TimeRight",required = false) Date TimeRight)
  135. {
  136. startPage();
  137. List<PostCollectionsSystem> list= postCollectionsSystemService.selectByTitleAndTime(title,TimeLeft,TimeRight);
  138. return getDataTable(list);
  139. }
  140. /**
  141. * 更改套系状态(上架 /下架)
  142. * @param status
  143. * @param ids
  144. * @return
  145. */
  146. @ApiOperation("更改套系状态(上架 /下架)")
  147. @PostMapping("/status/{status}")
  148. public AjaxResult changeStatus(@RequestParam("ids")List<Long> ids, @PathVariable String status){
  149. List<PostCollectionsSystem> postCollectionsSystemList = postCollectionsSystemService.listByIds(ids);
  150. postCollectionsSystemList = postCollectionsSystemList.stream().map(
  151. (item) ->{
  152. item.setStatus(status);
  153. //更改藏品的状态
  154. CollectionStatusJudgment.JudgmentStatus(item.getId());
  155. return item;
  156. }
  157. ).collect(Collectors.toList());
  158. return toAjax(postCollectionsSystemService.updateBatchById(postCollectionsSystemList));
  159. }
  160. }