提交 55e405a8 编写于 作者: G gongfuxiang

订单、订单售后、消息新增钩子

上级 1767695f
......@@ -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);
// 未读消息总数
......
......@@ -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]))
......
......@@ -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)
......
......@@ -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();
}
......
......@@ -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));
......
......@@ -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);
// 商品收藏/我的足迹总数
......
......@@ -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();
}
......
......@@ -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),
];
}
......
......@@ -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))
......
......@@ -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', '=', SystemService::SystemTypeValue()],
['system_type', '=', SYSTEM_TYPE],
['platform', '=', APPLICATION_CLIENT_TYPE],
[$where_field, '=', $where_value],
];
......@@ -396,7 +418,7 @@ class UserService
// 查询用户信息
$where = [
['up.system_type', '=', SystemService::SystemTypeValue()],
['up.system_type', '=', SYSTEM_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']) ? SystemService::SystemTypeValue() : $params['system_type_name'];
$data['system_type'] = empty($params['system_type_name']) ? SYSTEM_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']) ? SystemService::SystemTypeValue() : $params['system_type_name'];
$system_type = empty($params['system_type_name']) ? SYSTEM_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'] = SystemService::SystemTypeValue();
$data['system_type'] = SYSTEM_TYPE;
}
// 基础参数处理
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册