ActivityController.php 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Activity;
  4. use App\Models\Goods;
  5. use App\Models\Gifts;
  6. use App\Models\User;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\DB;
  9. use Illuminate\Support\Facades\Log;
  10. use Illuminate\Support\Facades\Auth;
  11. use Illuminate\Support\Facades\Storage;
  12. use Illuminate\Support\Facades\Validator;
  13. use \Exception;
  14. class ActivityController extends Controller
  15. {
  16. //获取活动列表
  17. public function getActivityList(Request $request){
  18. $input=$request->all();
  19. $page_size=$input['page_size'];
  20. $page_index=$input['page_index'];
  21. $num = ($page_index - 1) * $page_size;
  22. $search_name=$input['search_name'];
  23. $where=[];
  24. $count=Activity::where('title', 'like', '%' . $search_name . '%')
  25. ->where($where)
  26. ->count();
  27. if($count==0){
  28. $this->error('400001','没有数据');
  29. }
  30. $list=Activity::where('title', 'like', '%' . $search_name . '%')
  31. ->with('gift')
  32. ->where($where)
  33. ->orderBy('id','desc')
  34. ->skip($num)->take($page_size)
  35. ->get();
  36. if(empty($list)){
  37. return $this->error('400002','没有获取到数据');
  38. }
  39. return $this->success_list($list,'success',$count);
  40. }
  41. //后台添加活动
  42. public function addActivity(Request $request){
  43. $input=$request->all();
  44. $rules=[
  45. 'title'=>'required',
  46. 'start_time'=>'required|date',
  47. 'end_time'=>'required|date',
  48. // 'big_gift'=>'required | numeric',
  49. // 'honor_wall'=>'required | numeric',
  50. // 'crown_down'=>'required | numeric',
  51. // 'top_down'=>'required | numeric',
  52. ];
  53. $message=[
  54. 'title.required'=>'活动名称不能为空.',
  55. 'start_time.required'=>'开始时间不能为空.',
  56. 'end_time.required'=>'结束时间不能为空.',
  57. 'start_time.date'=>'开始时间格式有误.',
  58. 'end_time.date'=>'结束时间格式有误.',
  59. // 'big_gift.required'=>'大礼包限额不能为空.',
  60. // 'honor_wall.required'=>'荣誉墙限额不能为空.',
  61. // 'big_gift.numeric'=>'大礼包限额格式有误.',
  62. // 'honor_wall.numeric'=>'荣誉墙限额格式有误.',
  63. //
  64. // 'crown_down.required'=>'代理公司降级门槛不能为空.',
  65. // 'top_down.required'=>'销售经理降级门槛不能为空.',
  66. // 'crown_down.numeric'=>'代理公司降级门槛格式有误.',
  67. // 'top_down.numeric'=>'销售经理降级门槛格式有误.',
  68. ];
  69. $validator = Validator::make($input,$rules,$message);
  70. if($validator->fails()){
  71. return $this->error('400013',$validator->errors()->first());
  72. }
  73. $data['title']=$input['title']; //标题
  74. $data['start_time']=$input['start_time']; //开始时间
  75. $data['end_time']=$input['end_time']; //结束时间
  76. $data['big_gift']=$input['big_gift']; //大礼包
  77. $data['honor_wall']=$input['honor_wall']; //荣誉墙
  78. $data['crown_down']=$input['crown_down']??0; //皇冠降级门槛
  79. $data['top_down']=$input['top_down']??0; //顶级降级门槛
  80. $data['contents']=$input['contents'];
  81. $data['is_ing']=1;
  82. $data['disabled']='0';
  83. DB::beginTransaction();
  84. try{
  85. Activity::where('is_ing',1)->update(['is_ing'=>0]);
  86. $row=Activity::create($data);
  87. if($input['gift']){
  88. foreach($input['gift'] as $key => $val){
  89. Gifts::create([
  90. 'img'=>$val['img'],
  91. 'name'=>$val['name'],
  92. 'activity_id'=>$row->id,
  93. 'num'=>$val['num'],
  94. ]);
  95. }
  96. }
  97. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加活动成功,id:'.$row->id);
  98. DB::commit();
  99. return $this->success([]);
  100. }catch(Exception $e){
  101. DB::rollback();
  102. return $this->error();
  103. }
  104. }
  105. //后台修改活动
  106. public function updateActivity(Request $request){
  107. $input=$request->all();
  108. $rules=[
  109. 'title'=>'required',
  110. 'start_time'=>'required',
  111. 'end_time'=>'required',
  112. // 'big_gift'=>'required | numeric',
  113. // 'honor_wall'=>'required | numeric',
  114. // 'crown_down'=>'required | numeric',
  115. // 'top_down'=>'required | numeric',
  116. ];
  117. $message=[
  118. 'title.required'=>'活动名称不能为空.',
  119. 'start_time.required'=>'开始时间不能为空.',
  120. 'end_time.required'=>'结束时间不能为空.',
  121. // 'big_gift.required'=>'大礼包限额不能为空.',
  122. // 'honor_wall.required'=>'荣誉墙限额不能为空.',
  123. // 'big_gift.numeric'=>'大礼包限额格式有误.',
  124. // 'honor_wall.numeric'=>'荣誉墙限额格式有误.',
  125. //
  126. // 'crown_down.required'=>'代理公司降级门槛不能为空.',
  127. // 'top_down.required'=>'销售经理降级门槛不能为空.',
  128. // 'crown_down.numeric'=>'代理公司降级门槛格式有误.',
  129. // 'top_down.numeric'=>'销售经理降级门槛格式有误.',
  130. ];
  131. $validator = Validator::make($input,$rules,$message);
  132. if($validator->fails()){
  133. return $this->error('400013',$validator->errors()->first());
  134. }
  135. $data['title']=$input['title']; //标题
  136. $data['start_time']=$input['start_time']; //开始时间
  137. $data['end_time']=$input['end_time']; //结束时间
  138. $data['big_gift']=$input['big_gift']; //大礼包
  139. $data['honor_wall']=$input['honor_wall']; //荣誉墙
  140. $data['crown_down']=$input['crown_down']??0; //皇冠降级门槛
  141. $data['top_down']=$input['top_down']??0; //顶级降级门槛
  142. $data['contents']=$input['contents'];
  143. $row=Activity::where('id',$input['id'])->update($data);
  144. if($row){
  145. if($input['new_gift']){
  146. foreach($input['new_gift'] as $key => $val){
  147. Gifts::create([
  148. 'img'=>$val['img'],
  149. 'name'=>$val['name'],
  150. 'activity_id'=>$input['id'],
  151. 'num'=>$val['num'],
  152. ]);
  153. }
  154. }
  155. if($input['old_gift']){
  156. foreach($input['old_gift'] as $key =>$val){
  157. Gifts::where('id',$val['id'])->update([
  158. 'img'=>$val['img'],
  159. 'name'=>$val['name'],
  160. 'activity_id'=>$input['id'],
  161. 'num'=>$val['num'],
  162. ]);
  163. }
  164. }
  165. if($input['del_i']){
  166. Gifts::whereIn('id',$input['del_i'])->delete();
  167. }
  168. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改活动成功,id:'.$input['id']);
  169. return $this->success([]);
  170. }
  171. return $this->error();
  172. }
  173. //禁用启用
  174. public function disabledActivity(Request $request){
  175. $activity=Activity::find($request->post('id'));
  176. $activity->disabled=($activity->disabled==0)?'1':'0';
  177. $status=($activity->disabled==0)?'启用':'禁用';
  178. $row=$activity->save();
  179. if($row){
  180. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')'.$status.'活动'.$activity->title.'(id='.$activity->id.')成功');
  181. return $this->success([]);
  182. }
  183. return $this->error();
  184. }
  185. //禁用启用
  186. //<<<<<<< HEAD
  187. // public function destoryActivity(Request $request){
  188. // $activity=Activity::find($request->post('id'));
  189. // $row=$activity->delete();
  190. // if($row){
  191. // Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除活动'.$activity->title.'(id='.$activity->id.')成功');
  192. // return $this->success([]);
  193. // }
  194. // return $this->error();
  195. // }
  196. //获取活动列表
  197. public function getActivityInfo()
  198. {
  199. $list = Activity::where('disabled', 0)->get();
  200. if ($list) {
  201. return $this->success($list);
  202. }
  203. return $this->error();
  204. }
  205. //=======
  206. public function destoryActivity(Request $request){
  207. $activity=Activity::find($request->post('id'));
  208. $row=$activity->delete();
  209. if($row){
  210. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除活动'.$activity->title.'(id='.$activity->id.')成功');
  211. return $this->success([]);
  212. }
  213. return $this->error();
  214. //>>>>>>> 9aa477479386789a8615d89285e74706ec72fbab
  215. }
  216. //上传图片
  217. public function uploadPictureImage(Request $request){
  218. $input=$request->all();
  219. //轮播图 //授权书 //商品相册 //社区相册
  220. switch ($input['type']){
  221. case 1: // 轮播图
  222. $path_url='public/banner';
  223. break;
  224. case 2: // 授权书
  225. $path_url='public/shouquanshu';
  226. break;
  227. case 3: // 商品相册
  228. $path_url='public/goods';
  229. break;
  230. case 4: // 社区相册
  231. $path_url='public/article';
  232. break;
  233. }
  234. $path = $request->file('file')->store($path_url);
  235. $url = Storage::url($path);
  236. if($url){
  237. return $this->success($url);
  238. }
  239. return $this->error();
  240. }
  241. //上传图片
  242. public function uploadGiftImage(Request $request){
  243. $input=$request->all();
  244. $path_url='public/gift';
  245. $path = $request->file('file')->store($path_url);
  246. $url = Storage::url($path);
  247. if($url){
  248. return $this->success($url);
  249. }
  250. return $this->error();
  251. }
  252. }