GoodsController.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package com.ym.mec.web.controller;
  2. import com.ym.mec.auth.api.client.SysUserFeignService;
  3. import com.ym.mec.auth.api.entity.SysUser;
  4. import com.ym.mec.biz.dal.entity.GoodsProcurement;
  5. import io.swagger.annotations.Api;
  6. import io.swagger.annotations.ApiImplicitParam;
  7. import io.swagger.annotations.ApiImplicitParams;
  8. import io.swagger.annotations.ApiOperation;
  9. import io.swagger.annotations.ApiParam;
  10. import java.util.Date;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.security.access.prepost.PreAuthorize;
  13. import org.springframework.web.bind.annotation.*;
  14. import com.ym.mec.biz.dal.entity.Goods;
  15. import com.ym.mec.biz.dal.enums.YesOrNoEnum;
  16. import com.ym.mec.biz.dal.page.GoodsQueryInfo;
  17. import com.ym.mec.biz.service.GoodsService;
  18. import com.ym.mec.common.controller.BaseController;
  19. @RequestMapping("goods")
  20. @Api(tags = "商品(教材、辅件)服务")
  21. @RestController
  22. public class GoodsController extends BaseController {
  23. @Autowired
  24. private GoodsService goodsService;
  25. @Autowired
  26. private SysUserFeignService sysUserFeignService;
  27. @ApiOperation(value = "新增商品(教材、辅件)")
  28. @PostMapping("/add")
  29. @PreAuthorize("@pcs.hasPermissions('goods/add')")
  30. public Object add(Goods goods){
  31. SysUser sysUser = sysUserFeignService.queryUserInfo();
  32. if (sysUser == null) {
  33. return failed("用户信息获取失败");
  34. }
  35. goodsService.addGoods(goods,sysUser.getId());
  36. return succeed();
  37. }
  38. @ApiOperation(value = "新增商品清单")
  39. @PostMapping("/addGoodsProcurement")
  40. @PreAuthorize("@pcs.hasPermissions('goods/addGoodsProcurement')")
  41. public Object addGoodsProcurement(GoodsProcurement goodsProcurement){
  42. SysUser sysUser = sysUserFeignService.queryUserInfo();
  43. if (sysUser == null) {
  44. return failed("用户信息获取失败");
  45. }
  46. goodsProcurement.setOperatorId(sysUser.getId());
  47. goodsService.addGoodsProcurement(goodsProcurement);
  48. return succeed();
  49. }
  50. @ApiOperation(value = "删除商品(教材、辅件)")
  51. @PostMapping("/del/{id}")
  52. @PreAuthorize("@pcs.hasPermissions('goods/del')")
  53. public Object del(@ApiParam(value = "商品(教材、辅件)编号", required = true) @PathVariable("id") Integer id){
  54. Goods goods = goodsService.get(id);
  55. if(goods == null){
  56. return failed("参数错误");
  57. }
  58. goods.setStatus(YesOrNoEnum.NO);
  59. goods.setUpdateTime(new Date());
  60. goodsService.update(goods);
  61. return succeed();
  62. }
  63. @ApiOperation(value = "修改商品件状态")
  64. @PostMapping("/updateGoodsStatus")
  65. @PreAuthorize("@pcs.hasPermissions('goods/updateGoodsStatus')")
  66. public Object updateGoodsStatus(Integer goodsId, Integer status) {
  67. goodsService.updateGoodsStatus(goodsId, status);
  68. return succeed();
  69. }
  70. @ApiOperation(value = "修改商品(教材、辅件)")
  71. @PostMapping("/update")
  72. @PreAuthorize("@pcs.hasPermissions('goods/update')")
  73. public Object update(Goods goods){
  74. goods.setUpdateTime(new Date());
  75. goodsService.update(goods);
  76. return succeed();
  77. }
  78. @ApiOperation(value = "根据商品(教材、辅件)编号查询商品(教材、辅件)")
  79. @GetMapping("/get/{id}")
  80. public Object get(@ApiParam(value = "商品(教材、辅件)编号", required = true) @PathVariable("id") Integer id){
  81. return succeed(goodsService.get(id));
  82. }
  83. @ApiOperation(value = "分页查询商品(教材、辅件)列表")
  84. @GetMapping("/queryPage")
  85. @PreAuthorize("@pcs.hasPermissions('goods/queryPage')")
  86. public Object queryPage(GoodsQueryInfo queryInfo){
  87. return succeed(goodsService.queryPage(queryInfo));
  88. }
  89. @ApiOperation(value = "通过科目编号、商品分类 查询商品(教材、辅件)列表")
  90. @GetMapping("/queryGoodsBySubId")
  91. @PreAuthorize("@pcs.hasPermissions('goods/queryGoodsBySubId')")
  92. @ApiImplicitParams({ @ApiImplicitParam(name = "subjectId", value = "科目编号", required = true, dataType = "Integer"),
  93. @ApiImplicitParam(name = "type", value = "INSTRUMENT 乐器, ACCESSORIES 教辅", required = true, dataType = "String")})
  94. public Object findGoodsBySubId(Integer subjectId,String type){
  95. return succeed(goodsService.findGoodsBySubId(subjectId,type));
  96. }
  97. }