705 lines
27 KiB
PHP
705 lines
27 KiB
PHP
<?php
|
|
namespace app\admin\logic;
|
|
use app\common\logic\AccountLogLogic;
|
|
use app\admin\logic\UserLogic;
|
|
use app\common\server\UrlServer;
|
|
use think\Db;
|
|
use think\Exception;
|
|
class OrderautoLogic{
|
|
/**
|
|
* 显示查询列表的内容
|
|
* @param $get
|
|
* @return array
|
|
*/
|
|
public static function lists($get){
|
|
$where = [];
|
|
//判断已经支付的订单
|
|
$where[] = ['pay_status', '=', 1];
|
|
if(isset($get['type']) && $get['type'] != ''){
|
|
$where[] = ['static','=',$get['type']];
|
|
}
|
|
//等级查询
|
|
if(isset($get['id']) && $get['id'] != ''){
|
|
$where[] = ['order_sn','=',$get['id']];
|
|
}
|
|
if(isset($get['name']) && $get['name']!= ''){
|
|
$where[] = ['consignee', 'like', '%' . $get['name'] . '%'];
|
|
}
|
|
//电话查询
|
|
if(isset($get['phone']) && $get['phone'] != ''){
|
|
$where[] = ['mobile','=',$get['phone']];
|
|
}
|
|
//地区查询
|
|
if(isset($get['area_id']) && $get['area_id']!= ''){
|
|
$where[] = ['area_id','=',$get['area_id']];
|
|
}
|
|
// 执行状态查询
|
|
if(isset($get['status']) && $get['status']!= ''){
|
|
$where[] = ['status','=',$get['status']];
|
|
}
|
|
|
|
// 执行状态查询
|
|
if(isset($get['admin']) && $get['admin']!= ''){
|
|
$where[] = ['admin_id','=',$get['admin']];
|
|
}
|
|
// 订单的来源查询
|
|
if(isset($get['pid']) && $get['pid']!= ''){
|
|
$where[] = ['channel_id','=',$get['pid']];
|
|
}
|
|
//执行时间
|
|
if(isset($get['start_time']) && $get['start_time']!=''){
|
|
$where[] = ['create_time','>=',strtotime($get['start_time'])];
|
|
}
|
|
if(isset($get['end_time']) && $get['end_time']!=''){
|
|
$where[] = ['create_time','<=',strtotime($get['end_time'])];
|
|
}
|
|
//订单的来源
|
|
$channel = Db::name('orderchannel')->column('name','id');
|
|
//订单的类型
|
|
$brand = Db::name('goods_brand')->where('del',0)->column('name','id');
|
|
$order_count = Db::name('order')
|
|
->where($where)
|
|
->count();
|
|
|
|
$order_list = Db::name('order')
|
|
->where($where)
|
|
->field('password,pay_password,salt',true)
|
|
->page($get['page'],$get['limit'])
|
|
->order('id desc')
|
|
->select();
|
|
foreach ($order_list as &$item){
|
|
$item['channel'] = '系统自助下单';
|
|
$item['create_time']=date("Y-m-d",$item['create_time']);
|
|
if(isset($channel[$item['channel_id']])){
|
|
$item['channel'] = $channel[$item['channel_id']];
|
|
}
|
|
if(isset($brand[$item['type_id']])){
|
|
$item['brand'] = $brand[$item['type_id']];
|
|
}
|
|
//获取到用户信息
|
|
$user=Db::name('user_address')->where('id',$item['user_id'])->find();
|
|
if($user){
|
|
$item['nickname']=$user['contact'];
|
|
if($user['wx']==2){
|
|
$item['wx']='已添加企业微信';
|
|
}else{
|
|
$item['wx']='未添加企业微信';
|
|
}
|
|
$item['areas']=$user['areas'];
|
|
$item['staff_remarks']=$user['staff_remarks'];
|
|
$item['admin_remarks']=$user['admin_remarks'];
|
|
$item['pet']=$user['pet'];
|
|
$item['hbl']=$user['hbl'];
|
|
}
|
|
|
|
$userimg=Db::name('user')->where('id',$item['user_id'])->find();
|
|
if($userimg){
|
|
$item['avatar']=$userimg['avatar'];
|
|
}
|
|
//获取订单的商品
|
|
$goods=Db::name('goods')->where('id',$item['goods_id'])->find();
|
|
if($goods){
|
|
$item['goods_name']=$goods['name'];
|
|
}
|
|
$item['sycs']=Db::name('order_exe')->where('order_sn',$item['order_sn'])->where('status',1)->count();
|
|
if($item['code']==0){
|
|
$update=Db::name('order')->where('order_sn',$item['order_sn'])->update(['static'=>2]);
|
|
}
|
|
if($item['number']==$item['sycs']){
|
|
$update=Db::name('order')->where('order_sn',$item['order_sn'])->update(['static'=>2]);
|
|
}
|
|
|
|
}
|
|
|
|
return ['count'=>$order_count , 'lists'=>$order_list];
|
|
}
|
|
|
|
|
|
/**
|
|
* 选择客户的列表
|
|
* @param $get
|
|
* @return array
|
|
*/
|
|
public static function getUserList($get,$is_item = false){
|
|
$where = [];
|
|
$where[] = ['del', '=', '0'];
|
|
//根据客户电话查询
|
|
if(isset($get['phone']) && $get['phone'] != ''){
|
|
$phone=Db::name('user_address')->whereLike('phone',$get['phone'])->find();
|
|
$where[] = ['user_id','=',$phone['user_id']];
|
|
}
|
|
//根据客户姓名查询
|
|
if(isset($get['name']) && $get['name'] != ''){
|
|
$phone=Db::name('user_address')->whereLike('consignee',$get['name'])->find();
|
|
$where[] = ['user_id','=',$phone['user_id']];
|
|
}
|
|
$goods_count = Db::name('user')
|
|
->where($where)
|
|
->count();
|
|
$goods_list = Db::name('user')
|
|
->where($where)
|
|
->page($get['page'], $get['limit'])
|
|
->column('*','id');
|
|
foreach ($goods_list as &$item) {
|
|
$item['avatar'] = UrlServer::getFileUrl($item['avatar']);
|
|
$adder=Db::name('user_address')->where('user_id',$item['user_id'])->find();
|
|
$item['phone']= $adder['phone'];
|
|
$item['name']= $adder['consignee'];
|
|
}
|
|
return ['count' => $goods_count, 'list' =>array_values($goods_list)];
|
|
}
|
|
|
|
/**
|
|
* 增加预排的订单
|
|
* @param $get
|
|
* @return array
|
|
*/
|
|
public static function add($post,$admin){
|
|
$orderinfo=OrderLogic::orderinfo($post['order_sn']);
|
|
$logdate=[
|
|
'admin_id'=>$admin,
|
|
'order_sn'=>$orderinfo['id'],
|
|
'show'=>'创建预排订单',
|
|
'cram_time'=>time()
|
|
];
|
|
$log=Db::name('log_order')->data($logdate)->insert();
|
|
$count=count(explode(',',$post['privilege']));
|
|
$staff=explode(',',$post['privilege']);
|
|
$post['fworder_sn']=createSn('order_exe', 'fworder_sn', '', 6);
|
|
//非常固定单执行的代码
|
|
if($post['type']==3){
|
|
for($i=0;$i<$post['number'];$i++){
|
|
$data=[
|
|
'order_sn'=>$post['order_sn'],
|
|
'remark'=>$post['remark'],
|
|
'create_time'=>time(),
|
|
'fworder_sn'=> $post['fworder_sn'],
|
|
'date'=>$post['end_time'],
|
|
'xq'=>UserLogic::Get_Chinese_WeekDay($post['end_time']),
|
|
'type'=>$post['type'],
|
|
'status'=>0,
|
|
'addtime'=>$post['addtim'],
|
|
'autotime'=>strtotime($post['end_time']),
|
|
];
|
|
$list=Db::name('order_exe')->data($data)->insert();
|
|
}
|
|
|
|
if($list){
|
|
$order=db::name('order')->where('order_sn',$post['order_sn'])->update(['code'=>$orderinfo['code']-$post['number']]);
|
|
return $list;
|
|
}
|
|
}
|
|
//判断日期固定派单
|
|
else if($post['type']==1){
|
|
if($post['datas']==''){
|
|
return $list=3;
|
|
}
|
|
//段一个人去执行的炒作
|
|
for($s=0;$s<$count;$s++){
|
|
$data=[
|
|
'order_sn'=>$post['order_sn'],
|
|
'staff_id'=>$staff[$s++],
|
|
'remark'=>$post['remark'],
|
|
'create_time'=>time(),
|
|
'fworder_sn'=> $post['fworder_sn'],
|
|
'xq'=>UserLogic::Get_Chinese_WeekDay($post['end_time']),
|
|
'type'=>3,
|
|
'status'=>0,
|
|
'addtime'=>$post['addtims'],
|
|
'autotime'=>strtotime($post['end_time']),
|
|
];
|
|
for($i=0;$i<$post['datas'];$i+1){
|
|
$number=$post['datatime']*$i++;
|
|
$time=strtotime($post['end_time']);
|
|
$seconds_to= $number*24*60*60;
|
|
$data['autotime']=$time+$seconds_to;
|
|
$data['date']=date("Y-m-d H:i:s", $data['autotime']);;
|
|
$list=Db::name('order_exe')->data($data)->insert();
|
|
}
|
|
if($list){
|
|
$order=db::name('order')->where('order_sn',$post['order_sn'])->update(['code'=>$orderinfo['code']-$post['datas']]);
|
|
return $list;
|
|
}
|
|
|
|
}
|
|
return $list;
|
|
}
|
|
|
|
else if($post['type']==2){
|
|
|
|
if($count!=(int)$post['number']){
|
|
return $list=3;
|
|
}
|
|
if(isset($post['arr1_data'])) {
|
|
$data1=$post['arr1_data'];
|
|
}else{
|
|
$data1=[];
|
|
}
|
|
|
|
//判断获取数组二为空
|
|
if(isset($post['arr2_data'])) {
|
|
$data2=$post['arr2_data'];
|
|
}else{
|
|
$data2=[];
|
|
}
|
|
foreach($data1 as $v=>$k){
|
|
foreach($data1[$v] as $item=>$s){
|
|
$data1[$v][$item]['order_sn']=$post['order_sn'];
|
|
$data1[$v][$item]['fworder_sn']= $post['fworder_sn'];
|
|
$data1[$v][$item]['create_time']=time();
|
|
$data1[$v][$item]['addtime']=1;
|
|
$data1[$v][$item]['staff_id']=$staff[0];
|
|
$data1[$v][$item]['remark']=$post['remark'];
|
|
}
|
|
}
|
|
foreach($data2 as $v=>$k){
|
|
foreach($data2[$v] as $item=>$s){
|
|
$data2[$v][$item]['order_sn']=$post['order_sn'];
|
|
$data2[$v][$item]['fworder_sn']= $post['fworder_sn'];
|
|
$data2[$v][$item]['create_time']=time();
|
|
$data2[$v][$item]['addtime']=2;
|
|
$data2[$v][$item]['staff_id']=$staff[0];
|
|
$data2[$v][$item]['remark']=$post['remark'];
|
|
}
|
|
}
|
|
$data=array_merge($data1,$data2);
|
|
$one_dimensional_array = call_user_func_array('array_merge', $data);
|
|
foreach($one_dimensional_array as $v=>$k){
|
|
$list=Db::name('order_exe')->data($one_dimensional_array[$v])->insert();
|
|
}
|
|
//判断是不是俩个人
|
|
if($count==2){
|
|
$data1=$post['arr1_data'];
|
|
//判断获取数组二为空
|
|
if(isset($post['arr2_data'])) {
|
|
$data2=$post['arr2_data'];
|
|
}else{
|
|
$data2=[];
|
|
}
|
|
foreach($data1 as $v=>$k){
|
|
foreach($data1[$v] as $item=>$s){
|
|
$data1[$v][$item]['order_sn']=$post['order_sn'];
|
|
$data1[$v][$item]['fworder_sn']= $post['fworder_sn'];
|
|
$data1[$v][$item]['create_time']=time();
|
|
$data1[$v][$item]['addtime']=1;
|
|
$data1[$v][$item]['staff_id']=$staff[1];
|
|
$data1[$v][$item]['remark']=$post['remark'];
|
|
}
|
|
}
|
|
foreach($data2 as $v=>$k){
|
|
foreach($data2[$v] as $item=>$s){
|
|
$data2[$v][$item]['order_sn']=$post['order_sn'];
|
|
$data2[$v][$item]['fworder_sn']= $post['fworder_sn'];
|
|
$data2[$v][$item]['create_time']=time();
|
|
$data2[$v][$item]['addtime']=2;
|
|
$data2[$v][$item]['staff_id']=$staff[1];
|
|
$data2[$v][$item]['remark']=$post['remark'];
|
|
}
|
|
}
|
|
$data=array_merge($data1,$data2);
|
|
$one_dimensional_array = call_user_func_array('array_merge', $data);
|
|
foreach($one_dimensional_array as $v=>$k){
|
|
$list=Db::name('order_exe')->data($one_dimensional_array[$v])->insert();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
$order=db::name('order')->where('order_sn',$post['order_sn'])->update(['code'=>0,'type'=>1]);
|
|
}
|
|
|
|
/**
|
|
* 获取渠道来源
|
|
* @return array
|
|
*/
|
|
public static function infoPosition($pid)
|
|
{
|
|
$position_list = Db::name('orderchannel')
|
|
->where(['id' => $pid])
|
|
->group('name')
|
|
->column('id,name', 'id');
|
|
asort($position_list);
|
|
return $position_list;
|
|
}
|
|
|
|
/**
|
|
* 修改员工的基础信息
|
|
* @param $id 员工的ID
|
|
* @return array
|
|
*/
|
|
public static function edits($post){
|
|
|
|
$data = [
|
|
'updatetime' => time(),
|
|
'name'=>$post['name'],
|
|
'mobile'=>$post['mobile'],
|
|
'sex'=>$post['sex'],
|
|
'age'=>$post['age'],
|
|
'group_id'=>$post['brand_id'],
|
|
'first_order'=>2,
|
|
'identity'=>$post['identity'],
|
|
'lng'=>$post['lng'],
|
|
'addr'=>$post['addr'],
|
|
'avatar'=>$post['image'],
|
|
'lat'=>$post['lat'],
|
|
'province'=>$post['first_category_id'],
|
|
'city'=>$post['second_category_id'],
|
|
'area'=>$post['third_category_id'],
|
|
|
|
];
|
|
$list=Db::name('staff')->where('id',$post['id'])->data($data)->update();
|
|
return $list;
|
|
}
|
|
public static function exportFile($get)
|
|
{
|
|
$where[] = ['del','=', '0'];
|
|
|
|
//查询
|
|
if(isset($get['keyword']) && $get['keyword']){
|
|
$where[] = [$get['keyword_type'],'like','%'.$get['keyword'].'%'];
|
|
}
|
|
//等级查询
|
|
if(isset($get['level']) && $get['level'] != ''){
|
|
$where[] = ['level','=',$get['level']];
|
|
}
|
|
//分组查询
|
|
if(isset($get['group_id']) && $get['group_id']){
|
|
$where[] = ['group_id','=',$get['group_id']];
|
|
}
|
|
//消费金额
|
|
if(isset($get['total_amount_start']) && $get['total_amount_start']){
|
|
$where[] = ['total_order_amount','>=',$get['total_amount_start']];
|
|
}
|
|
if(isset($get['total_amount_end']) && $get['total_amount_end']){
|
|
$where[] = ['total_order_amount','<=',$get['total_amount_end']];
|
|
}
|
|
|
|
//注册时间
|
|
if(isset($get['start_time']) && $get['start_time']!=''){
|
|
$where[] = ['create_time','>=',strtotime($get['start_time'])];
|
|
}
|
|
if(isset($get['end_time']) && $get['end_time']!=''){
|
|
$where[] = ['create_time','<=',strtotime($get['end_time'])];
|
|
}
|
|
|
|
$user_list = Db::name('user')->where($where)
|
|
->order('id desc')
|
|
->select();
|
|
|
|
//会员分组
|
|
$user_group = Db::name('user_group')->where(['del'=>0])->column('name','id');
|
|
//会员等级
|
|
$user_level = Db::name('user_level')->where(['del'=>0])->column('name','id');
|
|
// 所有会员信息
|
|
$all_user_list = User::where(['del'=>0])->column('sn,nickname,mobile,level','id');
|
|
|
|
$exportData = [];
|
|
foreach ($user_list as $item){
|
|
$groupName = '-';
|
|
$levelName = '无等级';
|
|
//会员所属分组
|
|
if(isset($user_group[$item['group_id']])){
|
|
$groupName = $user_group[$item['group_id']];
|
|
}
|
|
|
|
if(isset($user_level[$item['level']])){
|
|
$levelName = $user_level[$item['level']];
|
|
}
|
|
|
|
$referrer_user_info = '';
|
|
$referrer_nickname = '';
|
|
$referrer_sn = '';
|
|
$referrer_mobile = '';
|
|
$referrer_level_name = '-';
|
|
if(isset($all_user_list[$item['first_leader']])){
|
|
$referrer_user = $all_user_list[$item['first_leader']];
|
|
$referrer_nickname = $referrer_user['nickname'];
|
|
$referrer_sn = $referrer_user['sn'];
|
|
$referrer_mobile = $referrer_user['mobile'];
|
|
if(isset($user_level[$referrer_user['level']])){
|
|
$referrer_level_name =$user_level[$referrer_user['level']];
|
|
}
|
|
$referrer_user_info.= '【昵称:'.$referrer_nickname.' 编号:'.$referrer_sn. ' 手机:'. $referrer_mobile . ' 等级:'. $referrer_level_name.'】';
|
|
}
|
|
$loginTime = date('Y-m-d H:i:s', $item['login_time']);
|
|
|
|
$exportData[] = [$item['sn'], $item['nickname'], $levelName, $groupName, $referrer_user_info, $item['total_order_amount'], $item['user_money'], $item['user_integral'], $loginTime];
|
|
}
|
|
|
|
$exportTitle = ['会员编号', '会员昵称', '会员等级', '会员分组', '推荐人信息', '消费金额', '账户余额', '积分', '最后登录时间'];
|
|
$exportExt = 'xls';
|
|
return ['exportTitle'=> $exportTitle, 'exportData' => $exportData, 'exportExt'=>$exportExt, 'exportName'=>'会员列表'.date('Y-m-d H:i:s')];
|
|
}
|
|
|
|
/**
|
|
* Notes: 获取会员信息
|
|
* @param $id
|
|
* @param bool $getdata 是否获取原始数据
|
|
* @param bool $expenditure 是否显示会员消费
|
|
* @return User|mixed
|
|
*/
|
|
public static function getUser($id,$getdata = false,$expenditure = false){
|
|
$user = User::get($id);
|
|
$user->append(['level_name','group_name']);
|
|
if($getdata){
|
|
$user = $user->getData();
|
|
if($user['birthday']) $user['birthday'] = date('Y-m-d',$user['birthday']);
|
|
}
|
|
$user['abs_avatar'] = UrlServer::getFileUrl($user['avatar']);
|
|
if($expenditure){
|
|
//本月的消费金额
|
|
$month_amount = Db::name('order')
|
|
->where('order_status','not in',[Order::STATUS_CLOSE,Order::STATUS_WAIT_PAY])
|
|
->where(['user_id'=>$id,'pay_status'=>Pay::ISPAID])
|
|
->whereTime('create_time', 'month')
|
|
->sum('order_amount');
|
|
//本月的订单笔数
|
|
$month_num = Db::name('order')
|
|
->where('order_status','not in',[Order::STATUS_CLOSE,Order::STATUS_WAIT_PAY])
|
|
->where(['user_id'=>$id,'pay_status'=>Pay::ISPAID])
|
|
->whereTime('create_time', 'month')
|
|
->count();
|
|
//累计消费笔数
|
|
$total_num =Db::name('order')
|
|
->where('order_status','not in',[Order::STATUS_CLOSE,Order::STATUS_WAIT_PAY])
|
|
->where(['user_id'=>$id,'pay_status'=>Pay::ISPAID])
|
|
->sum('order_amount');
|
|
$avg_amount = Db::name('order')
|
|
->where('order_status','not in',[Order::STATUS_CLOSE,Order::STATUS_WAIT_PAY])
|
|
->where(['user_id'=>$id,'pay_status'=>Pay::ISPAID])
|
|
->avg('order_amount');
|
|
$user['month_amount'] = '¥'.round($month_amount,2);
|
|
$user['month_num'] = round($month_num,2);
|
|
$user['total_num'] = round($total_num,2);
|
|
$user['avg_amount'] = '¥'.round($avg_amount,2);
|
|
//分销会员
|
|
$user['distribution_tips'] = '否';
|
|
$user['superior_referrer'] = '-';
|
|
$user['superior_referrer_sn'] = '-';
|
|
if($user['is_distribution']){
|
|
$user['distribution_tips'] = '是';
|
|
$superior_referrer = Db::name('user')->where(['id'=>$user['first_leader']])->field('nickname,sn')->findOrEmpty();
|
|
$user['superior_referrer'] = '-';
|
|
$user['superior_referrer_sn'] = '-';
|
|
if($superior_referrer) {
|
|
$user['superior_referrer'] = $superior_referrer['nickname'];
|
|
$user['superior_referrer_sn'] = $superior_referrer['sn'];
|
|
}
|
|
}
|
|
// 头像
|
|
$user['avatar'] = UrlServer::getFileUrl($user['avatar']);
|
|
}
|
|
return $user;
|
|
}
|
|
/*
|
|
* 批量设置会员分组
|
|
*/
|
|
public static function setGroup($post){
|
|
return Db::name('user')->where(['id'=>$post['user_ids']])->update(['group_id'=>$post['group_id']]);
|
|
}
|
|
/*
|
|
* 根据订单编号查询订单编号
|
|
*/
|
|
public static function info($id){
|
|
$list=Db::name('order')->where('order_sn',$id)->find();
|
|
$ordernumber=Db::name('order_exe')->where('order_sn', $list['order_sn'])->where('status',0)->count();
|
|
$list['sycs']= $ordernumber;
|
|
$list['ysycs']= Db::name('order_exe')->where('order_sn', $list['order_sn'])->where('status',1)->count();
|
|
$list['ztcs']=Db::name('order_exe')->where('order_sn', $list['order_sn'])->where('status',3)->count();
|
|
return $list;
|
|
}
|
|
|
|
/*
|
|
* 查看预排的订单的
|
|
*/
|
|
|
|
public static function infolist($get){
|
|
|
|
$order=Db::name('order')->where('order_sn',$get['order_sn'])->find(); //获取订单的坐标
|
|
$orderexe=Db::name('order_exe')->where('order_sn',$get['order_sn'])->count(); //获取订单的总条数
|
|
$number= $orderexe- $order['number'];
|
|
if($number>0){
|
|
$del=Db::name('order_exe')->where('order_sn',$get['order_sn'])->order('autotime desc')->limit($number)->delete();
|
|
}
|
|
$list=Db::name('order_exe')->where('order_sn',$get['order_sn'])
|
|
->page($get['page'],$get['limit'])
|
|
->order('autotime asc')
|
|
->select();
|
|
$count=Db::name('order_exe')->where('order_sn',$get['order_sn'])
|
|
->order('autotime asc')
|
|
->count();
|
|
foreach ($list as &$item){
|
|
if($item['staff_id']==0){
|
|
$staff=[];
|
|
$staff['lat']='26.59064600';
|
|
$staff['lng']='106.67770700';
|
|
$item['staff_name']='无保洁';
|
|
$item['mobile']='无';
|
|
|
|
}else{
|
|
$staff=StaffLogic::infostaff($item['staff_id']); //获取员工定位
|
|
if($staff){
|
|
$item['staff_id']=$staff['id'];
|
|
$item['staff_name']=$staff['name'];
|
|
$item['staff_mobile']=$staff['mobile'];
|
|
$item['km']=number_format(UserLogic::haversine_distance($order['lat'], $order['lng'],$staff['lat'],$staff['lng'])/ 1000,1);
|
|
}
|
|
|
|
}
|
|
if(intval(($item['autotime']-time())/86400)>1){
|
|
$item['jldate']=intval(($item['autotime']-time())/86400);
|
|
}else{
|
|
$item['jldate']='-';
|
|
}
|
|
|
|
$item['autotime']=date("Y-m-d",$item['autotime']);
|
|
|
|
|
|
if($item['addtime']==1){
|
|
$item['addtime']="上午";
|
|
}else if($item['addtime']==2){
|
|
$item['addtime']="下午";
|
|
}
|
|
|
|
$item['consignee']=$order['consignee'];
|
|
$item['mobile']=$order['mobile'];
|
|
$item['address']=$order['address'];
|
|
|
|
|
|
|
|
}
|
|
|
|
return ['count'=>$count,'list' =>$list];
|
|
}
|
|
/*
|
|
* 修改固定排单的时间
|
|
*/
|
|
public static function eittime($id,$post){
|
|
|
|
$xq=UserLogic::Get_Chinese_WeekDay($post['end_time']); //获取星期
|
|
$date=date('Y-m-d',strtotime($post['end_time']));
|
|
$addtime=intval($post['addtime']);
|
|
|
|
|
|
return Db::name('order_exe')->where('id',$id)->update(['xq'=>$xq,'autotime'=>strtotime($post['end_time']),'addtime'=>$addtime,'staff_id'=>$post['privilege'],'date'=>$date,'staff_status'=>0]);
|
|
}
|
|
public static function staff($id,$post){
|
|
$count=count(explode(',',$post['privilege']));
|
|
$staff=explode(',',$post['privilege']);
|
|
if($count>=2){
|
|
return $list=2;
|
|
}else{
|
|
return Db::name('order_exe')->where('id',$id)->update(['staff_id'=>intval($post['privilege'])]);
|
|
}
|
|
}
|
|
|
|
|
|
public static function prent($id){
|
|
$list=Db::name('order')->where('id',$id)->update(['status'=>1]);
|
|
$order_id=OrderLogic::orderinfoid($id);
|
|
$order_exe=Db::name('order_exe')->where('order_sn',$order_id['order_sn'])->where('status',0)->update(['status'=>3]);
|
|
return $order_exe;
|
|
}
|
|
public static function prentsd($id){
|
|
$list=Db::name('order')->where('id',$id)->update(['status'=>0,'type'=>0]);
|
|
$order_id=OrderLogic::orderinfoid($id);
|
|
$order_exe=Db::name('order_exe')->where('order_sn',$order_id['order_sn'])->where('status',3)->update(['status'=>0]);
|
|
return $order_exe;
|
|
}
|
|
|
|
/**
|
|
* Notes: 订单备注
|
|
* @param $post
|
|
* @param string $type
|
|
* @return int|string
|
|
* @throws \think\Exception
|
|
* @throws \think\exception\PDOException
|
|
*/
|
|
public static function remarks($post, $type="get")
|
|
{
|
|
if ($type==='get') {
|
|
|
|
return Db::name('order_exe')->field('id,remark')
|
|
->where(['id'=>$post['id']])
|
|
->findOrEmpty();
|
|
} else {
|
|
return Db::name('order_exe')
|
|
->where(['id'=>$post['id']])
|
|
->update(['remark'=>$post['order_remarks']]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Notes: 根据执行ID查询订单的经纬度
|
|
* @param $post
|
|
* @param string $type
|
|
* @return int|string
|
|
* @throws \think\Exception
|
|
* @throws \think\exception\PDOException
|
|
*/
|
|
public static function orderexeinfo($id){
|
|
$list=Db::name('order_exe')->where('id',$id)->find();
|
|
$order=OrderLogic::orderinfo($list['order_sn']);
|
|
$list['lng']= $order['lng'];
|
|
$list['lat']= $order['lat'];
|
|
$list['date']=date('Y-m-d H:i:s',strtotime($list['date']));
|
|
return $list;
|
|
|
|
}
|
|
|
|
public static function log($get){
|
|
$count=Db::name('log_order')->where('order_sn',$get['order_sn'])->count();
|
|
$lists=Db::name('log_order')->where('order_sn',$get['order_sn'])
|
|
->page($get['page'], $get['limit'])
|
|
->order('id desc')
|
|
->select();
|
|
foreach ($lists as &$item) {
|
|
$admin=Db::name('admin')->where('id',$item['admin_id'])->find();
|
|
$item['admin_name']=$admin['name'];
|
|
$item['createtime']=date("Y-m-d H:i:s",$item['cram_time']);
|
|
}
|
|
return ['count'=>$count , 'lists'=>$lists];
|
|
}
|
|
|
|
public static function orderlog($get){
|
|
|
|
$count=Db::name('log_orders')->where('order_sn',$get['order_sn'])->count();
|
|
$lists = Db::name('log_orders')
|
|
//->where('order_sn', 'like', '%' . $get['order_sn'] . '%')
|
|
->where('order_sn',$get['order_sn'])
|
|
->page($get['page'], $get['limit'])
|
|
->order('id desc')
|
|
->select();
|
|
foreach ($lists as &$item) {
|
|
$admin=Db::name('admin')->where('id',$item['admin_id'])->find();
|
|
$item['admin_name']=$admin['name'];
|
|
$item['createtime']=date("Y-m-d H:i:s",$item['cram_time']);
|
|
}
|
|
return ['count'=>$count , 'lists'=>$lists];
|
|
}
|
|
|
|
public static function orderinfo($get){
|
|
|
|
$data=Db::name('user_order_imges')->where('order_id',$get['id'])->find();
|
|
if($data){
|
|
$data['image1'] = json_decode($data['image1'],true);
|
|
$data['image2'] = json_decode($data['image2'],true);
|
|
$data['image3'] = json_decode($data['image3'],true);
|
|
|
|
foreach ($data['image1'] as $k=>$v){
|
|
$data['image1'][$k]['url'] = 'https://web.dulmao.com'.$v['url'];
|
|
}
|
|
foreach ($data['image2'] as $k=>$v){
|
|
$data['image2'][$k]['url'] = 'https://web.dulmao.com'.$v['url'];
|
|
}
|
|
foreach ($data['image3'] as $k=>$v){
|
|
$data['image3'][$k]['url'] = 'https://web.dulmao.com'.$v['url'];
|
|
}
|
|
return $data;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
} |