ProductController.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.auth.checkAuth;
  3. import cn.cslg.pas.common.core.base.Constants;
  4. import cn.cslg.pas.common.dto.business.ProductDTO;
  5. import cn.cslg.pas.common.dto.business.UpdateProductDTO;
  6. import cn.cslg.pas.common.model.cronModel.Records;
  7. import cn.cslg.pas.common.model.request.StringRequest;
  8. import cn.cslg.pas.common.utils.Response;
  9. import cn.cslg.pas.domain.business.Product;
  10. import cn.cslg.pas.exception.ConditionException;
  11. import cn.cslg.pas.exception.UnLoginException;
  12. import cn.cslg.pas.exception.XiaoShiException;
  13. import cn.cslg.pas.factorys.businessFactory.Business;
  14. import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
  15. import cn.cslg.pas.service.business.ProductService;
  16. import com.alibaba.fastjson.JSONObject;
  17. import io.swagger.v3.oas.annotations.Operation;
  18. import lombok.extern.slf4j.Slf4j;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.PostMapping;
  21. import org.springframework.web.bind.annotation.RequestBody;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import org.springframework.web.bind.annotation.RestController;
  24. import org.springframework.web.multipart.MultipartFile;
  25. import java.util.List;
  26. /**
  27. * 产品的controller层
  28. * @Author xiexiang
  29. * @Date 2023/10/27
  30. */
  31. @Slf4j
  32. @RequestMapping(Constants.API_XiaoSHI + "/product")
  33. @RestController
  34. public class ProductController {
  35. @Autowired
  36. private BusinessFactory businessFactory;
  37. @Autowired
  38. private ProductService productService;
  39. @Operation(summary = "查询产品")
  40. @PostMapping("/queryProduct")
  41. public Response queryProduct(@RequestBody StringRequest stringRequest) throws Exception {
  42. Business business = businessFactory.getClass("productService");
  43. Records records = (Records) business.queryMessage(stringRequest);
  44. return Response.success(records);
  45. }
  46. @Operation(summary = "添加产品")
  47. @PostMapping("/addProduct")
  48. public Response addProduct(String product, List<MultipartFile> files) throws Exception {
  49. if (product != null && product != "") {
  50. ProductDTO productDTO = JSONObject.parseObject(product, ProductDTO.class);
  51. Business business = businessFactory.getClass("productService");
  52. Integer id = null;
  53. try {
  54. id = (Integer) business.addMessage(productDTO, files);
  55. } catch (Exception e){
  56. if(e instanceof XiaoShiException){
  57. return Response.error(e.getMessage());
  58. } else if (e instanceof UnLoginException) {
  59. return Response.unLogin(e.getMessage());
  60. }
  61. }
  62. return Response.success(id);
  63. } else {
  64. return Response.error("网络异常");
  65. }
  66. }
  67. @Operation(summary = "更新产品")
  68. @PostMapping("/updateProduct")
  69. public Response updateProduct(String product, List<MultipartFile> files) throws Exception {
  70. if(product != null){
  71. UpdateProductDTO updateProductDTO = JSONObject.parseObject(product, UpdateProductDTO.class);
  72. Business business = businessFactory.getClass("productService");
  73. business.updateMessage(updateProductDTO, files);
  74. return Response.success(1);
  75. } else {
  76. return Response.error("网络异常");
  77. }
  78. }
  79. @Operation(summary = "删除产品")
  80. @PostMapping("/deleteProduct")
  81. public String deleteProduct(@RequestBody List<Integer> ids) throws Exception {
  82. Business business = businessFactory.getClass("productService");
  83. business.deleteMessage(ids);
  84. return Response.success();
  85. }
  86. }