Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
纵之格
ShopXO
提交
e4f75fed
ShopXO
项目概览
纵之格
/
ShopXO
通知
394
Star
16
Fork
11
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e4f75fed
编写于
7月 29, 2020
作者:
D
devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
退款日志优化
上级
8bb541ef
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
91 addition
and
21 deletion
+91
-21
application/admin/form/Refundlog.php
application/admin/form/Refundlog.php
+30
-8
application/api/controller/Devtest.php
application/api/controller/Devtest.php
+49
-0
application/service/OrderAftersaleService.php
application/service/OrderAftersaleService.php
+3
-3
application/service/OrderService.php
application/service/OrderService.php
+4
-1
application/service/PayLogService.php
application/service/PayLogService.php
+1
-1
application/service/RefundLogService.php
application/service/RefundLogService.php
+4
-8
未找到文件。
application/admin/form/Refundlog.php
浏览文件 @
e4f75fed
...
...
@@ -79,13 +79,11 @@ class Refundlog
'label'
=>
'业务类型'
,
'view_type'
=>
'field'
,
'view_key'
=>
'business_type'
,
'view_data_key'
=>
'name'
,
'view_data'
=>
lang
(
'common_business_type_list'
),
'search_config'
=>
[
'form_type'
=>
'select'
,
'where_type'
=>
'in'
,
'data'
=>
lang
(
'common_business_type_list'
),
'data_key'
=>
'
id
'
,
'data'
=>
$this
->
RefundLogBusinessTypeList
(
),
'data_key'
=>
'
name
'
,
'data_name'
=>
'name'
,
'is_multiple'
=>
1
,
],
...
...
@@ -93,10 +91,10 @@ class Refundlog
[
'label'
=>
'业务订单id'
,
'view_type'
=>
'field'
,
'view_key'
=>
'
order
_id'
,
'view_key'
=>
'
business
_id'
,
'search_config'
=>
[
'form_type'
=>
'input'
,
'where_type'
=>
'='
,
'form_type'
=>
'input'
,
'where_type'
=>
'='
,
],
],
[
...
...
@@ -214,8 +212,32 @@ class Refundlog
*/
public
function
RefundLogTypeList
()
{
$data
=
[];
$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
application/api/controller/Devtest.php
浏览文件 @
e4f75fed
...
...
@@ -226,5 +226,54 @@ class Devtest extends Common
}
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
application/service/OrderAftersaleService.php
浏览文件 @
e4f75fed
...
...
@@ -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
)
...
...
@@ -1104,7 +1104,7 @@ class OrderAftersaleService
// 写入退款日志
$refund_log
=
[
'user_id'
=>
$order
[
'user_id'
],
'
order_id'
=>
$order
[
'id'
],
'
business_id'
=>
$order
[
'id'
],
'pay_price'
=>
$order
[
'pay_price'
],
'trade_no'
=>
isset
(
$ret
[
'data'
][
'trade_no'
])
?
$ret
[
'data'
][
'trade_no'
]
:
''
,
'buyer_user'
=>
isset
(
$ret
[
'data'
][
'buyer_user'
])
?
$ret
[
'data'
][
'buyer_user'
]
:
''
,
...
...
@@ -1113,7 +1113,7 @@ class OrderAftersaleService
'payment'
=>
$pay_log
[
'payment'
],
'payment_name'
=>
$pay_log
[
'payment_name'
],
'refundment'
=>
$params
[
'refundment'
],
'business_type'
=>
1
,
'business_type'
=>
OrderService
::
$business_type_name
,
'return_params'
=>
isset
(
$ret
[
'data'
][
'return_params'
])
?
$ret
[
'data'
][
'return_params'
]
:
''
,
];
RefundLogService
::
RefundLogInsert
(
$refund_log
);
...
...
application/service/OrderService.php
浏览文件 @
e4f75fed
...
...
@@ -31,6 +31,9 @@ use app\service\OrderAftersaleService;
*/
class
OrderService
{
// 业务类型名称
public
static
$business_type_name
=
'订单'
;
/**
* 订单支付
* @author Devil
...
...
@@ -306,7 +309,7 @@ class OrderService
'subject'
=>
'订单支付'
,
'payment'
=>
isset
(
$params
[
'payment'
])
?
$params
[
'payment'
]
:
''
,
'payment_name'
=>
isset
(
$params
[
'payment_name'
])
?
$params
[
'payment_name'
]
:
''
,
'business_type'
=>
'订单'
,
'business_type'
=>
self
::
$business_type_name
,
]);
}
...
...
application/service/PayLogService.php
浏览文件 @
e4f75fed
...
...
@@ -32,7 +32,7 @@ class PayLogService
* @param [int] $business_ids [业务订单id]
* @param [float] $total_price [业务订单实际金额]
* @param [string] $subject [业务订单名称]
* @param [
int] $business_type [业务类型(0默认, 1订单, 2充值,
...)]
* @param [
string] $business_type [业务类型,字符串(如:订单、钱包充值、会员购买、等
...)]
* @return [boolean] [成功true, 失败false]
*/
public
static
function
PayLogInsert
(
$params
=
[])
...
...
application/service/RefundLogService.php
浏览文件 @
e4f75fed
...
...
@@ -30,7 +30,7 @@ class RefundLogService
* @datetime 2019-05-07T00:57:36+0800
* @param [array] $params [输入参数]
* @param [int] $user_id [用户id]
* @param [int] $
order_id
[业务订单id]
* @param [int] $
business_id
[业务订单id]
* @param [float] $pay_price [业务订单实际支付金额]
* @param [string] $trade_no [支付平台交易号]
* @param [string] $buyer_user [支付平台用户帐号]
...
...
@@ -39,7 +39,7 @@ class RefundLogService
* @param [string] $payment [支付方式标记]
* @param [string] $payment_name [支付方式名称]
* @param [int] $refundment [退款类型(0原路退回, 1退至钱包, 2手动处理)]
* @param [int] $business_type [业务类型
(0默认, 1订单, 2充值,
...)]
* @param [int] $business_type [业务类型
,字符串(如:订单、钱包充值、会员购买、等
...)]
* @param [string] $return_params [支付平台返回参数]
* @return [boolean] [成功true, 失败false]
*/
...
...
@@ -47,7 +47,7 @@ class RefundLogService
{
$data
=
[
'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
,
'trade_no'
=>
isset
(
$params
[
'trade_no'
])
?
$params
[
'trade_no'
]
:
''
,
'buyer_user'
=>
isset
(
$params
[
'buyer_user'
])
?
$params
[
'buyer_user'
]
:
''
,
...
...
@@ -56,7 +56,7 @@ class RefundLogService
'payment'
=>
isset
(
$params
[
'payment'
])
?
$params
[
'payment'
]
:
''
,
'payment_name'
=>
isset
(
$params
[
'payment_name'
])
?
$params
[
'payment_name'
]
:
''
,
'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
),
'add_time'
=>
time
(),
];
...
...
@@ -98,7 +98,6 @@ class RefundLogService
$data
=
Db
::
name
(
'RefundLog'
)
->
where
(
$where
)
->
field
(
$field
)
->
limit
(
$m
,
$n
)
->
order
(
$order_by
)
->
select
();
if
(
!
empty
(
$data
))
{
$business_type_list
=
lang
(
'common_business_type_list'
);
$refundment_list
=
lang
(
'common_order_aftersale_refundment_list'
);
foreach
(
$data
as
&
$v
)
{
...
...
@@ -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'
];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录