GoodsController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package com.zhongzheng.controller.goods;
  2. import java.util.List;
  3. import java.util.Arrays;
  4. import com.zhongzheng.modules.bank.bo.ExamQuestionQueryBo;
  5. import com.zhongzheng.modules.bank.vo.ExamQuestionVo;
  6. import com.zhongzheng.modules.goods.bo.*;
  7. import com.zhongzheng.modules.goods.domain.Goods;
  8. import com.zhongzheng.modules.goods.service.IGoodsAttachedService;
  9. import com.zhongzheng.modules.goods.service.IGoodsAuditionConfigService;
  10. import com.zhongzheng.modules.goods.service.IGoodsService;
  11. import com.zhongzheng.modules.goods.vo.GoodsAttachedVo;
  12. import com.zhongzheng.modules.goods.vo.GoodsAuditionConfigVo;
  13. import com.zhongzheng.modules.goods.vo.GoodsVo;
  14. import lombok.RequiredArgsConstructor;
  15. import org.springframework.security.access.prepost.PreAuthorize;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.GetMapping;
  18. import org.springframework.web.bind.annotation.PostMapping;
  19. import org.springframework.web.bind.annotation.PutMapping;
  20. import org.springframework.web.bind.annotation.DeleteMapping;
  21. import org.springframework.web.bind.annotation.PathVariable;
  22. import org.springframework.web.bind.annotation.RequestBody;
  23. import org.springframework.web.bind.annotation.RequestMapping;
  24. import org.springframework.web.bind.annotation.RestController;
  25. import com.zhongzheng.common.annotation.Log;
  26. import com.zhongzheng.common.core.controller.BaseController;
  27. import com.zhongzheng.common.core.domain.AjaxResult;
  28. import com.zhongzheng.common.enums.BusinessType;
  29. import com.zhongzheng.common.utils.poi.ExcelUtil;
  30. import com.zhongzheng.common.core.page.TableDataInfo;
  31. import io.swagger.annotations.Api;
  32. import io.swagger.annotations.ApiOperation;
  33. /**
  34. * 商品Controller
  35. *
  36. * @author hjl
  37. * @date 2021-10-12
  38. */
  39. @Api(value = "商品控制器", tags = {"商品管理"})
  40. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  41. @RestController
  42. @RequestMapping("/goods")
  43. public class GoodsController extends BaseController {
  44. private final IGoodsService iGoodsService;
  45. private final IGoodsAttachedService iGoodsAttachedService;
  46. @Autowired
  47. private IGoodsAuditionConfigService iGoodsAuditionConfigService;
  48. /**
  49. * 查询商品列表
  50. */
  51. @ApiOperation("查询商品列表")
  52. @PreAuthorize("@ss.hasPermi('system:goods:list')")
  53. @GetMapping("/list")
  54. public TableDataInfo<GoodsVo> list(GoodsQueryBo bo) {
  55. startPage();
  56. List<GoodsVo> list = iGoodsService.selectList(bo);
  57. return getDataTable(list);
  58. }
  59. /**
  60. * 导出商品列表
  61. */
  62. /*selectList*/
  63. /**
  64. * 获取商品详细信息
  65. */
  66. @ApiOperation("获取商品详细信息")
  67. @PreAuthorize("@ss.hasPermi('system:goods:query')")
  68. @GetMapping("/{goodsId}")
  69. public AjaxResult<GoodsVo> getInfo(@PathVariable("goodsId" ) Long goodsId) {
  70. return AjaxResult.success(iGoodsService.queryById(goodsId));
  71. }
  72. /**
  73. * 新增课程商品
  74. */
  75. @ApiOperation("新增课程商品")
  76. @PreAuthorize("@ss.hasPermi('system:goods:add')")
  77. @Log(title = "商品", businessType = BusinessType.INSERT)
  78. @PostMapping()
  79. public AjaxResult<Void> add(@RequestBody GoodsAddBo bo) {
  80. return toAjax(iGoodsService.insertByAddBo(bo) ? 1 : 0);
  81. }
  82. /**
  83. * 修改商品
  84. */
  85. @ApiOperation("修改商品")
  86. @PreAuthorize("@ss.hasPermi('system:goods:edit')")
  87. @Log(title = "商品", businessType = BusinessType.UPDATE)
  88. @PostMapping("/edit")
  89. public AjaxResult<Void> edit(@RequestBody GoodsEditBo bo) {
  90. return toAjax(iGoodsService.updateByEditBo(bo) ? 1 : 0);
  91. }
  92. /**
  93. * 删除商品
  94. */
  95. /* @ApiOperation("删除商品")
  96. @PreAuthorize("@ss.hasPermi('system:goods:remove')")
  97. @Log(title = "商品" , businessType = BusinessType.DELETE)
  98. @DeleteMapping("/{goodsIds}")
  99. public AjaxResult<Void> remove(@PathVariable Long[] goodsIds) {
  100. return toAjax(iGoodsService.deleteWithValidByIds(Arrays.asList(goodsIds), true) ? 1 : 0);
  101. }*/
  102. /**
  103. * 新增题库商品
  104. */
  105. @ApiOperation("新增题库商品")
  106. @PreAuthorize("@ss.hasPermi('system:goods:add')")
  107. @Log(title = "商品", businessType = BusinessType.INSERT)
  108. @PostMapping("/bank")
  109. public AjaxResult<Void> addBank(@RequestBody GoodsBankAddBo bo) {
  110. return toAjax(iGoodsService.insertBankByAddBo(bo) ? 1 : 0);
  111. }
  112. /**
  113. * 修改商品
  114. */
  115. @ApiOperation("修改题库商品")
  116. @PreAuthorize("@ss.hasPermi('system:goods:edit')")
  117. @Log(title = "题库商品", businessType = BusinessType.UPDATE)
  118. @PostMapping("/bank/edit")
  119. public AjaxResult<Void> editBank(@RequestBody GoodsBankEditBo bo) {
  120. return toAjax(iGoodsService.updateBankByEditBo(bo) ? 1 : 0);
  121. }
  122. /**
  123. * 查询题目业务层次关系列表
  124. */
  125. @ApiOperation("查询商品题库列表")
  126. @PreAuthorize("@ss.hasPermi('system:business:list')")
  127. @GetMapping("/bank/list")
  128. public AjaxResult<List<GoodsAttachedVo>> bankList(GoodsAttachedQueryBo bo) {
  129. List<GoodsAttachedVo> list = iGoodsAttachedService.selectList(bo);
  130. return AjaxResult.success(list);
  131. }
  132. /**
  133. * 课程试听关系列表
  134. */
  135. @ApiOperation("课程试听列表")
  136. @PreAuthorize("@ss.hasPermi('system:business:list')")
  137. @GetMapping("/audition/list")
  138. public AjaxResult<List<GoodsAuditionConfigVo>> auditionList(GoodsAuditionConfigQueryBo bo) {
  139. List<GoodsAuditionConfigVo> list = iGoodsAuditionConfigService.queryList(bo);
  140. return AjaxResult.success(list);
  141. }
  142. }