Files
duolamaojiazhen/application/api/controller/Administration.php
2025-12-22 13:59:40 +08:00

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();
}
}