Commit 0a926ad9 authored by christ's avatar christ

pc

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