|
...
|
...
|
@@ -753,54 +753,150 @@ class Seller extends Common |
|
|
|
$facturer = Db::query("SELECT * FROM `xt-member-two-LINE`.xt_dc_dz_facturer");
|
|
|
|
if(Request::isAjax()){
|
|
|
|
$data = Request::except('file');
|
|
|
|
$key= input('post.key') ? input('post.key') : "";
|
|
|
|
$nokey= input('post.nokey') ? input('post.nokey') : "";
|
|
|
|
|
|
|
|
$sellername = $data['key'] ? $data['key'] : ''; //商家名称
|
|
|
|
$id = $data['nokey'] ? $data['nokey'] : ''; //订单ID
|
|
|
|
|
|
|
|
$time = $data['time'] ? explode(' - ', $data['time']) : '';
|
|
|
|
|
|
|
|
$stime = $time ? strtotime(date($time[0],time())) : strtotime(date('Y-m-d 00:00:00',time()));
|
|
|
|
$etime = $time ? strtotime(date($time[1],time())) : strtotime(date('Y-m-d 23:59:59',time()));
|
|
|
|
$data['stime'] = $time ? strtotime(date($time[0],time())) : strtotime(date('Y-m-d 00:00:00',time()));
|
|
|
|
$data['etime'] = $time ? strtotime(date($time[1],time())) : strtotime(date('Y-m-d 23:59:59',time()));
|
|
|
|
|
|
|
|
$dtime = $data['dtime'] ? explode(' - ', $data['dtime']) : '';
|
|
|
|
$data['sdtime'] = $dtime ? strtotime(date($dtime[0],time())) : '';
|
|
|
|
$data['edtime'] = $dtime ? strtotime(date($dtime[1],time())) : '';
|
|
|
|
|
|
|
|
//$parame = '&offset='.$data["page"].'&limit='.$data["limit"].'&sellername='.@$sellername.'&stime='.@$stime.'&etime='.@$etime.'&channel='.@$data['channel'].'&id='.$id.'&status='.@$data['status'].'&sdtime='.$sdtime.'&edtime='.$edtime;
|
|
|
|
|
|
|
|
////////////////////////////////
|
|
|
|
$arr = array();
|
|
|
|
$where = '';
|
|
|
|
|
|
|
|
$sdtime = $dtime ? strtotime(date($dtime[0],time())) : '';
|
|
|
|
$edtime = $dtime ? strtotime(date($dtime[1],time())) : '';
|
|
|
|
$offset = ($data['page']-1)*$data['limit'];
|
|
|
|
$limit = " LIMIT $offset,".$data['limit'];
|
|
|
|
|
|
|
|
switch ($data['order']) {
|
|
|
|
case '1':
|
|
|
|
$where .= ' r.type = 1'; # 1 = 顾客下单
|
|
|
|
break;
|
|
|
|
case '2':
|
|
|
|
$where .= ' r.type = 0'; # 0 = 商户下单
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
$where .= '1=1';
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
$data['status'] = $data['status'] ? $data['status'] : 2;
|
|
|
|
$data['channel'] = $data['channel'] ? $data['channel'] : 1;
|
|
|
|
switch ($data['status']) {
|
|
|
|
case 1:
|
|
|
|
$where .= ' AND r.status = 0';
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
$where .= ' AND r.status = 0';
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
$where .= ' AND r.status = 6';
|
|
|
|
break;
|
|
|
|
case 4:
|
|
|
|
$where .= ' AND r.status = 5';
|
|
|
|
break;
|
|
|
|
case 5:
|
|
|
|
$where .= ' AND r.status = 4';
|
|
|
|
break;
|
|
|
|
case -1:
|
|
|
|
$where .= ' AND r.status in (0,6,5,4)';
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
# code...
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
$parame = '&offset='.$data["page"].'&limit='.$data["limit"].'&sellername='.@$sellername.'&stime='.@$stime.'&etime='.@$etime.'&channel='.@$data['channel'].'&id='.$id.'&status='.@$data['status'].'&sdtime='.$sdtime.'&edtime='.$edtime;
|
|
|
|
if($data['sdtime'] && $data['edtime']){
|
|
|
|
$where .= $data['status']==2 ? ' AND r.cdate <= UNIX_TIMESTAMP(date_add(NOW(), interval -5 minute)) AND r.ddate BETWEEN '.$data['sdtime'].' AND '.$data['edtime'] : ' AND r.ddate BETWEEN '.$data['sdtime'].' AND '.$data['edtime'];
|
|
|
|
}else{
|
|
|
|
$where .= $data['status']==2 ? ' AND r.cdate <= UNIX_TIMESTAMP(date_add(NOW(), interval -5 minute)) AND r.cdate BETWEEN '.$data['stime'].' AND '.$data['etime'] : ' AND r.cdate BETWEEN '.$data['stime'].' AND '.$data['etime'];
|
|
|
|
}
|
|
|
|
|
|
|
|
//获取运营人员列表
|
|
|
|
$list= file_get_contents(ON_LINE.'App.Customer.GetReserveList'.$parame);
|
|
|
|
$array = json_decode($list,TRUE);
|
|
|
|
$data['channel'] = $data['channel'] ? $data['channel'] : 1;
|
|
|
|
$where .= $data['channel'] == -1 ? '' : ' AND re.type_id = '.$data['channel'];
|
|
|
|
|
|
|
|
#key
|
|
|
|
$where .= $data['key'] ? ' AND s.sellername like "%'.$data['key'].'%"' : ''; //商家名称
|
|
|
|
#ID
|
|
|
|
$where .= $data['nokey'] ? ' AND r.id ='.$data['nokey'] : ''; //商家ID
|
|
|
|
|
|
|
|
$rs = Db::query("SELECT
|
|
|
|
dv.type,
|
|
|
|
r.id,
|
|
|
|
r.rname,
|
|
|
|
r.sex,
|
|
|
|
r.pnum,
|
|
|
|
r.phone,
|
|
|
|
r.cusdem,
|
|
|
|
r.ddate,
|
|
|
|
r.cdate,
|
|
|
|
r.status,
|
|
|
|
r.ddate_solt,
|
|
|
|
r.room_demand,
|
|
|
|
r.operator_openid,
|
|
|
|
s.sellername,
|
|
|
|
s.is_tele,
|
|
|
|
s.seller_tel
|
|
|
|
FROM
|
|
|
|
`xt-member-two-LINE`.xt_dc_reserve AS r
|
|
|
|
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON r.sid = s.id
|
|
|
|
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = r.sid
|
|
|
|
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_app_dv AS dv ON dv.sid = s.id
|
|
|
|
WHERE
|
|
|
|
$where
|
|
|
|
GROUP BY
|
|
|
|
r.id".$limit);
|
|
|
|
|
|
|
|
$total = Db::query("SELECT
|
|
|
|
r.id
|
|
|
|
FROM
|
|
|
|
`xt-member-two-LINE`.xt_dc_reserve AS r
|
|
|
|
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON r.sid = s.id
|
|
|
|
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = r.sid
|
|
|
|
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_app_dv AS dv ON dv.sid = s.id
|
|
|
|
WHERE
|
|
|
|
$where
|
|
|
|
GROUP BY
|
|
|
|
r.id");
|
|
|
|
|
|
|
|
foreach ($rs as $key => $value) {
|
|
|
|
$message_time = Db::query("SELECT
|
|
|
|
handle_time,rec_date
|
|
|
|
FROM
|
|
|
|
`xt-member-two-LINE`.xt_dc_dz_message
|
|
|
|
WHERE
|
|
|
|
rid = ".$value['id']." and message_type = 10");
|
|
|
|
$rs[$key]['handle_time'] = $message_time[0]['handle_time'];
|
|
|
|
$rs[$key]['rec_date'] = $message_time[0]['rec_date'];
|
|
|
|
}
|
|
|
|
$arr['list'] = $rs;
|
|
|
|
$arr['total'] = count($total);
|
|
|
|
////////////////////////////////
|
|
|
|
|
|
|
|
$new_array = array();
|
|
|
|
foreach ($array['data']['list'] as $key => $value) {
|
|
|
|
foreach ($arr['list'] as $key => $value) {
|
|
|
|
//有无设备
|
|
|
|
if($value['is_tele']==1){
|
|
|
|
switch ($value['type']) {
|
|
|
|
case '1':
|
|
|
|
$array['data']['list'][$key]['dv'] = $facturer[0]['facturer'];
|
|
|
|
break;
|
|
|
|
case '2':
|
|
|
|
$array['data']['list'][$key]['dv'] = $facturer[1]['facturer'];
|
|
|
|
break;
|
|
|
|
case '3':
|
|
|
|
$array['data']['list'][$key]['dv'] = $facturer[2]['facturer'];
|
|
|
|
break;
|
|
|
|
case '4':
|
|
|
|
$array['data']['list'][$key]['dv'] = $facturer[3]['facturer'];
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
$array['data']['list'][$key]['dv'] = '无';
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case '1':
|
|
|
|
$arr['list'][$key]['dv'] = $facturer[0]['facturer'];
|
|
|
|
break;
|
|
|
|
case '2':
|
|
|
|
$arr['list'][$key]['dv'] = $facturer[1]['facturer'];
|
|
|
|
break;
|
|
|
|
case '3':
|
|
|
|
$arr['list'][$key]['dv'] = $facturer[2]['facturer'];
|
|
|
|
break;
|
|
|
|
case '4':
|
|
|
|
$arr['list'][$key]['dv'] = $facturer[3]['facturer'];
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
$arr['list'][$key]['dv'] = '无';
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
$array['data']['list'][$key]['dv'] = '无';
|
|
|
|
$arr['list'][$key]['dv'] = '无';
|
|
|
|
}
|
|
|
|
//订单接受时间段
|
|
|
|
switch ($value['ddate_solt']) {
|
|
...
|
...
|
@@ -824,31 +920,31 @@ class Seller extends Common |
|
|
|
# code...
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
$array['data']['list'][$key]['ddate'] = date('Y-m-d H:i:s',$value['ddate']).'['.$value['ddate_solt'].']';
|
|
|
|
$array['data']['list'][$key]['cdate'] = date('Y-m-d H:i:s',$value['cdate']);
|
|
|
|
$array['data']['list'][$key]['handle_time'] = $value['handle_time'] ? date('Y-m-d H:i:s',$value['handle_time']) : '';
|
|
|
|
$array['data']['list'][$key]['rec_date'] = $value['rec_date'] ? date('Y-m-d H:i:s',$value['rec_date']) : '';
|
|
|
|
$arr['list'][$key]['ddate'] = date('Y-m-d H:i:s',$value['ddate']).'['.$value['ddate_solt'].']';
|
|
|
|
$arr['list'][$key]['cdate'] = date('Y-m-d H:i:s',$value['cdate']);
|
|
|
|
$arr['list'][$key]['handle_time'] = $value['handle_time'] ? date('Y-m-d H:i:s',$value['handle_time']) : '';
|
|
|
|
$arr['list'][$key]['rec_date'] = $value['rec_date'] ? date('Y-m-d H:i:s',$value['rec_date']) : '';
|
|
|
|
switch ($value['status']) {
|
|
|
|
case 0:
|
|
|
|
$array['data']['list'][$key]['sta'] = '待确认';
|
|
|
|
$arr['list'][$key]['sta'] = '待确认';
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
$array['data']['list'][$key]['sta'] = '已定座';
|
|
|
|
$arr['list'][$key]['sta'] = '已定座';
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
$array['data']['list'][$key]['sta'] = '到店';
|
|
|
|
$arr['list'][$key]['sta'] = '到店';
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
$array['data']['list'][$key]['sta'] = '离店';
|
|
|
|
$arr['list'][$key]['sta'] = '离店';
|
|
|
|
break;
|
|
|
|
case 4:
|
|
|
|
$array['data']['list'][$key]['sta'] = '已取消';
|
|
|
|
$arr['list'][$key]['sta'] = '已取消';
|
|
|
|
break;
|
|
|
|
case 5:
|
|
|
|
$array['data']['list'][$key]['sta'] = '已分配';
|
|
|
|
$arr['list'][$key]['sta'] = '已分配';
|
|
|
|
break;
|
|
|
|
case 6:
|
|
|
|
$array['data']['list'][$key]['sta'] = '拒单';
|
|
|
|
$arr['list'][$key]['sta'] = '拒单';
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
# code...
|
|
...
|
...
|
@@ -856,13 +952,13 @@ class Seller extends Common |
|
|
|
}
|
|
|
|
switch ($value['sex']) {
|
|
|
|
case 1:
|
|
|
|
$array['data']['list'][$key]['rname'] = $value['rname'].'先生'.'('.$value['phone'].')';
|
|
|
|
$arr['list'][$key]['rname'] = $value['rname'].'先生'.'('.$value['phone'].')';
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
$array['data']['list'][$key]['rname'] = $value['rname'].'女士'.'('.$value['phone'].')';
|
|
|
|
$arr['list'][$key]['rname'] = $value['rname'].'女士'.'('.$value['phone'].')';
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
$array['data']['list'][$key]['rname'] = $value['rname'].'公司'.'('.$value['phone'].')';
|
|
|
|
$arr['list'][$key]['rname'] = $value['rname'].'公司'.'('.$value['phone'].')';
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
# code...
|
|
...
|
...
|
@@ -870,35 +966,75 @@ class Seller extends Common |
|
|
|
}
|
|
|
|
|
|
|
|
if($value['room_demand']){
|
|
|
|
$array['data']['list'][$key]['room_demand'] = implode(',',array_column(json_decode($value['room_demand'],true), 'name'));
|
|
|
|
$arr['list'][$key]['room_demand'] = implode(',',array_column(json_decode($value['room_demand'],true), 'name'));
|
|
|
|
}
|
|
|
|
|
|
|
|
$array['data']['list'][$key]['sta'] = $value['is_tele']==1 ? $array['data']['list'][$key]['sta'] : $array['data']['list'][$key]['sta'].'无话机';
|
|
|
|
$arr['list'][$key]['sta'] = $value['is_tele']==1 ? $arr['list'][$key]['sta'] : $arr['list'][$key]['sta'].'无话机';
|
|
|
|
|
|
|
|
//根据操作人识别操作终端
|
|
|
|
if(isset($template['operator_openid'])){
|
|
|
|
if(strstr($template['operator_openid'],'_',-4)=='tele'){ //话机操作
|
|
|
|
$array['data']['list'][$key]['operator_openid'] = '电话机';
|
|
|
|
$arr['list'][$key]['operator_openid'] = '电话机';
|
|
|
|
}
|
|
|
|
|
|
|
|
if(strstr($template['operator_openid'],'_',-4)=='wind'){ //PC操作
|
|
|
|
$array['data']['list'][$key]['operator_openid'] = 'PC';
|
|
|
|
$arr['list'][$key]['operator_openid'] = 'PC';
|
|
|
|
}
|
|
|
|
|
|
|
|
if(strstr($template['operator_openid'],'_',-4)=='chat'){ //PC操作
|
|
|
|
$array['data']['list'][$key]['operator_openid'] = '小程序';
|
|
|
|
$arr['list'][$key]['operator_openid'] = '小程序';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//print_r($array['data']['list']);die;
|
|
|
|
//print_r($arr['list']);die;
|
|
|
|
return $result = [
|
|
|
|
'code'=>0,'msg'=>'获取成功!',
|
|
|
|
'data'=>$array['data']['list'],
|
|
|
|
'count'=>$array['data']['total'],
|
|
|
|
'data'=>$arr['list'],
|
|
|
|
'count'=>$arr['total'],
|
|
|
|
'rel'=>1
|
|
|
|
];
|
|
|
|
}
|
|
|
|
$this->assign ( 'title','C端预定订单管理');
|
|
|
|
$this->assign ( 'title','订单管理');
|
|
|
|
return $this->fetch();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 商家详情
|
|
|
|
*/
|
|
|
|
public function reservedetail(){
|
|
|
|
$data = Request::except('file');
|
|
|
|
$rs = Db::query("SELECT * FROM `xt-member-two-LINE`.xt_dc_dz_cancel where up_rid = ".$data['rid']." order by cdate desc");
|
|
|
|
if($rs){
|
|
|
|
foreach ($rs as $key => $value) {
|
|
|
|
switch ($value['action_type']) {
|
|
|
|
case '1':
|
|
|
|
$rs[$key]['action_type'] = '取消预定';
|
|
|
|
break;
|
|
|
|
case '2':
|
|
|
|
$rs[$key]['action_type'] = '修改预定';
|
|
|
|
break;
|
|
|
|
case '3':
|
|
|
|
$rs[$key]['action_type'] = '变更客户经理';
|
|
|
|
break;
|
|
|
|
case '4':
|
|
|
|
$rs[$key]['action_type'] = '确认用户到店';
|
|
|
|
break;
|
|
|
|
case '5':
|
|
|
|
$rs[$key]['action_type'] = '分配包间';
|
|
|
|
break;
|
|
|
|
case '6':
|
|
|
|
$rs[$key]['action_type'] = '拒绝接单';
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
# code...
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
$rs[$key]['cdate'] = date("Y年m月d日 H时i分",$value['cdate']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$this->assign ( 'rid',$data['rid']);
|
|
|
|
$this->assign ( 'data',$rs);
|
|
|
|
$this->assign ( 'title','订单操作日志详情');
|
|
|
|
return $this->fetch();
|
|
|
|
}
|
|
|
|
|
...
|
...
|
|