307 lines
12 KiB
PHP
307 lines
12 KiB
PHP
<?php
|
|
namespace app\api\controller;
|
|
|
|
use app\api\logic\StaffOrderLogic;
|
|
use app\common\server\UrlServer;
|
|
use think\Db;
|
|
class Administration extends ApiBase
|
|
{
|
|
public $like_not_need_login = ['Nuorder','uNuorder','order_sn','countOrder','allcustom','orderdeail','infoOrder','typePay','conle','edit_order','edit_order','overtime'];
|
|
/**
|
|
* note 获取全部总订单数据
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function Nuorder(){
|
|
|
|
$param = $this->request->get(); //接受传递过来的参数
|
|
$where=[];
|
|
|
|
|
|
if (!empty($param['search'])) {
|
|
if (preg_match('/^1[3-9]\d{9}$/', $param['search'])) {
|
|
$where[] = ['mobile', '=', $param['search']];
|
|
} else {
|
|
$where[] = ['consignee', 'LIKE', '%' . $param['search'] . '%'];
|
|
}
|
|
} else {
|
|
$where = [];
|
|
}
|
|
|
|
$data=Db::name('order')
|
|
->order('id', 'desc')
|
|
->where($where)
|
|
->page($param['page'], $param['limt'])
|
|
->select();
|
|
|
|
$filteredData = [];
|
|
foreach ($data as &$item){
|
|
$item['create_time'] = date('Y-m-d', $item['create_time']);
|
|
$goods=StaffOrderLogic::goods($item['goods_id']); //订单的商品
|
|
if($goods){
|
|
$item['goods_name']=$goods['name'];
|
|
$item['image']=$goods['image'];
|
|
$item['code']=$goods['code'];
|
|
}
|
|
$admin=StaffOrderLogic::admin($item['admin_id']);
|
|
if($admin){
|
|
$item['admin_name']=$admin['name'];
|
|
}
|
|
$count=StaffOrderLogic::order_sn($item['order_sn']); //统计总的条数
|
|
$item['order_wc']=$count; //统计完成次数
|
|
$item['order_dsy']=$item['code']-$count;
|
|
if (isset($param['currentTab'])) {
|
|
if ($param['currentTab'] === '0' && $item['order_dsy']>0) {
|
|
$filteredData[] = $item;
|
|
} elseif ($param['currentTab'] === '1' && $item['order_dsy']<=0) {
|
|
$filteredData[] = $item;
|
|
} elseif ($param['currentTab'] === '2') {
|
|
$filteredData[] = $item;
|
|
}
|
|
elseif (!isset($param['currentTab'])) {
|
|
$filteredData[] = $item;
|
|
}
|
|
} else {
|
|
$filteredData[] = $item;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
$this->_success('获取数据成功',$filteredData);
|
|
}
|
|
|
|
/**
|
|
* note 获取的我的订单
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function uNuorder(){
|
|
$param = $this->request->get(); //接受传递过来的参数
|
|
$where=[];
|
|
if (!empty($param['search'])) {
|
|
|
|
if (preg_match('/^1[3-9]\d{9}$/', $param['search'])) {
|
|
$where[] = ['mobile', '=', $param['search']];
|
|
} else {
|
|
$where[] = ['consignee', 'LIKE', '%' . $param['search'] . '%'];
|
|
}
|
|
} else {
|
|
$where = [];
|
|
}
|
|
$admin_id=Db::name('admin')
|
|
->alias('a')
|
|
->join('staff s','s.mobile=a.phone')
|
|
->where('s.id',$param['id'])
|
|
->field('a.id')
|
|
->find();
|
|
if($admin_id){
|
|
$data=Db::name('order')
|
|
->order('id', 'desc')
|
|
->where($where)
|
|
->where('admin_id', $admin_id['id'])
|
|
->page($param['page'], $param['limt'])
|
|
->select();
|
|
|
|
$filteredData = [];
|
|
foreach ($data as &$item){
|
|
$item['create_time'] = date('Y-m-d', $item['create_time']);
|
|
$goods=StaffOrderLogic::goods($item['goods_id']); //订单的商品
|
|
if($goods){
|
|
$item['goods_name']=$goods['name'];
|
|
$item['image']=$goods['image'];
|
|
$item['code']=$goods['code'];
|
|
}
|
|
$admin=StaffOrderLogic::admin($item['admin_id']);
|
|
if($admin){
|
|
$item['admin_name']=$admin['name'];
|
|
}
|
|
$count=StaffOrderLogic::order_sn($item['order_sn']); //统计总的条数
|
|
$item['order_wc']=$count; //统计完成次数
|
|
$item['order_dsy']=$item['code']-$count;
|
|
if (isset($param['currentTab'])) {
|
|
if ($param['currentTab'] === '0' && $item['order_dsy']>0) {
|
|
$filteredData[] = $item;
|
|
} elseif ($param['currentTab'] === '1' && $item['order_dsy']<=0) {
|
|
$filteredData[] = $item;
|
|
} elseif ($param['currentTab'] === '2') {
|
|
$filteredData[] = $item;
|
|
}
|
|
elseif (!isset($param['currentTab'])) {
|
|
$filteredData[] = $item;
|
|
}
|
|
} else {
|
|
$filteredData[] = $item;
|
|
}
|
|
}
|
|
$this->_success('获取成功',$data);
|
|
|
|
}else{
|
|
$this->_error("人员不存在");
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* note 根据订单编号查询订单
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function order_sn(){
|
|
$param = $this->request->get(); //接受传递过来的参数
|
|
$where=[];
|
|
if (isset($param['staff_status']) && $param['staff_status'] !== '') {
|
|
switch ($param['staff_status']) {
|
|
case '4':
|
|
$where[] = ['abnormal', '=', 1];
|
|
break;
|
|
default:
|
|
$where[] = ['staff_status', '=', $param['staff_status']];
|
|
break;
|
|
}
|
|
}
|
|
$data=Db::name('order_exe')->alias('o')
|
|
->join('order s','s.order_sn=o.order_sn')
|
|
->where('o.order_sn',$param['order_sn'])
|
|
->where($where)
|
|
->field('o.*, s.goods_id, s.order_sn as s_order_sn,s.admin_id,s.address,o.staff_id,o.remark')
|
|
->order('o.id', 'desc')
|
|
->select();
|
|
foreach ($data as &$item){
|
|
$item['autotime']=date('Y-m-d',$item['autotime']);
|
|
$goods=StaffOrderLogic::goods($item['goods_id']); //订单的商品
|
|
if($goods){
|
|
$item['goods_name']=$goods['name'];
|
|
}
|
|
$staff=StaffOrderLogic::staff($item['staff_id']);
|
|
if($staff){
|
|
$item['staff_name']=$staff['name'];
|
|
$item['staff_phone']=$staff['mobile'];
|
|
}
|
|
}
|
|
$this->_success('获取成功',$data);
|
|
}
|
|
/**
|
|
* note 根据订单编号统计数据
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function countOrder(){
|
|
$param = $this->request->get(); //接受传递过来的参数
|
|
$data['toder']=Db::name('order_exe')->where('order_sn',$param['order_sn'])->where('staff_status',0)->count();
|
|
$data['ardfs']=Db::name('order_exe')->where('order_sn',$param['order_sn'])->where('staff_status',1)->count();
|
|
$data['fwz']=Db::name('order_exe')->where('order_sn',$param['order_sn'])->where('staff_status',2)->count();
|
|
$data['fwywc']=Db::name('order_exe')->where('order_sn',$param['order_sn'])->where('staff_status',3)->count();
|
|
$data['ycorder']=Db::name('order_exe')->where('order_sn',$param['order_sn'])->where('abnormal',1)->count();
|
|
|
|
$this->_success('获取成功',$data);
|
|
|
|
}
|
|
|
|
/**
|
|
* note 获取到全部客户
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function allcustom(){
|
|
$param = $this->request->get();
|
|
if (!empty($param['search'])) {
|
|
if (preg_match('/^1[3-9]\d{9}$/', $param['search'])) {
|
|
$where[] = ['telephone', '=', $param['search']];
|
|
} else {
|
|
$where[] = ['contact', 'LIKE', '%' . $param['search'] . '%'];
|
|
}
|
|
} else {
|
|
$where = [];
|
|
}
|
|
$data=Db::name('user_address')
|
|
->where($where)
|
|
->page($param['page'], $param['limt'])
|
|
->order('id desc')
|
|
->select();
|
|
foreach ($data as &$item){
|
|
$admin=StaffOrderLogic::admin($item['admin_id']); //获取到绑定管理员信息
|
|
if($admin){
|
|
$item['admin_name']=$admin['name'];
|
|
}else{
|
|
$item['admin_name']='-';
|
|
}
|
|
$conne=StaffOrderLogic::addqudao($item['brand_id']);
|
|
if($conne){
|
|
$item['channel_name']=$conne['name'];
|
|
}else{
|
|
$item['channel_name']='-';
|
|
}
|
|
$user=StaffOrderLogic::user($item['user_id']);
|
|
if($user){
|
|
$item['user_image']=UrlServer::getFileUrl($user['avatar']);
|
|
}
|
|
}
|
|
|
|
$this->_success('获取成功',$data);
|
|
}
|
|
|
|
/**
|
|
* note 根据订单编号获取到订单信息
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function orderdeail(){
|
|
$param = $this->request->get();
|
|
$data=Db::name('order')->alias('o')
|
|
->join('goods g','o.goods_id=g.id')
|
|
->join('admin a','a.id=admin_id')
|
|
->join('orderchannel c','o.channel_id=c.id')
|
|
->where('o.id',$param['id'])
|
|
->field(['o.id','o.goods_id','g.id','g.name as goods_name','o.order_sn','o.create_time','o.consignee','o.mobile','o.address','a.name as admin_name','c.name as clan_name','o.pay_zd','o.pay_way','o.order_amount','o.gord_id','o.order_remarks'])
|
|
->find();
|
|
$data['create_time']=date('Y-m-d H:i:s');
|
|
$this->_success('获取成功',$data);
|
|
}
|
|
|
|
/**
|
|
* note 编辑订单功能
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function infoOrder(){
|
|
$param = $this->request->get();
|
|
$data=Db::name('order')
|
|
->where('id',$param['id'])
|
|
->find();
|
|
$this->_success('获取成功',$data);
|
|
}
|
|
/**
|
|
* note 获取所有的支付渠道
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function typePay(){
|
|
$data=Db::name('collection')->select();
|
|
$this->_success('获取成功',$data);
|
|
}
|
|
/**
|
|
* note 获取是有的订单渠道
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function conle(){
|
|
$data=Db::name('orderchannel')->select();
|
|
$this->_success('获取成功',$data);
|
|
}
|
|
/**
|
|
* note 编辑订单的数据
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function edit_order(){
|
|
$param = $this->request->get();
|
|
$data=StaffOrderLogic::edit_order($param); //统计总的条数
|
|
$this->_success('获取成功',$data);
|
|
}
|
|
/**
|
|
* note订单加时间的审批
|
|
* create_time 2020/10/21 19:05
|
|
*/
|
|
public function overtime(){
|
|
$param = $this->request->get();
|
|
$admin_id=Db::name('admin')
|
|
->alias('a')
|
|
->join('staff s','s.mobile=a.phone')
|
|
->where('s.id',$param['id'])
|
|
->field('a.id')
|
|
->find();
|
|
|
|
|
|
}
|
|
} |