Commit 0a926ad9 authored by christ's avatar christ

pc

parent 452bb572
...@@ -210,6 +210,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -210,6 +210,7 @@ class RefundServiceModel extends \Business\AbstractModel
* *
*/ */
public function returnGoods($storeId,$refundId,$sellerState,$refundAmount,$sellerMessage,$isGiveUp=ApiConst::zero) { public function returnGoods($storeId,$refundId,$sellerState,$refundAmount,$sellerMessage,$isGiveUp=ApiConst::zero) {
error_reporting(E_ALL);
$refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName); $refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName);
$orderDao=\DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao=\DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$orderGoodsDao=\DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName); $orderGoodsDao=\DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
...@@ -226,6 +227,8 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -226,6 +227,8 @@ class RefundServiceModel extends \Business\AbstractModel
if(!$return_goods) { if(!$return_goods) {
ErrorModel::throwException(CodeConfigModel::wrongRefundState); ErrorModel::throwException(CodeConfigModel::wrongRefundState);
} }
$orderDao->setDb(DbNameConst::masterDBConnectName);
$orderDao->db->doTransaction();
$order_info=$orderDao->findByOrderId($return['order_id'],$orderDao->getOrderDetailField()); $order_info=$orderDao->findByOrderId($return['order_id'],$orderDao->getOrderDetailField());
$refund_array = array(); $refund_array = array();
$refund_array['seller_time'] = TIMESTAMP; $refund_array['seller_time'] = TIMESTAMP;
...@@ -246,9 +249,9 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -246,9 +249,9 @@ class RefundServiceModel extends \Business\AbstractModel
$orderGoodsWhere['rec_id']=$return['order_goods_id']; $orderGoodsWhere['rec_id']=$return['order_goods_id'];
$result=$orderGoodsDao->update($orderGoodsWhere,$orderGoodsUpdateData); $result=$orderGoodsDao->update($orderGoodsWhere,$orderGoodsUpdateData);
if(!$result){ if(!$result){
$orderDao->db->doRollback();
ErrorModel::throwException(CodeConfigModel::updateIsRefundFail); ErrorModel::throwException(CodeConfigModel::updateIsRefundFail);
} }
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$pushData=array('storeId'=>$order_info['storeId'], $pushData=array('storeId'=>$order_info['storeId'],
'type'=>ApiConst::messageRefund, 'type'=>ApiConst::messageRefund,
...@@ -265,7 +268,6 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -265,7 +268,6 @@ class RefundServiceModel extends \Business\AbstractModel
'refundId'=>$return['refund_id'])); 'refundId'=>$return['refund_id']));
$push->addOneToClient($pushData); $push->addOneToClient($pushData);
$push->sendTcpMessage(); $push->sendTcpMessage();
} }
if ($refund_array['seller_state'] == ApiConst::refundSellerAgree){ if ($refund_array['seller_state'] == ApiConst::refundSellerAgree){
...@@ -274,6 +276,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -274,6 +276,7 @@ class RefundServiceModel extends \Business\AbstractModel
$orderGoodsWhere['rec_id']=$return['order_goods_id']; $orderGoodsWhere['rec_id']=$return['order_goods_id'];
$result=$orderGoodsDao->update($orderGoodsWhere,$orderGoodsUpdateData); $result=$orderGoodsDao->update($orderGoodsWhere,$orderGoodsUpdateData);
if(!$result){ if(!$result){
$orderDao->db->doRollback();
ErrorModel::throwException(CodeConfigModel::updateRefundStateNameFail); ErrorModel::throwException(CodeConfigModel::updateRefundStateNameFail);
} }
} }
...@@ -294,6 +297,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -294,6 +297,7 @@ class RefundServiceModel extends \Business\AbstractModel
if ($state) { if ($state) {
$sellerLogDao=\DAO\SellerLogModel::getInstance(DbNameConst::masterDBConnectName); $sellerLogDao=\DAO\SellerLogModel::getInstance(DbNameConst::masterDBConnectName);
$sellerLogDao->record('退货处理,退货编号:'.$return['refund_sn']); $sellerLogDao->record('退货处理,退货编号:'.$return['refund_sn']);
$orderDao->db->doCommit();
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$pushData=array('storeId'=>$order_info['storeId'], $pushData=array('storeId'=>$order_info['storeId'],
'type'=>ApiConst::messageRefund, 'type'=>ApiConst::messageRefund,
...@@ -342,7 +346,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -342,7 +346,7 @@ class RefundServiceModel extends \Business\AbstractModel
* @param $refundAmount 退款金额 * @param $refundAmount 退款金额
* @param string $text 退款消息 * @param string $text 退款消息
*/ */
public function refund($storeId, $sellerId, $sellerName, $refundId, $refundAmount = 0, $text = '', $seller_state = 2,$isGiveUp=ApiConst::zero) public function refund($storeId, $sellerId, $sellerName, $refundId,$sellerState, $refundAmount = 0, $text = '', $seller_state = 2,$isGiveUp=ApiConst::zero)
{ {
$refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName); $refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName);
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
...@@ -352,7 +356,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -352,7 +356,7 @@ class RefundServiceModel extends \Business\AbstractModel
$whereRefund['refund_id']= $refundId; $whereRefund['refund_id']= $refundId;
$refund = $refundReturnDao->find($whereRefund); $refund = $refundReturnDao->find($whereRefund);
if($refund['refund_type']==ApiConst::refundTypeGoods){ if($refund['refund_type']==ApiConst::refundTypeGoods){
if($this->returnGoods($storeId,$refundId,$refund['sellerState'],$refundAmount,$text,$isGiveUp)){ if($this->returnGoods($storeId,$refundId,$sellerState,$refundAmount,$text,$isGiveUp)){
$refundReturnDao->deleteRefundCache($refund['buyer_id'], $refund['refund_id']); $refundReturnDao->deleteRefundCache($refund['buyer_id'], $refund['refund_id']);
$orderDao->deleteOrderCache($refund['buyer_id'],$refund['order_id'],$refund['store_id']); $orderDao->deleteOrderCache($refund['buyer_id'],$refund['order_id'],$refund['store_id']);
\Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$refundReturnDao, 'getList'), array(), array($refund['store_id'])); \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$refundReturnDao, 'getList'), array(), array($refund['store_id']));
......
...@@ -260,7 +260,7 @@ class ShopkeeperController extends \Our\Controller_AbstractClient { ...@@ -260,7 +260,7 @@ class ShopkeeperController extends \Our\Controller_AbstractClient {
$refundAmount = floatval($this->req['data']['refundAmount']); $refundAmount = floatval($this->req['data']['refundAmount']);
$text = trim($this->req['data']['text']); $text = trim($this->req['data']['text']);
$isGiveUp=$this->req['data']['isGiveUp']?$this->req['data']['isGiveUp']:\Our\ApiConst::zero; $isGiveUp=$this->req['data']['isGiveUp']?$this->req['data']['isGiveUp']:\Our\ApiConst::zero;
$res = $refundService->refund($this->storeId, $this->sellerId, $this->sellerName, $refundId, $refundAmount, $text,\Our\ApiConst::refundSellerAgree,$isGiveUp); $res = $refundService->refund($this->storeId, $this->sellerId, $this->sellerName, $refundId, \Our\ApiConst::refundSellerAgree,$refundAmount, $text,\Our\ApiConst::refundSellerAgree,$isGiveUp);
if($res){ if($res){
$this->success('操作成功'); $this->success('操作成功');
} }
......
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