Commit 482510f6 authored by christ's avatar christ

ccw:master_dev

parent a947d714
...@@ -14,6 +14,7 @@ use Our\ImageConst; ...@@ -14,6 +14,7 @@ use Our\ImageConst;
use Our\ImageUtil; use Our\ImageUtil;
use Our\NameConst; use Our\NameConst;
use Our\OrderConst; use Our\OrderConst;
use Zend\Validator\File\Count;
/** /**
* 店铺service * 店铺service
...@@ -992,6 +993,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -992,6 +993,7 @@ class RefundServiceModel extends \Business\AbstractModel
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(); $orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance();
$orderGoodses = \Our\RedisHelper::cachedFunction(\Redis\Db5\RefundReasonRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderInfo['orderId'], $this->orderGoodsField), \Our\ApiConst::oneDaySecond); $orderGoodses = \Our\RedisHelper::cachedFunction(\Redis\Db5\RefundReasonRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderInfo['orderId'], $this->orderGoodsField), \Our\ApiConst::oneDaySecond);
$orderGoodses = $orderGoodsDao->convertOrderGoods($orderGoodses, 'goodsId'); $orderGoodses = $orderGoodsDao->convertOrderGoods($orderGoodses, 'goodsId');
$allOrderGoods=$orderGoodses;
$goodsIds = $orderGoodsDao->getRefundOrderGoodsIds($orderGoodses); $goodsIds = $orderGoodsDao->getRefundOrderGoodsIds($orderGoodses);
$alreadyRefundGoodsIds=$goodsIds; $alreadyRefundGoodsIds=$goodsIds;
// $this->store=$storeDao->get($this->order['storeId']); // $this->store=$storeDao->get($this->order['storeId']);
...@@ -1006,11 +1008,18 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1006,11 +1008,18 @@ class RefundServiceModel extends \Business\AbstractModel
ErrorModel::throwException(CodeConfigModel::notExistOrderGoods); ErrorModel::throwException(CodeConfigModel::notExistOrderGoods);
} }
$shippingFee = ApiConst::zero; $shippingFee = ApiConst::zero;
if (count($orderGoods) == ApiConst::one) { $allReadyGoodsCount=count($goodsIds);
$shippingFee = $storeDao->isFee($orderInfo['storeId'], $orderInfo['shippingType'], $orderInfo['order_state']) ? $orderInfo['shippingFee'] : ApiConst::zero; $allGoodsCount=count($orderGoodses);
} else { if($allReadyGoodsCount==$allGoodsCount){
$shippingFee = $storeDao->isFee($orderInfo['storeId'], $orderInfo['shippingType'], $orderInfo['orderState']) ? $orderInfo['shippingFee'] : ApiConst::zero;
}else{
$shippingFee == ApiConst::zero; $shippingFee == ApiConst::zero;
} }
// if (count($orderGoods) == ApiConst::one) {
// $shippingFee = $storeDao->isFee($orderInfo['storeId'], $orderInfo['shippingType'], $orderInfo['orderState']) ? $orderInfo['shippingFee'] : ApiConst::zero;
// } else {
// $shippingFee == ApiConst::zero;
// }
$orderGoodsConvert = $orderGoodsDao->getRefundOrderGoods($orderGoods); $orderGoodsConvert = $orderGoodsDao->getRefundOrderGoods($orderGoods);
$returnData = array( $returnData = array(
...@@ -1035,6 +1044,10 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1035,6 +1044,10 @@ class RefundServiceModel extends \Business\AbstractModel
// } // }
//修改后的优惠金额 //修改后的优惠金额
$discountAmount=$orderInfo['originAmount']- $orderInfo['orderAmount']; $discountAmount=$orderInfo['originAmount']- $orderInfo['orderAmount'];
$mustReduceAmount=ApiConst::zero;
if($discountAmount){
$mustReduceAmount=$orderGoodsDao->getMustReduceAmount($allOrderGoods,$discountAmount,$orderGoodsConvert);
}
if ($orderInfo['paymentTime']) { if ($orderInfo['paymentTime']) {
$orderConfirmUtil = \Order\OrderConfirmUtil::getInstance(); $orderConfirmUtil = \Order\OrderConfirmUtil::getInstance();
...@@ -1048,16 +1061,18 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1048,16 +1061,18 @@ class RefundServiceModel extends \Business\AbstractModel
$refundAmount = $orderInfo['orderAmount'] - $orderInfo['shippingFee'] - ApiConst::zero;; $refundAmount = $orderInfo['orderAmount'] - $orderInfo['shippingFee'] - ApiConst::zero;;
} }
} }
if(!$alreadyRefundGoodsIds){ // if(!$alreadyRefundGoodsIds){
$refundAmount=$refundAmount-$discountAmount; // $refundAmount=$refundAmount-$discountAmount;
} // }
} else { } else {
$refundAmount = $orderGoods['goodsPrice']*$orderGoods['goodsNum']; $refundAmount = $orderGoods['goodsPrice']*$orderGoods['goodsNum'];
if(!$alreadyRefundGoodsIds){ // if(!$alreadyRefundGoodsIds){
$refundAmount=$refundAmount-$discountAmount; // $refundAmount=$refundAmount-$discountAmount;
} // }
} }
$refundAmount=$refundAmount-$mustReduceAmount;
$liveMoney=$orderInfo['orderAmount']-$orderInfo['refundAmount']; $liveMoney=$orderInfo['orderAmount']-$orderInfo['refundAmount'];
if($refundAmount>$liveMoney){ if($refundAmount>$liveMoney){
$refundAmount=$liveMoney; $refundAmount=$liveMoney;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment