chenlu
2024-09-06 d809ecd16cbb23f5aad86a6844f51ffea0455fe8
north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.example.erp.common.Constants;
import com.example.erp.entity.sd.Order;
import com.example.erp.entity.sd.Product;
import com.example.erp.entity.sd.ProductDetail;
import com.example.erp.exception.ServiceException;
@@ -64,6 +65,26 @@
    }
    public Map<String,Object> selectProduct(String productName,Map<String,Object>  productObject) {
        Map<String,Object> map = new HashMap<>();
        //把传入主附表的object类型转换成实体类类型
        JSONObject productJson = new JSONObject(productObject);
        Product product = JSONObject.parseObject(JSONObject.toJSONString(productJson.get("title")), Product.class);
        List<ProductDetail> productDetails = JSONArray.parseArray(JSONObject.toJSONString(productJson.get("detail")), ProductDetail.class);
        //完善主附表信息并返回
        Map<String,Object> getProductJson = updateProduct(productDetails,product);
        Product getProduct = JSONObject.parseObject(JSONObject.toJSONString(getProductJson.get("title")), Product.class);
        List<ProductDetail> getProductDetails = JSONArray.parseArray(JSONObject.toJSONString(getProductJson.get("detail")), ProductDetail.class);
        if(getProduct.getId()!=null){
            map.put("data",productMapper.selectProductId(productName,getProduct.getProductAbbreviation(), getProduct.getId()));
        }else{
            map.put("data",productMapper.selectProduct(productName,getProduct.getProductAbbreviation()));
        }
        return map;
    }
    private void updateProductData(List<ProductDetail> getProductDetails, Product getProduct) {
        productMapper.update(getProduct,new UpdateWrapper<Product>().eq("id",getProduct.getId()));
        productDetailMapper.delete(new QueryWrapper<ProductDetail>().eq("prod_id",getProduct.getId()));