ZSproducController.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package com.ruoyi.web.controller.scm;
  2. import com.alibaba.druid.util.StringUtils;
  3. import com.alibaba.fastjson.JSON;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6. import com.ruoyi.common.core.domain.AjaxResult;
  7. import com.ruoyi.common.utils.uuid.UUID;
  8. import com.ruoyi.scm.domain.AfterSaleInfo;
  9. import com.ruoyi.scm.domain.ProductInfo;
  10. import com.ruoyi.scm.domain.SupplierInfo;
  11. import com.ruoyi.scm.service.IAfterSaleInfoService;
  12. import com.ruoyi.scm.service.IProductInfoService;
  13. import com.ruoyi.scm.service.ISupplierInfoService;
  14. import com.ruoyi.web.controller.demo.domain.PrductionReqVo;
  15. import com.ruoyi.web.controller.demo.domain.ProReqVo;
  16. import lombok.extern.slf4j.Slf4j;
  17. import org.springframework.beans.BeanUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Controller;
  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.ResponseBody;
  24. import java.util.List;
  25. import java.util.Map;
  26. /**
  27. * @Author : wangming
  28. * @CreateTime : 2022-10-13
  29. * @Desc : TODO
  30. */
  31. @Controller
  32. @RequestMapping("/pro/operation")
  33. @Slf4j
  34. public class ZSproducController {
  35. @Autowired
  36. private IProductInfoService productInfoService;
  37. @Autowired
  38. private IAfterSaleInfoService afterSaleInfoService;
  39. @Autowired
  40. private ISupplierInfoService supplierInfoService;
  41. /**
  42. * @desc : 商品入库接口
  43. * @author : wangming
  44. * @createTime : 2022/10/13 14:01
  45. * @param :
  46. * @return :
  47. */
  48. @PostMapping("/saveProduction")
  49. @ResponseBody
  50. public AjaxResult saveProduction(@RequestBody PrductionReqVo prductionReqVo){
  51. log.info("商品入库参数" + prductionReqVo);
  52. //校验token
  53. //校验参数,现阶段先不校验
  54. ProductInfo productInfo = new ProductInfo();
  55. ProReqVo product = prductionReqVo.getProduct();
  56. productInfo.setSupplierId(prductionReqVo.getSupplierCode());
  57. productInfo = paddingProductionInfo(product, productInfo);
  58. productInfoService.insertProductInfo(productInfo);
  59. //在组装售后服务信息
  60. // AfterSaleInfo afterSaleInfo = product.getAfterSaleInfo();
  61. // afterSaleInfoService.insertAfterSaleInfo(afterSaleInfo);
  62. return AjaxResult.success();
  63. }
  64. /**
  65. * @desc : 商品属性转移
  66. * @author : wangming
  67. * @createTime : 2022/10/13 15:41
  68. * @param :
  69. * @return :
  70. */
  71. private ProductInfo paddingProductionInfo(ProReqVo product, ProductInfo productInfo){
  72. LambdaQueryWrapper<SupplierInfo> queryWrapper = new QueryWrapper<SupplierInfo>().lambda();
  73. queryWrapper.eq(SupplierInfo::getSupplierCode, productInfo.getSupplierId());
  74. SupplierInfo supplierInfo = supplierInfoService.getOne(queryWrapper);
  75. // SupplierInfo supplierInfo = supplierInfoService.selectSupplierInfoById(productInfo.getSupplierId());
  76. BeanUtils.copyProperties(product, productInfo);
  77. productInfo.setId(UUID.randomUUID().toString().replaceAll("-", ""));
  78. List<Map<String, String>> saleAttributes = product.getSaleAttributes();
  79. productInfo.setSaleAttributes(JSON.toJSONString(saleAttributes).toString());
  80. productInfo.setSupplierName(supplierInfo.getSupplierName());
  81. productInfo.setSellPrice(StringUtils.isEmpty(product.getSellPrice() + "") ? "" : String.valueOf(product.getSellPrice()));
  82. productInfo.setMarketPrice(StringUtils.isEmpty(product.getMarketPrice() + "") ? "" : String.valueOf(product.getMarketPrice()));
  83. if (product.isEnergySav()){
  84. productInfo.setIsEnergySav("1");
  85. } else {
  86. productInfo.setIsEnergySav("0");
  87. }
  88. if (product.isEnvironmental()){
  89. productInfo.setIsEnvironmental("1");
  90. } else {
  91. productInfo.setIsEnvironmental("0");
  92. }
  93. productInfo.setTaxRate(StringUtils.isEmpty(product.getTaxRate()+"") ? "" : String.valueOf(product.getTaxRate()));
  94. productInfo.setSaleUnit(StringUtils.isEmpty(product.getSaleUnit()+"") ? "" : String.valueOf(product.getSaleUnit()));
  95. productInfo.setWeight(StringUtils.isEmpty(product.getWeight()+"") ? "" : String.valueOf(product.getWeight()));
  96. productInfo.setWeightUnit(StringUtils.isEmpty(product.getWeightUnit()+"") ? "" : String.valueOf(product.getWeightUnit()));
  97. productInfo.setLength(StringUtils.isEmpty(product.getLength()+"") ? "" : String.valueOf(product.getLength()));
  98. productInfo.setWidth(StringUtils.isEmpty(product.getWidth()+"") ? "" : String.valueOf(product.getWidth()));
  99. productInfo.setHeight(StringUtils.isEmpty(product.getHeight()+"") ? "" : String.valueOf(product.getHeight()));
  100. productInfo.setModelCode(StringUtils.isEmpty(product.getModelCode()+"") ? "" : String.valueOf(product.getModelCode()));
  101. return productInfo;
  102. }
  103. /**
  104. * @desc : 售后属性转移
  105. * @author : wangming
  106. * @createTime : 2022/10/13 16:04
  107. * @param :
  108. * @return :
  109. */
  110. private AfterSaleInfo paddingAfterSaleInfo(){
  111. return null;
  112. }
  113. }