123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381 |
- <?php
- namespace Modules\Manager\Http\Controllers;
- use Modules\Manager\Events\AddWarea;
- use Modules\Manager\Events\DeleteWarea;
- use App\Models\Express;
- use App\Models\Ordertest;
- use App\Models\Warea;
- use App\Models\Admin;
- use App\Models\User;
- use Illuminate\Http\Request;
- use Illuminate\Validation\Rule;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Validator;
- class WareaController extends Controller
- {
- public function del(){
- $re=Express::where('created_at','>','2021-04-30 00:00:00')->where('is_gift',0)->groupBy('order_id')->get();
- foreach ($re as $k=>$v){
- $res=Ordertest::where('id',$v->order_id)->select('total','track_status')->first();
- $nums=Express::where('order_id',$v->order_id)->sum('total');
- if ($res->total==$nums){
- if ($res->track_status!=2){
- Ordertest::where('id',$v->order_id)->update(['track_status'=>2]);
- dump($v->order_id.'=====应该全部发货');
- }
- }
- if ($res->total>$nums){
- if ($res->track_status!=1){
- dump($v->order_id.'====应该是部分发货');
- }
- }
- if ($res->total<$nums){
- dump($v->order_id.'=======超了??=');
- }
- }
- dd(1);
- $data=[
- 'DWBS-20210426899-4512',
- 'DWBS-20210426804-2100',
- 'DWBS-20210426621-1306',
- 'DWBS-20210426951-3624',
- 'DWBS-20210426172-9901',
- 'DWBS-20210428165-1556',
- 'DWBS-20210428517-4936',
- 'DWBS-20210427936-5494',
- 'DWBS-20210427233-8785',
- 'DWBS-20210427542-3518',
- 'DWBS-20210427249-7475',
- 'DWBS-20210427179-3219',
- 'DWBS-20210427275-2904',
- 'DWBS-20210429536-1342',
- 'DWBS-20210428517-2982',
- 'DWBS-20210427590-7406',
- 'DWBS-20210427911-2215'
- ];
- // $orders_id=Ordertest::whereIn('order_num',$data)->pluck('id');
- // $express=Express::whereIn('order_id',$orders_id)->get();
- $express=Express::where('created_at','>','2021-04-30 00:00:00')->where('is_gift',0)->get();
- foreach ($express as $k=>$v){
- $str=trim($v->note);
- $result=0;
- for($i=0;$i<strlen($str);$i++){
- if(is_numeric($str[$i])){
- if ($i+1<strlen($str)){
- if (is_numeric($str[$i+1])){
- $result=10;
- }else{
- $result+=$str[$i];
- }
- }
- }
- }
- if ($result!=$v->total){
- dump($v->id.'===='.$result.'======'.$v->total.'========='.$v->note);
- }
- // if ($result!=0){
- // Express::where('id',$v->id)->update(['total'=>$result]);
- // }
- }
- }
- //获取战区列表
- public function getWareaList(Request $request){
- $input=$request->all();
- $page_size=$input['page_size'];
- $page_index=$input['page_index'];
- $num = ($page_index - 1) * $page_size;
- // $search_name=$input['search_name'];
- $where=[];
- $count=Warea::where($where)
- // ->where('name', 'like', '%' . $search_name . '%')
- ->count();
- if($count==0){
- $this->error('400001','没有数据');
- }
- $list=Warea::where($where)
- // ->where('name', 'like', '%' . $search_name . '%')
- ->with('admin:id,name')
- ->skip($num)->take($page_size)
- ->orderBy('id','desc')
- ->get();
- //<<<<<<< HEAD
- foreach($list as $key =>$val){
- $list[$key]->levels=$this->getEveryLevelAgentNum($val->id,1);
- }
- //=======
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- if(empty($list)){
- return $this->error('400002','没有获取到数据');
- }
- return $this->success_list($list,'success',$count);
- }
- //获取战区信息
- //<<<<<<< HEAD
- public function getWareaListInfos(){
- //=======
- // public function getWareaListInfos(Request $request){
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- $list=Warea::where('status',0)
- ->orderBy('id','desc')
- ->get();
- if(empty($list)){
- return $this->error('400002','没有获取到数据');
- }
- //<<<<<<< HEAD
- return $this->success($list);
- //=======
- // return $this->success_list($list);
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- }
- //添加战区信息
- public function uploadWarea(Request $request){
- $input=$request->all();
- $rules=[
- 'name'=>[
- 'required',
- Rule::unique('warea')
- ->where(function ($query) {
- $query->where('deleted_at', null);
- })
- ],
- ];
- $messages=[
- 'name.required'=>'战区名称不能为空.',
- 'name.unique'=>'战区名称已存在.',
- ];
- $validator = Validator::make($input, $rules, $messages);
- if($validator->fails()){
- return $this->error('400013',$validator->errors()->first());
- }
- $war=Warea::where('admin_id',$input['admin_id'])->first();
- if($war){
- return $this->error('450001','政委已绑定战区');
- }
- $admin=Admin::where('id',$input['admin_id'])->first();
- if($admin->role=='23'){
- if(empty($admin->mobile)){
- return $this->error('450001','政委没有手机号');
- }
- }
- $admin_id=$input['admin_id'];
- $data['name']=$input['name'];
- $data['admin_id']=$admin_id;
- $data['admin_name']=$input['admin_name'];
- $data['status']=0;
- $row=Warea::create($data);
- if($row){
- event(new AddWarea($row));
- Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加战区成功,战区id='.$row->id);
- return $this->success([]);
- }
- return $this->error();
- }
- public function updateWarea(Request $request){
- $input=$request->all();
- $rules=[
- 'name'=>[
- 'required',
- Rule::unique('warea')
- ->ignore($input['id'], 'id')
- ->where(function ($query) {
- $query->where('deleted_at', null);
- })
- ],
- ];
- $messages=[
- 'name.required'=>'战区名称不能为空.',
- 'name.unique'=>'战区名称已存在.',
- ];
- $validator = Validator::make($input, $rules, $messages);
- if($validator->fails()){
- return $this->error('400013',$validator->errors()->first());
- }
- $war=Warea::where('admin_id',$input['admin_id'])->where('id','!=',$input['id'])->first();
- if($war){
- return $this->error('450001','政委已绑定战区');
- }
- $before=Warea::where('id',$input['id'])->value('name');
- $admin_id=$input['admin_id'];
- $data['name']=$input['name'];
- $data['admin_id']=$admin_id;
- $data['admin_name']=$input['admin_name'];
- $row=Warea::where('id',$input['id'])->update($data);
- if($row){
- $result=Warea::where('id',$input['id'])->first();
- $result->before=$before;
- event(new AddWarea($result));
- Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改战区信息成功,战区id='.$input['id']);
- return $this->success([]);
- }
- return $this->error();
- }
- /* 战区禁用/启用 */
- public function shelvedWarea(Request $request){
- $user=Warea::find($request->post('id'));
- $user->status=($user->status==0)?'1':'0';
- $row=$user->save();
- if($row){
- Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')禁用战区成功,战区id='.$request->post('id'));
- return $this->success([]);
- }
- return $this->error();
- }
- //删除战区信息
- public function destoryWarea(Request $request){
- $input=$request->all();
- $article=Warea::find($input['id']);
- $users=User::where('warea_id',$input['id'])->get();
- if(count($users)>0){
- return $this->error('450001','该战区存在代理,不能删除');
- }
- $row=$article->delete();
- if($row){
- event(new DeleteWarea($article));
- Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除战区成功,战区id='.$input['id']);
- return $this->success([]);
- }
- return $this->error();
- }
- //政委管理
- public function getCommissarList(Request $request){
- $input=$request->all();
- $page_size=$input['page_size'];
- $page_index=$input['page_index'];
- $num = ($page_index - 1) * $page_size;
- $where=function($query){
- $query->whereIn('role_id',[23]);
- };
- $count=Admin::where($where)->count();
- if($count<=0){
- $this->error('450001','暂无数据');
- }
- $list=Admin::where($where)->skip($num)->take($page_size)
- ->orderBy('id','desc')->get();
- foreach($list as $key =>$val){
- $list[$key]->levels=$this->getEveryLevelAgentNum($val->id,2);
- }
- return $this->success_list($list,'获取数据成功',$count);
- }
- //获取政委信息
- public function getCommissarInfo(){
- $where=function($query){
- $query->whereIn('role_id',[23]);
- };
- $list=Admin::where($where)->where('status',1)->get();
- return $this->success($list);
- }
- //获取各级别代理数量
- public function getEveryLevelAgentNum($id,$type){
- if($type==1){//战区
- return User::where('warea_id',$id)
- ->select('level',DB::Raw('count(*) as num'))
- ->groupBy('level')->orderBy('level','desc')->get();
- }elseif($type==2){//政委
- //获取政委战区
- $warea_ids=Warea::where('admin_id',$id)->where('status',0)->pluck('id');
- return User::whereIn('warea_id',$warea_ids)
- ->select('level',DB::Raw('count(*) as num'))
- ->groupBy('level')->orderBy('level','desc')->get();
- }else{
- return '';
- }
- }
- //获取筛选代理
- public function getAgentList(Request $request){
- $input=$request->all();
- $page_size=$input['page_size'];
- $page_index=$input['page_index'];
- $num = ($page_index - 1) * $page_size;
- $warea_id=$input['warea_id'];
- $commissar_id=$input['commissar_id'];
- $data=User::where('');
- if($warea_id && $commissar_id){
- $data->where('warea_id',$warea_id);
- }elseif (empty($warea_id) && $commissar_id){
- $warea_ids=$this->getAllWareaIds($commissar_id);
- $data->whereIn('warea_id',$warea_ids);
- }
- $count=$data->count();
- if($count==0){
- $this->error('400001','没有数据');
- }
- $list=$data->skip($num)->take($page_size)
- ->orderBy('id','desc')->get();
- return $this->success_list($list,'获取数据成功',$count);
- }
- //获取战区信息
- public function getWareaInfo(){
- $where=function($query){
- $query->whereIn('role_id',[23]);
- };
- $list=Admin::where($where)->where('status',1)->get();
- foreach($list as $key=>$val){
- $list[$key]->warea=Warea::where('admin_id',$val->id)->get();
- }
- return $this->success($list);
- }
- public function getAllWareaIds($commissar_id){
- return Warea::where('admin_id',$commissar_id)->where('status',0)->pluck('id');
- }
- //=======
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- //代理公司分配战区
- public function giveUserWarea(){
- $agent= DB::table('service_copy1')->get();
- DB::beginTransaction();
- $uuu=[];
- try {
- foreach ($agent as $key => $val) {
- $warea_id = Warea::where('name', $val->war_names)->value('id');
- User::where('mobile', $val->phone)->where('level', 3)->update(['warea_id' => $warea_id]);
- $user = User::where('mobile', $val->phone)->where('level', 3)->first();
- if(!$user){
- array_push($uuu,$val);
- }
- if($user){
- $one = User::where('agent_id', $user->id)->pluck('id');
- if (count($one)>0) {
- User::whereIn('id', $one)->update(['warea_id' => $warea_id]);
- foreach ($one as $k => $v) {
- $two = User::where('agent_id', $v)->pluck('id');
- if (count($two)>0) {
- User::whereIn('id', $two)->update(['warea_id' => $warea_id]);
- }
- }
- }
- }
- }
- DB::commit();
- return $this->success($uuu);
- // return $this->success([]);
- }catch (\Exception $e){
- DB::rollBack();
- return $this->error('400154','',$e->getMessage());
- }
- }
- }
|