No Description

CustomerDepositController.php 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. <?php
  2. /**
  3. * Created by Sublime.
  4. * User: Williamslife Wang
  5. * Date: 17/10/18
  6. * Time: 上午11:20
  7. */
  8. namespace App\Http\Controllers\Admin;
  9. use App\CustomerCoupons;
  10. use App\CustomerMonthGift;
  11. use App\CustomerVip;
  12. use App\Goods;
  13. use App\GoodsSkus;
  14. use App\Http\Controllers\Controller;
  15. use App\Admin;
  16. use function GuzzleHttp\Psr7\str;
  17. use Illuminate\Http\Request;
  18. use App\CustomerInfo;
  19. use App\CustomerDeposit;
  20. use App\CustomerConsum;
  21. use App\CustomerDepositPackages;
  22. use Illuminate\Support\Facades\DB;
  23. class CustomerDepositController extends Controller
  24. {
  25. /**
  26. * @return \Illuminate\View\View
  27. */
  28. public function customerList(Request $request)
  29. {
  30. $admin_id = (int)$request->input('admin_id');
  31. $self_role = session('role_name');
  32. $self_id = session('admin_id');
  33. $saler_ids = null;
  34. if($self_role == '管理员' || $self_role == '分销管理员'){
  35. $team_id = DB::table('admin')->where('id', $self_id)->pluck('team_id');
  36. $saler_ids = DB::table('admin')->where('team_id', $team_id)->lists('id');
  37. }
  38. $phone = trim( $request->input('phone') );
  39. $name = trim( $request->input('name') );
  40. $page = (int)$request->input('page');
  41. $pageSize = 20;
  42. if($page<=0){
  43. $page = 1;
  44. }
  45. $offset = ($page-1) * $pageSize;
  46. $count = CustomerInfo::where(function($query) use($phone, $name, $admin_id, $saler_ids){
  47. if($phone) $query->where('phone', $phone);
  48. if($name) $query->where('name', 'like', '%'. $name. '%');
  49. if($admin_id) $query->where('admin_id', $admin_id);
  50. if( !empty($saler_ids) ) $query->whereIn('admin_id', $saler_ids);
  51. })->count();
  52. if ($count > 1) {
  53. // 总页数
  54. $pages = ceil($count/$pageSize);
  55. }else{
  56. // 总页数
  57. $pages = 1;
  58. }
  59. $result = CustomerInfo::where(function($query) use($phone, $name, $admin_id, $saler_ids){
  60. if($phone) $query->where('phone', $phone);
  61. if($name) $query->where('name', 'like', '%'. $name. '%');
  62. if($admin_id) $query->where('admin_id', $admin_id);
  63. if( !empty($saler_ids) ) $query->whereIn('admin_id', $saler_ids);
  64. })->orderBy('id', 'desc')->offset($offset)->limit($pageSize)->get();
  65. $result = json_decode(json_encode($result),true);
  66. foreach($result as $k=>&$v){
  67. $v['phonei'] = substr($v['phone'],0,3).'****'.substr($v['phone'],7);
  68. }
  69. return view('deposit/customerList', ['result' =>$result,
  70. 'page' =>$page,
  71. 'count' =>$count,
  72. 'pages' =>$pages,
  73. 'phone' =>$phone,
  74. 'name' =>$name,
  75. ]);
  76. }
  77. /**
  78. * @return \Illuminate\View\View
  79. */
  80. public function index(Request $request)
  81. {
  82. $phone = $request->input('phone');
  83. $page = (int)$request->input('page');
  84. $pageSize = 20;
  85. if($page<=0){
  86. $page = 1;
  87. }
  88. $offset = ($page-1) * $pageSize;
  89. $count = CustomerDeposit::where(function($query) use($phone){
  90. if($phone) $query->where('phone', $phone);
  91. })->where('is_del',0)->count();
  92. if ($count > 1) {
  93. // 总页数
  94. $pages = ceil($count/$pageSize);
  95. }else{
  96. // 总页数
  97. $pages = 1;
  98. }
  99. $result = CustomerDeposit::where(function($query) use($phone){
  100. if($phone) $query->where('phone', $phone);
  101. })->where('is_del',0)->orderBy('pay_time', 'desc')->offset($offset)->limit($pageSize)->get();
  102. $result = json_decode(json_encode($result),true);
  103. foreach($result as $k=>&$v){
  104. $v['phone'] = substr($v['phone'],0,3).'****'.substr($v['phone'],7);
  105. if($v['payment_type'] == 1){
  106. $v['payment_type'] = '微信支付';
  107. }elseif($v['payment_type'] == 3){
  108. $v['payment_type'] = '个体户支付';
  109. }else{
  110. $v['payment_type'] = '';
  111. }
  112. }
  113. return view('deposit/index', ['result' =>$result,
  114. 'page' =>$page,
  115. 'count' =>$count,
  116. 'pages' =>$pages,
  117. 'phone' =>$phone
  118. ]);
  119. }
  120. /**
  121. * @return \Illuminate\View\View
  122. */
  123. public function create(Request $request)
  124. {
  125. $phone = $request->input('phone');
  126. //查询套餐
  127. $packages = CustomerDepositPackages::where('is_del', 0)->orderBy('pay_amount', 'asc')->get();
  128. $phonei = substr($phone,0,3).'****'.substr($phone,7);
  129. $self_role = session('role_name');
  130. $team_id = null;
  131. if($self_role == '管理员' || $self_role == '分销管理员'){
  132. $admin_id = session('admin_id');
  133. $team_id = DB::table('admin')->where('id', $admin_id)->pluck('team_id');
  134. }
  135. $adminList = DB::table('admin')->select('id', 'realname', 'username')->where(function($query) use($team_id){
  136. if($team_id>0) $query->where('team_id', $team_id);
  137. })->where('id','>', 1)->get();
  138. $adminList = json_decode(json_encode($adminList), true);
  139. return view('deposit/create', ['packages'=>$packages, 'phone'=>$phone, 'phonei'=>$phonei, 'adminlist'=>$adminList, 'self_role'=>$self_role]);
  140. }
  141. /**
  142. * @param Request $request
  143. * @return \Illuminate\Http\RedirectResponse
  144. */
  145. public function store(Request $request)
  146. {
  147. $pay_money = $request->input('pay_money');
  148. $pack_required = 'required';
  149. if($pay_money>0){
  150. $pack_required = '';
  151. }
  152. $this->validate($request, [
  153. 'phone' => 'required',
  154. 'package_id' => $pack_required,
  155. 'pay_time' => 'required',
  156. ], [
  157. 'phone.required' => '手机号不能为空',
  158. 'package_id.required' => '必须选择套餐',
  159. 'pay_time.required' => '充值时间必须选择',
  160. ]);
  161. $admin_id = (int)$request->input('admin_id');
  162. if(!$admin_id) $admin_id = session('admin_id');
  163. $deposit = new CustomerDeposit();
  164. $deposit->phone = $request->input('phone');
  165. $deposit->admin_id = $admin_id;
  166. $deposit->pay_time = $request->input('pay_time');
  167. $deposit->payment_type = $request->input('payment_type');
  168. if($pay_money>0){
  169. //自定义充值
  170. $deposit->pay_amount = $pay_money;
  171. $deposit->discount = 0;
  172. $deposit->deposit_amount = $pay_money;
  173. $deposit->note = '自定义充值';
  174. }else{
  175. $package_id = (int)$request->input('package_id');
  176. $package_info = CustomerDepositPackages::where('id', $package_id)->first();
  177. $deposit->pay_amount = $package_info->pay_amount;
  178. $deposit->discount = $package_info->discount;
  179. $deposit->deposit_amount = $deposit->pay_amount + $deposit->discount;
  180. $deposit->note = $package_info->note;
  181. }
  182. if($deposit->save()){
  183. //变更余额
  184. $name = trim( $request->input('name') );
  185. $customerInfo = CustomerInfo::where('phone', $deposit->phone)->first();
  186. if(!empty($customerInfo)){
  187. $customerInfo->balance = $customerInfo->balance + $deposit->deposit_amount;
  188. $customerInfo->deposit_total = $customerInfo->deposit_total + $deposit->deposit_amount;
  189. $customerInfo->deposit_times = $customerInfo->deposit_times + 1;
  190. $customerInfo->save();
  191. }else{
  192. $customerInfo = new CustomerInfo();
  193. $customerInfo->phone = $deposit->phone;
  194. $customerInfo->deposit_times = 1;
  195. $customerInfo->balance = $deposit->deposit_amount;
  196. $customerInfo->deposit_total = $deposit->deposit_amount;
  197. if(!empty($name)) $customerInfo->name = $name;
  198. $customerInfo->admin_id = $admin_id;
  199. $customerInfo->save();
  200. }
  201. }
  202. return redirect('/admin/deposit/index?phone='.$deposit->phone)->with('info', '添加成功');
  203. }
  204. /**
  205. * @param $id
  206. * @return \Illuminate\View\View
  207. */
  208. public function edit($id)
  209. {
  210. $deposit = CustomerDeposit::findOrFail($id);
  211. return view('deposit/edit', ['deposit' => $deposit, 'id'=>$id]);
  212. }
  213. /**
  214. * @param Request $request
  215. * @return \Illuminate\Http\RedirectResponse
  216. */
  217. public function update(Request $request)
  218. {
  219. $id = (int)$request->input('id');
  220. $this->validate($request, [
  221. 'phone' => 'required',
  222. 'pay_amount' => 'required',
  223. 'discount' => 'required',
  224. ], [
  225. 'phone.required' => '手机号不能为空',
  226. 'pay_amount.required' => '参数有误',
  227. 'discount.required' => '参数有误',
  228. ]);
  229. $template = Templates::findOrFail($id);
  230. $template->url = trim($request->input('url'));
  231. $template->note = trim($request->input('note'));
  232. //图片上传 阿里云oss
  233. if ($request->hasFile('img') && $request->file('img')->isValid()) {
  234. $file = $request->file('img');
  235. $ossClient=new oss();
  236. // 上传阿里云
  237. $file = $ossClient->upload($file->getClientOriginalExtension(), $file->getRealPath(), 'upload/seafoodPic'.date("Y-m-d",time()).'/'.date('His'));
  238. $img=$file['oss-request-url'];
  239. $template->img=str_replace("kx-youhuiquan.oss-cn-beijing.aliyuncs.com","imgs.726p.com",$img);
  240. }
  241. $template->save();
  242. return redirect('/admin/template/index')->with('info', '修改模板成功');
  243. }
  244. //获余额
  245. public function getBalance($phone){
  246. $result = CustomerInfo::where('phone', $phone)->pluck('balance');
  247. if(empty($result)){
  248. exit('0');
  249. }
  250. exit($result);
  251. }
  252. /**
  253. * @return \Illuminate\View\View
  254. */
  255. public function consumList(Request $request)
  256. {
  257. $phone = $request->input('phone');
  258. $page = (int)$request->input('page');
  259. $pageSize = 20;
  260. if($page<=0){
  261. $page = 1;
  262. }
  263. $offset = ($page-1) * $pageSize;
  264. $count = CustomerConsum::where(function($query) use($phone){
  265. if($phone) $query->where('phone', $phone);
  266. })->where('is_del',0)->count();
  267. if ($count > 1) {
  268. // 总页数
  269. $pages = ceil($count/$pageSize);
  270. }else{
  271. // 总页数
  272. $pages = 1;
  273. }
  274. $result = CustomerConsum::where(function($query) use($phone){
  275. if($phone) $query->where('phone', $phone);
  276. })->where('is_del',0)->orderBy('id', 'desc')->offset($offset)->limit($pageSize)->get();
  277. $result = json_decode(json_encode($result),true);
  278. foreach($result as $k=>&$v){
  279. $v['phone'] = substr($v['phone'],0,3).'****'.substr($v['phone'],7);
  280. }
  281. return view('deposit/consumList', ['result' =>$result,
  282. 'page' =>$page,
  283. 'count' =>$count,
  284. 'pages' =>$pages,
  285. 'phone' =>$phone
  286. ]);
  287. }
  288. /**
  289. * 编辑充值方式
  290. */
  291. public function editPayType(Request $request){
  292. $id = (int)$request->input('id');
  293. $payment_type = $request->input('payment_type');
  294. $data = array();
  295. if(isset($payment_type)){
  296. if(empty($payment_type)){
  297. $payment_type = null;
  298. }
  299. $data['payment_type'] = (int)$payment_type;
  300. }
  301. if($id>0 && !empty($data)){
  302. $res = CustomerDeposit::where('id', $id)->update($data);
  303. }
  304. return 1;
  305. }
  306. /**
  307. * vip用户列表
  308. * @param Request $request
  309. */
  310. public function vipCustomerList(Request $request) {
  311. $page = (int)$request->input('page');
  312. $name = $request->input('name');
  313. $phone = $request->input('phone');
  314. $admin_id = (int)$request->input('admin_id');
  315. $team_id = (int)$request->input('team_id');
  316. $self_role = session('role_name');
  317. if($self_role == '管理员'){
  318. //只能看自己团队的
  319. $self_id = session('admin_id');
  320. $team_id = DB::table('admin')->where('id', $self_id)->pluck('team_id');
  321. }
  322. //假如有团队筛选,检索销售队员
  323. $saler_ids = null;
  324. if($team_id>0 && !$admin_id){
  325. $saler_ids = DB::table('admin')->where('team_id', $team_id)->lists('id');
  326. }
  327. $pageSize = 20;
  328. if($page<=0){
  329. $page = 1;
  330. }
  331. $offset = ($page-1) * $pageSize;
  332. $count = CustomerVip::where(function($query) use ($name,$phone,$admin_id,$saler_ids) {
  333. if($phone) $query->where('phone', $phone);
  334. if($name) $query->where('name', 'like', '%'. $name. '%');
  335. if($admin_id) $query->where('admin_id', $admin_id);
  336. if( !empty($saler_ids) ) $query->whereIn('admin_id', $saler_ids);
  337. })->count();
  338. if ($count > 1) {
  339. // 总页数
  340. $pages = ceil($count/$pageSize);
  341. }else{
  342. // 总页数
  343. $pages = 1;
  344. }
  345. $result = CustomerVip::where(function($query) use($phone, $name, $admin_id, $saler_ids){
  346. if($phone) $query->where('phone', $phone);
  347. if($name) $query->where('name', 'like', '%'. $name. '%');
  348. if($admin_id) $query->where('admin_id', $admin_id);
  349. if( !empty($saler_ids) ) $query->whereIn('admin_id', $saler_ids);
  350. })->orderBy('id','desc')->offset($offset)->limit($pageSize)->get();
  351. $result = json_decode(json_encode($result),true);
  352. $teamList = DB::table('teams')->select('id', 'name')->where(function($query) use($team_id, $self_role){
  353. if($self_role == '管理员') $query->where('id', $team_id);
  354. })->where('type', 1)->get();
  355. $teamList = json_decode(json_encode($teamList), true);
  356. $adminList = DB::table('admin')->select('id', 'realname', 'username')->where(function($query) use($team_id, $self_role){
  357. if($self_role == '管理员') $query->where('team_id', $team_id);
  358. })->where('id','>', 1)->get();
  359. $adminList = json_decode(json_encode($adminList), true);
  360. return view('customer/vipCustomerList', [
  361. 'result' =>$result,
  362. 'page' =>$page,
  363. 'count' =>$count,
  364. 'pages' =>$pages,
  365. 'phone' =>$phone,
  366. 'name' =>$name,
  367. 'teamlist' =>$teamList,
  368. 'adminlist' =>$adminList,
  369. 'team_id' =>$team_id,
  370. 'admin_id' =>$admin_id,
  371. 'self_role' =>$self_role,
  372. ]);
  373. }
  374. /**
  375. * 添加vip用户页面
  376. * @param Request $request
  377. */
  378. public function addVipCustomer(Request $request) {
  379. $self_role = session('role_name');
  380. $team_id = null;
  381. if($self_role == '管理员'){
  382. //只能看自己团队的
  383. $self_id = session('admin_id');
  384. $team_id = DB::table('admin')->where('id', $self_id)->pluck('team_id');
  385. }
  386. $adminList = DB::table('admin')->select('id', 'realname', 'username')->where(function($query) use($team_id, $self_role){
  387. if($self_role == '管理员') $query->where('team_id', $team_id);
  388. })->where('id','>', 1)->get();
  389. $adminList = json_decode(json_encode($adminList), true);
  390. return view('customer/vipCustomerCreate',[
  391. 'adminlist' => $adminList,
  392. ]);
  393. }
  394. /**
  395. * 添加vip用户信息
  396. * @param Request $request
  397. */
  398. public function storeVipCustomer(Request $request) {
  399. $this->validate($request, [
  400. 'phone' => 'required',
  401. 'birthday' => 'required',
  402. ], [
  403. 'phone.required' => '手机号不能为空',
  404. 'birthday.required' => '必须填写用户生日',
  405. ]);
  406. //添加vip用户
  407. $customerVip = new CustomerVip();
  408. $customerVip->phone = $request->input('phone');
  409. $customerVip->name = $request->input('name');
  410. $customerVip->admin_id = $request->input('admin_id');
  411. $customerVip->level = 1;
  412. $customerVip->discount = 95;
  413. $customerVip->create_time = date('Y-m-d H:i:s',time());
  414. $customerVip->vip_end_time = date('Y-m-d H:i:s',strtotime('+1 year'));
  415. $customerVip->birthday = $request->input('birthday');
  416. $customerVip->is_del = 0;
  417. if($customerVip->save()) {
  418. //添加优惠券
  419. for($i=1;$i<=6;$i++){
  420. $customerCoupons = new CustomerCoupons();
  421. $customerCoupons->phone = $request->input('phone');
  422. $customerCoupons->coupon_price = 30;
  423. $customerCoupons->create_time = date('Y-m-d H:i:s',time());
  424. $customerCoupons->end_time = date('Y-m-d',strtotime('+3 months'));
  425. $customerCoupons->is_use = 0;
  426. $customerCoupons->save();
  427. }
  428. }
  429. return redirect('/admin/customer/vipList')->with('info', '添加成功');
  430. }
  431. /**
  432. * 编辑vip用户页面
  433. * @param Request $request
  434. */
  435. public function editVipCustomer(Request $request) {
  436. $id = $request->input('id');
  437. $self_role = session('role_name');
  438. $team_id = null;
  439. if($self_role == '管理员'){
  440. //只能看自己团队的
  441. $self_id = session('admin_id');
  442. $team_id = DB::table('admin')->where('id', $self_id)->pluck('team_id');
  443. }
  444. $customer = CustomerVip::findOrFail($id);
  445. $adminList = DB::table('admin')->select('id', 'realname', 'username')->where(function($query) use($team_id, $self_role){
  446. if($self_role == '管理员') $query->where('team_id', $team_id);
  447. })->where('id','>', 1)->get();
  448. $adminList = json_decode(json_encode($adminList), true);
  449. return view('customer/vipCustomerEdit',[
  450. 'info'=>$customer,
  451. 'adminlist' => $adminList,
  452. ]);
  453. }
  454. /**
  455. * 编辑vip用户信息
  456. * @param Request $request
  457. */
  458. public function updateVipCustomer(Request $request) {
  459. $id = $request->input('id');
  460. //修改vip用户信息
  461. $customerVip = CustomerVip::findOrFail($id);
  462. $customerVip->name = $request->input('name');
  463. $customerVip->birthday = $request->input('birthday');
  464. $customerVip->admin_id = $request->input('admin_id');
  465. if($customerVip->save()){
  466. return redirect('/admin/customer/vipList')->with('info', '编辑成功');
  467. } else {
  468. return redirect('/admin/customer/vipUpdate?id='.$id)->with('info', '编辑失败');
  469. }
  470. }
  471. /**
  472. * 启用vip用户
  473. * @param Request $request
  474. */
  475. public function vipUp(Request $request) {
  476. $id = $request->input('id');
  477. $res = CustomerVip::where('id',$id)->update(['is_del'=>0]);
  478. if($res) exit('1');
  479. exit('0');
  480. }
  481. /**
  482. * 禁用vip用户
  483. * @param Request $request
  484. */
  485. public function vipDel(Request $request) {
  486. $id = $request->input('id');
  487. $res = CustomerVip::where('id',$id)->update(['is_del'=>1]);
  488. if($res) exit('1');
  489. exit('0');
  490. }
  491. /**
  492. * 会员用户礼品列表
  493. * @param Request $request
  494. */
  495. public function monthGiftList(Request $request) {
  496. $page = $request->input('page',1);
  497. $type = $request->input('type');
  498. $pageSize = 20;
  499. if($page<=0){
  500. $page = 1;
  501. }
  502. $offset = ($page-1) * $pageSize;
  503. $count = CustomerMonthGift::where(function($query) use ($type) {
  504. if($type && ($type != '-1')) $query->where('type',$type);
  505. })->count();
  506. if ($count > 1) {
  507. // 总页数
  508. $pages = ceil($count/$pageSize);
  509. }else{
  510. // 总页数
  511. $pages = 1;
  512. }
  513. $result = CustomerMonthGift::where(function($query) use ($type) {
  514. if($type && ($type != '-1')) $query->where('type',$type);
  515. })->orderBy('id','desc')->offset($offset)->limit($pageSize)->get();
  516. $result = json_decode(json_encode($result),true);
  517. $result = array_map(function($value){
  518. $item = $value;
  519. $sku = GoodsSkus::select('propsName','price','is_white','quantity','is_weigh')->where('id', $value['sku_id'])->where('is_del', 0)->first();
  520. $goods = Goods::select('name','picUrl','goodsCategoryName')->where('is_del', 0)->where('id', $value['goods_id'])->first();
  521. $item['sku'] = $sku;
  522. $item['goods'] = $goods;
  523. return $item;
  524. },$result);
  525. return view('customer/customerGiftList',[
  526. 'page' => $page,
  527. 'pages' => $pages,
  528. 'count' => $count,
  529. 'result'=> $result,
  530. 'type' => $type,
  531. ]);
  532. }
  533. /**
  534. * 添加礼品页面
  535. */
  536. public function addMonthGift() {
  537. return view('customer/customerGiftAdd');
  538. }
  539. /**
  540. * 编辑礼品页面
  541. * @param Request $request
  542. */
  543. public function editMonthGift(Request $request) {
  544. $id = $request->input('id');
  545. $gift = CustomerMonthGift::findOrFail($id);
  546. $goods = Goods::select('gs.id as sku_id', 'goods.id as goods_id', 'goods.name', 'gs.propsName as props_name', 'gs.price', 'gs.is_weigh')->leftJoin('goods_skus as gs', 'gs.goodsCode', '=', 'goods.id')->where('gs.id', $gift->sku_id)->orderBy('goods.id', 'desc')->first();
  547. return view('customer/customerGiftEdit',[
  548. 'info' => $gift,
  549. 'good' => $goods,
  550. ]);
  551. }
  552. /**
  553. * 添加礼品信息
  554. * @param Request $request
  555. */
  556. public function monthGiftStore(Request $request) {
  557. #数据校验
  558. $this->validate( $request ,[
  559. 'mtime' => 'required',
  560. ],[
  561. 'mtime.required' => '日期必填',
  562. ]
  563. );
  564. #数据处理
  565. $type = $request->input('type');
  566. $mtime = date('Y-m-01',strtotime($request->input('mtime')));
  567. $skus = $request->input('skus');
  568. $sku_id = $skus[0];
  569. $gnum = $request->input('gnum');
  570. $num = $gnum[0];
  571. //根据规格id反向查询商品goods_id
  572. $sku = GoodsSkus::find($sku_id);
  573. $goods_id = $sku['goodsCode'];
  574. #数据存储
  575. $gift = new CustomerMonthGift();
  576. $gift->mtime = $mtime;
  577. $gift->goods_id = $goods_id;
  578. $gift->sku_id = $sku_id;
  579. $gift->type = $type;
  580. $gift->num = $num;
  581. $gift->create_time = date('Y-m-d H:i:s',time());
  582. $res = $gift->save();
  583. #结果返回
  584. if($res){
  585. return redirect('/admin/customer/giftList')->with('info','添加成功');
  586. } else {
  587. return back()->with('info','添加失败');
  588. }
  589. }
  590. /**
  591. * 编辑礼品信息
  592. * @param Request $request
  593. */
  594. public function monthGiftUpdate(Request $request) {
  595. #数据校验
  596. $this->validate( $request ,[
  597. 'mtime' => 'required',
  598. ],[
  599. 'mtime.required' => '日期必填',
  600. ]
  601. );
  602. #数据处理
  603. $type = $request->input('type');
  604. $id = $request->input('id');
  605. $mtime = date('Y-m-01',strtotime($request->input('mtime')));
  606. $skus = $request->input('skus');
  607. $sku_id = $skus[0];
  608. $gnum = $request->input('gnum');
  609. $num = $gnum[0];
  610. //根据规格id反向查询商品goods_id
  611. $sku = GoodsSkus::find($sku_id);
  612. $goods_id = $sku['goodsCode'];
  613. #数据存储
  614. $gift = CustomerMonthGift::findOrFail($id);
  615. $gift->mtime = $mtime;
  616. $gift->goods_id = $goods_id;
  617. $gift->sku_id = $sku_id;
  618. $gift->type = $type;
  619. $gift->num = $num;
  620. $res = $gift->save();
  621. #结果返回
  622. if($res){
  623. return redirect('/admin/customer/giftList')->with('info','修改成功');
  624. } else {
  625. return back()->with('info','修改失败');
  626. }
  627. }
  628. }