package cn.cslg.pas.controller; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.business.ProductDTO; import cn.cslg.pas.common.model.cronModel.Records; import cn.cslg.pas.common.model.request.StringRequest; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.exception.ConditionException; import cn.cslg.pas.exception.UnLoginException; import cn.cslg.pas.exception.XiaoShiException; import cn.cslg.pas.factorys.businessFactory.Business; import cn.cslg.pas.factorys.businessFactory.BusinessFactory; import com.alibaba.fastjson.JSONObject; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * 产品的controller层 * @Author xiexiang * @Date 2023/10/27 */ @Slf4j @RequestMapping(Constants.API_XiaoSHI + "/product") @RestController public class ProductController { @Autowired private BusinessFactory businessFactory; @Operation(summary = "查询产品") @PostMapping("/queryProduct") public Response queryProduct(@RequestBody StringRequest stringRequest) throws Exception { Business business = businessFactory.getClass("productService"); Records records = (Records) business.queryMessage(stringRequest); return Response.success(records); } @Operation(summary = "添加产品") @PostMapping("/addProduct") public Response addProduct(String product, List files) throws Exception { if (product != null && product != "") { ProductDTO productDTO = JSONObject.parseObject(product, ProductDTO.class); Business business = businessFactory.getClass("productService"); Integer id = null; try { id = (Integer) business.addMessage(productDTO, files); } catch (Exception e){ if(e instanceof XiaoShiException){ return Response.error(e.getMessage()); } else if (e instanceof UnLoginException) { return Response.unLogin(e.getMessage()); } else if (e instanceof ConditionException) { return Response.conditionError(e.getMessage()); } } return Response.success(id); } else { return Response.error("网络异常"); } } @Operation(summary = "更新产品") @PostMapping("/updateProduct") public Response updateProduct(String product, List files) throws Exception { if(product != null){ ProductDTO productDTO = JSONObject.parseObject(product, ProductDTO.class); Business business = businessFactory.getClass("productService"); business.updateMessage(productDTO, files); return Response.success(1); } else { return Response.error("网络异常"); } } @Operation(summary = "删除产品") @PostMapping("/deleteProduct") public String deleteProduct(@RequestBody List ids) throws Exception { Business business = businessFactory.getClass("productService"); business.deleteMessage(ids); return Response.success(); } }