GiftController.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Exports\IntegralExport;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\DwbsUser;
  6. use App\Models\DwbsWarea;
  7. use App\Models\GiftOrders;
  8. use Illuminate\Http\Request;
  9. use App\Models\Gift;
  10. use App\Models\Exchange;
  11. use App\Handlers\ImageHandler;
  12. use Illuminate\Support\Facades\Auth;
  13. use Illuminate\Support\Facades\DB;
  14. use Illuminate\Support\Facades\Storage;
  15. use App\Exports\ExchangeExport;
  16. use Maatwebsite\Excel\Facades\Excel;
  17. class GiftController extends Controller
  18. {
  19. public function show_gift(Request $request)
  20. {
  21. $data['gift'] = Gift::orderByDesc('id')->get();
  22. $data['exchange']=Exchange::where('id',1)->first();
  23. $count=count($data);
  24. return $this->success_list($data, 200, $count);
  25. }
  26. /*
  27. * 修改礼品
  28. */
  29. public function update_gift(Request $request)//, ImageHandler $imageHandler
  30. {
  31. $data = $request->all();
  32. if ($request->has('img')) {
  33. $path_url = 'public/gift';
  34. $result = $request->file('img')->store($path_url);
  35. if($result) {
  36. $path= env('APP_URL') . Storage::url($result);
  37. $data['imgurl'] = $path;
  38. unset($data['img']);
  39. }
  40. // // 保存图片到本地
  41. // $result = $imageHandler->save($request->img, 'img', $request->id, 1024);
  42. // // 图片保存成功的话
  43. // if ($result) {
  44. // $data['imgurl'] = $result['path'];
  45. // unset($data['img']);
  46. // }
  47. }
  48. unset($data['created_at']);
  49. unset($data['updated_at']);
  50. $re = Gift::where('id', $request->id)->update($data);
  51. if ($re) {
  52. return $this->success([]);
  53. }
  54. return $this->error(400, [], false);
  55. }
  56. /*
  57. * 增加礼品
  58. */
  59. public function add_gift(Request $request)//, ImageHandler $imageHandler
  60. {
  61. $id = Auth::user()->id;
  62. if ($file = $request->img) {
  63. $path_url = 'public/gift';
  64. $result = $request->file('img')->store($path_url);
  65. if($result) {
  66. $path= env('APP_URL') . Storage::url($result);
  67. }
  68. // // 保存图片到本地
  69. // $result = $imageHandler->save($request->img, 'img', $id, 1024);
  70. // 图片保存成功的话
  71. // if ($result) {
  72. // $path = $result['path'];
  73. // }
  74. } else {
  75. //上传图片失败
  76. return $this->error(300, [], false);
  77. }
  78. $s=Gift::where('name',$request->name)->first();
  79. if ($s){
  80. return $this->error(600);
  81. }
  82. // $data = $request->all();
  83. // $data['imgurl'] = $path;
  84. // unset($data['img']);
  85. // return $data;
  86. $re = Gift::create([
  87. 'name'=>$request->name,
  88. 'introduction'=>$request->introduction,
  89. 'integral'=>$request->integral,
  90. 'imgurl'=>$path,
  91. 'gift_num'=>$request->gift_num,
  92. 'exchange_num'=>$request->exchange_num,
  93. 'status'=>$request->status,
  94. ]);
  95. if ($re) {
  96. return $this->success([]);
  97. }
  98. //保存失败
  99. return $this->error(400, [], false);
  100. }
  101. /*
  102. * 删除礼品
  103. */
  104. public function del_gift(Request $request){
  105. $re=Gift::where('id',$request->id)->delete();
  106. if ($re){
  107. return $this->success([]);
  108. }
  109. return $this->error(300);
  110. }
  111. //导出兑换结果
  112. public function exportExchangeResult(Request $request){
  113. $season=$request->input('season')??1;
  114. $gift_orders=GiftOrders::where('season',$season)->where('type',0)
  115. ->groupBy('store_id')->select('store_id','uid',DB::raw('sum(ifnull(num*bonus,0)) as integral'))
  116. ->orderByDesc('integral')->orderBy('store_id')->get();
  117. foreach($gift_orders as $key=>$val){
  118. $user=DwbsUser::where('id',$val->uid)->select('nickname','mobile','warea_id','level','headimgurl')->first();
  119. $gift_orders[$key]->sort=$key+1;
  120. $gift_orders[$key]->name=$user->nickname;
  121. if($user->level==1){
  122. $gift_orders[$key]->level='销售主管';
  123. }elseif($user->level==2){
  124. $gift_orders[$key]->level='销售经理';
  125. }elseif($user->level==3){
  126. $gift_orders[$key]->level='代理公司';
  127. }
  128. $gift_orders[$key]->phone=$user->mobile;
  129. $gift_orders[$key]->headimgurl=$user->headimgurl;
  130. $gift_orders[$key]->warea=DwbsWarea::where('id',$user->warea_id)->value('name');
  131. $gift_orders[$key]->integrals=$val->integral;
  132. $gifts=GiftOrders::where('season',$season)->where('type',0)->where('store_id',$val->store_id)->select('name','num','bonus')->get();
  133. $g='';
  134. foreach($gifts as $k=>$v){
  135. if(empty($g)){
  136. $g.=$v->name.'*'.$v->num.'*'.$v->bonus;
  137. }else{
  138. $g.=';'.$v->name.'*'.$v->num.'*'.$v->bonus;
  139. }
  140. }
  141. $gift_orders[$key]->gift=$g;
  142. unset($gift_orders[$key]->integral);
  143. unset($gift_orders[$key]->store_id);
  144. unset($gift_orders[$key]->uid);
  145. }
  146. return Excel::download(new ExchangeExport($gift_orders), 'exc.xlsx');
  147. return $this->success($gift_orders);
  148. }
  149. }