174 lines
6.5 KiB
PHP
174 lines
6.5 KiB
PHP
<?php
|
|
namespace app\admin\logic;
|
|
use think\Db;
|
|
use app\common\server\UrlServer;
|
|
use app\common\server\ConfigServer;
|
|
|
|
class OrderserLogic{
|
|
public static function lists($get){
|
|
$where = [];
|
|
// //查询
|
|
if(isset($get['order_sn']) && $get['order_sn']!=''){
|
|
$where[] = ['order_sn','=',$get['order_sn']];
|
|
}
|
|
if(isset($get['order_sn']) && $get['order_sn']!=''){
|
|
$where[] = ['order_sn','=',$get['order_sn']];
|
|
}
|
|
if(isset($get['phone']) && $get['phone']!=''){
|
|
// $where[] = [$get['phone'],'like','%'.$get['phone'].'%'];
|
|
$where[] = ['phone','=',$get['phone']];
|
|
}
|
|
if(isset($get['area_id']) && $get['area_id']!=''){
|
|
$where[] = ['area_id','=',$get['area_id']];
|
|
}
|
|
if(isset($get['channel_id']) && $get['channel_id']!=''){
|
|
$where[] = ['channel_id','=',$get['channel_id']];
|
|
}
|
|
if(isset($get['status']) && $get['status']!=''){
|
|
$where[] = ['status','=',$get['status']];
|
|
}
|
|
//下单时间检索
|
|
if(isset($get['start_time']) && $get['start_time']!=''){
|
|
$where[] = ['createtime','>=',strtotime($get['start_time'])];
|
|
}
|
|
if(isset($get['end_time']) && $get['end_time']!=''){
|
|
$where[] = ['createtime','<=',strtotime($get['end_time'])];
|
|
}
|
|
|
|
if(isset($get['consignee']) && $get['consignee']!=''){
|
|
$where[] = ['consignee', 'like', '%' . $get['consignee'] . '%'];
|
|
}
|
|
|
|
$user_count =Db::name('order_service')
|
|
->where($where)
|
|
->count();
|
|
$user_list =Db::name('order_service')
|
|
->where($where)
|
|
->page($get['page'],$get['limit'])
|
|
->order('id desc')
|
|
->select();
|
|
// //会员分组
|
|
$user_group = Db::name('orderchannel')->column('name','id');
|
|
// //会员等级
|
|
// $user_level = Db::name('user_level')->where(['del'=>0])->column('name','id');
|
|
|
|
$all_user_list =Db::name('staff')->column('name,age,addr,mobile','id');
|
|
|
|
// $group_list = db::name('user_group')->where(['del'=>0])->column('name','id');
|
|
|
|
foreach ($user_list as &$item){
|
|
$item['createtime'] = date("Y-m-d H:i:s",$item['createtime']);
|
|
$item['ordertype'] = '次卡订单';
|
|
|
|
if(isset($user_group[$item['channel_id']])){
|
|
$item['orderchannel'] = $user_group[$item['channel_id']];
|
|
}
|
|
|
|
//根据家政订单获取服务人员信息
|
|
$staff=Db::name('order_cleaner')->where('order_id',$item['id'])->find();
|
|
$staffinfo=Db::name('staff')->where('id',$staff['cleaner_id'])->find();
|
|
$item['referrer_nickname'] = $staffinfo['name'];
|
|
$item['age'] = $staffinfo['age'];
|
|
$item['referrer_mobile'] = $staffinfo['mobile'];
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
return ['count'=>$user_count , 'lists'=>$user_list];
|
|
}
|
|
//获取员工分组
|
|
public static function stafftype(){
|
|
|
|
return Db::name('orderchannel')->field('id,name')->select();
|
|
}
|
|
/*
|
|
* 获取分组
|
|
*/
|
|
public static function getGroupList(){
|
|
return Db::name('user_group')->where(['del'=>0])->field('id,name')->select();
|
|
}
|
|
|
|
public static function info($get){
|
|
return Db::name('order_service')->where('id',$get['id'])->find();
|
|
}
|
|
|
|
public static function orderinfo($get){
|
|
return Db::name('order_service')->where('id',$get)->find();
|
|
}
|
|
|
|
public static function staffdel($post){
|
|
return Db::name('order_cleaner')->where('id',$post['id'])->where('status',0)->where('cleaner_id',$post['cleaner_id'])->delete();
|
|
}
|
|
|
|
|
|
/*
|
|
* 获取员工列表
|
|
*/
|
|
public static function stafflist($get){
|
|
|
|
$order=Db::name('order_service')->where('id',$get['id'])->find();
|
|
$user_group = Db::name('staff_group')->column('name','id');
|
|
$staff=Db::name('staff')->where('onwork',1)->count(); //统计员工列表的条数
|
|
$list_staff=Db::name('staff')->where('onwork',1)
|
|
->page($get['page'],$get['limit'])
|
|
->select();
|
|
foreach ( $list_staff as &$item){
|
|
$lon1 = $order['lng'];
|
|
$lat1 = $order['lat'];
|
|
$lon2 = $item['lng'];
|
|
$lat2 = $item['lat'];
|
|
$distanceKm =UserLogic::haversine_distance($lon1, $lat1, $lon2, $lat2, 'km');
|
|
$item['addersjl'] = (int)$distanceKm;
|
|
if(isset($user_group[$item['group_id']])){
|
|
$item['group_name'] = $user_group[$item['group_id']];
|
|
}
|
|
$item['updatetime']=date("Y-m-d H:i:s",$item['updatetime']);
|
|
$item['abs_avatar']=UrlServer::getFileUrl($item['image']);
|
|
}
|
|
|
|
return ['count'=>$staff, 'lists'=> $list_staff];
|
|
|
|
|
|
}
|
|
|
|
|
|
public static function getList($get){
|
|
switch ($get['type']){
|
|
case 0://员工服务的订单
|
|
$list=Db::name('order_cleaner')->where('order_id',$get['user_id'])->select(); //获取保洁师傅列表
|
|
foreach ($list as &$item) {
|
|
$item['createtime'] = date('Y-m-d H:i:s', $item['createtime']);
|
|
$staff=Db::name('staff')->where('id',$item['cleaner_id'])->find();
|
|
$item['staff_name']=$staff['name'];
|
|
$item['mobile']=$staff['mobile'];
|
|
$item['confirmtime'] = date('Y-m-d H:i:s', $item['confirmtime']);
|
|
|
|
}
|
|
$count =Db::name('order_cleaner')->where('order_id',$get['user_id'])->count();
|
|
|
|
|
|
break;
|
|
case 1://订单报销列表
|
|
$count =Db::name('finance')->where('order_id',$get['user_id'])->count();
|
|
$list=Db::name('finance')->where('order_id',$get['user_id'])->select();
|
|
foreach ($list as &$item) {
|
|
$item['create_time'] = date('Y-m-d H:i:s', $item['create_time']);
|
|
$staff=Db::name('staff')->where('id',$item['staff_id'])->find();
|
|
$item['staff_name']=$staff['name'];
|
|
$type=Db::name('finance_type')->where('id',$item['brand_id'])->find();
|
|
|
|
$item['type']=$type['name'];
|
|
// $item['confirmtime'] = date('Y-m-d H:i:s', $item['confirmtime']);
|
|
|
|
}
|
|
break;
|
|
|
|
}
|
|
return ['count'=>$count , 'lists'=>$list];
|
|
}
|
|
|
|
|
|
|
|
} |