Nessuna descrizione

CustomerDepositController.php 24KB

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