| | |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | |
| | | @DS("sd") |
| | | public class GlassPriceBasicService { |
| | | private final GlassPriceBasicMapper glassPriceBasicMapper; |
| | | @Autowired |
| | | private ProductDetailMapper productDetailMapper; |
| | | private final ProductDetailMapper productDetailMapper; |
| | | |
| | | public GlassPriceBasicService(GlassPriceBasicMapper glassPriceBasicMapper) { |
| | | public GlassPriceBasicService(GlassPriceBasicMapper glassPriceBasicMapper, ProductDetailMapper productDetailMapper) { |
| | | this.glassPriceBasicMapper = glassPriceBasicMapper; |
| | | this.productDetailMapper = productDetailMapper; |
| | | } |
| | | |
| | | //保存玻璃价格 |
| | |
| | | prams.get("thickness").toString() |
| | | + prams.get("color").toString() |
| | | + prams.get("types").toString()); |
| | | } else if (Objects.equals(type, "process")) { |
| | | glassPriceBasic.setName(prams.get("thickness").toString() + prams.get("color").toString()+prams.get("process").toString()); |
| | | glassPriceBasic.setProcess(prams.get("process").toString()); |
| | | } |
| | | GlassPriceBasic glassPriceBasic1 = glassPriceBasicMapper.selectOne(new QueryWrapper<GlassPriceBasic>().eq("name", glassPriceBasic.getName())); |
| | | GlassPriceBasic glassPriceBasic1 = glassPriceBasicMapper.selectOne( |
| | | new QueryWrapper<GlassPriceBasic>() |
| | | .eq("name", glassPriceBasic.getName()) |
| | | ); |
| | | if(glassPriceBasic1 != null){ |
| | | return false; |
| | | } |
| | |
| | | .selectList(new QueryWrapper<ProductDetail>().eq("prod_id", productId)); |
| | | |
| | | final Double[] money = {0.0}; |
| | | productDetails.forEach(productDetail -> { |
| | | for (ProductDetail productDetail : productDetails){ |
| | | Map<String,String> separation = JSON.parseObject( |
| | | productDetail.getSeparation(), new TypeReference<Map<String, String>>(){}); |
| | | String name = ""; |
| | | switch (productDetail.getDetailType()) { |
| | | case "glass": |
| | | name = separation.get("thickness") + separation.get("color"); |
| | | String[] process = productDetail.getProcess().split("->"); |
| | | for (String s : process) { |
| | | GlassPriceBasic glassPriceBasic = glassPriceBasicMapper.selectOne( |
| | | new QueryWrapper<GlassPriceBasic>() |
| | | .eq("name", name+s)); |
| | | if(glassPriceBasic == null) { |
| | | money[0] += 0.0; |
| | | }else{ |
| | | money[0] += glassPriceBasic.getPrice(); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case "hollow": |
| | | name = separation.get("thickness") + separation.get("gasType") + separation.get("type"); |
| | | name = separation.get("thickness") + separation.get("gasType") + separation.get("Type"); |
| | | break; |
| | | case "interlayer": |
| | | name = separation.get("thickness") + separation.get("color") + separation.get("type"); |
| | | break; |
| | | } |
| | | |
| | | GlassPriceBasic glassPriceBasic = glassPriceBasicMapper |
| | | .selectOne(new QueryWrapper<GlassPriceBasic>().eq("name", name)); |
| | | if(glassPriceBasic == null) { |
| | | money[0]= 0.0; |
| | | return; |
| | | return money[0]; |
| | | } |
| | | money[0] += glassPriceBasic.getPrice(); |
| | | }); |
| | | } |
| | | return money[0]; |
| | | } |
| | | |