Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
my-yaf-project
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenchuanwen
my-yaf-project
Commits
3305b7a0
Commit
3305b7a0
authored
Sep 06, 2018
by
liuyuzhen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master_dev' of git.shenbd.com:qm-develop/shenbd into lyz
parents
fb3a6807
0d2d3fcc
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
92 additions
and
35 deletions
+92
-35
ApiConst.php
application/library/Our/ApiConst.php
+3
-1
OrderService.php
application/models/Business/Order/OrderService.php
+51
-33
Order.php
application/models/DAO/Order/Order.php
+6
-1
RefundReturn.php
application/models/DAO/Order/RefundReturn.php
+32
-0
No files found.
application/library/Our/ApiConst.php
View file @
3305b7a0
...
...
@@ -117,7 +117,7 @@ class ApiConst
const
deleteStateOne
=
1
;
const
deleteStateZero
=
0
;
const
deleteStateTwo
=
2
;
const
orderStateWaitConfirmBeyond
=
3
00
;
const
orderStateWaitConfirmBeyond
=
6
00
;
const
orderCancelBeyondTime
=
600
;
const
orderWaitRecieveTwentyFourHours
=
86400
;
...
...
@@ -183,6 +183,8 @@ class ApiConst
const
alipay
=
3
;
const
tenpay
=
4
;
const
wxProgram
=
5
;
const
alipayRefundSuccess
=
10000
;
//配送方式
const
bySelf
=
0
;
const
bySeller
=
1
;
...
...
application/models/Business/Order/OrderService.php
View file @
3305b7a0
...
...
@@ -272,13 +272,22 @@ class OrderServiceModel extends \Business\AbstractModel
public
function
cancel
(
$orderId
,
$memberId
=
false
)
{
$orderDao
=
\DAO\Order\OrderModel
::
getInstance
(
DbNameConst
::
masterDBConnectName
);
$memberDao
=
\DAO\MemberModel
::
getInstance
(
DbNameConst
::
masterDBConnectName
);
$order
=
$orderDao
->
findByOrderId
(
$orderId
);
$refundReturnDao
=
\DAO\Order\RefundReturnModel
::
getInstance
(
DbNameConst
::
masterDBConnectName
);
$orderGoodsDao
=
\DAO\Order\OrderGoodsModel
::
getInstance
(
DbNameConst
::
masterDBConnectName
);
$order
=
$orderDao
->
findByOrderId
(
$orderId
,
$orderDao
->
getOrderDetailField
());
//判断订单目前状态是否允许取消
$isAllowCancel
=
$orderDao
->
isAllowCancel
(
$order
);
if
(
$isAllowCancel
)
{
$res
=
$orderDao
->
updateStatusByOrderId
(
$orderId
,
ApiConst
::
orderStateCancel
);
if
(
$res
)
{
$order
[
'refundOrderNo'
]
=
$refundReturnDao
->
getRefundsn
(
$order
[
'storeId'
]);
$resultRefund
=
$refundReturnDao
->
refundMoney
(
$order
);
if
(
$resultRefund
){
$where
[
'order_id'
]
=
$order
[
'orderId'
];
//$orderGoodsUpdateData['refund_state_name']='退款成功';
$orderGoodsUpdateData
[
'is_refund'
]
=
1
;
$orderGoodsDao
->
update
(
$where
,
$orderGoodsUpdateData
);
}
if
(
$memberId
)
{
$orderDao
->
deleteOrderCache
(
$memberId
,
$orderId
,
$order
[
'store_id'
]);
// $memberDao->fromOrderStateToOrderState($memberId,$order['order_state'],ApiConst::orderStateCancel);
...
...
@@ -397,7 +406,9 @@ class OrderServiceModel extends \Business\AbstractModel
$push
->
sendTcpMessage
();
file_put_contents
(
$savePath
,
TIMESTAMP
);
}
public
function
refundReturnMessage
(){
}
public
function
changeOrderStateCancelUnconditional
(
$orderInfo
)
{
$orderDao
=
\DAO\Order\OrderModel
::
getInstance
(
DbNameConst
::
masterDBConnectName
);
...
...
@@ -432,39 +443,46 @@ class OrderServiceModel extends \Business\AbstractModel
if
(
!
$res
)
{
echo
'退款记录:'
.
json_encode
(
$orderInfo
)
.
'写入失败!!'
.
"
\r\n
"
;
}
else
{
$param
[
'refundOrderNo'
]
=
$refundSn
;
//这个有可能多次退款的时候要变
$param
[
'outTradeNo'
]
=
$orderInfo
[
'paySn'
];
$param
[
'totalFee'
]
=
$orderInfo
[
'orderAmount'
];
$param
[
'refundFee'
]
=
$orderInfo
[
'orderAmount'
];
//全额退款
$param
[
'storeId'
]
=
$orderInfo
[
'storeId'
];
$param
[
'buyerId'
]
=
$orderInfo
[
'buyerId'
];
if
(
intval
(
$orderInfo
[
'paymentType'
])
==
ApiConst
::
wxAppPayType
)
{
$wxpay
=
\Payment\WxPay
::
getInstance
();
$refund_return
=
$wxpay
->
refund
(
$param
);
echo
"微信返回:"
.
json_encode
(
$refund_return
);
if
(
!
(
$refund_return
[
'return_code'
]
==
'SUCCESS'
&&
$refund_return
[
'result_code'
]
==
'SUCCESS'
))
{
echo
'微信退款操作执行失败!'
.
$orderInfo
[
'orderId'
]
.
"
\r\n
"
;
return
false
;
}
}
else
if
(
intval
(
$orderInfo
[
'paymentType'
])
==
ApiConst
::
alipay
)
{
$aliPay
=
\Payment\Alipay
::
getInstance
();
$return
=
$aliPay
->
refund
(
$param
);
echo
"支付宝返回:"
.
json_encode
(
$return
);
$resultCode
=
$return
->
code
;
if
(
!
empty
(
$resultCode
)
&&
$resultCode
==
10000
){
return
true
;
}
else
{
echo
'支付宝退款操作执行失败:'
.
$orderInfo
[
'orderId'
]
.
"
\r\n
"
;
return
false
;
}
// $param['refundOrderNo'] = $refundSn;
// //这个有可能多次退款的时候要变
// $param['outTradeNo'] = $orderInfo['paySn'];
// $param['totalFee'] = $orderInfo['orderAmount'];
// $param['refundFee'] = $orderInfo['orderAmount'];//全额退款
// $param['storeId']=$orderInfo['storeId'];
// $param['buyerId']=$orderInfo['buyerId'];
// if (intval($orderInfo['paymentType']) == ApiConst::wxAppPayType) {
// $wxpay = \Payment\WxPay::getInstance();
// $refund_return = $wxpay->refund($param);
// echo "微信返回:".json_encode($refund_return);
// if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
// echo '微信退款操作执行失败!'.$orderInfo['orderId']."\r\n";
// return false;
// }
// } else if (intval($orderInfo['paymentType']) == ApiConst::alipay) {
// $aliPay=\Payment\Alipay::getInstance();
// $return = $aliPay->refund($param);
// echo "支付宝返回:".json_encode($return);
// $resultCode = $return->code;
// if(!empty($resultCode)&&$resultCode == 10000){
// return true;
// } else {
// echo '支付宝退款操作执行失败:'.$orderInfo['orderId']."\r\n";
// return false;
// }
// }
$orderInfo
[
'refundOrderNo'
]
=
$refundSn
;
if
(
$refundReturnDao
->
refundMoney
(
$orderInfo
)){
$where
[
'order_id'
]
=
$orderInfo
[
'orderId'
];
//$orderGoodsUpdateData['refund_state_name']='退款成功';
$orderGoodsUpdateData
[
'is_refund'
]
=
1
;
$orderGoodsDao
->
update
(
$where
,
$orderGoodsUpdateData
);
echo
" 退款操作操作成功:"
.
$orderId
;
return
true
;
}
else
{
echo
$refundReturnDao
->
errorMessage
;
}
$where
[
'order_id'
]
=
$orderInfo
[
'orderId'
];
$orderGoodsUpdateData
[
'refund_state_name'
]
=
'退款成功'
;
$orderGoodsUpdateData
[
'refund_id'
]
=
1
;
$orderGoodsDao
->
update
(
$where
,
$orderGoodsUpdateData
);
echo
" 退款操作操作成功:"
.
$orderId
;
return
true
;
}
...
...
application/models/DAO/Order/Order.php
View file @
3305b7a0
...
...
@@ -133,7 +133,10 @@ class OrderModel extends \DAO\AbstractModel
//判断订单是否允许取消
public
function
isAllowCancel
(
$order
)
{
if
(
$order
[
'order_state'
]
==
ApiConst
::
orderStateWaitPay
||
$order
[
'order_state'
]
==
ApiConst
::
orderStateWaitConfirm
||
((
$order
[
'order_state'
]
==
ApiConst
::
orderStateWaitSend
||
$order
[
'order_state'
]
==
ApiConst
::
orderStateWaitRecieve
)
&&
$order
[
'is_receive_payment'
]
==
ApiConst
::
noreceivePayment
))
{
if
(
$order
[
'orderState'
]
==
ApiConst
::
orderStateWaitPay
||
$order
[
'orderState'
]
==
ApiConst
::
orderStateWaitConfirm
||
((
$order
[
'orderState'
]
==
ApiConst
::
orderStateWaitSend
||
$order
[
'orderState'
]
==
ApiConst
::
orderStateWaitRecieve
)
&&
$order
[
'isReceivePayment'
]
==
ApiConst
::
noreceivePayment
))
{
if
((
$order
[
'paymentTime'
]
+
ApiConst
::
tenMinSecond
)
<
TIMESTAMP
&&
$order
[
'paymentTime'
]
>
ApiConst
::
zero
){
return
false
;
}
return
true
;
}
else
{
return
false
;
...
...
@@ -542,7 +545,9 @@ class OrderModel extends \DAO\AbstractModel
return
$this
->
getStoreDetailText
(
$order
);
}
}
public
function
refundReturn
(
$order
){
}
//获得退款状态
public
function
getRefundText
(
$order
)
{
...
...
application/models/DAO/Order/RefundReturn.php
View file @
3305b7a0
...
...
@@ -12,6 +12,7 @@ use Our\DescribeConst;
use
Our\ImageConst
;
use
Our\ImageUtil
;
use
Our\OrderConst
;
use
Payment\Alipay
;
class
RefundReturnModel
extends
\DAO\AbstractModel
{
...
...
@@ -30,6 +31,7 @@ class RefundReturnModel extends \DAO\AbstractModel {
* @var string
*/
protected
$_primaryKey
=
'refund_id'
;
public
$errorMessage
=
''
;
public
function
init
(){
}
...
...
@@ -256,6 +258,36 @@ class RefundReturnModel extends \DAO\AbstractModel {
return
$picsRes
;
}
public
function
refundMoney
(
$orderInfo
){
$param
[
'refundOrderNo'
]
=
!
empty
(
$orderInfo
[
'refundOrderNo'
])
?
$orderInfo
[
'refundOrderNo'
]
:
$this
->
getRefundsn
(
$orderInfo
[
'storeId'
]);
//这个有可能多次退款的时候要变
$param
[
'outTradeNo'
]
=
$orderInfo
[
'paySn'
];
$param
[
'totalFee'
]
=
$orderInfo
[
'orderAmount'
];
$param
[
'refundFee'
]
=
$orderInfo
[
'orderAmount'
];
//全额退款
$param
[
'storeId'
]
=
$orderInfo
[
'storeId'
];
$param
[
'buyerId'
]
=
$orderInfo
[
'buyerId'
];
if
(
intval
(
$orderInfo
[
'paymentType'
])
==
ApiConst
::
wxAppPayType
)
{
$wxpay
=
\Payment\WxPay
::
getInstance
();
$refund_return
=
$wxpay
->
refund
(
$param
);
$this
->
errorMessage
=
"微信返回:"
.
json_encode
(
$refund_return
);
if
(
!
(
$refund_return
[
'return_code'
]
==
'SUCCESS'
&&
$refund_return
[
'result_code'
]
==
'SUCCESS'
))
{
$this
->
errorMessage
=
'微信退款操作执行失败!'
.
$orderInfo
[
'orderId'
]
.
"
\r\n
"
;
return
false
;
}
}
else
if
(
intval
(
$orderInfo
[
'paymentType'
])
==
ApiConst
::
alipay
)
{
$aliPay
=
\Payment\Alipay
::
getInstance
();
$return
=
$aliPay
->
refund
(
$param
);
$this
->
errorMessage
=
"支付宝返回:"
.
json_encode
(
$return
);
$resultCode
=
$return
->
code
;
if
(
!
empty
(
$resultCode
)
&&
$resultCode
==
ApiConst
::
alipayRefundSuccess
){
return
true
;
}
else
{
$this
->
errorMessage
=
'支付宝退款操作执行失败:'
.
$orderInfo
[
'orderId'
]
.
"
\r\n
"
;
return
false
;
}
}
}
/**
* 增加退款退货
*
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment