SharonController.php 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. <?php
  2. namespace App\Http\Controllers\Sharon;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Sharon\Sharon;
  5. use App\Models\Sharon\Image;
  6. use App\Models\User;
  7. use Illuminate\Database\Eloquent\Model;
  8. use Illuminate\Http\Request;
  9. use Carbon\Carbon;
  10. use Illuminate\Support\Facades\DB;
  11. use Illuminate\Support\Facades\Log;
  12. use Illuminate\Support\Facades\Auth;
  13. use Illuminate\Support\Facades\Storage;
  14. class SharonController extends Controller{
  15. //提交申请单
  16. public function submitInfo(Request $request)
  17. {
  18. $user_id=Auth::user()->id;
  19. $info=Sharon::where('user_id',$user_id)->latest()->first();
  20. if(!empty($info) && $info->state==0){
  21. return $this->error('450001','','存在审核中的沙龙,不能再次提交');
  22. }
  23. if(!empty($info) && $info->state==1 && Carbon::now()<$info->end_at ){
  24. return $this->error('450001','','存在未结束的沙龙,不能再次提交');
  25. }
  26. if(!empty($info) && $info->state==2){
  27. return $this->error('450001','','存在被驳回的沙龙申请单,不能再次提交');
  28. }
  29. $user=User::where('id',$user_id)->first();
  30. if($user->level != 3){
  31. return $this->error('450001','','你没有权限操作');
  32. }
  33. $start_at=$request->input('start_at');
  34. $end_at=$request->input('end_at');
  35. $province=$request->input('province');
  36. $city=$request->input('city');
  37. $area=$request->input('area');
  38. $address=$request->input('address');
  39. $except_num=$request->input('except_num');
  40. $res=Sharon::create([
  41. 'user_id'=>$user_id,
  42. 'start_at'=>$start_at,
  43. 'end_at'=>$end_at,
  44. 'state'=>0,
  45. 'province'=>$province,
  46. 'city'=>$city,
  47. 'area'=>$area,
  48. 'address'=>$address,
  49. 'except_num'=>$except_num,
  50. ]);
  51. if($res){
  52. return $this->success([]);
  53. }
  54. return $this->error();
  55. }
  56. //获取最新沙龙申请单
  57. public function sharonDetail(Request $request)
  58. {
  59. $user_id=Auth::user()->id;
  60. $info=Sharon::with(['collection_image:type,img,sharon_id','sharon_image:type,img,sharon_id'])
  61. ->where('user_id',$user_id)->latest()->first();
  62. if(empty($info)){
  63. $info=(object)null;
  64. $info->isEmpty = 0;
  65. }else{
  66. //沙龙活动已结束,数据已上传,准备开启下次沙龙
  67. if($info->end_at<Carbon::now() && !empty($info->sale_num) && !empty($info->agent_num)){
  68. $info->isEmpty = 0;
  69. }else{
  70. $info->isEmpty = 1;
  71. }
  72. }
  73. return $this->success($info);
  74. }
  75. //获取单个沙龙申请单
  76. public function sharonIdDetail(Request $request)
  77. {
  78. $sharon_id=$request->input('sharon_id');
  79. $info=Sharon::with(['collection_image:type,img,sharon_id','sharon_image:type,img,sharon_id'])
  80. ->where('id',$sharon_id)->first();
  81. return $this->success($info);
  82. }
  83. //修改沙龙信息
  84. public function editInfo(Request $request)
  85. {
  86. $sharon_id=$request->input('sharon_id');
  87. $start_at=$request->input('start_at');
  88. $end_at=$request->input('end_at');
  89. $province=$request->input('province');
  90. $city=$request->input('city');
  91. $area=$request->input('area');
  92. $address=$request->input('address');
  93. $except_num=$request->input('except_num');
  94. $res=Sharon::where('id',$sharon_id)->update([
  95. 'start_at'=>$start_at,
  96. 'end_at'=>$end_at,
  97. 'state'=>0,
  98. 'reason'=>null,
  99. 'province'=>$province,
  100. 'city'=>$city,
  101. 'area'=>$area,
  102. 'address'=>$address,
  103. 'except_num'=>$except_num,
  104. ]);
  105. if($res){
  106. return $this->success([]);
  107. }
  108. return $this->error();
  109. }
  110. //提交沙龙结果
  111. public function submitSharonData(Request $request)
  112. {
  113. $sharon_id=$request->input('sharon_id');
  114. $sale_num=$request->input('sale_num');
  115. $agent_num=$request->input('agent_num');
  116. $actual_num=$request->input('actual_num');
  117. $collection_img=$request->input('collectionImg');
  118. $sharon_img=$request->input('sharonImg');
  119. Log::info($request->input());
  120. Log::info('数据类型:'.gettype($request->input('sale_num')));
  121. Log::info('数据类型:'.gettype($request->input('collection_img')));
  122. // return json_encode($collection_img);
  123. try{
  124. DB::beginTransaction();
  125. Sharon::where('id',$sharon_id)
  126. ->update([
  127. 'sale_num'=>$sale_num,
  128. 'agent_num'=>$agent_num,
  129. 'actual_num'=>$actual_num,
  130. // '$collection_img'=>json_encode($collection_img),
  131. // 'sharon_img'=>json_encode($sharon_img)
  132. ]);
  133. Image::where('sharon_id',$sharon_id)->delete();
  134. if(count($collection_img)>0){
  135. foreach($collection_img as $val){
  136. Image::create([
  137. 'img'=>$val,
  138. 'type'=>1,
  139. 'sharon_id'=>$sharon_id,
  140. ]);
  141. }
  142. }
  143. if(count($sharon_img)>0){
  144. foreach($sharon_img as $val){
  145. Image::create([
  146. 'img'=>$val,
  147. 'type'=>2,
  148. 'sharon_id'=>$sharon_id,
  149. ]);
  150. }
  151. }
  152. DB::commit();
  153. return $this->success([]);
  154. }catch(\Exception $e){
  155. DB::rollBack();
  156. return $this->error(50012,'',$e->getMessage());
  157. }
  158. }
  159. //APP提交沙龙结果 -----¥¥¥¥¥-------
  160. public function submitAppSharonData(Request $request)
  161. {
  162. $sharon_id=$request->input('sharon_id');
  163. $sale_num=$request->input('sale_num');
  164. $agent_num=$request->input('agent_num');
  165. $actual_num=$request->input('actual_num');
  166. $collection_img=$request->input('collectionImg');
  167. $sharon_img=$request->input('sharonImg');
  168. // $data = file_get_contents("php://input");
  169. // Log::info($data);
  170. Log::info($request->input());
  171. try{
  172. DB::beginTransaction();
  173. Sharon::where('id',$sharon_id)
  174. ->update([
  175. 'sale_num'=>$sale_num,
  176. 'agent_num'=>$agent_num,
  177. 'actual_num'=>$actual_num
  178. ]);
  179. Image::where('sharon_id',$sharon_id)->delete();
  180. // $collection_img='http://api.app.jiuweiyun.cn/storage/sharon/collection/mnCrBg46cU9TbrxhdhBeNsUXct8JAnpOMNSnKoZ0.jpg,http://api.app.jiuweiyun.cn/storage/sharon/collection/FQ3WQmU3oUkuDbr3knGYKknp3Z8OBcmKyd0H1QtH.jpg,';
  181. $collection=explode(',',$collection_img);
  182. if(count($collection)>0){
  183. foreach($collection as $val){
  184. if($val){
  185. Image::create([
  186. 'img'=>$val,
  187. 'type'=>1,
  188. 'sharon_id'=>$sharon_id,
  189. ]);
  190. }
  191. }
  192. }
  193. $sharon=explode(',',$sharon_img);
  194. if(count($sharon,true)>0){
  195. foreach($sharon as $val){
  196. if($val){
  197. Image::create([
  198. 'img'=>$val,
  199. 'type'=>2,
  200. 'sharon_id'=>$sharon_id,
  201. ]);
  202. }
  203. }
  204. }
  205. DB::commit();
  206. return $this->success([]);
  207. }catch(\Exception $e){
  208. DB::rollBack();
  209. return $this->error(50012,'',$e->getMessage());
  210. }
  211. }
  212. //查看历史沙龙
  213. public function sharonList(Request $request)
  214. {
  215. $user_id=Auth::user()->id;
  216. $page_index=$request->input('page_index');
  217. $page_size=$request->input('page_size');
  218. $num=$page_size*($page_index-1);
  219. $total=Sharon::where('user_id',$user_id)->count();
  220. $list=Sharon::where('user_id',$user_id)
  221. ->orderBy('id','desc')
  222. ->skip($num)->take($page_size)
  223. ->get();
  224. return $this->success_list($list,'',$total);
  225. }
  226. //撤销沙龙
  227. public function cancelSharon(Request $request)
  228. {
  229. $sharon_id=$request->input('sharon_id');
  230. $sharon=Sharon::where('id',$sharon_id)->first();
  231. if($sharon->state==2){
  232. return $this->error('450001','沙龙已审核,不能撤销');
  233. }
  234. $res=$sharon->delete();
  235. if($res){
  236. return $this->success([]);
  237. }
  238. return $this->error();
  239. }
  240. //插入收款图片
  241. public function uploadCollectionImg(Request $request)
  242. {
  243. $file = $request->file('img')->store('public/sharon/collection');
  244. if(empty($file)){
  245. return $this->error();
  246. }else{
  247. return $this->success(env('APP_URL').Storage::url($file));
  248. }
  249. }
  250. //插入沙龙图片
  251. public function uploadSharonImg(Request $request){
  252. $file = $request->file('img')->store('public/sharon/sharon');
  253. if(empty($file)){
  254. return $this->error();
  255. }else{
  256. return $this->success(env('APP_URL').Storage::url($file));
  257. }
  258. }
  259. }