Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
phpchina
ShopXO
提交
55e405a8
ShopXO
项目概览
phpchina
/
ShopXO
9 个月 前同步成功
通知
12
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
55e405a8
编写于
3月 18, 2023
作者:
G
gongfuxiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
订单、订单售后、消息新增钩子
上级
1767695f
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
189 addition
and
51 deletion
+189
-51
app/api/controller/User.php
app/api/controller/User.php
+11
-3
app/service/ApiService.php
app/service/ApiService.php
+1
-1
app/service/BuyService.php
app/service/BuyService.php
+5
-0
app/service/GoodsService.php
app/service/GoodsService.php
+18
-0
app/service/MessageService.php
app/service/MessageService.php
+23
-0
app/service/NavigationService.php
app/service/NavigationService.php
+5
-1
app/service/OrderAftersaleService.php
app/service/OrderAftersaleService.php
+23
-0
app/service/OrderService.php
app/service/OrderService.php
+58
-13
app/service/PluginsService.php
app/service/PluginsService.php
+2
-2
app/service/UserService.php
app/service/UserService.php
+43
-31
未找到文件。
app/api/controller/User.php
浏览文件 @
55e405a8
...
...
@@ -237,15 +237,23 @@ class User extends Common
$this
->
IsLogin
();
// 订单总数
$where
=
[
'user_id'
=>
$this
->
user
[
'id'
],
'is_delete_time'
=>
0
,
'user_is_delete_time'
=>
0
];
$where
=
[
[
'user_id'
,
'='
,
$this
->
user
[
'id'
]],
[
'is_delete_time'
,
'='
,
0
],
[
'user_is_delete_time'
,
'='
,
0
],
];
$user_order_count
=
OrderService
::
OrderTotal
(
$where
);
// 商品收藏总数
$where
=
[
'user_id'
=>
$this
->
user
[
'id'
]];
$where
=
[
[
'user_id'
,
'='
,
$this
->
user
[
'id'
]],
];
$user_goods_favor_count
=
GoodsFavorService
::
GoodsFavorTotal
(
$where
);
// 商品浏览总数
$where
=
[
'user_id'
=>
$this
->
user
[
'id'
]];
$where
=
[
[
'user_id'
,
'='
,
$this
->
user
[
'id'
]],
];
$user_goods_browse_count
=
GoodsBrowseService
::
GoodsBrowseTotal
(
$where
);
// 未读消息总数
...
...
app/service/ApiService.php
浏览文件 @
55e405a8
...
...
@@ -55,7 +55,7 @@ class ApiService
public
static
function
CreatedUserToken
(
$user_id
)
{
$arr
=
[
'USER'
,
'HTTP_USER_AGENT'
,
'HTTP_HOST'
,
'SERVER_SOFTWARE'
,
'GATEWAY_INTERFACE'
,
'REQUEST_SCHEME'
,
'SERVER_PROTOCOL'
];
$data
=
[
GetClientIP
(),
APPLICATION_CLIENT_TYPE
];
$data
=
[
GetClientIP
(),
APPLICATION_CLIENT_TYPE
,
SYSTEM_TYPE
];
foreach
(
$arr
as
$v
)
{
if
(
isset
(
$_SERVER
[
$v
]))
...
...
app/service/BuyService.php
浏览文件 @
55e405a8
...
...
@@ -864,6 +864,11 @@ class BuyService
throw
new
\
Exception
(
$ret
[
'msg'
]);
}
// 未指定系统类型则增加默认
if
(
empty
(
$order
[
'system_type'
]))
{
$order
[
'system_type'
]
=
SYSTEM_TYPE
;
}
// 订单添加
$order_id
=
Db
::
name
(
'Order'
)
->
insertGetId
(
$order
);
if
(
$order_id
<=
0
)
...
...
app/service/GoodsService.php
浏览文件 @
55e405a8
...
...
@@ -253,6 +253,15 @@ class GoodsService
*/
public
static
function
CategoryGoodsTotal
(
$where
=
[])
{
// 商品与分类联表总数读取前钩子
$hook_name
=
'plugins_service_category_goods_total_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'where'
=>
&
$where
,
]);
// 获取总数
return
(
int
)
Db
::
name
(
'Goods'
)
->
alias
(
'g'
)
->
join
(
'goods_category_join gci'
,
'g.id=gci.goods_id'
)
->
where
(
$where
)
->
count
(
'DISTINCT g.id'
);
}
...
...
@@ -883,6 +892,15 @@ class GoodsService
*/
public
static
function
GoodsTotal
(
$where
=
[])
{
// 商品总数读取前钩子
$hook_name
=
'plugins_service_goods_total_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'where'
=>
&
$where
,
]);
// 获取总数
return
(
int
)
Db
::
name
(
'Goods'
)
->
where
(
$where
)
->
count
();
}
...
...
app/service/MessageService.php
浏览文件 @
55e405a8
...
...
@@ -40,6 +40,7 @@ class MessageService
public
static
function
MessageAdd
(
$user_id
,
$title
,
$detail
,
$business_type
=
''
,
$business_id
=
0
,
$type
=
0
)
{
$data
=
[
'system_type'
=>
SYSTEM_TYPE
,
'title'
=>
$title
,
'detail'
=>
$detail
,
'user_id'
=>
intval
(
$user_id
),
...
...
@@ -140,6 +141,15 @@ class MessageService
*/
public
static
function
MessageTotal
(
$where
=
[])
{
// 消息总数读取前钩子
$hook_name
=
'plugins_service_message_total_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'where'
=>
&
$where
,
]);
// 获取总数
return
(
int
)
Db
::
name
(
'Message'
)
->
where
(
$where
)
->
count
();
}
...
...
@@ -189,6 +199,19 @@ class MessageService
$m
=
isset
(
$params
[
'm'
])
?
intval
(
$params
[
'm'
])
:
0
;
$n
=
isset
(
$params
[
'n'
])
?
intval
(
$params
[
'n'
])
:
10
;
// 消息列表读取前钩子
$hook_name
=
'plugins_service_message_list_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'params'
=>
&
$params
,
'where'
=>
&
$where
,
'field'
=>
&
$field
,
'order_by'
=>
&
$order_by
,
'm'
=>
&
$m
,
'n'
=>
&
$n
,
]);
// 获取数据列表
$data
=
Db
::
name
(
'Message'
)
->
where
(
$where
)
->
field
(
$field
)
->
limit
(
$m
,
$n
)
->
order
(
$order_by
)
->
select
()
->
toArray
();
return
DataReturn
(
MyLang
(
'handle_success'
),
0
,
self
::
MessageListHandle
(
$data
,
$params
));
...
...
app/service/NavigationService.php
浏览文件 @
55e405a8
...
...
@@ -1090,7 +1090,11 @@ class NavigationService
if
(
!
empty
(
$params
[
'user'
]))
{
// 订单总数
$where
=
[
'user_id'
=>
$params
[
'user'
][
'id'
],
'is_delete_time'
=>
0
,
'user_is_delete_time'
=>
0
];
$where
=
[
[
'user_id'
,
'='
,
$params
[
'user'
][
'id'
]],
[
'is_delete_time'
,
'='
,
0
],
[
'user_is_delete_time'
,
'='
,
0
],
];
$user_order_count
=
OrderService
::
OrderTotal
(
$where
);
// 商品收藏/我的足迹总数
...
...
app/service/OrderAftersaleService.php
浏览文件 @
55e405a8
...
...
@@ -212,6 +212,7 @@ class OrderAftersaleService
// 数据
$data
=
[
'system_type'
=>
SYSTEM_TYPE
,
'order_no'
=>
$order
[
'data'
][
'order_no'
],
'type'
=>
intval
(
$params
[
'type'
]),
'order_detail_id'
=>
intval
(
$params
[
'order_detail_id'
]),
...
...
@@ -394,6 +395,19 @@ class OrderAftersaleService
$m
=
isset
(
$params
[
'm'
])
?
intval
(
$params
[
'm'
])
:
0
;
$n
=
isset
(
$params
[
'n'
])
?
intval
(
$params
[
'n'
])
:
10
;
// 订单售后列表读取前钩子
$hook_name
=
'plugins_service_order_aftersale_list_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'params'
=>
&
$params
,
'where'
=>
&
$where
,
'field'
=>
&
$field
,
'order_by'
=>
&
$order_by
,
'm'
=>
&
$m
,
'n'
=>
&
$n
,
]);
// 获取数据列表
$data
=
Db
::
name
(
'OrderAftersale'
)
->
field
(
$field
)
->
where
(
$where
)
->
limit
(
$m
,
$n
)
->
order
(
$order_by
)
->
select
()
->
toArray
();
return
DataReturn
(
MyLang
(
'get_success'
),
0
,
self
::
OrderAftersaleListHandle
(
$data
,
$params
));
...
...
@@ -575,6 +589,15 @@ class OrderAftersaleService
*/
public
static
function
OrderAftersaleTotal
(
$where
=
[])
{
// 订单售后总数读取前钩子
$hook_name
=
'plugins_service_order_aftersale_total_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'where'
=>
&
$where
,
]);
// 获取总数
return
(
int
)
Db
::
name
(
'OrderAftersale'
)
->
where
(
$where
)
->
count
();
}
...
...
app/service/OrderService.php
浏览文件 @
55e405a8
...
...
@@ -1173,9 +1173,41 @@ class OrderService
*/
public
static
function
OrderTotal
(
$where
=
[])
{
// 订单总数读取前钩子
$hook_name
=
'plugins_service_order_total_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'where'
=>
&
$where
,
]);
// 获取总数
return
(
int
)
Db
::
name
(
'Order'
)
->
where
(
$where
)
->
count
();
}
/**
* 订单状态各项总数
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $where [条件]
*/
public
static
function
OrderStatusGroupTotal
(
$where
=
[])
{
// 订单状态各项总数读取前钩子
$hook_name
=
'plugins_service_order_status_group_total_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'where'
=>
&
$where
,
]);
// 获取状态各项总数
return
Db
::
name
(
'Order'
)
->
where
(
$where
)
->
field
(
'COUNT(DISTINCT id) AS count, status'
)
->
group
(
'status'
)
->
select
()
->
toArray
();
}
/**
* 订单列表
* @author Devil
...
...
@@ -1193,6 +1225,19 @@ class OrderService
$m
=
isset
(
$params
[
'm'
])
?
intval
(
$params
[
'm'
])
:
0
;
$n
=
isset
(
$params
[
'n'
])
?
intval
(
$params
[
'n'
])
:
10
;
// 订单列表读取前钩子
$hook_name
=
'plugins_service_order_list_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'params'
=>
&
$params
,
'where'
=>
&
$where
,
'field'
=>
&
$field
,
'order_by'
=>
&
$order_by
,
'm'
=>
&
$m
,
'n'
=>
&
$n
,
]);
// 获取订单
$data
=
Db
::
name
(
'Order'
)
->
where
(
$where
)
->
field
(
$field
)
->
limit
(
$m
,
$n
)
->
order
(
$order_by
)
->
select
()
->
toArray
();
...
...
@@ -2396,8 +2441,9 @@ class OrderService
}
// 条件
$where
=
[];
$where
[
'is_delete_time'
]
=
0
;
$where
=
[
[
'is_delete_time'
,
'='
,
0
]
];
// 用户类型
$user_type
=
isset
(
$params
[
'user_type'
])
?
$params
[
'user_type'
]
:
''
;
...
...
@@ -2409,13 +2455,12 @@ class OrderService
}
// 增加用户条件
$where
[
'user_is_delete_time'
]
=
0
;
$where
[
'user_id'
]
=
$params
[
'user'
][
'id'
];
$where
[
]
=
[
'user_is_delete_time'
,
'='
,
0
]
;
$where
[
]
=
[
'user_id'
,
'='
,
$params
[
'user'
][
'id'
]
];
}
// 订单状态各项总数
$field
=
'COUNT(DISTINCT id) AS count, status'
;
$data
=
Db
::
name
(
'Order'
)
->
where
(
$where
)
->
field
(
$field
)
->
group
(
'status'
)
->
select
()
->
toArray
();
$data
=
self
::
OrderStatusGroupTotal
(
$where
);
// 待评价 状态站位100
if
(
$is_comments
)
...
...
@@ -2423,19 +2468,19 @@ class OrderService
switch
(
$user_type
)
{
case
'user'
:
$where
[
'user_is_comments'
]
=
0
;
$where
[
]
=
[
'user_is_comments'
,
'='
,
0
]
;
break
;
case
'admin'
:
$where
[
'is_comments'
]
=
0
;
$where
[
]
=
[
'is_comments'
,
'='
,
0
]
;
break
;
default
:
$where
[
'user_is_comments'
]
=
0
;
$where
[
'is_comments'
]
=
0
;
$where
[
]
=
[
'user_is_comments'
,
'='
,
0
]
;
$where
[
]
=
[
'is_comments'
,
'='
,
0
]
;
}
$where
[
'status'
]
=
4
;
$where
[
]
=
[
'status'
,
'='
,
4
]
;
$data
[]
=
[
'status'
=>
100
,
'count'
=>
(
int
)
Db
::
name
(
'Order'
)
->
where
(
$where
)
->
count
(
),
'count'
=>
self
::
OrderTotal
(
$where
),
];
}
...
...
@@ -2451,7 +2496,7 @@ class OrderService
}
$data
[]
=
[
'status'
=>
101
,
'count'
=>
(
int
)
Db
::
name
(
'OrderAftersale'
)
->
where
(
$where
)
->
count
(
),
'count'
=>
OrderAftersaleService
::
OrderAftersaleTotal
(
$where
),
];
}
...
...
app/service/PluginsService.php
浏览文件 @
55e405a8
...
...
@@ -85,8 +85,8 @@ class PluginsService
public
static
function
PluginsBaseFieldData
(
$plugins
)
{
$result
=
[
'private_field'
=>
[],
'attachment_field'
=>
[],
'private_field'
=>
[],
'attachment_field'
=>
[],
];
$ser
=
'\app\plugins\\'
.
$plugins
.
'\service\BaseService'
;
if
(
class_exists
(
$ser
))
...
...
app/service/UserService.php
浏览文件 @
55e405a8
...
...
@@ -47,6 +47,19 @@ class UserService
$m
=
isset
(
$params
[
'm'
])
?
intval
(
$params
[
'm'
])
:
0
;
$n
=
isset
(
$params
[
'n'
])
?
intval
(
$params
[
'n'
])
:
10
;
// 用户列表读取前钩子
$hook_name
=
'plugins_service_user_list_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'params'
=>
&
$params
,
'where'
=>
&
$where
,
'field'
=>
&
$field
,
'order_by'
=>
&
$order_by
,
'm'
=>
&
$m
,
'n'
=>
&
$n
,
]);
// 获取用户列表
$data
=
Db
::
name
(
'User'
)
->
where
(
$where
)
->
order
(
$order_by
)
->
field
(
$field
)
->
limit
(
$m
,
$n
)
->
select
()
->
toArray
();
return
DataReturn
(
MyLang
(
'handle_success'
),
0
,
self
::
UserListHandle
(
$data
,
$params
));
...
...
@@ -197,6 +210,15 @@ class UserService
*/
public
static
function
UserTotal
(
$where
)
{
// 用户总数读取前钩子
$hook_name
=
'plugins_service_user_total_begin'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'where'
=>
&
$where
,
]);
// 获取总数
return
(
int
)
Db
::
name
(
'User'
)
->
where
(
$where
)
->
count
();
}
...
...
@@ -350,7 +372,7 @@ class UserService
public
static
function
UserPlatformInfo
(
$where_field
,
$where_value
,
$field
=
'*'
)
{
$where
=
[
[
'system_type'
,
'='
,
S
ystemService
::
SystemTypeValue
()
],
[
'system_type'
,
'='
,
S
YSTEM_TYPE
],
[
'platform'
,
'='
,
APPLICATION_CLIENT_TYPE
],
[
$where_field
,
'='
,
$where_value
],
];
...
...
@@ -396,7 +418,7 @@ class UserService
// 查询用户信息
$where
=
[
[
'up.system_type'
,
'='
,
S
ystemService
::
SystemTypeValue
()
],
[
'up.system_type'
,
'='
,
S
YSTEM_TYPE
],
[
'up.platform'
,
'='
,
APPLICATION_CLIENT_TYPE
],
[
$where_field
,
'='
,
$where_value
],
[
'u.is_delete_time'
,
'='
,
0
],
...
...
@@ -420,7 +442,7 @@ class UserService
// 系统标识
if
(
empty
(
$data
[
'system_type'
]))
{
$data
[
'system_type'
]
=
empty
(
$params
[
'system_type_name'
])
?
S
ystemService
::
SystemTypeValue
()
:
$params
[
'system_type_name'
];
$data
[
'system_type'
]
=
empty
(
$params
[
'system_type_name'
])
?
S
YSTEM_TYPE
:
$params
[
'system_type_name'
];
}
// 平台
if
(
empty
(
$data
[
'platform'
]))
...
...
@@ -451,7 +473,7 @@ class UserService
// 非自增id则增加更多条件
if
(
$where_field
!=
'id'
)
{
$system_type
=
empty
(
$params
[
'system_type_name'
])
?
S
ystemService
::
SystemTypeValue
()
:
$params
[
'system_type_name'
];
$system_type
=
empty
(
$params
[
'system_type_name'
])
?
S
YSTEM_TYPE
:
$params
[
'system_type_name'
];
$where
[]
=
[
'system_type'
,
'='
,
$system_type
];
$where
[]
=
[
'platform'
,
'='
,
APPLICATION_CLIENT_TYPE
];
}
...
...
@@ -2441,7 +2463,7 @@ class UserService
*/
public
static
function
UserInsert
(
$data
,
$params
=
[])
{
//
账号是否存在,以用户名作为唯一(用户名不允许重复注册)
//
用户名、手机、邮箱不允许重复注册
if
(
!
empty
(
$data
[
'username'
]))
{
$temp
=
self
::
UserBaseInfo
(
'username'
,
$data
[
'username'
]);
...
...
@@ -2449,16 +2471,20 @@ class UserService
{
return
DataReturn
(
str_replace
(
'{$var}'
,
$data
[
'username'
],
MyLang
(
'common_service.user.save_user_already_exist_tips'
)),
-
10
);
}
}
// 手机 邮箱(通过验证码注册可以直接绑定现有的账户)
$user
=
[];
if
(
!
empty
(
$data
[
'mobile'
]))
}
else
if
(
!
empty
(
$data
[
'mobile'
]))
{
$user
=
self
::
UserBaseInfo
(
'mobile'
,
$data
[
'mobile'
]);
$temp
=
self
::
UserBaseInfo
(
'mobile'
,
$data
[
'mobile'
]);
if
(
!
empty
(
$temp
))
{
return
DataReturn
(
MyLang
(
'common_service.user.mobile_already_exist_tips'
),
-
10
);
}
}
else
if
(
!
empty
(
$data
[
'email'
]))
{
$user
=
self
::
UserBaseInfo
(
'email'
,
$data
[
'email'
]);
$temp
=
self
::
UserBaseInfo
(
'email'
,
$data
[
'email'
]);
if
(
!
empty
(
$temp
))
{
return
DataReturn
(
MyLang
(
'common_service.user.email_already_exist_tips'
),
-
10
);
}
}
// 用户基础信息处理
...
...
@@ -2500,25 +2526,11 @@ class UserService
}
// 用户信息以手机或邮箱、不存在则添加
if
(
empty
(
$user
))
$user_base
[
'add_time'
]
=
time
();
$user_id
=
Db
::
name
(
'User'
)
->
insertGetId
(
$user_base
);
if
(
$user_id
<=
0
)
{
$user_base
[
'add_time'
]
=
time
();
$user_id
=
Db
::
name
(
'User'
)
->
insertGetId
(
$user_base
);
if
(
$user_id
<=
0
)
{
return
DataReturn
(
MyLang
(
'insert_fail'
),
-
100
);
}
}
else
{
// 存在密码则仅更新密码
if
(
!
empty
(
$data
[
'salt'
])
&&
!
empty
(
$data
[
'pwd'
]))
{
$ret
=
self
::
UserUpdateHandle
([
'salt'
=>
$data
[
'salt'
],
'pwd'
=>
$data
[
'pwd'
]],
$user
[
'id'
]);
if
(
$ret
[
'code'
]
!=
0
)
{
return
$ret
;
}
}
$user_id
=
$user
[
'id'
];
return
DataReturn
(
MyLang
(
'insert_fail'
),
-
100
);
}
// 用户平台信息添加
...
...
@@ -2597,7 +2609,7 @@ class UserService
// 系统类型
if
(
empty
(
$data
[
'system_type'
]))
{
$data
[
'system_type'
]
=
S
ystemService
::
SystemTypeValue
()
;
$data
[
'system_type'
]
=
S
YSTEM_TYPE
;
}
// 基础参数处理
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录