GoodsController.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package com.ym.mec.web.controller;
  2. import com.ym.mec.biz.dal.dao.EmployeeDao;
  3. import com.ym.mec.biz.dal.entity.Employee;
  4. import com.ym.mec.biz.dal.entity.Goods;
  5. import com.ym.mec.biz.dal.entity.GoodsProcurement;
  6. import com.ym.mec.biz.dal.enums.YesOrNoEnum;
  7. import com.ym.mec.biz.dal.page.GoodsQuery;
  8. import com.ym.mec.biz.dal.page.GoodsQueryInfo;
  9. import com.ym.mec.biz.dal.wrapper.GoodsWrapper;
  10. import com.ym.mec.biz.service.GoodsService;
  11. import com.ym.mec.biz.service.SysUserService;
  12. import com.ym.mec.common.controller.BaseController;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import io.swagger.annotations.ApiParam;
  16. import org.apache.commons.lang3.StringUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.security.access.prepost.PreAuthorize;
  19. import org.springframework.web.bind.annotation.GetMapping;
  20. import org.springframework.web.bind.annotation.PathVariable;
  21. import org.springframework.web.bind.annotation.PostMapping;
  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 java.util.Date;
  26. @RequestMapping("${app-config.url.web:}/goods")
  27. @Api(tags = "商品(教材、辅件)服务")
  28. @RestController
  29. public class GoodsController extends BaseController {
  30. @Autowired
  31. private GoodsService goodsService;
  32. @Autowired
  33. private SysUserService sysUserService;
  34. @Autowired
  35. private EmployeeDao employeeDao;
  36. @ApiOperation(value = "新增商品(教材、辅件)")
  37. @PostMapping("/add")
  38. @PreAuthorize("@pcs.hasPermissions('goods/add')")
  39. public Object add(@RequestBody GoodsWrapper.Goods goods){
  40. goodsService.addGoods(goods,sysUserService.getUserId());
  41. return succeed();
  42. }
  43. @ApiOperation(value = "新增商品清单")
  44. @PostMapping("/addGoodsProcurement")
  45. @PreAuthorize("@pcs.hasPermissions('goods/addGoodsProcurement')")
  46. public Object addGoodsProcurement(GoodsProcurement goodsProcurement){
  47. goodsProcurement.setOperatorId(sysUserService.getUserId());
  48. goodsService.addGoodsProcurement(goodsProcurement);
  49. return succeed();
  50. }
  51. @ApiOperation(value = "删除商品(教材、辅件)")
  52. @PostMapping("/del/{id}")
  53. @PreAuthorize("@pcs.hasPermissions('goods/del')")
  54. public Object del(@ApiParam(value = "商品(教材、辅件)编号", required = true) @PathVariable("id") Integer id){
  55. Goods goods = goodsService.get(id);
  56. if(goods == null){
  57. return failed("参数错误");
  58. }
  59. goods.setStatus(YesOrNoEnum.NO);
  60. goods.setUpdateTime(new Date());
  61. goodsService.update(goods);
  62. return succeed();
  63. }
  64. @ApiOperation(value = "修改商品件状态")
  65. @PostMapping("/updateGoodsStatus")
  66. @PreAuthorize("@pcs.hasPermissions('goods/updateGoodsStatus')")
  67. public Object updateGoodsStatus(Integer goodsId, Integer status) {
  68. goodsService.updateGoodsStatus(goodsId, status);
  69. return succeed();
  70. }
  71. @ApiOperation(value = "修改商品(教材、辅件)")
  72. @PostMapping("/update")
  73. @PreAuthorize("@pcs.hasPermissions('goods/update')")
  74. public Object update(@RequestBody GoodsWrapper.Goods goods){
  75. goods.setUpdateTime(new Date());
  76. goodsService.updateGoods(goods);
  77. return succeed();
  78. }
  79. @ApiOperation(value = "根据商品(教材、辅件)编号查询商品(教材、辅件)")
  80. @GetMapping("/get/{id}")
  81. public Object get(@ApiParam(value = "商品(教材、辅件)编号", required = true) @PathVariable("id") Integer id){
  82. return succeed(goodsService.getDetail(id));
  83. }
  84. @ApiOperation(value = "分页查询商品(教材、辅件)列表")
  85. @GetMapping("/queryPage")
  86. @PreAuthorize("@pcs.hasPermissions('goods/queryPage')")
  87. public Object queryPage(GoodsQueryInfo queryInfo){
  88. queryInfo.setOrganId(null);
  89. Employee employee = employeeDao.get(sysUserService.getUserId());
  90. if (queryInfo.getStudentShowOrganId() == null &&
  91. queryInfo.getEducationShowOrganId() == null &&
  92. queryInfo.getCourseFeeShowOrganId() == null &&
  93. queryInfo.getMemberFeeShowOrganId() == null &&
  94. queryInfo.getReplacementShowOrganId() == null) {
  95. queryInfo.setOrganId(employee.getOrganIdList());
  96. }else if(StringUtils.isEmpty(employee.getOrganIdList())){
  97. return failed("用户所在分部异常");
  98. }
  99. return succeed(goodsService.queryPage(queryInfo));
  100. }
  101. @ApiOperation(value = "通过科目编号、商品分类 查询商品(教材、辅件)列表")
  102. @GetMapping("/queryGoodsBySubId")
  103. @PreAuthorize("@pcs.hasPermissions('goods/queryGoodsBySubId')")
  104. public Object findGoodsBySubId(GoodsQuery goodsQuery){
  105. return succeed(goodsService.findGoodsBySubId(goodsQuery));
  106. }
  107. @ApiOperation(value = "查询商城商品列表分页")
  108. @GetMapping("/queryGoodsSubByPage")
  109. // @PreAuthorize("@pcs.hasPermissions('goods/queryGoodsSubByPage')")
  110. public Object queryGoodsSubByPage(GoodsWrapper.GoodsSubQuery query) {
  111. return succeed(goodsService.queryGoodsSubByPage(query));
  112. }
  113. @ApiOperation(value = "查询商品类型")
  114. @GetMapping("/queryGoodsTypeList")
  115. public Object queryGoodsTypeList() {
  116. return succeed(goodsService.queryGoodsTypeList());
  117. }
  118. @ApiOperation(value = "查询商品分类")
  119. @GetMapping("/queryGoodsCategoryList")
  120. public Object queryGoodsCategoryList() {
  121. return succeed(goodsService.queryGoodsCategoryList());
  122. }
  123. @ApiOperation(value = "查询商品品牌")
  124. @GetMapping("/queryGoodsBrandList")
  125. public Object queryGoodsBrandList() {
  126. return succeed(goodsService.queryGoodsBrandList());
  127. }
  128. }