ActivityImgController.php 64 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Handlers\ImageDealHandler;
  4. use App\Handlers\UploadFilesHandler;
  5. use App\Models\Activity;
  6. use App\Models\ActivityLimit;
  7. use App\Models\GiftUserImg;
  8. use App\Models\ListTag;
  9. use App\Models\OrderDetail;
  10. use App\Models\Order;
  11. use App\Models\User;
  12. use App\Models\Warea;
  13. use Illuminate\Http\Request;
  14. use Illuminate\Support\Facades\Auth;
  15. use Illuminate\Support\Facades\Crypt;
  16. use Illuminate\Support\Facades\DB;
  17. use Illuminate\Support\Facades\File;
  18. use Illuminate\Support\Facades\Log;
  19. use Illuminate\Support\Facades\Storage;
  20. use Intervention\Image\Facades\Image;
  21. use Illuminate\Support\Str;
  22. class ActivityImgController extends Controller
  23. {
  24. public function GetUserList(Request $request){
  25. $info=$request->all();
  26. $page_index=$info['page_index'];
  27. $page_size=$info['page_size'];
  28. $search_name=$info['search_name'];
  29. $activity_id=$info['activity_id'];
  30. $re=GiftUserImg::where('img_type',1)->where('type',0)->where('activity_id',$activity_id);
  31. if ($search_name){
  32. $uid=User::where('mobile','like',"%$search_name%")->orwhere('nickname','like',"%$search_name%")->pluck('id');
  33. $re->whereIn('user_id',$uid);
  34. }
  35. $auth_id=Auth::user()->role_id;
  36. if ($auth_id==23){
  37. // $id=Warea::where('admin_id',Auth::user()->id)->value('id');
  38. // $ids=User::where('warea_id',$id)->pluck('id');
  39. // $re->whereIn('user_id',$ids);
  40. $re->where('op_name',Auth::user()->name);
  41. }
  42. $count=$re->count();
  43. $data=$re->with(['user'=>function($q){
  44. $q->select('id','nickname','remark_name','mobile','level','warea_id')->with(['warea']);
  45. }])->orderByDesc('id')->take($page_size)->skip(($page_index-1)*$page_size)->get();
  46. $datas=[];
  47. foreach ($data as $k=>$v){
  48. $v->up_name='';
  49. $v->up_phone='';
  50. $datas[$k]=$v;
  51. }
  52. return $this->success_list($datas,'',$count);
  53. }
  54. public function GetUserList_b(Request $request){
  55. $info=$request->all();
  56. $page_index=$info['page_index'];
  57. $page_size=$info['page_size'];
  58. $search_name=$info['search_name'];
  59. $activity_id=$info['activity_id'];
  60. $re=GiftUserImg::where('img_type',1)->where('type',2)->where('activity_id',$activity_id);
  61. if ($search_name){
  62. $uid=User::where('mobile','like',"%$search_name%")->orwhere('nickname','like',"%$search_name%")->pluck('id');
  63. $re->whereIn('user_id',$uid);
  64. }
  65. $auth_id=Auth::user()->role_id;
  66. if ($auth_id==23){
  67. $id=Warea::where('admin_id',Auth::user()->id)->value('id');
  68. $ids=User::where('warea_id',$id)->pluck('id');
  69. $re->whereIn('user_id',$ids);
  70. }
  71. $count=$re->count();
  72. $data=$re->with(['user'=>function($q){
  73. $q->select('id','nickname','remark_name','headimgurl','mobile','level','warea_id')->with(['warea']);
  74. }])->orderByDesc('id')->take($page_size)->skip(($page_index-1)*$page_size)->get();
  75. $datas=[];
  76. foreach ($data as $k=>$v){
  77. $v->up_name='';
  78. $v->up_phone='';
  79. $datas[$k]=$v;
  80. }
  81. return $this->success_list($datas,'',$count);
  82. }
  83. public function GetImgStatus(Request $request){
  84. $activity_id=$request->activity_id;
  85. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',1)->where('img_type',0)->first();
  86. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',0)->where('img_type',0)->first();
  87. if (!$res || !$re){
  88. return $this->success(['status'=>false]);
  89. }
  90. return $this->success(['status'=>true,'main_img'=>$re->url,'img'=>$res->url]);
  91. }
  92. public function GetImgStatus_b(Request $request){
  93. $activity_id=$request->activity_id;
  94. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',2)->where('is_main',1)->where('img_type',0)->first();
  95. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',2)->where('is_main',0)->where('img_type',0)->first();
  96. if (!$res || !$re){
  97. return $this->success(['status'=>false]);
  98. }
  99. return $this->success(['status'=>true,'main_img'=>$re->url,'img'=>$res->url]);
  100. }
  101. public function GetImgStatusB(Request $request){
  102. $activity_id=$request->activity_id;
  103. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',1)->where('is_main',1)->where('img_type',0)->first();
  104. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',1)->where('is_main',0)->where('img_type',0)->first();
  105. if (!$res || !$re){
  106. return $this->success(['status'=>false]);
  107. }
  108. return $this->success(['status'=>true,'main_img'=>$re->url,'img'=>$res->url,'img_info'=>$re->img_info]);
  109. }
  110. public function GetImgStatusB_d(Request $request){
  111. $activity_id=$request->activity_id;
  112. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',3)->where('is_main',1)->where('img_type',0)->first();
  113. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',3)->where('is_main',0)->where('img_type',0)->first();
  114. if (!$res || !$re){
  115. return $this->success(['status'=>false]);
  116. }
  117. return $this->success(['status'=>true,'main_img'=>$re->url,'img'=>$res->url,'img_info'=>$re->img_info]);
  118. }
  119. public function GetImgStatusB_e(Request $request){
  120. $activity_id=$request->activity_id;
  121. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',4)->where('is_main',1)->where('img_type',0)->first();
  122. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',4)->where('is_main',0)->where('img_type',0)->first();
  123. if (!$res || !$re){
  124. return $this->success(['status'=>false]);
  125. }
  126. return $this->success(['status'=>true,'main_img'=>$re->url,'img'=>$res->url,'img_info'=>$re->img_info]);
  127. }
  128. //上传图片
  129. public function uploadImage(Request $request){
  130. $file= $request->file('file');
  131. $path_url='activity_img/user_img';
  132. $upload= new UploadFilesHandler();
  133. $result= $upload->save($file, $path_url, null, 'image');
  134. if($result){
  135. return $this->success($result['path']);
  136. }
  137. return $this->error();
  138. // $path = $request->file('file')->store('/public/userImg');
  139. // $url = Storage::url($path);
  140. // if($url){
  141. // return $this->success($url);
  142. // }
  143. // return $this->error();
  144. }
  145. public function AddUpdateImg(Request $request){
  146. $auth_id=Auth::user()->role_id;
  147. if ($auth_id==23){
  148. return $this->error(50214,'你没有权限');
  149. }
  150. $main_img=$request->main_url;
  151. $img=$request->input('url');
  152. $activity_id=$request->activity_id;
  153. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',1)->where('img_type',0)->first();
  154. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',0)->where('img_type',0)->first();
  155. if (!$re){
  156. $re=new GiftUserImg();
  157. $re->type=0;
  158. $re->is_main=1;
  159. $re->img_type=0;
  160. $re->url=$main_img;
  161. $re->activity_id=$activity_id;
  162. $re->save();
  163. }else{
  164. $re->url=$main_img;
  165. $re->save();
  166. }
  167. if (!$res){
  168. $res=new GiftUserImg();
  169. $res->type=0;
  170. $res->is_main=0;
  171. $res->img_type=0;
  172. $res->url=$img;
  173. $res->activity_id=$activity_id;
  174. $res->save();
  175. }else{
  176. $res->url=$img;
  177. $res->save();
  178. }
  179. return $this->success([]);
  180. }
  181. public function AddUpdateImg_b(Request $request){
  182. $auth_id=Auth::user()->role_id;
  183. if ($auth_id==23){
  184. return $this->error(50214,'你没有权限');
  185. }
  186. $main_img=$request->main_url;
  187. $img=$request->input('url');
  188. $activity_id=$request->activity_id;
  189. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',2)->where('is_main',1)->where('img_type',0)->first();
  190. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',2)->where('is_main',0)->where('img_type',0)->first();
  191. if (!$re){
  192. $re=new GiftUserImg();
  193. $re->type=2;
  194. $re->is_main=1;
  195. $re->img_type=0;
  196. $re->url=$main_img;
  197. $re->activity_id=$activity_id;
  198. $re->save();
  199. }else{
  200. $re->url=$main_img;
  201. $re->save();
  202. }
  203. if (!$res){
  204. $res=new GiftUserImg();
  205. $res->type=2;
  206. $res->is_main=0;
  207. $res->img_type=0;
  208. $res->url=$img;
  209. $res->activity_id=$activity_id;
  210. $res->save();
  211. }else{
  212. $res->url=$img;
  213. $res->save();
  214. }
  215. return $this->success([]);
  216. }
  217. public function AddUpdateImgB(Request $request){
  218. $main_img=$request->main_url;
  219. $img=$request->input('url');
  220. $activity_id=$request->activity_id;
  221. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',1)->where('is_main',1)->where('img_type',0)->first();
  222. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',1)->where('is_main',0)->where('img_type',0)->first();
  223. $img_info=[
  224. 'height'=>$request->input('height'),
  225. 'color'=>$request->input('color'),
  226. 'size'=>$request->input('size'),
  227. 'left_len'=>$request->input('left_len'),
  228. ];
  229. if (!$re){
  230. $re=new GiftUserImg();
  231. $re->type=1;
  232. $re->is_main=1;
  233. $re->img_type=0;
  234. $re->url=$main_img;
  235. $re->img_info=json_encode($img_info);
  236. $re->activity_id=$activity_id;
  237. $re->save();
  238. }else{
  239. $re->url=$main_img;
  240. $re->img_info=json_encode($img_info);
  241. $re->save();
  242. }
  243. if (!$res){
  244. $res=new GiftUserImg();
  245. $res->type=1;
  246. $res->is_main=0;
  247. $res->img_type=0;
  248. $res->url=$img;
  249. $res->activity_id=$activity_id;
  250. $res->save();
  251. }else{
  252. $res->url=$img;
  253. $res->save();
  254. }
  255. return $this->success([]);
  256. }
  257. public function AddUpdateImgB_d(Request $request){
  258. $main_img=$request->main_url;
  259. $img=$request->input('url');
  260. $activity_id=$request->activity_id;
  261. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',3)->where('is_main',1)->where('img_type',0)->first();
  262. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',3)->where('is_main',0)->where('img_type',0)->first();
  263. $img_info=[
  264. 'height'=>$request->input('height'),
  265. 'color'=>$request->input('color'),
  266. 'size'=>$request->input('size'),
  267. 'left_len'=>$request->input('left_len'),
  268. ];
  269. if (!$re){
  270. $re=new GiftUserImg();
  271. $re->type=3;
  272. $re->is_main=1;
  273. $re->img_type=0;
  274. $re->url=$main_img;
  275. $re->img_info=json_encode($img_info);
  276. $re->activity_id=$activity_id;
  277. $re->save();
  278. }else{
  279. $re->url=$main_img;
  280. $re->img_info=json_encode($img_info);
  281. $re->save();
  282. }
  283. if (!$res){
  284. $res=new GiftUserImg();
  285. $res->type=3;
  286. $res->is_main=0;
  287. $res->img_type=0;
  288. $res->url=$img;
  289. $res->activity_id=$activity_id;
  290. $res->save();
  291. }else{
  292. $res->url=$img;
  293. $res->save();
  294. }
  295. return $this->success([]);
  296. }
  297. public function AddUpdateImgB_e(Request $request){
  298. $main_img=$request->main_url;
  299. $img=$request->input('url');
  300. $activity_id=$request->activity_id;
  301. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',4)->where('is_main',1)->where('img_type',0)->first();
  302. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',4)->where('is_main',0)->where('img_type',0)->first();
  303. $img_info=[
  304. 'height'=>$request->input('height'),
  305. 'color'=>$request->input('color'),
  306. 'size'=>$request->input('size'),
  307. 'left_len'=>$request->input('left_len'),
  308. ];
  309. if (!$re){
  310. $re=new GiftUserImg();
  311. $re->type=4;
  312. $re->is_main=1;
  313. $re->img_type=0;
  314. $re->url=$main_img;
  315. $re->img_info=json_encode($img_info);
  316. $re->activity_id=$activity_id;
  317. $re->save();
  318. }else{
  319. $re->url=$main_img;
  320. $re->img_info=json_encode($img_info);
  321. $re->save();
  322. }
  323. if (!$res){
  324. $res=new GiftUserImg();
  325. $res->type=4;
  326. $res->is_main=0;
  327. $res->img_type=0;
  328. $res->url=$img;
  329. $res->activity_id=$activity_id;
  330. $res->save();
  331. }else{
  332. $res->url=$img;
  333. $res->save();
  334. }
  335. return $this->success([]);
  336. }
  337. public function GetUserInfo(Request $request){
  338. $order_num=$request->input('mobile');
  339. $activity_id=$request->input('activity_id',6);
  340. $activity_id=Activity::where('is_ing',1)->value('id');
  341. $activity=Activity::find($activity_id);
  342. // $order=Order::where('order_num',$order_num)->first();
  343. // if (!$order){
  344. // return $this->error(500214,'不存在该订单,请核实');
  345. // }
  346. // if ($order->is_deleted==1){
  347. // return $this->error(500214,'该订单已删除,请核实');
  348. // }
  349. // $re=GiftUserImg::where('o_id',$order->id)->where('type',0)->where('activity_id',$activity_id)->first();
  350. // if ($re){
  351. // return $this->error(500214,'该订单已经登记,请核实');
  352. // }
  353. // $user=User::find($order->good_user_id);
  354. // $user=User::where('mobile',$request->input('mobile'))->first();
  355. // if (!$user){
  356. // return $this->error(500214,'不存在该用户,请核实');
  357. // }
  358. if (!is_numeric(mb_substr($order_num,0,1))){
  359. $order=Order::where('order_num',$order_num)->first();
  360. if (!$order){
  361. return $this->error(500214,'不存在该订单,请核实');
  362. }
  363. $user=User::where('id',$order->good_user_id)->first();
  364. $data['nickname']=$user->remark_name;
  365. $data['user_id']=$user->id;
  366. $data['url']='';
  367. $data['mobile']='';
  368. // $data['mobile']=$request->mobile;
  369. $res=Order::where('order.is_deleted',0)
  370. ->whereBetween('order.created_at',[$activity->start_time,$activity->end_time])
  371. ->where('order.order_num',$order_num)
  372. // ->where('order.good_user_id',$user->id)
  373. ->join('address','address.id','order.address_id')
  374. ->select('order_num','order.id as ids','address.*')->get();
  375. }else{
  376. $user=User::where('mobile',$request->input('mobile'))->first();
  377. if (!$user){
  378. return $this->error(500214,'不存在该用户,请核实');
  379. }
  380. $data['nickname']=$user->remark_name;
  381. $data['user_id']=$user->id;
  382. $data['url']='';
  383. // $data['mobile']='';
  384. $data['mobile']=$request->mobile;
  385. $res=Order::where('order.is_deleted',0)
  386. ->whereBetween('order.created_at',[$activity->start_time,$activity->end_time])
  387. // ->where('order.order_num',$order_num)
  388. ->where('order.good_user_id',$user->id)
  389. ->join('address','address.id','order.address_id')
  390. ->select('order_num','order.id as ids','address.*')->get();
  391. }
  392. // $res=Order::where('order.is_deleted',0)
  393. // ->whereBetween('order.created_at',[$activity->start_time,$activity->end_time])
  394. // ->where('order.id',$order->id)
  395. // ->join('address','address.id','order.address_id')
  396. //// ->with(['get_order_detail:order_id,goods_unit,num'])
  397. // ->select('order_num','order.id as ids','address.*')->get();
  398. Log::error($res);
  399. $add=[];
  400. foreach ($res as $k=>$v){
  401. $mon=0;
  402. $get_order_detail=OrderDetail::where('order_id',$v->ids)->get();
  403. foreach ($get_order_detail as $ke=>$va){
  404. if ($va->goods_unit=='盒'){
  405. $mon+=$va->num*219;
  406. }else{
  407. $mon+=$va->num*119*4;
  408. }
  409. }
  410. if ($mon>=10000){
  411. $add[]=$v;
  412. // return $this->error(50014,'金额不满足1W',$v);
  413. }
  414. // $res[$k]->mobile=Crypt::decryptString($v->mobile_code);
  415. // $res[$k]->address=Crypt::decryptString($v->address_code);
  416. }
  417. if (count($add)==0){
  418. return $this->error(50014,'金额不满足1W');
  419. }
  420. $data['order_info']=$res;
  421. return $this->success($data);
  422. }
  423. public function GetUserInfo_b(Request $request){
  424. // $user=User::where('mobile',$request->mobile)->first();
  425. $mobiles=mb_substr($request->mobile,0,3).'****'.mb_substr($request->mobile,'-4');
  426. $users=User::where('mobile',$mobiles)->get();
  427. $user=[];
  428. foreach ($users as $k=>$v){
  429. try {
  430. $m=Crypt::decryptString($v->uuid);
  431. if ($m==$request->mobile){
  432. $user=User::find($v->id);
  433. }
  434. }catch (\Exception $exception){
  435. }
  436. }
  437. $activity_id=$request->input('activity_id',6);
  438. $activity=Activity::find($activity_id);
  439. if (!$user){
  440. return $this->error(500214,'系统中不存在这个手机号');
  441. }
  442. $activity_id=Activity::where('is_ing',1)->value('id');
  443. $users=GiftUserImg::where('user_id',$user->id)->where('type',2)->where('activity_id',$activity_id)->first();
  444. if ($users){
  445. return $this->error(563214,'该用户已经存在!');
  446. }
  447. if ($user->level!=2){
  448. return $this->error(50214,'只有经销商能获得A礼包');
  449. }
  450. $data['nickname']=$user->remark_name;
  451. $data['user_id']=$user->id;
  452. $data['url']='';
  453. $data['mobile']=$request->mobile;
  454. $re=GiftUserImg::where('user_id',$user->id)->where('type',2)->where('img_type',0)->orderByDesc('id')->limit(1)->first();
  455. if ($re){
  456. $data['url']=$re->user_img;
  457. }
  458. // $res=Order::where('order.is_deleted',0)
  459. // ->whereBetween('order.created_at',[$activity->start_time,$activity->end_time])
  460. // ->where('order.good_user_id',$user->id)
  461. // ->join('address','address.id','order.address_id')
  462. // ->select('order_num','address.*')->get();
  463. $res=Order::where('order.is_deleted',0)
  464. ->whereBetween('order.created_at',[$activity->start_time,$activity->end_time])
  465. ->where('order.good_user_id',$user->id)
  466. ->join('address','address.id','order.address_id')
  467. // ->with(['get_order_detail:order_id,goods_unit,num'])
  468. ->select('order_num','order.id as ids','address.*')->get();
  469. Log::error($res);
  470. foreach ($res as $k=>$v){
  471. $mon=0;
  472. $get_order_detail=OrderDetail::where('order_id',$v->ids)->get();
  473. foreach ($get_order_detail as $ke=>$va){
  474. if ($va->goods_unit=='套'){
  475. $mon+=$va->num*219;
  476. }else{
  477. $mon+=$va->num*119*4;
  478. }
  479. }
  480. if ($mon<20000){
  481. return $this->error(50014,'金额不满足2W',$res);
  482. }
  483. $res[$k]->mobile=Crypt::decryptString($v->mobile_code);
  484. $res[$k]->address=Crypt::decryptString($v->address_code);
  485. }
  486. $data['order_info']=$res;
  487. return $this->success($data);
  488. }
  489. public function GetUserInfos(Request $request){
  490. $activity_id=$request->input('activity_id',15);
  491. $activity=Activity::find($activity_id);
  492. $user_id=$request->input('user_id');
  493. $res=Order::where('order.is_deleted',0)
  494. ->whereBetween('order.created_at',[$activity->start_time,$activity->end_time])
  495. ->where('order.good_user_id',$user_id)
  496. ->join('address','address.id','order.address_id')
  497. ->with(['get_order_detail:order_id,goods_unit,num'])
  498. ->select('order_num','address.*')->get();
  499. // foreach ($res as $k=>$v){
  500. // $res[$k]->mobile=Crypt::decryptString($v->mobile_code);
  501. // $res[$k]->address=Crypt::decryptString($v->address_code);
  502. // }
  503. $data['order_info']=$res;
  504. return $this->success($data);
  505. }
  506. public function AddUserImgInfo(Request $request){
  507. $info=$request->all();
  508. $user_id=$info['user_id'];
  509. $user_img=$info['user_img'];
  510. $activity_id=$info['activity_id'];
  511. $nickname=$info['nickname'];
  512. $pro=$request->input('province');
  513. $city=$request->input('city');
  514. $area=$request->input('area');
  515. $address=$request->input('address');
  516. $phone=$request->input('phone');
  517. $name=$request->input('car_name');
  518. // if ($user_id){
  519. // $user=GiftUserImg::where('user_id',$user_id)->where('activity_id',$activity_id)->first();
  520. // if ($user){
  521. // return $this->error(563214,'该用户已经存在!');
  522. // }
  523. // }else{
  524. // $users=User::where('mobile',$phone)->first();
  525. // $user_id=$users->id;
  526. // $user=GiftUserImg::where('user_id',$users->id)->where('activity_id',$activity_id)->first();
  527. // if ($user){
  528. // return $this->error(563214,'该用户已经存在!');
  529. // }
  530. // }
  531. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',1)->where('img_type',0)->first();
  532. $img=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',0)->where('img_type',0)->first();
  533. if (!$re || !$img){
  534. return $this->error(500214,'请先上传模板图');
  535. }
  536. $res=new GiftUserImg();
  537. $res->type=0;
  538. $res->user_id=$user_id;
  539. $res->activity_id=$activity_id;
  540. $res->nickname=$nickname;
  541. $res->user_img=$user_img;
  542. $res->img_type=1;
  543. $user_url=$this->CreateImg($user_id,$re->url,$user_img,$nickname,$img->url);
  544. $res->url=$user_url;
  545. $res->city=$city;
  546. $res->area=$area;
  547. $res->address=$address;
  548. $res->phone=$phone;
  549. $res->car_name=$name;
  550. $res->province=$pro;
  551. $res->op_name=Auth::user()->name;
  552. $res->save();
  553. return $this->success([]);
  554. }
  555. /*增加大礼包A-b的信息**/
  556. public function AddUserImgInfo_b(Request $request){
  557. $info=$request->all();
  558. $user_id=$info['user_id'];
  559. $user_img=$info['user_img'];
  560. $activity_id=$info['activity_id'];
  561. $nickname=$info['nickname'];
  562. $pro=$request->input('province');
  563. $city=$request->input('city');
  564. $area=$request->input('area');
  565. $address=$request->input('address');
  566. $phone=$request->input('phone');
  567. $name=$request->input('car_name');
  568. if ($user_id){
  569. $user=GiftUserImg::where('user_id',$user_id)->where('activity_id',$activity_id)->first();
  570. if ($user){
  571. return $this->error(563214,'该用户已经存在!');
  572. }
  573. }else{
  574. $users=User::where('mobile',$phone)->first();
  575. $user_id=$users->id;
  576. $user=GiftUserImg::where('user_id',$users->id)->where('activity_id',$activity_id)->first();
  577. if ($user){
  578. return $this->error(563214,'该用户已经存在!');
  579. }
  580. }
  581. $re=GiftUserImg::where('activity_id',$activity_id)->where('type',2)->where('is_main',1)->where('img_type',0)->first();
  582. $img=GiftUserImg::where('activity_id',$activity_id)->where('type',2)->where('is_main',0)->where('img_type',0)->first();
  583. if (!$re || !$img){
  584. return $this->error(500214,'请先上传模板图');
  585. }
  586. $res=new GiftUserImg();
  587. $res->type=2;
  588. $res->user_id=$user_id;
  589. $res->activity_id=$activity_id;
  590. $res->nickname=$nickname;
  591. $res->user_img=$user_img;
  592. $res->img_type=1;
  593. $user_url=$this->CreateImg($user_id,$re->url,$user_img,$nickname,$img->url);
  594. $res->url=$user_url;
  595. $res->city=$city;
  596. $res->area=$area;
  597. $res->address=$address;
  598. $res->phone=$phone;
  599. $res->car_name=$name;
  600. $res->province=$pro;
  601. $res->save();
  602. return $this->success([]);
  603. }
  604. public function CreateImg($id,$main_url,$user_img,$nickname,$img_url){
  605. $imageDealHandler=new ImageDealHandler();
  606. $image=Image::make($main_url);
  607. $avatar=$imageDealHandler->circleImg($user_img);
  608. $avatar=Image::make($avatar);
  609. $avatar->resize(630,630);
  610. $img=Image::make($img_url);
  611. $image->insert($avatar,'',230,273);
  612. $image->insert($img);
  613. if (mb_strlen($nickname)==1){
  614. $y=600;
  615. $n=1;
  616. }elseif (mb_strlen($nickname)==2){
  617. $y=550;
  618. $n=2;
  619. }elseif (mb_strlen($nickname)==3){
  620. $y=500;
  621. $n=3;
  622. }elseif (mb_strlen($nickname)==4){
  623. $y=450;
  624. $n=4;
  625. }else{
  626. $y=450;
  627. $n=0;
  628. }
  629. for ($i=0;$i<$n;$i++){
  630. $image->text(mb_substr($nickname,$i,1), 100,$y+$i*100 , function ($font) {
  631. $font->file(public_path() . '/ziti/ht.otf');
  632. $font->size(90);
  633. $font->color('fff');
  634. $font->angle(0);
  635. });
  636. }
  637. $folder_name = "uploads/UserImg/" . date("Ym/d", time());
  638. $upload_path = 'public/'.$folder_name;
  639. // 获取文件的后缀名,因图片从剪贴板里黏贴时后缀名为空,所以此处确保后缀一直存在
  640. $extension = 'png';
  641. // 拼接文件名,加前缀是为了增加辨析度,前缀可以是相关数据模型的 ID
  642. // 值如:1_1493521050_7BVc9v9ujP.png
  643. $filename = $id.'_'.Str::random(10) .'.'. $extension;
  644. // File::isDirectory($upload_path) or File::makeDirectory($upload_path, 077, true, true);
  645. if (!file_exists(public_path($upload_path))) {
  646. mkdir(public_path($upload_path), 0777, true);
  647. }
  648. // 将图片移动到我们的目标存储路径中
  649. $image->save(public_path().'/'.$upload_path . '/' . $filename);
  650. $url=env('APP_URL').'/'.$upload_path.'/'.$filename;
  651. return $url;
  652. }
  653. /*更新信息**/
  654. public function UpdateUserImgInfo(Request $request){
  655. $id=$request->input('id');
  656. $nickname=$request->input('nickname');
  657. $user_id=$request->input('user_id');
  658. $pro=$request->input('province');
  659. $city=$request->input('city');
  660. $area=$request->input('area');
  661. $address=$request->input('address');
  662. $phone=$request->input('phone');
  663. $name=$request->input('car_name');
  664. $user_img=$request->input('user_img');
  665. $url=$request->input('url');
  666. $re=GiftUserImg::find($id);
  667. $re->nickname=$nickname;
  668. $re->user_id=$user_id;
  669. $re->user_img=$user_img;
  670. $re->url=$url;
  671. $re->city=$city;
  672. $re->area=$area;
  673. $re->address=$address;
  674. $re->phone=$phone;
  675. $re->car_name=$name;
  676. $re->province=$pro;
  677. $re->save();
  678. return $this->success([]);
  679. }
  680. /*更新信息**/
  681. public function UpdateUserImgInfoB(Request $request){
  682. $id=$request->input('gift_id');
  683. $user_img=$request->input('user_img','');
  684. $url=$request->input('url','');
  685. if(!$id){
  686. return $this->error(50231,'暂未生成');
  687. }else{
  688. $re=GiftUserImg::find($id);
  689. }
  690. $re->user_img=$user_img;
  691. $re->url=$url;
  692. $re->save();
  693. return $this->success([]);
  694. }
  695. /*重新生成**/
  696. public function AgainCreateImg(Request $request){
  697. $id=$request->input('id');
  698. $activity_id=$request->input('activity_id');
  699. $re=GiftUserImg::find($id);
  700. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',1)->where('img_type',0)->first();
  701. $img=GiftUserImg::where('activity_id',$activity_id)->where('type',0)->where('is_main',0)->where('img_type',0)->first();
  702. $user_url=$this->CreateImg($re->user_id,$res->url,$re->user_img,$re->nickname,$img->url);
  703. $re->url=$user_url;
  704. $re->save();
  705. return $this->success([]);
  706. }
  707. /*大礼包A-b的重新生成**/
  708. public function AgainCreateImg_b(Request $request){
  709. $id=$request->input('id');
  710. $activity_id=$request->input('activity_id');
  711. $re=GiftUserImg::find($id);
  712. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',2)->where('is_main',1)->where('img_type',0)->first();
  713. $img=GiftUserImg::where('activity_id',$activity_id)->where('type',2)->where('is_main',0)->where('img_type',0)->first();
  714. $user_url=$this->CreateImg($re->user_id,$res->url,$re->user_img,$re->nickname,$img->url);
  715. $re->url=$user_url;
  716. $re->save();
  717. return $this->success([]);
  718. }
  719. public function AgainCreateImgB(Request $request){
  720. $id=$request->input('gift_id');
  721. $activity_id=$request->input('activity_id');
  722. $re=GiftUserImg::find($id);
  723. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',1)->where('is_main',1)->where('img_type',0)->first();
  724. $img=GiftUserImg::where('activity_id',$activity_id)->where('type',1)->where('is_main',0)->where('img_type',0)->first();
  725. $user_url=$this->CreateImgB($re->user_id,$res->url,$re->user_img,$img->url);
  726. $re->url=$user_url;
  727. $re->img_type=1;
  728. $re->save();
  729. return $this->success([]);
  730. }
  731. /*大礼包B-d 的重新生成**/
  732. public function AgainCreateImgB_d(Request $request){
  733. $id=$request->input('gift_id');
  734. $activity_id=$request->input('activity_id');
  735. $re=GiftUserImg::find($id);
  736. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',3)->where('is_main',1)->where('img_type',0)->first();
  737. $img=GiftUserImg::where('activity_id',$activity_id)->where('type',3)->where('is_main',0)->where('img_type',0)->first();
  738. $user_url=$this->CreateImgB($re->user_id,$res->url,$re->user_img,$img->url);
  739. $re->url=$user_url;
  740. $re->img_type=1;
  741. $re->save();
  742. return $this->success([]);
  743. }
  744. public function AgainCreateImgB_e(Request $request){
  745. $id=$request->input('gift_id');
  746. $activity_id=$request->input('activity_id');
  747. $re=GiftUserImg::find($id);
  748. $res=GiftUserImg::where('activity_id',$activity_id)->where('type',4)->where('is_main',1)->where('img_type',0)->first();
  749. $img=GiftUserImg::where('activity_id',$activity_id)->where('type',4)->where('is_main',0)->where('img_type',0)->first();
  750. $user_url=$this->CreateImgB($re->user_id,$res->url,$re->user_img,$img->url);
  751. $re->url=$user_url;
  752. $re->img_type=1;
  753. $re->save();
  754. return $this->success([]);
  755. }
  756. /**大礼包B的生成**/
  757. public function CreateImgB($id,$main_url,$user_img,$imgurl){
  758. $image=Image::make($main_url);
  759. $avatar=Image::make($user_img);
  760. $w=$avatar->getWidth();
  761. $avatar->crop($w,900,0,0);
  762. $img=Image::make($imgurl);
  763. $image->insert($avatar,'top-left',0,0);
  764. $image->insert($img);
  765. $folder_name = "uploads/UserImgB/" . date("Ym/d", time());
  766. $upload_path = 'public/'.$folder_name;
  767. // 获取文件的后缀名,因图片从剪贴板里黏贴时后缀名为空,所以此处确保后缀一直存在
  768. $extension = 'png';
  769. // 拼接文件名,加前缀是为了增加辨析度,前缀可以是相关数据模型的 ID
  770. // 值如:1_1493521050_7BVc9v9ujP.png
  771. $filename = $id.'_'.Str::random(10) .'.'. $extension;
  772. // File::isDirectory($upload_path) or File::makeDirectory($upload_path, 077, true, true);
  773. if (!file_exists(public_path($upload_path))) {
  774. mkdir(public_path($upload_path), 0777, true);
  775. }
  776. // 将图片移动到我们的目标存储路径中
  777. $image->save(public_path().'/'.$upload_path . '/' . $filename);
  778. $url=env('APP_URL').'/'.$upload_path.'/'.$filename;
  779. return $url;
  780. }
  781. /**大礼包B的生成**/
  782. public function CreateImgBDemo(Request $request){
  783. $user_img=$request->input('user_img');
  784. $avatar=Image::make($user_img);
  785. $fontPath=public_path().'/ziti/syht.otf';
  786. $textColor=$request->input('color');
  787. $text=$request->input('text');
  788. // $text='不忘初心';
  789. $length = strlen($text);
  790. $height=$request->input('height');
  791. $left_len=$request->input('left_len');
  792. $size=$request->input('size');
  793. // 使用 for 循环输出每个字符
  794. for ($i = 0; $i < $length; $i++) {
  795. $avatar->text(mb_substr($text,$i,1), $left_len, $height+100*$i, function($font) use ($fontPath, $textColor,$size) {
  796. $font->file($fontPath);
  797. $font->size($size); // 文本大小
  798. $font->color($textColor);
  799. $font->align('center'); // 文本对齐方式
  800. $font->valign('top'); // 文本垂直对齐方式
  801. });
  802. }
  803. return $avatar->response('png');
  804. $w=$avatar->getWidth();
  805. $avatar->crop($w,900,0,0);
  806. $img=Image::make($imgurl);
  807. $image->insert($avatar,'top-left',0,0);
  808. $image->insert($img);
  809. $folder_name = "uploads/UserImgB/" . date("Ym/d", time());
  810. $upload_path = 'public/'.$folder_name;
  811. // 获取文件的后缀名,因图片从剪贴板里黏贴时后缀名为空,所以此处确保后缀一直存在
  812. $extension = 'png';
  813. // 拼接文件名,加前缀是为了增加辨析度,前缀可以是相关数据模型的 ID
  814. // 值如:1_1493521050_7BVc9v9ujP.png
  815. $filename = $id.'_'.Str::random(10) .'.'. $extension;
  816. // File::isDirectory($upload_path) or File::makeDirectory($upload_path, 077, true, true);
  817. if (!file_exists(public_path($upload_path))) {
  818. mkdir(public_path($upload_path), 0777, true);
  819. }
  820. // 将图片移动到我们的目标存储路径中
  821. $image->save(public_path().'/'.$upload_path . '/' . $filename);
  822. $url=env('APP_URL').'/'.$upload_path.'/'.$filename;
  823. return $this->success([$url]);
  824. }
  825. public function GetUser(){
  826. $user=User::whereIn('id',[75229,78958,82720,82758,82889,84232,86359,86535,86649,86945,88911,89432,91216,91794,93892,95488,97723])->select('nickname','mobile','level')->get();
  827. return $this->success($user);
  828. }
  829. public function GetCrownInfo(Request $request){
  830. $page_index=$request->input('page_index');
  831. $page_size=$request->input('page_size');
  832. $search_name=$request->input('search_name');
  833. $activity_id=$request->activity_id;
  834. $re=User::whereNull('deleted_at')->where('level',3);
  835. if ($search_name){
  836. $uid=User::where('mobile','like',"%$search_name%")->orwhere('nickname','like',"%$search_name%")->pluck('id');
  837. $re->whereIn('id',$uid);
  838. }
  839. $auth_id=Auth::user()->role_id;
  840. if ($auth_id==23){
  841. $id=Warea::where('admin_id',Auth::user()->id)->value('id');
  842. $re->where('warea_id',$id);
  843. }
  844. $count=$re->count();
  845. $data=$re->select('remark_name as nickname','mobile','realname','id')
  846. ->with(['GetGiftImg'=>function($q)use($activity_id){
  847. $q->where('activity_id',$activity_id)->where('type',1)->select('user_img','user_id','id');
  848. }]);
  849. $data=$data->take($page_size)->skip(($page_index-1)*$page_size)->get();
  850. return $this->success_list($data,'',$count);
  851. }
  852. /*更新信息**/
  853. public function UpdateCrownImgInfo(Request $request){
  854. $id=$request->input('id');
  855. $activity_id=$request->input('activity_id');
  856. $user_img=$request->input('user_img','');
  857. $re=GiftUserImg::where('user_id',$id)->where('activity_id',$activity_id)->first();
  858. if (!$re){
  859. $re=new GiftUserImg();
  860. $re->user_id=$id;
  861. $re->activity_id=$activity_id;
  862. }
  863. $re->user_img=$user_img;
  864. $re->type=1;
  865. $re->save();
  866. return $this->success([]);
  867. }
  868. /*删除大礼包A**/
  869. public function DeleteUserImg(Request $request){
  870. $id=$request->input('id');
  871. GiftUserImg::where('id',$id)->delete();
  872. return $this->success([]);
  873. }
  874. public function ExportAddress(Request $request){
  875. $info=$request->all();
  876. $search_name=$info['search_name'];
  877. $activity_id=$info['activity_id'];
  878. $re=GiftUserImg::where('img_type',1)->where('type',0)->where('activity_id',$activity_id);
  879. if ($search_name){
  880. $uid=User::where('mobile','like',"%$search_name%")->orwhere('nickname','like',"%$search_name%")->pluck('id');
  881. $re->whereIn('user_id',$uid);
  882. }
  883. $auth_id=Auth::user()->role_id;
  884. if ($auth_id==23){
  885. // $id=Warea::where('admin_id',Auth::user()->id)->value('id');
  886. // $ids=User::where('warea_id',$id)->pluck('id');
  887. // $re->whereIn('user_id',$ids);
  888. $re->where('op_name',Auth::user()->name);
  889. }
  890. $re=$re->get();
  891. $data=[];
  892. foreach ($re as $k=>$v){
  893. $v->up_phone='';
  894. $user_id=Order::where('good_user_id',$v->user_id)
  895. ->where('created_at','>','2024-11-05 00:00:00')->value('user_id');
  896. if ($user_id){
  897. $user=User::where('id',$user_id)->first();
  898. if ($user){
  899. $v->up_phone=$user->nickname;
  900. }
  901. }
  902. // $remar=User::where('id',$v->user_id)->first();
  903. $v->up_name=$v->op_name;
  904. $data[$k]=$v;
  905. }
  906. return $this->success_list($data);
  907. }
  908. public function ExportAddress_b(Request $request){
  909. $info=$request->all();
  910. $search_name=$info['search_name'];
  911. $activity_id=$info['activity_id'];
  912. $re=GiftUserImg::where('img_type',1)->where('type',2)->where('activity_id',$activity_id);
  913. if ($search_name){
  914. $uid=User::where('mobile','like',"%$search_name%")->orwhere('nickname','like',"%$search_name%")->pluck('id');
  915. $re->whereIn('user_id',$uid);
  916. }
  917. $auth_id=Auth::user()->role_id;
  918. if ($auth_id==23){
  919. $id=Warea::where('admin_id',Auth::user()->id)->value('id');
  920. $ids=User::where('warea_id',$id)->pluck('id');
  921. $re->whereIn('user_id',$ids);
  922. }
  923. $re=$re->get();
  924. $data=[];
  925. foreach ($re as $k=>$v){
  926. $v->up_name='';
  927. $v->up_phone='';
  928. $data[$k]=$v;
  929. }
  930. return $this->success_list($data);
  931. }
  932. public function UpdateAddress(){
  933. $activity=Activity::find(15);
  934. $data=GiftUserImg::where('activiity_id',15)->where('type',0)->whereNull('provinice')->get();
  935. foreach ($data as $k=>$v){
  936. $res=Order::where('order.is_deleted',0)
  937. ->whereBetween('order.created_at',[$activity->start_time,$activity->end_time])
  938. ->where('order.good_user_id',$v->user_id)
  939. ->join('address','address.id','order.address_id')
  940. ->select('order_num','address.*')->get()->toArray();
  941. if (isset($res[0])){
  942. $arr=$res[0];
  943. GiftUserImg::where('id',$v->id)->update([
  944. 'city'=>$arr['city'],
  945. 'area'=>$arr['town'],
  946. 'address'=>$arr['address'],
  947. 'phone'=>$arr['mobile'],
  948. 'car_name'=>$arr['username'],
  949. 'province'=>$arr['province'],
  950. ]);
  951. }
  952. }
  953. }
  954. /**AB大礼包的统计**/
  955. public function BigGiftInfo(Request $request){
  956. $type=$request->input('type');
  957. $activity_id=$request->input('activity_id');
  958. $arr=GiftUserImg::where('gift_user_img.type',0)->where('gift_user_img.img_type',1)->where('activity_id',$activity_id)
  959. ->join('users','users.id','=','gift_user_img.user_id')
  960. ->leftjoin('warea','warea.id','=','users.warea_id')
  961. ->groupBy('users.warea_id')
  962. ->select('warea.name',\DB::raw('count(*) as total'))->orderByDesc('total')->pluck('total','name');
  963. $arr2=GiftUserImg::where('gift_user_img.type',2)->where('gift_user_img.img_type',1)->where('activity_id',$activity_id)
  964. ->join('users','users.id','=','gift_user_img.user_id')
  965. ->join('warea','warea.id','=','users.warea_id')
  966. ->groupBy('users.warea_id')
  967. ->select('warea.name',\DB::raw('count(*) as total'))->orderByDesc('total')->pluck('total','name');
  968. $data=[];
  969. foreach ($arr as $k=>$v){
  970. $data[$k]['A']=$v;
  971. $data[$k]['B']=isset($arr2[$k])?$arr2[$k]:0;
  972. }
  973. return $this->success($data);
  974. }
  975. public function CrownBigGiftInfo(Request $request){
  976. $activity_id=$request->input('activity_id');
  977. $data=User::whereNull('deleted_at')->where('level',3)->get();
  978. $re=[];
  979. foreach ($data as $k=>$v){
  980. $ids=User::where('agent_id',$v->id)->whereIn('cert_status',[3,6])->pluck('id')->toArray();
  981. $idss=User::whereIn('agent_id',$ids)->whereIn('cert_status',[3,6])->pluck('id')->toArray();
  982. $id_all=array_merge($ids,$idss);
  983. $count=count($id_all);
  984. $count1=GiftUserImg::whereIn('user_id',$id_all)->where('type',0)->where('activity_id',$activity_id)->where('img_type',1)->count();
  985. $count2=GiftUserImg::whereIn('user_id',$id_all)->where('type',2)->where('activity_id',$activity_id)->where('img_type',1)->count();
  986. $re[$k]['B']=$count2;
  987. $re[$k]['A']=$count1;
  988. $re[$k]['count']=$count1+$count2;
  989. $re[$k]['nickname']=$v->remark_name=null?$v->nickname:$v->remark_name;
  990. }
  991. $last_ages = array_column($re,'count');
  992. array_multisort($last_ages ,SORT_DESC,$re);
  993. return $this->success($re);
  994. }
  995. public function getBAgentGiftBag(Request $request){
  996. $input=$request->all();
  997. $page_index = $input['page_index'];
  998. $page_size = $input['page_size'];
  999. $num = ($page_index - 1) * $page_size;
  1000. $activity_id=$input['activity_id'];
  1001. $search_name=$input['search_name'];
  1002. $tag=$input['tag'];
  1003. // $big_gift='38500';
  1004. $where=[];
  1005. $wheres=[];
  1006. $big_gift=Activity::where('id',$activity_id)->value('big_gift');
  1007. // if($activity_id>17){
  1008. $big_gift_2=ActivityLimit::where('activity_id',$activity_id)->where('title','=','大礼包B-a')->value('account');
  1009. $big_gift_3=ActivityLimit::where('activity_id',$activity_id)->where('title','=','大礼包B-b')->value('account');
  1010. // }else{
  1011. // $big_gift_2=ActivityLimit::where('activity_id',$activity_id)->where('title','=','大礼包C')->value('account');
  1012. // $big_gift_3=ActivityLimit::where('activity_id',$activity_id)->where('title','=','大礼包D')->value('account');
  1013. // }
  1014. $big_gift=$big_gift_2?$big_gift_2:$big_gift;
  1015. if(empty($big_gift)){
  1016. return $this->error('450001','本此活动未开放大礼包名单');
  1017. }
  1018. $gift_id=$big_gift_2;
  1019. $max_status=false;
  1020. if ($big_gift_3){
  1021. $max_status=true;
  1022. }
  1023. $max=0;
  1024. // if (isset($input['gift_id'])){
  1025. // $dd=ActivityLimit::where('activity_id',$activity_id)->where('title','like','%大礼包%')->where('account','>',$big_gift_2)->orderBy('account')->limit(1)->first();
  1026. // if ($dd){
  1027. // $max=$dd->account;
  1028. // $max_status=true;
  1029. // }
  1030. // $gift_id=$input['gift_id'];
  1031. // }
  1032. $actice=Activity::find($activity_id);
  1033. $wheres=function($query) use ($actice){
  1034. $query->whereBetween('order.created_at',[$actice->start_time,$actice->end_time]);
  1035. };
  1036. $user_ids=ListTag::where('type',1)->where('activity_id',$activity_id)->pluck('user_id')->toArray();
  1037. $user=User::select('users.id','users.mobile','users.remark_name as nickname','users.realname','users.remark_name as name', DB::raw('SUM(order.money) as account'), DB::raw('SUM(order.pay_money) as pay_account'),'gift_user_img.url','gift_user_img.user_img','gift_user_img.id as gift_id')
  1038. ->leftJoin('order', 'order.user_id', '=', 'users.id');
  1039. // ->leftJoin('list_tag',function ($join) use ($activity_id){
  1040. // $join->on('users.id','=','list_tag.user_id')
  1041. // ->where('list_tag.activity_id',$activity_id)
  1042. // ->where('list_tag.type',1);
  1043. // })
  1044. // ->leftJoin('list_tag','users.id','=','list_tag.user_id')
  1045. // ->where('list_tag.activity_id',$activity_id)
  1046. // ->where('list_tag.type',1)
  1047. if (is_numeric($tag)){
  1048. if ($tag==1){
  1049. $user->whereIn('users.id',$user_ids);
  1050. }else{
  1051. $user->whereNotIn('users.id',$user_ids);
  1052. }
  1053. }else{
  1054. $user->leftJoin('list_tag',function ($join) use ($activity_id){
  1055. $join->on('users.id','=','list_tag.user_id')
  1056. ->where('list_tag.activity_id',$activity_id)
  1057. ->where('list_tag.type',1);
  1058. })->orderBy('list_tag.type');
  1059. }
  1060. $user->leftJoin('gift_user_img',function ($join) use ($activity_id){
  1061. $join->on('users.id','=','gift_user_img.user_id')
  1062. ->where('gift_user_img.activity_id',$activity_id)
  1063. // ->where('gift_user_img.img_type',1)
  1064. ->where('gift_user_img.type',1);
  1065. });
  1066. if ($search_name){
  1067. $wheress=function ($q)use ($search_name){
  1068. $q->where('users.name','like',"%$search_name%")->orwhere('users.nickname','like',"%$search_name%")->orwhere('users.realname','like',"%$search_name%")->orwhere('users.mobile','like',"%$search_name%");
  1069. };
  1070. $user->where($wheress);
  1071. }
  1072. $user->where('order.is_deleted',0)
  1073. ->where($where)
  1074. ->where($wheres)
  1075. ->groupBy('users.id')
  1076. ->having('account','>=',$gift_id)
  1077. ->when($max_status,function ($q)use($big_gift_3){
  1078. $q->having('account','<',$big_gift_3);
  1079. })
  1080. ->orderBy('account','desc')
  1081. ->orderBy('pay_account','desc');
  1082. $count = $user->get()->count();
  1083. if($count<=0){
  1084. $this->error('450001', '暂无信息');
  1085. }
  1086. $ss=clone $user;
  1087. $list=$user->skip($num)->take($page_size)->get();
  1088. foreach($list as $key=>$val){
  1089. $no_pay_account=round($val->account-$val->pay_account,2);
  1090. if($no_pay_account>0){
  1091. $list[$key]->no_pay_account=$no_pay_account;
  1092. }else{
  1093. $list[$key]->no_pay_account=0;
  1094. }
  1095. if(in_array($val->id,$user_ids)){
  1096. $list[$key]->tag=1;
  1097. }else{
  1098. $list[$key]->tag=0;
  1099. }
  1100. }
  1101. $ids=$ss->get();
  1102. return $this->success_list($list,'',$count,$ids);
  1103. }
  1104. public function getBAgentGiftBag_d(Request $request){
  1105. $input=$request->all();
  1106. $page_index = $input['page_index'];
  1107. $page_size = $input['page_size'];
  1108. $num = ($page_index - 1) * $page_size;
  1109. $activity_id=$input['activity_id'];
  1110. $search_name=$input['search_name'];
  1111. $tag=$input['tag'];
  1112. // $big_gift='38500';
  1113. $where=[];
  1114. $wheres=[];
  1115. $big_gift=Activity::where('id',$activity_id)->value('big_gift');
  1116. // if($activity_id>17){
  1117. $big_gift_2=ActivityLimit::where('activity_id',$activity_id)->where('title','=','大礼包B-b')->value('account');
  1118. $big_gift_3=ActivityLimit::where('activity_id',$activity_id)->where('title','=','大礼包B-c')->value('account');
  1119. // }else{
  1120. // $big_gift_2=ActivityLimit::where('activity_id',$activity_id)->where('title','=','大礼包C')->value('account');
  1121. // $big_gift_3=ActivityLimit::where('activity_id',$activity_id)->where('title','=','大礼包D')->value('account');
  1122. // }
  1123. $big_gift=$big_gift_2?$big_gift_2:$big_gift;
  1124. if(empty($big_gift)){
  1125. return $this->error('450001','本此活动未开放大礼包名单');
  1126. }
  1127. $gift_id=$big_gift_2;
  1128. $max_status=false;
  1129. if ($big_gift_3){
  1130. $max_status=true;
  1131. }
  1132. $max=0;
  1133. // if (isset($input['gift_id'])){
  1134. // $dd=ActivityLimit::where('activity_id',$activity_id)->where('title','like','%大礼包%')->where('account','>',$big_gift_2)->orderBy('account')->limit(1)->first();
  1135. // if ($dd){
  1136. // $max=$dd->account;
  1137. // $max_status=true;
  1138. // }
  1139. // $gift_id=$input['gift_id'];
  1140. // }
  1141. $actice=Activity::find($activity_id);
  1142. $wheres=function($query) use ($actice){
  1143. $query->whereBetween('order.created_at',[$actice->start_time,$actice->end_time]);
  1144. };
  1145. $user_ids=ListTag::where('type',1)->where('activity_id',$activity_id)->pluck('user_id')->toArray();
  1146. $user=User::select('users.id','users.mobile','users.remark_name as nickname','users.realname','users.remark_name as name', DB::raw('SUM(order.money) as account'), DB::raw('SUM(order.pay_money) as pay_account'),'gift_user_img.url','gift_user_img.user_img','gift_user_img.id as gift_id')
  1147. ->leftJoin('order', 'order.user_id', '=', 'users.id');
  1148. // ->leftJoin('list_tag',function ($join) use ($activity_id){
  1149. // $join->on('users.id','=','list_tag.user_id')
  1150. // ->where('list_tag.activity_id',$activity_id)
  1151. // ->where('list_tag.type',1);
  1152. // })
  1153. // ->leftJoin('list_tag','users.id','=','list_tag.user_id')
  1154. // ->where('list_tag.activity_id',$activity_id)
  1155. // ->where('list_tag.type',1)
  1156. if (is_numeric($tag)){
  1157. if ($tag==1){
  1158. $user->whereIn('users.id',$user_ids);
  1159. }else{
  1160. $user->whereNotIn('users.id',$user_ids);
  1161. }
  1162. }else{
  1163. $user->leftJoin('list_tag',function ($join) use ($activity_id){
  1164. $join->on('users.id','=','list_tag.user_id')
  1165. ->where('list_tag.activity_id',$activity_id)
  1166. ->where('list_tag.type',1);
  1167. })->orderBy('list_tag.type');
  1168. }
  1169. $user->leftJoin('gift_user_img',function ($join) use ($activity_id){
  1170. $join->on('users.id','=','gift_user_img.user_id')
  1171. ->where('gift_user_img.activity_id',$activity_id)
  1172. // ->where('gift_user_img.img_type',1)
  1173. ->where('gift_user_img.type',3);
  1174. });
  1175. if ($search_name){
  1176. $wheress=function ($q)use ($search_name){
  1177. $q->where('users.name','like',"%$search_name%")->orwhere('users.nickname','like',"%$search_name%")->orwhere('users.realname','like',"%$search_name%")->orwhere('users.mobile','like',"%$search_name%");
  1178. };
  1179. $user->where($wheress);
  1180. }
  1181. $user->where('order.is_deleted',0)
  1182. ->where($where)
  1183. ->where($wheres)
  1184. ->groupBy('users.id')
  1185. ->having('account','>=',$gift_id)
  1186. ->when($max_status,function ($q)use($big_gift_3){
  1187. $q->having('account','<',$big_gift_3);
  1188. })
  1189. ->orderBy('account','desc')
  1190. ->orderBy('pay_account','desc');
  1191. $count = $user->get()->count();
  1192. if($count<=0){
  1193. $this->error('450001', '暂无信息');
  1194. }
  1195. $ss=clone $user;
  1196. $list=$user->skip($num)->take($page_size)->get();
  1197. foreach($list as $key=>$val){
  1198. $no_pay_account=round($val->account-$val->pay_account,2);
  1199. if($no_pay_account>0){
  1200. $list[$key]->no_pay_account=$no_pay_account;
  1201. }else{
  1202. $list[$key]->no_pay_account=0;
  1203. }
  1204. if(in_array($val->id,$user_ids)){
  1205. $list[$key]->tag=1;
  1206. }else{
  1207. $list[$key]->tag=0;
  1208. }
  1209. }
  1210. $ids=$ss->get();
  1211. return $this->success_list($list,'',$count,$ids);
  1212. }
  1213. public function exportList(Request $request){
  1214. $input=$request->all();
  1215. $type=$input['type'];
  1216. $activity_id=$input['activity_id'];
  1217. $search_name=$input['search_name'];
  1218. $tag=$input['tag'];
  1219. $where=[];
  1220. $wheres=[];
  1221. $max_status=false;
  1222. $max=0;
  1223. if($type==1){
  1224. $big_gift=Activity::where('id',$activity_id)->value('big_gift');
  1225. $big_gift_2=ActivityLimit::where('activity_id',$activity_id)->where('title','大礼包B-c')->value('account');
  1226. $big_gift=$big_gift_2?$big_gift_2:$big_gift;
  1227. if(empty($big_gift)){
  1228. return $this->error('450001','本此活动未开放大礼包名单');
  1229. }
  1230. }elseif($type==2){
  1231. $honor_wall=Activity::where('id',$activity_id)->value('honor_wall');
  1232. $honor_wall_2=ActivityLimit::where('activity_id',$activity_id)->where('title','荣誉墙')->value('account');
  1233. $honor_wall=$honor_wall_2?$honor_wall_2:$honor_wall;
  1234. if(empty($honor_wall)){
  1235. return $this->error('450001','本此活动未开放荣誉墙名单');
  1236. }
  1237. }else{
  1238. $travel=ActivityLimit::where('activity_id',$activity_id)->where('title','旅游')->value('account');
  1239. if(empty($travel)){
  1240. return $this->error('450001','本此活动未开放旅游名单');
  1241. }
  1242. }
  1243. $actice=Activity::find($activity_id);
  1244. $wheres=function($query) use ($actice){
  1245. $query->whereBetween('order.created_at',[$actice->start_time,$actice->end_time]);
  1246. };
  1247. if($type==1){
  1248. // $money=Activity::where('id',$activity_id)->value('big_gift');
  1249. $big_gift_2=ActivityLimit::where('activity_id',$activity_id)->where('title','大礼包B-a')->min('account');
  1250. $money=$big_gift_2;
  1251. $max_status=false;
  1252. $max=0;
  1253. // if (isset($input['gift_id'])){
  1254. $dd=ActivityLimit::where('activity_id',$activity_id)->where('title','大礼包B-d')->where('account','>',$big_gift_2)->orderBy('account')->limit(1)->first();
  1255. if ($dd){
  1256. $max=$dd->account;
  1257. $max_status=true;
  1258. }
  1259. // $money=$input['gift_id'];
  1260. // }
  1261. }elseif($type==2){
  1262. $money = Activity::where('id', $activity_id)->value('honor_wall');
  1263. $honor_wall_2 = ActivityLimit::where('activity_id', $activity_id)->where('title', '荣誉墙')->value('account');
  1264. $money = $honor_wall_2 ? $honor_wall_2 : $money;
  1265. } else {
  1266. $money=ActivityLimit::where('activity_id',$activity_id)->where('title','旅游')->value('account');
  1267. }
  1268. $user_ids=ListTag::where('type',$type)->where('activity_id',$activity_id)->pluck('user_id')->toArray();
  1269. $list=User::select('users.id','users.nickname','users.remark_name','users.realname','users.mobile', DB::raw('SUM(order.money) as account'), DB::raw('SUM(order.pay_money) as pay_account'),'gift_user_img.province','gift_user_img.city','gift_user_img.area','gift_user_img.address','gift_user_img.phone','gift_user_img.car_name')
  1270. ->leftJoin('order', 'order.user_id', '=', 'users.id');
  1271. if (is_numeric($tag)){
  1272. if ($tag==1){
  1273. $list->whereIn('users.id',$user_ids);
  1274. }else{
  1275. $list->whereNotIn('users.id',$user_ids);
  1276. }
  1277. }else{
  1278. $list->leftJoin('list_tag',function ($join) use ($activity_id){
  1279. $join->on('users.id','=','list_tag.user_id')
  1280. ->where('list_tag.activity_id',$activity_id)
  1281. ->where('list_tag.type',1);
  1282. })->orderBy('list_tag.type');
  1283. }
  1284. if ($search_name){
  1285. $wheress=function ($q)use ($search_name){
  1286. $q->where('users.name','like',"$search_name")->orwhere('users.nickname','like',"$search_name")->orwhere('users.realname','like',"$search_name")->orwhere('users.mobile','like',"$search_name");
  1287. };
  1288. $list->where($wheress);
  1289. };
  1290. // ->leftJoin('list_tag',function ($join) use ($type,$activity_id){
  1291. // $join->on('users.id','=','list_tag.user_id')
  1292. // ->where('list_tag.activity_id',$activity_id)
  1293. // ->where('list_tag.type',$type);
  1294. // })
  1295. $list->where('order.is_deleted',0)
  1296. ->where($where)
  1297. ->where($wheres)
  1298. ->leftJoin('gift_user_img',function ($join) use ($activity_id){
  1299. $join->on('users.id','=','gift_user_img.user_id')
  1300. ->where('gift_user_img.type',1)
  1301. ->where('gift_user_img.img_type',1)
  1302. ->whereNotNull('gift_user_img.province')
  1303. ->orderByDesc('gift_user_img.id')->limit(1);
  1304. })
  1305. ->groupBy('users.id')
  1306. ->having('account','>=',$money)
  1307. ->when($max_status,function ($q)use ($max){
  1308. $q->having('account','<',$max);
  1309. })
  1310. ->orderBy('account','desc')
  1311. ->orderBy('pay_account','desc');
  1312. $count=$list->get()->count();
  1313. if($count<=0){
  1314. $this->error('450001', '暂无信息');
  1315. }
  1316. $list=$list->get();
  1317. $ll=[];
  1318. foreach($list as $key=>$val){
  1319. $ll[$key]['备注昵称']=$val->remark_name;
  1320. $ll[$key]['客户姓名']=$val->realname;
  1321. $ll[$key]['订货金额']=$val->account;
  1322. $ll[$key]['已付款金额']=$val->pay_account;
  1323. $no_pay_account=round($val->account-$val->pay_account,2);
  1324. if($no_pay_account>0){
  1325. $ll[$key]['未付款金额']=$no_pay_account;
  1326. }else{
  1327. $ll[$key]['未付款金额']=0;
  1328. }
  1329. if(in_array($val->id,$user_ids)){
  1330. $ll[$key]['标记']='已标记';
  1331. }else{
  1332. $ll[$key]['标记']='未标记';
  1333. }
  1334. $ll[$key]['收货人']=$val->car_name==null?$val->realname:$val->car_name;
  1335. $ll[$key]['电话']=$val->phone==null?$val->mobile:$val->phone;
  1336. $ll[$key]['省份']=$val->province;
  1337. $ll[$key]['城市']=$val->city;
  1338. $ll[$key]['地区']=$val->area;
  1339. $ll[$key]['详细地址']=$val->address;
  1340. }
  1341. return $this->success($ll);
  1342. }
  1343. /*
  1344. * 导出活动大礼包D
  1345. *
  1346. */
  1347. public function exportList_d(Request $request){
  1348. $input=$request->all();
  1349. $type=$input['type'];
  1350. $activity_id=$input['activity_id'];
  1351. $search_name=$input['search_name'];
  1352. $tag=$input['tag'];
  1353. $where=[];
  1354. $wheres=[];
  1355. $max_status=false;
  1356. $max=0;
  1357. if($type==1){
  1358. $big_gift=Activity::where('id',$activity_id)->value('big_gift');
  1359. $big_gift_2=ActivityLimit::where('activity_id',$activity_id)->where('title','大礼包D')->value('account');
  1360. $big_gift=$big_gift_2?$big_gift_2:$big_gift;
  1361. if(empty($big_gift)){
  1362. return $this->error('450001','本此活动未开放大礼包名单');
  1363. }
  1364. }elseif($type==2){
  1365. $honor_wall=Activity::where('id',$activity_id)->value('honor_wall');
  1366. $honor_wall_2=ActivityLimit::where('activity_id',$activity_id)->where('title','荣誉墙')->value('account');
  1367. $honor_wall=$honor_wall_2?$honor_wall_2:$honor_wall;
  1368. if(empty($honor_wall)){
  1369. return $this->error('450001','本此活动未开放荣誉墙名单');
  1370. }
  1371. }else{
  1372. $travel=ActivityLimit::where('activity_id',$activity_id)->where('title','旅游')->value('account');
  1373. if(empty($travel)){
  1374. return $this->error('450001','本此活动未开放旅游名单');
  1375. }
  1376. }
  1377. $actice=Activity::find($activity_id);
  1378. $wheres=function($query) use ($actice){
  1379. $query->whereBetween('order.created_at',[$actice->start_time,$actice->end_time]);
  1380. };
  1381. if($type==1){
  1382. // $money=Activity::where('id',$activity_id)->value('big_gift');
  1383. $big_gift_2=ActivityLimit::where('activity_id',$activity_id)->where('title','大礼包D')->value('account');
  1384. $money=$big_gift_2;
  1385. $max_status=false;
  1386. $max=0;
  1387. // if (isset($input['gift_id'])){
  1388. $dd=ActivityLimit::where('activity_id',$activity_id)->where('title','like','%大礼包%')->where('account','>',$big_gift_2)->orderBy('account')->limit(1)->first();
  1389. if ($dd){
  1390. $max=$dd->account;
  1391. $max_status=true;
  1392. }
  1393. // $money=$input['gift_id'];
  1394. // }
  1395. }elseif($type==2){
  1396. $money = Activity::where('id', $activity_id)->value('honor_wall');
  1397. $honor_wall_2 = ActivityLimit::where('activity_id', $activity_id)->where('title', '荣誉墙')->value('account');
  1398. $money = $honor_wall_2 ? $honor_wall_2 : $money;
  1399. } else {
  1400. $money=ActivityLimit::where('activity_id',$activity_id)->where('title','旅游')->value('account');
  1401. }
  1402. $user_ids=ListTag::where('type',$type)->where('activity_id',$activity_id)->pluck('user_id')->toArray();
  1403. $list=User::select('users.id','users.nickname','users.remark_name','users.realname', DB::raw('SUM(order.money) as account'), DB::raw('SUM(order.pay_money) as pay_account'))
  1404. ->leftJoin('order', 'order.user_id', '=', 'users.id');
  1405. if (is_numeric($tag)){
  1406. if ($tag==1){
  1407. $list->whereIn('users.id',$user_ids);
  1408. }else{
  1409. $list->whereNotIn('users.id',$user_ids);
  1410. }
  1411. }else{
  1412. $list->leftJoin('list_tag',function ($join) use ($activity_id){
  1413. $join->on('users.id','=','list_tag.user_id')
  1414. ->where('list_tag.activity_id',$activity_id)
  1415. ->where('list_tag.type',1);
  1416. })->orderBy('list_tag.type');
  1417. }
  1418. if ($search_name){
  1419. $wheress=function ($q)use ($search_name){
  1420. $q->where('users.name','like',"$search_name")->orwhere('users.nickname','like',"$search_name")->orwhere('users.realname','like',"$search_name")->orwhere('users.mobile','like',"$search_name");
  1421. };
  1422. $list->where($wheress);
  1423. };
  1424. // ->leftJoin('list_tag',function ($join) use ($type,$activity_id){
  1425. // $join->on('users.id','=','list_tag.user_id')
  1426. // ->where('list_tag.activity_id',$activity_id)
  1427. // ->where('list_tag.type',$type);
  1428. // })
  1429. $list->where('order.is_deleted',0)
  1430. ->where($where)
  1431. ->where($wheres)
  1432. ->groupBy('users.id')
  1433. ->having('account','>=',$money)
  1434. ->when($max_status,function ($q)use ($max){
  1435. $q->having('account','<',$max);
  1436. })
  1437. ->orderBy('account','desc')
  1438. ->orderBy('pay_account','desc');
  1439. $count=$list->get()->count();
  1440. if($count<=0){
  1441. $this->error('450001', '暂无信息');
  1442. }
  1443. $list=$list->get();
  1444. $ll=[];
  1445. foreach($list as $key=>$val){
  1446. $ll[$key]['备注昵称']=$val->remark_name;
  1447. $ll[$key]['客户姓名']=$val->realname;
  1448. $ll[$key]['订货金额']=$val->account;
  1449. $ll[$key]['已付款金额']=$val->pay_account;
  1450. $no_pay_account=round($val->account-$val->pay_account,2);
  1451. if($no_pay_account>0){
  1452. $ll[$key]['未付款金额']=$no_pay_account;
  1453. }else{
  1454. $ll[$key]['未付款金额']=0;
  1455. }
  1456. if(in_array($val->id,$user_ids)){
  1457. $ll[$key]['标记']='已标记';
  1458. }else{
  1459. $ll[$key]['标记']='未标记';
  1460. }
  1461. }
  1462. return $this->success($ll);
  1463. }
  1464. }