|
@@ -44,10 +44,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -661,11 +658,35 @@ public class WebsitSalesLogic {
|
|
|
}
|
|
|
|
|
|
List<WebsitSalesGoodsVO> goodsList = materialMapper.existStockGoods(companyId, websitId, type.getKey(), categoryId, goodsName,goodsSpecification);
|
|
|
-
|
|
|
+ if (CollectionUtil.isNotEmpty(goodsList) && WebsitGoodsTypeEnum.P.getKey().equals(type.getKey())) {
|
|
|
+ for (WebsitSalesGoodsVO vo : goodsList) {
|
|
|
+ this.computeSalesPrice(companyId, vo);
|
|
|
+ }
|
|
|
+ }
|
|
|
return goodsList;
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private void computeSalesPrice(String companyId, WebsitSalesGoodsVO vo) {
|
|
|
+ final MaterialConfig materialConfig = materialConfigService.lambdaQuery()
|
|
|
+ .eq(MaterialConfig::getCompanyWechatId, companyId)
|
|
|
+ .one();
|
|
|
+ switch (Optional.ofNullable(vo.getPartType()).orElse("")) {
|
|
|
+ case "空调":
|
|
|
+ vo.setSalesPrice(vo.getMarketPrice().multiply(materialConfig.getPriceRate1()).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ break;
|
|
|
+ case "冰箱":
|
|
|
+ vo.setSalesPrice(vo.getMarketPrice().multiply(materialConfig.getPriceRate2()).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ break;
|
|
|
+ case "生活电器":
|
|
|
+ vo.setSalesPrice(vo.getMarketPrice().multiply(materialConfig.getPriceRate3()).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ vo.setSalesPrice(vo.getMarketPrice().multiply(new BigDecimal("1.2")).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional
|
|
|
public String importMaterialData(MultipartFile file) throws Exception {
|
|
|
String batchId = StrUtil.uuid();
|