|
@@ -3,6 +3,7 @@ package com.caimei.service.order.impl;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.caimei.entity.*;
|
|
|
import com.caimei.mapper.order.OrderMapper;
|
|
|
+import com.caimei.mapper.products.OrganizeProductsMapper;
|
|
|
import com.caimei.mapper.user.LoginMapper;
|
|
|
import com.caimei.mapper.user.PersonalMapper;
|
|
|
import com.caimei.mapper.user.UserMapper;
|
|
@@ -29,6 +30,8 @@ public class OrderServiceImpl implements OrderService {
|
|
|
private LoginMapper loginMapper;
|
|
|
@Autowired
|
|
|
private UserMapper userMapper;
|
|
|
+ @Autowired
|
|
|
+ private OrganizeProductsMapper organizeProductsMapper;
|
|
|
|
|
|
@Value("${miniprogram.domain}")
|
|
|
private String domain;
|
|
@@ -187,28 +190,37 @@ public class OrderServiceImpl implements OrderService {
|
|
|
if (null != orderInfoList) {
|
|
|
Integer productCount = 0;//统计购买所有商品的数量
|
|
|
double productTotalFee = 0d;//商品总金额 (商品单价乘以数量,再加上税费[默认0])
|
|
|
- double orderTotalFee = 0d;//小计金额 (商品折后单价乘以数量,再加上税费[默认0])
|
|
|
+ //double orderTotalFee = 0d;//小计金额 (商品折后单价乘以数量,再加上税费[默认0])商城下单和商品总金额一样
|
|
|
double payTotalFee = 0d;//订单总额(小计金额减去经理折扣后,再加上运费[默认0])
|
|
|
double payableAmount = 0d;//真实支付金额(订单总额减去抵扣的账户余额)
|
|
|
- for (Map<String, Object> shopOrderInfo : orderInfoList) {//遍历订单信息
|
|
|
+ for (Map<String, Object> shopOrderInfo : orderInfoList) {//遍历订单商品信息
|
|
|
String shopId = (String) shopOrderInfo.get("shopId");
|
|
|
String note = (String) shopOrderInfo.get("note");
|
|
|
Object productInfo = shopOrderInfo.get("productInfo");//一个子订单对应的商品信息
|
|
|
- if (StringUtils.isEmpty(shopId)) {
|
|
|
- return wxJsonModel.error("1001", "供应商数据异常");
|
|
|
- }
|
|
|
- if (null == productInfo) {
|
|
|
- return wxJsonModel.error("1001", "订单商品数据异常");
|
|
|
- }
|
|
|
+ if (StringUtils.isEmpty(shopId)) return wxJsonModel.error("1001", "供应商数据异常");
|
|
|
+ if (null == productInfo) return wxJsonModel.error("1001", "订单商品数据异常");
|
|
|
//获取子订单商品信息
|
|
|
List<Map<String, Object>> productInfoList = (List<Map<String, Object>>) productInfo;
|
|
|
if (!CollectionUtils.isEmpty(productInfoList)) {
|
|
|
for (Map<String, Object> product : productInfoList) {//遍历所有商品
|
|
|
Integer productId = (Integer) product.get("productId");
|
|
|
Integer productNum = (Integer) product.get("productNum");
|
|
|
+ //统计商品总数量
|
|
|
+ productCount += productCount;
|
|
|
+ //获取商品信息
|
|
|
+ CmOrganizeProducts cmOrganizeProducts = organizeProductsMapper.selectProductById(productId);
|
|
|
+ if (null == cmOrganizeProducts) return wxJsonModel.error("1001", "订单商品数据异常");
|
|
|
+ if (null == productNum || productNum == 0) return wxJsonModel.error("1001", "商品购买数量异常");
|
|
|
+ Double retailPrice = cmOrganizeProducts.getRetailPrice();//售价
|
|
|
+ double productFee = retailPrice * productNum;//单个商品的金额
|
|
|
+ //统计商品总金额
|
|
|
+ productTotalFee += productFee;
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ payTotalFee = productTotalFee;
|
|
|
|
|
|
//初始化主订单参数
|
|
|
CmOrder cmOrder = new CmOrder();
|
|
@@ -221,7 +233,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
cmOrder.setHasActProduct("0");
|
|
|
cmOrder.setSendOutStatus("1");//待发货
|
|
|
cmOrder.setProductTotalFee(productTotalFee);
|
|
|
- cmOrder.setOrderTotalFee(orderTotalFee);
|
|
|
+ cmOrder.setOrderTotalFee(productTotalFee);
|
|
|
cmOrder.setPayTotalFee(payTotalFee);
|
|
|
cmOrder.setPreferential(0d);
|
|
|
cmOrder.setDiscountFee(0d);//经理折扣
|