|
@@ -10,11 +10,14 @@ import com.caimei365.commodity.model.vo.MallProductSkuVo;
|
|
|
import com.caimei365.commodity.model.vo.PaginationVo;
|
|
|
import com.caimei365.commodity.model.vo.ProductDetailVo;
|
|
|
import com.caimei365.commodity.service.MallProductService;
|
|
|
+import com.caimei365.commodity.utils.MathUtil;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -26,6 +29,7 @@ import java.util.Map;
|
|
|
* @date : 2023/5/11
|
|
|
*/
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
public class MallProductServiceImpl implements MallProductService {
|
|
|
|
|
|
@Autowired private MallProductMapper productMapper;
|
|
@@ -46,15 +50,27 @@ public class MallProductServiceImpl implements MallProductService {
|
|
|
if (null != productList) {
|
|
|
// 商品sku
|
|
|
productList.forEach(product -> {
|
|
|
+ //税费标志
|
|
|
+ boolean taxFlag = "0".equals(product.getIncludedTax()) && ("1".equals(product.getInvoiceType()) || "2".equals(product.getInvoiceType()));
|
|
|
if (null != product.getProductId()) {
|
|
|
List<Sku> mallSkus = productMapper.getMallSkus(product.getProductId());
|
|
|
if (null != mallSkus) {
|
|
|
mallSkus.forEach(s -> {
|
|
|
+ //添加税费
|
|
|
+ if (taxFlag) {
|
|
|
+ BigDecimal thisTaxFee = MathUtil.div(MathUtil.mul(s.getPrice(), product.getTaxRate()), 100, 2);
|
|
|
+ s.setPrice(MathUtil.add(s.getPrice(), thisTaxFee).doubleValue());
|
|
|
+ }
|
|
|
s.setPriceGrade(priceUtilService.getPriceGrade(s.getPrice()));
|
|
|
});
|
|
|
product.setSku(mallSkus);
|
|
|
}
|
|
|
}
|
|
|
+ //添加税费
|
|
|
+ if (taxFlag) {
|
|
|
+ BigDecimal thisTaxFee = MathUtil.div(MathUtil.mul(product.getPrice(), product.getTaxRate()), 100, 2);
|
|
|
+ product.setPrice(MathUtil.add(product.getPrice(), thisTaxFee).doubleValue());
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
PaginationVo<MallOrganizeProductVo> page = new PaginationVo<>(productList);
|