You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

232 lines
7.2 KiB

7 years ago
7 years ago
7 years ago
4 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
6 years ago
7 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use Illuminate\Support\Facades\DB;
  4. class GoodsController extends BaseController
  5. {
  6. public function __construct()
  7. {
  8. parent::__construct();
  9. }
  10. public function index()
  11. {
  12. $res = '';
  13. $where = function ($query) use ($res) {
  14. if(isset($_REQUEST["keyword"]))
  15. {
  16. $query->where('title', 'like', '%'.$_REQUEST['keyword'].'%');
  17. }
  18. if(isset($_REQUEST["typeid"]) && $_REQUEST["typeid"]!=0)
  19. {
  20. $query->where('typeid', $_REQUEST["typeid"]);
  21. }
  22. if(isset($_REQUEST["id"]))
  23. {
  24. $query->where('typeid', $_REQUEST["id"]);
  25. }
  26. };
  27. $posts = parent::pageList('goods', $where);
  28. foreach($posts as $key=>$value)
  29. {
  30. $info = DB::table('goods_type')->select('name')->where("id", $value->typeid)->first();
  31. $posts[$key]->name = $info->name;
  32. $posts[$key]->body = '';
  33. }
  34. $data['posts'] = $posts;
  35. return view('admin.goods.index', $data);
  36. }
  37. public function add()
  38. {
  39. $data = [];
  40. if(!empty($_GET["catid"])){$data['catid'] = $_GET["catid"];}else{$data['catid'] = 0;}
  41. $data['goodsbrand_list'] = object_to_array(DB::table('goods_brand')->where('status', 0)->orderBy('listorder', 'asc')->get()); //商品品牌
  42. return view('admin.goods.add', $data);
  43. }
  44. public function doadd()
  45. {
  46. $litpic="";if(!empty($_POST["litpic"])){$litpic = $_POST["litpic"];}else{$_POST['litpic']="";} //缩略图
  47. if(empty($_POST["description"])){if(!empty($_POST["body"])){$_POST['description']=cut_str($_POST["body"]);}} //description
  48. $_POST['add_time'] = $_POST['pubdate'] = time(); //添加&更新时间
  49. $_POST['user_id'] = $_SESSION['admin_info']['id']; // 发布者id
  50. //关键词
  51. if(!empty($_POST["keywords"]))
  52. {
  53. $_POST['keywords']=str_replace("",",",$_POST["keywords"]);
  54. }
  55. else
  56. {
  57. if(!empty($_POST["title"]))
  58. {
  59. $title=$_POST["title"];
  60. $title=str_replace("","",$title);
  61. $title=str_replace(",","",$title);
  62. $_POST['keywords']=get_keywords($title);//标题分词
  63. }
  64. }
  65. unset($_POST["_token"]);
  66. if(isset($_POST['editorValue'])){unset($_POST['editorValue']);}
  67. if(isset($_POST['promote_start_date'])){$_POST['promote_start_date'] = strtotime($_POST['promote_start_date']);}
  68. if(isset($_POST['promote_end_date'])){$_POST['promote_end_date'] = strtotime($_POST['promote_end_date']);}
  69. if(empty($_POST['promote_price'])){unset($_POST['promote_price']);}
  70. if(!empty($_POST['goods_img']))
  71. {
  72. $goods_img = $_POST['goods_img'];
  73. $_POST['goods_img'] = $_POST['goods_img'][0];
  74. }
  75. if($goods_id = DB::table('goods')->insertGetId(array_filter($_POST)))
  76. {
  77. if(isset($goods_img))
  78. {
  79. $tmp = [];
  80. foreach($goods_img as $k=>$v)
  81. {
  82. $tmp[] = ['url'=>$v,'goods_id'=>$goods_id,'add_time'=>time()];
  83. }
  84. DB::table('goods_img')->insert($tmp);
  85. }
  86. success_jump('添加成功', route('admin_goods'));
  87. }
  88. else
  89. {
  90. error_jump('添加失败!请修改后重新添加');
  91. }
  92. }
  93. public function edit()
  94. {
  95. if(!empty($_GET["id"])){$id = $_GET["id"];}else {$id="";}if(preg_match('/[0-9]*/',$id)){}else{exit;}
  96. $data['id'] = $id;
  97. $goods = DB::table('goods')->where('id', $id)->first();
  98. if($goods->promote_start_date != 0){$goods->promote_start_date = date('Y-m-d H:i:s',$goods->promote_start_date);}
  99. if($goods->promote_end_date != 0){$goods->promote_end_date = date('Y-m-d H:i:s',$goods->promote_end_date);}
  100. $data['post'] = object_to_array($goods, 1);
  101. $data['goodsbrand_list'] = object_to_array(DB::table('goods_brand')->where('status', 0)->orderBy('listorder', 'asc')->get()); //商品品牌
  102. $data['goods_img_list'] = object_to_array(DB::table('goods_img')->where(array('goods_id'=>$id))->orderBy('listorder', 'asc')->get()); //商品图片
  103. return view('admin.goods.edit', $data);
  104. }
  105. public function doedit()
  106. {
  107. if(!empty($_POST["id"])){$id = $_POST["id"];}else {$id="";exit;}
  108. $litpic="";if(!empty($_POST["litpic"])){$litpic = $_POST["litpic"];}else{$_POST['litpic']="";} //缩略图
  109. if(empty($_POST["description"])){if(!empty($_POST["body"])){$_POST['description']=cut_str($_POST["body"]);}}//description
  110. $_POST['pubdate'] = time();//更新时间
  111. $_POST['user_id'] = $_SESSION['admin_info']['id']; // 修改者id
  112. //关键词
  113. if(!empty($_POST["keywords"]))
  114. {
  115. $_POST['keywords']=str_replace("",",",$_POST["keywords"]);
  116. }
  117. else
  118. {
  119. if(!empty($_POST["title"]))
  120. {
  121. $title=$_POST["title"];
  122. $title=str_replace("","",$title);
  123. $title=str_replace(",","",$title);
  124. $_POST['keywords']=get_keywords($title);//标题分词
  125. }
  126. }
  127. unset($_POST["_token"]);
  128. if(isset($_POST['editorValue'])){unset($_POST['editorValue']);}
  129. if(isset($_POST['promote_start_date'])){$_POST['promote_start_date'] = strtotime($_POST['promote_start_date']);}
  130. if(isset($_POST['promote_end_date'])){$_POST['promote_end_date'] = strtotime($_POST['promote_end_date']);}
  131. if(empty($_POST['promote_price'])){unset($_POST['promote_price']);}
  132. if(!empty($_POST['goods_img']))
  133. {
  134. $goods_img = $_POST['goods_img'];
  135. $_POST['goods_img'] = $_POST['goods_img'][0];
  136. }
  137. if(DB::table('goods')->where('id', $id)->update($_POST))
  138. {
  139. if(isset($goods_img))
  140. {
  141. $tmp = [];
  142. foreach($goods_img as $k=>$v)
  143. {
  144. $tmp[] = ['url'=>$v,'goods_id'=>$id,'add_time'=>time()];
  145. }
  146. DB::table('goods_img')->where(array('goods_id'=>$id))->delete();
  147. DB::table('goods_img')->insert($tmp);
  148. }
  149. success_jump('修改成功', route('admin_goods'));
  150. }
  151. else
  152. {
  153. error_jump('修改失败');
  154. }
  155. }
  156. public function del()
  157. {
  158. if(!empty($_GET["id"])){$id = $_GET["id"];}else{error_jump('删除失败!请重新提交');}
  159. if(DB::table('goods')->whereIn("id", explode(',', $id))->update(['status' => 1]))
  160. {
  161. success_jump("$id ,删除成功");
  162. }
  163. else
  164. {
  165. error_jump("$id ,删除失败!请重新提交");
  166. }
  167. }
  168. //商品推荐
  169. public function recommendarc()
  170. {
  171. if(!empty($_GET["id"])){$id = $_GET["id"];}else{error_jump('删除失败!请重新提交');}
  172. $data['tuijian'] = 1;
  173. if(DB::table('goods')->whereIn("id", explode(',', $id))->update($data))
  174. {
  175. success_jump("$id ,推荐成功");
  176. }
  177. else
  178. {
  179. error_jump("$id ,推荐失败!请重新提交");
  180. }
  181. }
  182. //商品是否存在
  183. public function goodsexists()
  184. {
  185. $res = '';
  186. $where = function ($query) use ($res) {
  187. if(isset($_REQUEST["title"]))
  188. {
  189. $query->where('title', $_REQUEST["title"]);
  190. }
  191. if(isset($_REQUEST["id"]))
  192. {
  193. $query->where('id', '<>', $_REQUEST["id"]);
  194. }
  195. };
  196. return DB::table("goods")->where($where)->count();
  197. }
  198. }