|
@@ -233,14 +233,11 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
|
|
|
1. 若发生退货,数量要减去已退货和已取消的数量
|
|
|
2. 有赠品的商品只能全退
|
|
|
*/
|
|
|
+
|
|
|
Integer returnNum = 0;
|
|
|
- Double commission = 0.0;
|
|
|
- Double money = 0.0;
|
|
|
for (NewOrderProduct p : orderProductList) {
|
|
|
returnNum = newOrderProductDao.CountReturnedPurchaseProduct(so.getShopOrderID(), p.getOrderProductID());
|
|
|
returnNum = returnNum == null ? 0 : returnNum;
|
|
|
-
|
|
|
- commission = p.getDiscountPrice() - p.getCostPrice();
|
|
|
p.setReturnedNum(returnNum);
|
|
|
}
|
|
|
so.setNewOrderProducts(orderProductList);
|
|
@@ -285,12 +282,26 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
|
|
|
List<String> strings = newShopOrderDao.findShopOrderNos(so.getOrderID());
|
|
|
so.setShopOrderNos(strings);
|
|
|
//主订单总佣金
|
|
|
-// List<Product> product = cmPayShopDao.priceNum(so.getOrderNo());
|
|
|
+ List<Product> product = cmPayShopDao.priceNum(so.getOrderNo());
|
|
|
// 计算订单总佣金
|
|
|
Double income = newShopOrderDao.findIncome(so.getOrderID());
|
|
|
if(returnNum != null) {
|
|
|
- money = income - (commission * returnNum);
|
|
|
- so.setIncome(money);
|
|
|
+ if(product != null) {
|
|
|
+ for (Product pro : product) {
|
|
|
+ Integer number = newOrderProductDao.CountReturnedPurchaseProduct(pro.getShopOrderID(), pro.getOrderProductID());
|
|
|
+ Double commission = 0.0;
|
|
|
+ if(number != null && number != 0) {
|
|
|
+ if (pro.getTaxRate() != null && pro.getTaxRate() != 0) {
|
|
|
+ commission = (pro.getPrice() + pro.getPrice() * (pro.getTaxRate() / 100)) - (Double.parseDouble(pro.getCostPrice()) + Double.parseDouble(pro.getCostPrice()) * (pro.getTaxRate() / 100));
|
|
|
+ } else {
|
|
|
+ commission = pro.getPrice() - Double.parseDouble(pro.getCostPrice());
|
|
|
+ }
|
|
|
+ income -= (commission * number);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ so.setIncome(income);
|
|
|
+ }
|
|
|
} else {
|
|
|
so.setIncome(income);
|
|
|
}
|
|
@@ -411,13 +422,19 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
|
|
|
// 计算佣金
|
|
|
Double income = newShopOrderDao.findIncome(so.getOrderID());
|
|
|
if(count != 0) {
|
|
|
- Double commission = 0.0;
|
|
|
- Double money = 0.0;
|
|
|
for(Product pro: product) {
|
|
|
- commission = pro.getPrice() - Double.parseDouble(pro.getCostPrice());
|
|
|
- money = income - (commission * count);
|
|
|
+ Double commission = pro.getPrice() - Double.parseDouble(pro.getCostPrice());
|
|
|
+ Integer number = newOrderProductDao.CountReturnedPurchaseProduct(pro.getShopOrderID(), pro.getOrderProductID());
|
|
|
+ if(number != null && number != 0) {
|
|
|
+ if (pro.getTaxRate() != null && pro.getTaxRate() != 0) {
|
|
|
+ commission = (pro.getPrice() + pro.getPrice() * (pro.getTaxRate() / 100)) - (Double.parseDouble(pro.getCostPrice()) + Double.parseDouble(pro.getCostPrice()) * (pro.getTaxRate() / 100));
|
|
|
+ } else {
|
|
|
+ commission = pro.getPrice() - Double.parseDouble(pro.getCostPrice());
|
|
|
+ }
|
|
|
+ income -= (commission * number);
|
|
|
+ }
|
|
|
}
|
|
|
- so.setIncome(money);
|
|
|
+ so.setIncome(income);
|
|
|
} else {
|
|
|
so.setIncome(income);
|
|
|
}
|