123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388 |
- <?php
- namespace Modules\Service\Http\Controllers;
- use App\Models\Activity;
- use App\Models\ActivityLimit;
- use App\Models\Gifts;
- use App\Models\OrderGift;
- use App\Models\Ordertest;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Validator;
- use \Exception;
- use App\Handlers\UploadFilesHandler;
- class ActivityController extends Controller
- {
- //获取活动列表
- public function getActivityList(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=Activity::where('title', 'like', '%' . $search_name . '%')
- ->where($where)
- ->count();
- if($count==0){
- $this->error('400001','没有数据');
- }
- $list=Activity::where('title', 'like', '%' . $search_name . '%')
- ->with(['gift','activity_limit_honor'=>function($query){
- $query->where('type',1);
- }])
- ->where($where)
- ->orderBy('id','desc')
- ->skip($num)->take($page_size)
- ->get();
- if(empty($list)){
- return $this->error('400002','没有获取到数据');
- }
- return $this->success_list($list,'success',$count);
- }
- public function getActHonorInfo()
- {
- return $this->success(Activity::$honor);
- }
- public function getActLevelsInfo()
- {
- return $this->success(Activity::$levels);
- }
- //后台添加活动
- public function addActivity(Request $request){
- $input=$request->all();
- $rules=[
- 'title'=>'required',
- 'start_time'=>'required|date',
- 'end_time'=>'required|date',
- // 'big_gift'=>'required | numeric',
- // 'honor_wall'=>'required | numeric',
- // 'crown_down'=>'required | numeric',
- // 'top_down'=>'required | numeric',
- ];
- $message=[
- 'title.required'=>'活动名称不能为空.',
- 'start_time.required'=>'开始时间不能为空.',
- 'end_time.required'=>'结束时间不能为空.',
- 'start_time.date'=>'开始时间格式有误.',
- 'end_time.date'=>'结束时间格式有误.',
- // 'big_gift.required'=>'大礼包限额不能为空.',
- // 'honor_wall.required'=>'荣誉墙限额不能为空.',
- // 'big_gift.numeric'=>'大礼包限额格式有误.',
- // 'honor_wall.numeric'=>'荣誉墙限额格式有误.',
- //
- // 'crown_down.required'=>'代理公司降级门槛不能为空.',
- // 'top_down.required'=>'销售经理降级门槛不能为空.',
- // 'crown_down.numeric'=>'代理公司降级门槛格式有误.',
- // 'top_down.numeric'=>'销售经理降级门槛格式有误.',
- ];
- $validator = Validator::make($input,$rules,$message);
- if($validator->fails()){
- return $this->error('400013',$validator->errors()->first());
- }
- $data['title']=$input['title']; //标题
- $data['start_time']=$input['start_time']; //开始时间
- $data['end_time']=$input['end_time']; //结束时间
- // $data['big_gift']=$input['big_gift']; //大礼包
- // $data['honor_wall']=$input['honor_wall']; //荣誉墙
- $data['crown_down']=$input['crown_down']??0; //皇冠降级门槛
- // $data['top_down']=$input['top_down']??0; //顶级降级门槛
- $data['contents']=$input['contents'];
- //设置代理公司购买数量
- if($request->has('set_company_buy_num')){
- $data['set_company_buy_num']=$input['set_company_buy_num'];
- }
- $data['is_ing']=1;
- $data['disabled']='0';
- DB::beginTransaction();
- try{
- Activity::where('is_ing',1)->update(['is_ing'=>0]);
- $row=Activity::create($data);
- if(isset($input['gift']) && !empty($input['gift'])){
- foreach($input['gift'] as $key => $val){
- Gifts::create([
- 'img'=>$val['img'],
- 'name'=>$val['name'],
- 'activity_id'=>$row->id,
- 'num'=>$val['num'],
- 'limit_num'=>$val['limit_num'],
- ]);
- }
- }
- if(isset($input['honor']) && !empty($input['honor'])){
- foreach($input['honor'] as $key => $val){
- ActivityLimit::create([
- 'title'=>$val['title'],
- 'activity_id'=>$row->id,
- 'account'=>$val['account'],
- 'type'=>1,
- ]);
- }
- }
- Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加活动成功,id:'.$row->id);
- DB::commit();
- return $this->success([]);
- }catch(Exception $e){
- DB::rollback();
- return $this->error();
- }
- }
- //后台修改活动
- public function updateActivity(Request $request){
- $input=$request->all();
- $rules=[
- 'title'=>'required',
- 'start_time'=>'required',
- 'end_time'=>'required',
- // 'big_gift'=>'required | numeric',
- // 'honor_wall'=>'required | numeric',
- // 'crown_down'=>'required | numeric',
- // 'top_down'=>'required | numeric',
- ];
- $message=[
- 'title.required'=>'活动名称不能为空.',
- 'start_time.required'=>'开始时间不能为空.',
- 'end_time.required'=>'结束时间不能为空.',
- // 'big_gift.required'=>'大礼包限额不能为空.',
- // 'honor_wall.required'=>'荣誉墙限额不能为空.',
- // 'big_gift.numeric'=>'大礼包限额格式有误.',
- // 'honor_wall.numeric'=>'荣誉墙限额格式有误.',
- //
- // 'crown_down.required'=>'代理公司降级门槛不能为空.',
- // 'top_down.required'=>'销售经理降级门槛不能为空.',
- // 'crown_down.numeric'=>'代理公司降级门槛格式有误.',
- // 'top_down.numeric'=>'销售经理降级门槛格式有误.',
- ];
- $validator = Validator::make($input,$rules,$message);
- if($validator->fails()){
- return $this->error('400013',$validator->errors()->first());
- }
- $data['title']=$input['title']; //标题
- $data['start_time']=$input['start_time']; //开始时间
- $data['end_time']=$input['end_time']; //结束时间
- // $data['big_gift']=$input['big_gift']; //大礼包
- // $data['honor_wall']=$input['honor_wall']; //荣誉墙
- $data['crown_down']=$input['crown_down']??0; //皇冠降级门槛
- // $data['top_down']=$input['top_down']??0; //顶级降级门槛
- $data['contents']=$input['contents'];
- //设置代理公司购买数量
- if($request->has('set_company_buy_num')){
- $data['set_company_buy_num']=$input['set_company_buy_num'];
- }
- $data['activity_info']=json_encode(
- [
- ['level'=>2,'name'=>'大礼包A','money'=>'20000.00','remark'=>''],
- ['level'=>3,'name'=>'大礼包B','money'=>'100000.00','remark'=>''],
- ['level'=>3,'name'=>'大礼包C','money'=>'300000.00','remark'=>''],
- ]
- );
- $row=Activity::where('id',$input['id'])->update($data);
- if($row){
- if($input['new_gift']){
- foreach($input['new_gift'] as $key => $val){
- Gifts::create([
- 'img'=>$val['img'],
- 'name'=>$val['name'],
- 'activity_id'=>$input['id'],
- 'num'=>$val['num'],
- 'limit_num'=>$val['limit_num'],
- ]);
- }
- }
- if($input['old_gift']){
- foreach($input['old_gift'] as $key =>$val){
- Gifts::where('id',$val['id'])->update([
- 'img'=>$val['img'],
- 'name'=>$val['name'],
- 'activity_id'=>$input['id'],
- 'num'=>$val['num'],
- 'limit_num'=>$val['limit_num'],
- ]);
- }
- }
- if($input['del_i']){
- Gifts::whereIn('id',$input['del_i'])->delete();
- }
- if($input['new_honor']){
- foreach($input['new_honor'] as $key => $val){
- ActivityLimit::create([
- 'title'=>$val['title'],
- 'activity_id'=>$input['id'],
- 'account'=>$val['account'],
- 'type'=>1,
- ]);
- }
- }
- if($input['old_honor']){
- foreach($input['old_honor'] as $key =>$val){
- ActivityLimit::where('id',$val['id'])->update([
- 'title'=>$val['title'],
- 'activity_id'=>$input['id'],
- 'account'=>$val['account'],
- ]);
- }
- }
- if($input['del_i_honor']){
- ActivityLimit::whereIn('id',$input['del_i_honor'])->delete();
- }
- Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改活动成功,id:'.$input['id']);
- return $this->success([]);
- }
- return $this->error();
- }
- //禁用启用
- public function disabledActivity(Request $request){
- $activity=Activity::find($request->post('id'));
- $activity->disabled=($activity->disabled==0)?'1':'0';
- $status=($activity->disabled==0)?'启用':'禁用';
- $row=$activity->save();
- if($row){
- Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')'.$status.'活动'.$activity->title.'(id='.$activity->id.')成功');
- return $this->success([]);
- }
- return $this->error();
- }
- //禁用启用
- //<<<<<<< HEAD
- // public function destoryActivity(Request $request){
- // $activity=Activity::find($request->post('id'));
- // $row=$activity->delete();
- // if($row){
- // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除活动'.$activity->title.'(id='.$activity->id.')成功');
- // return $this->success([]);
- // }
- // return $this->error();
- // }
- //获取活动列表
- public function getActivityInfo()
- {
- return [];
- $list = Activity::where('disabled', 0)->get();
- if ($list) {
- return $this->success($list);
- }
- return $this->error();
- }
- //=======
- public function destoryActivity(Request $request){
- $activity=Activity::find($request->post('id'));
- $row=$activity->delete();
- if($row){
- Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除活动'.$activity->title.'(id='.$activity->id.')成功');
- return $this->success([]);
- }
- return $this->error();
- //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
- }
- //上传图片
- public function uploadPictureImage(Request $request){
- $input=$request->all();
- //轮播图 //授权书 //商品相册 //社区相册
- switch ($input['type']){
- case 1: // 轮播图
- $path_url='activity/banner';
- break;
- case 2: // 授权书
- $path_url='activity/shouquanshu';
- break;
- case 3: // 商品相册
- $path_url='activity/goods';
- break;
- case 4: // 社区相册
- $path_url='activity/article';
- break;
- default:
- $path_url='activity/default';
- }
- $file= $request->file('file');
- $upload= new UploadFilesHandler();
- $result= $upload->save($file, $path_url, null, 'image');
- if($result){
- return $this->success($result['path']);
- }
- return $this->error();
- // $input=$request->all();
- // //轮播图 //授权书 //商品相册 //社区相册
- // switch ($input['type']){
- // case 1: // 轮播图
- // $path_url='public/banner';
- // break;
- // case 2: // 授权书
- // $path_url='public/shouquanshu';
- // break;
- // case 3: // 商品相册
- // $path_url='public/goods';
- // break;
- // case 4: // 社区相册
- // $path_url='public/article';
- // break;
- // }
- // $path = $request->file('file')->store($path_url);
- // $url = Storage::url($path);
- // if($url){
- // return $this->success($url);
- // }
- // return $this->error();
- }
- //上传图片
- public function uploadGiftImage(Request $request){
- $file= $request->file('file');
- $path_url='activity/gift';
- $upload= new UploadFilesHandler();
- $result= $upload->save($file, $path_url, null, 'image');
- if($result){
- return $this->success($result['path']);
- }
- return $this->error();
- // $input=$request->all();
- // $path_url='public/gift';
- // $path = $request->file('file')->store($path_url);
- // $url = Storage::url($path);
- // if($url){
- // return $this->success($url);
- // }
- // return $this->error();
- }
- /*
- * 活动奖品数量
- * **/
- public function GetActivityGift(Request $request){
- $input=$request->all();
- $activity_id=$input['activity_id'];
- $activity=Activity::find($activity_id);
- $gift_list=Gifts::where('activity_id',$activity_id)->groupBy('name')->orderBy('id')->get();
- $order_ids=Ordertest::whereBetween('created_at',[$activity->start_time,$activity->end_time])->where('is_deleted',0)->pluck('id');
- $data=[];
- foreach ($gift_list as $k=>$v){
- $data[$k]['name']=$v->name;
- $data[$k]['num']=OrderGift::whereIn('order_id',$order_ids)->where('gift_id',$v->id)->sum('num');
- }
- return $this->success($data);
- }
- }
|