提交 e4f75fed 编写于 作者: D devil

退款日志优化

上级 8bb541ef
...@@ -79,13 +79,11 @@ class Refundlog ...@@ -79,13 +79,11 @@ class Refundlog
'label' => '业务类型', 'label' => '业务类型',
'view_type' => 'field', 'view_type' => 'field',
'view_key' => 'business_type', 'view_key' => 'business_type',
'view_data_key' => 'name',
'view_data' => lang('common_business_type_list'),
'search_config' => [ 'search_config' => [
'form_type' => 'select', 'form_type' => 'select',
'where_type' => 'in', 'where_type' => 'in',
'data' => lang('common_business_type_list'), 'data' => $this->RefundLogBusinessTypeList(),
'data_key' => 'id', 'data_key' => 'name',
'data_name' => 'name', 'data_name' => 'name',
'is_multiple' => 1, 'is_multiple' => 1,
], ],
...@@ -93,10 +91,10 @@ class Refundlog ...@@ -93,10 +91,10 @@ class Refundlog
[ [
'label' => '业务订单id', 'label' => '业务订单id',
'view_type' => 'field', 'view_type' => 'field',
'view_key' => 'order_id', 'view_key' => 'business_id',
'search_config' => [ 'search_config' => [
'form_type' => 'input', 'form_type' => 'input',
'where_type' => '=', 'where_type' => '=',
], ],
], ],
[ [
...@@ -214,8 +212,32 @@ class Refundlog ...@@ -214,8 +212,32 @@ class Refundlog
*/ */
public function RefundLogTypeList() public function RefundLogTypeList()
{ {
$data = [];
$ret = RefundLogService::RefundLogTypeList(); $ret = RefundLogService::RefundLogTypeList();
return empty($ret['data']) ? [] : $ret['data']; if(!empty($ret['data']))
{
foreach($ret['data'] as $v)
{
$data[] = [
'id' => $v['id'],
'name' => $v['name'].'('.$v['id'].')',
];
}
}
return $data;
}
/**
* 业务类型
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-26
* @desc description
*/
public function RefundLogBusinessTypeList()
{
return Db::name('RefundLog')->field('business_type as name')->group('business_type')->select();
} }
} }
?> ?>
\ No newline at end of file
...@@ -226,5 +226,54 @@ class Devtest extends Common ...@@ -226,5 +226,54 @@ class Devtest extends Common
} }
echo 'count:'.count($data).', success:'.$success.', fail:'.$fail; echo 'count:'.count($data).', success:'.$success.', fail:'.$fail;
} }
/**
* 退款日志处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-26
* @desc description
*/
public function RefundLogHandle()
{
if(input('pwd') != 'shopxo520')
{
die('非法访问');
}
// 状态
$success = 0;
$fail = 0;
// 获取日志
$data = Db::name('RefundLog')->where(['is_handle'=>0])->limit(0, 500)->select();
if(!empty($data))
{
$business_type_list = [
0 => '默认',
1 => '订单',
2 => '充值',
3 => '提现',
];
foreach($data as $v)
{
$upd_data = [
'is_handle' => 1,
'business_type' => isset($business_type_list[$v['business_type']]) ? $business_type_list[$v['business_type']] : $v['business_type'],
];
// 更新操作
if(Db::name('RefundLog')->where(['is_handle'=>0, 'id'=>$v['id']])->update($upd_data))
{
$success++;
} else {
$fail++;
}
}
}
echo 'count:'.count($data).', success:'.$success.', fail:'.$fail;
}
} }
?> ?>
\ No newline at end of file
...@@ -842,7 +842,7 @@ class OrderAftersaleService ...@@ -842,7 +842,7 @@ class OrderAftersaleService
} }
// 订单支付方式校验 // 订单支付方式校验
$pay_log = Db::name('PayLog')->where(['order_id'=>$order['data']['id'], 'business_type'=>1])->find(); $pay_log = Db::name('PayLog')->alias('pl')->join(['__PAY_LOG_VALUE_'=>'plv'], 'pl.id=plv.pay_log_id')->where(['plv.business_id'=>$order['data']['id'], 'pl.business_type'=>OrderService::$business_type_name])->field('pl.*')->find();
// 手动处理不校验支付日志 // 手动处理不校验支付日志
if($params['refundment'] != 2) if($params['refundment'] != 2)
...@@ -1104,7 +1104,7 @@ class OrderAftersaleService ...@@ -1104,7 +1104,7 @@ class OrderAftersaleService
// 写入退款日志 // 写入退款日志
$refund_log = [ $refund_log = [
'user_id' => $order['user_id'], 'user_id' => $order['user_id'],
'order_id' => $order['id'], 'business_id' => $order['id'],
'pay_price' => $order['pay_price'], 'pay_price' => $order['pay_price'],
'trade_no' => isset($ret['data']['trade_no']) ? $ret['data']['trade_no'] : '', 'trade_no' => isset($ret['data']['trade_no']) ? $ret['data']['trade_no'] : '',
'buyer_user' => isset($ret['data']['buyer_user']) ? $ret['data']['buyer_user'] : '', 'buyer_user' => isset($ret['data']['buyer_user']) ? $ret['data']['buyer_user'] : '',
...@@ -1113,7 +1113,7 @@ class OrderAftersaleService ...@@ -1113,7 +1113,7 @@ class OrderAftersaleService
'payment' => $pay_log['payment'], 'payment' => $pay_log['payment'],
'payment_name' => $pay_log['payment_name'], 'payment_name' => $pay_log['payment_name'],
'refundment' => $params['refundment'], 'refundment' => $params['refundment'],
'business_type' => 1, 'business_type' => OrderService::$business_type_name,
'return_params' => isset($ret['data']['return_params']) ? $ret['data']['return_params'] : '', 'return_params' => isset($ret['data']['return_params']) ? $ret['data']['return_params'] : '',
]; ];
RefundLogService::RefundLogInsert($refund_log); RefundLogService::RefundLogInsert($refund_log);
......
...@@ -31,6 +31,9 @@ use app\service\OrderAftersaleService; ...@@ -31,6 +31,9 @@ use app\service\OrderAftersaleService;
*/ */
class OrderService class OrderService
{ {
// 业务类型名称
public static $business_type_name = '订单';
/** /**
* 订单支付 * 订单支付
* @author Devil * @author Devil
...@@ -306,7 +309,7 @@ class OrderService ...@@ -306,7 +309,7 @@ class OrderService
'subject' => '订单支付', 'subject' => '订单支付',
'payment' => isset($params['payment']) ? $params['payment'] : '', 'payment' => isset($params['payment']) ? $params['payment'] : '',
'payment_name' => isset($params['payment_name']) ? $params['payment_name'] : '', 'payment_name' => isset($params['payment_name']) ? $params['payment_name'] : '',
'business_type' => '订单', 'business_type' => self::$business_type_name,
]); ]);
} }
......
...@@ -32,7 +32,7 @@ class PayLogService ...@@ -32,7 +32,7 @@ class PayLogService
* @param [int] $business_ids [业务订单id] * @param [int] $business_ids [业务订单id]
* @param [float] $total_price [业务订单实际金额] * @param [float] $total_price [业务订单实际金额]
* @param [string] $subject [业务订单名称] * @param [string] $subject [业务订单名称]
* @param [int] $business_type [业务类型(0默认, 1订单, 2充值, ...)] * @param [string] $business_type [业务类型,字符串(如:订单、钱包充值、会员购买、等...)]
* @return [boolean] [成功true, 失败false] * @return [boolean] [成功true, 失败false]
*/ */
public static function PayLogInsert($params = []) public static function PayLogInsert($params = [])
......
...@@ -30,7 +30,7 @@ class RefundLogService ...@@ -30,7 +30,7 @@ class RefundLogService
* @datetime 2019-05-07T00:57:36+0800 * @datetime 2019-05-07T00:57:36+0800
* @param [array] $params [输入参数] * @param [array] $params [输入参数]
* @param [int] $user_id [用户id] * @param [int] $user_id [用户id]
* @param [int] $order_id [业务订单id] * @param [int] $business_id [业务订单id]
* @param [float] $pay_price [业务订单实际支付金额] * @param [float] $pay_price [业务订单实际支付金额]
* @param [string] $trade_no [支付平台交易号] * @param [string] $trade_no [支付平台交易号]
* @param [string] $buyer_user [支付平台用户帐号] * @param [string] $buyer_user [支付平台用户帐号]
...@@ -39,7 +39,7 @@ class RefundLogService ...@@ -39,7 +39,7 @@ class RefundLogService
* @param [string] $payment [支付方式标记] * @param [string] $payment [支付方式标记]
* @param [string] $payment_name [支付方式名称] * @param [string] $payment_name [支付方式名称]
* @param [int] $refundment [退款类型(0原路退回, 1退至钱包, 2手动处理)] * @param [int] $refundment [退款类型(0原路退回, 1退至钱包, 2手动处理)]
* @param [int] $business_type [业务类型(0默认, 1订单, 2充值, ...)] * @param [int] $business_type [业务类型,字符串(如:订单、钱包充值、会员购买、等...)]
* @param [string] $return_params [支付平台返回参数] * @param [string] $return_params [支付平台返回参数]
* @return [boolean] [成功true, 失败false] * @return [boolean] [成功true, 失败false]
*/ */
...@@ -47,7 +47,7 @@ class RefundLogService ...@@ -47,7 +47,7 @@ class RefundLogService
{ {
$data = [ $data = [
'user_id' => isset($params['user_id']) ? intval($params['user_id']) : 0, 'user_id' => isset($params['user_id']) ? intval($params['user_id']) : 0,
'order_id' => isset($params['order_id']) ? intval($params['order_id']) : 0, 'business_id' => isset($params['business_id']) ? intval($params['business_id']) : 0,
'pay_price' => isset($params['pay_price']) ? PriceNumberFormat($params['pay_price']) : 0.00, 'pay_price' => isset($params['pay_price']) ? PriceNumberFormat($params['pay_price']) : 0.00,
'trade_no' => isset($params['trade_no']) ? $params['trade_no'] : '', 'trade_no' => isset($params['trade_no']) ? $params['trade_no'] : '',
'buyer_user' => isset($params['buyer_user']) ? $params['buyer_user'] : '', 'buyer_user' => isset($params['buyer_user']) ? $params['buyer_user'] : '',
...@@ -56,7 +56,7 @@ class RefundLogService ...@@ -56,7 +56,7 @@ class RefundLogService
'payment' => isset($params['payment']) ? $params['payment'] : '', 'payment' => isset($params['payment']) ? $params['payment'] : '',
'payment_name' => isset($params['payment_name']) ? $params['payment_name'] : '', 'payment_name' => isset($params['payment_name']) ? $params['payment_name'] : '',
'refundment' => isset($params['refundment']) ? intval($params['refundment']) : 0, 'refundment' => isset($params['refundment']) ? intval($params['refundment']) : 0,
'business_type' => isset($params['business_type']) ? intval($params['business_type']) : 0, 'business_type' => isset($params['business_type']) ? trim($params['business_type']) : 0,
'return_params' => empty($params['return_params']) ? '' : json_encode($params['return_params'], JSON_UNESCAPED_UNICODE), 'return_params' => empty($params['return_params']) ? '' : json_encode($params['return_params'], JSON_UNESCAPED_UNICODE),
'add_time' => time(), 'add_time' => time(),
]; ];
...@@ -98,7 +98,6 @@ class RefundLogService ...@@ -98,7 +98,6 @@ class RefundLogService
$data = Db::name('RefundLog')->where($where)->field($field)->limit($m, $n)->order($order_by)->select(); $data = Db::name('RefundLog')->where($where)->field($field)->limit($m, $n)->order($order_by)->select();
if(!empty($data)) if(!empty($data))
{ {
$business_type_list = lang('common_business_type_list');
$refundment_list = lang('common_order_aftersale_refundment_list'); $refundment_list = lang('common_order_aftersale_refundment_list');
foreach($data as &$v) foreach($data as &$v)
{ {
...@@ -111,9 +110,6 @@ class RefundLogService ...@@ -111,9 +110,6 @@ class RefundLogService
} }
} }
// 业务类型
$v['business_type_text'] = $business_type_list[$v['business_type']]['name'];
// 退款方式 // 退款方式
$v['refundment_text'] = $refundment_list[$v['refundment']]['name']; $v['refundment_text'] = $refundment_list[$v['refundment']]['name'];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册