|
@@ -11,6 +11,7 @@ import com.caimei.modules.order.utils.Disguiser;
|
|
|
import com.caimei.modules.order.utils.MyBeanUtils;
|
|
|
import com.caimei.modules.order.utils.RSA;
|
|
|
import com.caimei.modules.order.utils.SettlePostFormUtil;
|
|
|
+import com.caimei.modules.product.entity.Product;
|
|
|
import com.caimei.modules.sys.utils.UploadImageUtils;
|
|
|
import com.caimei.modules.user.dao.NewCmShopDao;
|
|
|
import com.caimei.modules.user.entity.NewCmShop;
|
|
@@ -232,9 +233,14 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
|
|
|
1. 若发生退货,数量要减去已退货和已取消的数量
|
|
|
2. 有赠品的商品只能全退
|
|
|
*/
|
|
|
+ Integer returnNum = 0;
|
|
|
+ Double commission = 0.0;
|
|
|
+ Double money = 0.0;
|
|
|
for (NewOrderProduct p : orderProductList) {
|
|
|
- Integer returnNum = newOrderProductDao.CountReturnedPurchaseProduct(so.getShopOrderID(), p.getOrderProductID());
|
|
|
+ returnNum = newOrderProductDao.CountReturnedPurchaseProduct(so.getShopOrderID(), p.getOrderProductID());
|
|
|
returnNum = returnNum == null ? 0 : returnNum;
|
|
|
+
|
|
|
+ commission = p.getDiscountPrice() - p.getCostPrice();
|
|
|
p.setReturnedNum(returnNum);
|
|
|
}
|
|
|
so.setNewOrderProducts(orderProductList);
|
|
@@ -279,8 +285,15 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
|
|
|
List<String> strings = newShopOrderDao.findShopOrderNos(so.getOrderID());
|
|
|
so.setShopOrderNos(strings);
|
|
|
//主订单总佣金
|
|
|
+// List<Product> product = cmPayShopDao.priceNum(so.getOrderNo());
|
|
|
+ // 计算订单总佣金
|
|
|
Double income = newShopOrderDao.findIncome(so.getOrderID());
|
|
|
- so.setIncome(income);
|
|
|
+ if(returnNum != null) {
|
|
|
+ money = income - (commission * returnNum);
|
|
|
+ so.setIncome(money);
|
|
|
+ } else {
|
|
|
+ so.setIncome(income);
|
|
|
+ }
|
|
|
//若成本下降太多导致部分收款的钱,已经大于成本重新计算佣金
|
|
|
if ("0".equals(newOrder.getOnlinePayFlag()) && so.getShopReceiptStatus() == 2) {
|
|
|
double mum = so.getProductAmount();
|
|
@@ -346,9 +359,11 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
|
|
|
}
|
|
|
List<NewOrderProduct> orderProductList = newOrderProductDao.findByShopOrderID(so.getShopOrderID());
|
|
|
/* 退货数量 */
|
|
|
+ Integer count = 0;
|
|
|
for (NewOrderProduct p : orderProductList) {
|
|
|
- Integer count = newOrderProductDao.CountReturnedPurchaseProduct(so.getShopOrderID(), p.getOrderProductID());
|
|
|
- p.setReturnedNum(count == null ? 0 : count);
|
|
|
+ count = newOrderProductDao.CountReturnedPurchaseProduct(so.getShopOrderID(), p.getOrderProductID());
|
|
|
+ count = count == null ? 0 : count;
|
|
|
+ p.setReturnedNum(count);
|
|
|
}
|
|
|
if (so.getShopPostFee() == null) so.setShopPostFee(0D);
|
|
|
if (so.getShopTaxFee() == null) so.setShopTaxFee(0D);
|
|
@@ -392,8 +407,20 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
|
|
|
List<String> strings = newShopOrderDao.findShopOrderNos(so.getOrderID());
|
|
|
so.setShopOrderNos(strings);
|
|
|
//主订单总佣金
|
|
|
+ List<Product> product = cmPayShopDao.priceNum(so.getOrderNo());
|
|
|
+ // 计算佣金
|
|
|
Double income = newShopOrderDao.findIncome(so.getOrderID());
|
|
|
- so.setIncome(income);
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ so.setIncome(money);
|
|
|
+ } else {
|
|
|
+ so.setIncome(income);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
cmPayShop.setShopOrders(csos);
|