Commit 5e28c307 authored by christ's avatar christ

dilivery

parent 565ed0f7
...@@ -20,7 +20,7 @@ class Common ...@@ -20,7 +20,7 @@ class Common
const endpointPre=SecretKeys::ossEndpointPre; const endpointPre=SecretKeys::ossEndpointPre;
const buketPre=SecretKeys::ossBucket; const buketPre=SecretKeys::ossBucketPre;
public static function getOssClientOnline(){ public static function getOssClientOnline(){
try { try {
......
...@@ -441,8 +441,9 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -441,8 +441,9 @@ class RefundServiceModel extends \Business\AbstractModel
//获取订单 //获取订单
$order_id = $refund['order_id']; $order_id = $refund['order_id'];
$order_info = $orderDao->find( array('order_id'=>$order_id)); $order_info = $orderDao->find( array('order_id'=>$order_id));
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName); $orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$orderData['refund_amount']=$refundAmount;
$orderDao->updateByOrderId($orderData,$order_id);
$refund_array = array(); $refund_array = array();
$refund_array['seller_time'] = time(); $refund_array['seller_time'] = time();
$refund_array['seller_state'] = $seller_state;//卖家处理状态:1为待审核,2为同意,3为不同意 $refund_array['seller_state'] = $seller_state;//卖家处理状态:1为待审核,2为同意,3为不同意
...@@ -1057,7 +1058,12 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1057,7 +1058,12 @@ class RefundServiceModel extends \Business\AbstractModel
$refundAmount=$refundAmount-$discountAmount; $refundAmount=$refundAmount-$discountAmount;
} }
} }
$returnData['refundAmount'] = $refundAmount - $orderInfo['refundAmount'] - $returnData['needShippingFee'] + $shippingFee; $liveMoney=$orderInfo['orderAmount']-$orderInfo['refundAmount'];
if($refundAmount>$liveMoney){
$refundAmount=$liveMoney;
}
// $returnData['refundAmount'] = $refundAmount - $orderInfo['refundAmount'] - $returnData['needShippingFee'] + $shippingFee;
$returnData['refundAmount'] = $refundAmount - $returnData['needShippingFee'] + $shippingFee;
if((int)$returnData['refundAmount'] <ApiConst::zero){ if((int)$returnData['refundAmount'] <ApiConst::zero){
$returnData['refundAmount']=ApiConst::zero; $returnData['refundAmount']=ApiConst::zero;
} }
...@@ -1116,6 +1122,8 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1116,6 +1122,8 @@ class RefundServiceModel extends \Business\AbstractModel
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$orderInfo = $orderDao->findByMemberIdAndOrderId($memberId, $refund['orderId'], $this->orderField); $orderInfo = $orderDao->findByMemberIdAndOrderId($memberId, $refund['orderId'], $this->orderField);
$storeDao=\DAO\StoreModel::getInstance(); $storeDao=\DAO\StoreModel::getInstance();
$orderDao->setDb(DbNameConst::masterDBConnectName);
$orderDao->db->doTransaction();
if($refund['refundType']==ApiConst::refundTypeGoods){ if($refund['refundType']==ApiConst::refundTypeGoods){
$refund['refundAmount']-=$orderInfo['needShippingFee']; $refund['refundAmount']-=$orderInfo['needShippingFee'];
} }
...@@ -1192,15 +1200,22 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1192,15 +1200,22 @@ class RefundServiceModel extends \Business\AbstractModel
$refundArray['refund_shipping_type']=isset($refund['refundShippingType'])?$refund['refundShippingType']:ApiConst::zero; $refundArray['refund_shipping_type']=isset($refund['refundShippingType'])?$refund['refundShippingType']:ApiConst::zero;
$refundArrayUnLine=Common::convertUnderline($refundArray); $refundArrayUnLine=Common::convertUnderline($refundArray);
$state = $refundReturnDao->addRefundReturn($refundArray,$orderInfo,$orderGoods); $state = $refundReturnDao->addRefundReturn($refundArray,$orderInfo,$orderGoods);
$updateOrderData['refund_amount']= $refundArray['refund_amount'];
$orderDao->deleteOrderCache($memberId,$orderInfo['orderId'],$orderInfo['storeId'],true); $orderDao->deleteOrderCache($memberId,$orderInfo['orderId'],$orderInfo['storeId'],true);
$storeDao->deleteStoreCache($orderInfo['storeId'],$orderInfo['orderId']); $storeDao->deleteStoreCache($orderInfo['storeId'],$orderInfo['orderId']);
$storeDao->deleteStoreRefundCache($orderInfo['storeId'],$orderInfo['orderId']); $storeDao->deleteStoreRefundCache($orderInfo['storeId'],$orderInfo['orderId']);
if ($state) { if ($state) {
$orderDao->update(array('order_id'=>$orderInfo['orderId']),$updateOrderData);
$refundStateName=$refundReturnDao->getRefundTextStatus($refundArrayUnLine); $refundStateName=$refundReturnDao->getRefundTextStatus($refundArrayUnLine);
$orderGoodsDao->update(array('rec_id'=>$orderGoods['recId']),array('refund_state_name'=>$refundStateName,'refund_id'=>$state)); $orderGoodsDao->update(array('rec_id'=>$orderGoods['recId']),array('refund_state_name'=>$refundStateName,'refund_id'=>$state));
$refundReturnDao->deleteRefundCache($memberId); $refundReturnDao->deleteRefundCache($memberId);
$storeDao->deleteStoreRefundCache($refundOne['storeId']); $storeDao->deleteStoreRefundCache($refundOne['storeId']);
$orderLogDao->addRefundOrderLog($orderInfo['orderId'],$refundArray['refund_type'],DescribeConst::buyer,$orderInfo['buyerName'],$orderInfo['orderState']); $orderLogDao->addRefundOrderLog($orderInfo['orderId'],$refundArray['refund_type'],DescribeConst::buyer,$orderInfo['buyerName'],$orderInfo['orderState']);
if ($orderInfo['orderState'] == ApiConst::orderStateWaitRecieve) {
$orderDao->editOrderLock($orderInfo['orderId']);
}
$orderDao->db->doCommit();
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$pushData=array('storeId'=>$orderInfo['storeId'], $pushData=array('storeId'=>$orderInfo['storeId'],
'type'=>ApiConst::messageRefund, 'type'=>ApiConst::messageRefund,
...@@ -1219,11 +1234,10 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1219,11 +1234,10 @@ class RefundServiceModel extends \Business\AbstractModel
$push->sendTcpMessage(); $push->sendTcpMessage();
//\Our\RedisHelper::rpush('client_push',array('storeId'=>$refund['storeId'],'type'=>ApiConst::messageRefundProccessing,'op'=>NameConst::reduce,'num'=>ApiConst::one,'params'=>array('c'=>'shopkeeper','m'=>'getRefundDetail','refundId'=>$refund['refundId']))); //\Our\RedisHelper::rpush('client_push',array('storeId'=>$refund['storeId'],'type'=>ApiConst::messageRefundProccessing,'op'=>NameConst::reduce,'num'=>ApiConst::one,'params'=>array('c'=>'shopkeeper','m'=>'getRefundDetail','refundId'=>$refund['refundId'])));
if ($orderInfo['orderState'] == ApiConst::orderStateWaitRecieve) {
$orderDao->editOrderLock($orderInfo['orderId']);
}
return $state; return $state;
} else { } else {
$orderDao->db->doRollback();
ErrorModel::throwException(CodeConfigModel::refundRefuseByStore); ErrorModel::throwException(CodeConfigModel::refundRefuseByStore);
} }
} }
......
...@@ -303,7 +303,7 @@ class ShopkeeperController extends \Our\Controller_AbstractClient { ...@@ -303,7 +303,7 @@ class ShopkeeperController extends \Our\Controller_AbstractClient {
ErrorModel::throwException(CodeConfigModel::notExistRefund); ErrorModel::throwException(CodeConfigModel::notExistRefund);
} }
$refundService=\Business\Order\RefundServiceModel::getInstance(); $refundService=\Business\Order\RefundServiceModel::getInstance();
$goodsState= intval($this->req['data']['goodsState']); $goodsState=isset($this->req['data']['goodsState'])?intval($this->req['data']['goodsState']):\Our\ApiConst::goodsStateRecieved;
$res = $refundService->receive($this->storeId, $this->sellerId, $this->sellerName, $refundId, $goodsState); $res = $refundService->receive($this->storeId, $this->sellerId, $this->sellerName, $refundId, $goodsState);
if($res){ if($res){
$this->success($res); $this->success($res);
......
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