Mall.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. <?php
  2. namespace app\admin\controller;
  3. use think\facade\Session;
  4. use app\admin\BaseController;
  5. use app\common\model\MallCate as MallCateModel;
  6. use app\common\model\MallGoods as MallGoodsModel;
  7. use app\common\model\MallOrder as MallOrderModel;
  8. use app\common\model\User as UserModel;
  9. use app\common\model\UserIntegral as UserIntegralModel;
  10. use PHPExcel_IOFactory;
  11. use PHPExcel;
  12. class Mall extends BaseController
  13. {
  14. // 商品
  15. public function orderList()
  16. {
  17. return view('mall/orderlist', []);
  18. }
  19. public function orderForm()
  20. {
  21. $id = input('id/d, 0');
  22. $order = MallOrderModel::findOrEmpty($id);
  23. if ($order->isEmpty()) {
  24. exit(json_encode(array(
  25. 'code' => 1,
  26. 'msg' => "订单信息不存在"
  27. )));
  28. }
  29. return view('mall/orderform', [
  30. 'order' => $order
  31. ]);
  32. }
  33. public function listOrder()
  34. {
  35. $limit = input('limit');
  36. $page = input('page');
  37. $map = array();
  38. $keywords = input('keywords/s');
  39. if (!empty($keywords)) {
  40. $map[] =['ordersn|title', 'like', '%'.$keywords.'%'];
  41. }
  42. $goodsid = input('goodsid/d');
  43. if (!empty($goodsid)) {
  44. $map[] = ['goodsid', '=', $goodsid];
  45. }
  46. $status = input('status/d');
  47. if (!empty($status)) {
  48. $map[] = ['status', '=', $status];
  49. }
  50. $list = MallOrderModel::with('user', 'mallGoods')->where($map)->order(['id'=>'desc'])->limit($limit)->page($page)->select()->append(['status_text']);
  51. $count = MallOrderModel::where($map)->count();
  52. if ($count==0) {
  53. exit(json_encode(array(
  54. 'code' => 1,
  55. 'msg' => "未查询到数据"
  56. )));
  57. }
  58. exit(json_encode(array(
  59. 'code' => 0,
  60. 'msg' => "",
  61. 'count' => $count,
  62. 'data' => $list
  63. )));
  64. }
  65. public function exportOrder()
  66. {
  67. $map = array();
  68. $keywords = input('keywords/s');
  69. if (!empty($keywords)) {
  70. $map[] =['ordersn|title', 'like', '%'.$keywords.'%'];
  71. }
  72. $goodsid = input('goodsid/d');
  73. if (!empty($goodsid)) {
  74. $map[] = ['goodsid', '=', $goodsid];
  75. }
  76. $status = input('status/d');
  77. if (!empty($status)) {
  78. $map[] = ['status', '=', $status];
  79. }
  80. $xlsData = MallOrderModel::with('user', 'mallGoods')->where($map)->order(['id'=>'desc'])->select()->append(['status_text'])->toArray();
  81. $xlsCell = array(
  82. array('id','表ID'),
  83. array('ordersn','订单编号'),
  84. array('user.nickname','用户昵称'),
  85. array('user.mobile','用户手机号'),
  86. array('goodsid','商品ID'),
  87. array('title','商品名称'),
  88. array('gintegral','单量积分'),
  89. array('gpaymoney','单量金额'),
  90. array('buynumber','兑购量'),
  91. array('integral','订单积分'),
  92. array('paymoney','订单金额'),
  93. array('status_text','订单状态'),
  94. array('username','收货人姓名'),
  95. array('usermobile', '收货人手机号'),
  96. array('province', '省'),
  97. array('city', '市'),
  98. array('county', '区县'),
  99. array('detailinfo', '详细地址'),
  100. array('remark', '用户备注'),
  101. array('createtime', '下单时间')
  102. );
  103. export_excel("积分商城订单", $xlsCell, $xlsData);
  104. }
  105. public function delOrder()
  106. {
  107. $idarr = input('idarr/a');
  108. $info = MallOrderModel::whereIn('id', $idarr)->select();
  109. $info->delete();
  110. exit(json_encode(array(
  111. 'code' => 0,
  112. 'msg' => ""
  113. )));
  114. }
  115. public function editOrder()
  116. {
  117. $id = input('id/d', 0);
  118. $order = MallOrderModel::findOrEmpty($id);
  119. if ($order->isEmpty()) {
  120. exit(json_encode(array(
  121. 'code' => 1,
  122. 'msg' => "订单信息不存在"
  123. )));
  124. }
  125. $data = array(
  126. 'id' => $id,
  127. 'ordersn' => input('ordersn/s', ""),
  128. 'title' => input('title/s', ""),
  129. 'tilpic' => input('tilpic/s', ""),
  130. 'gintegral' => input('gintegral/d', 0),
  131. 'gpaymoney' => input('gpaymoney/f', 0.00),
  132. 'buynumber' => input('buynumber/d', 0),
  133. 'integral' => input('integral/d', 0),
  134. 'paymoney' => input('paymoney/f', 0.00),
  135. 'status' => input('status/d', 1),
  136. 'username' => input('username/s', ""),
  137. 'usermobile' => input('usermobile/s', ""),
  138. 'province' => input('province/s', ""),
  139. 'city' => input('city/s', ""),
  140. 'county' => input('county/s', ""),
  141. 'detailinfo' => input('detailinfo/s', ""),
  142. 'remark' => input('remark/s', "")
  143. );
  144. MallOrderModel::update($data);
  145. exit(json_encode(array(
  146. 'code' => 0
  147. )));
  148. }
  149. public function fieldOrder()
  150. {
  151. $id = input('id/d', 0);
  152. $info = MallOrderModel::findOrEmpty($id);
  153. if ($info->isEmpty()) {
  154. exit(json_encode(array(
  155. 'code' => 1,
  156. 'msg' => "信息不存在"
  157. )));
  158. } else {
  159. $info->save([
  160. input('field/s') => input('value')
  161. ]);
  162. }
  163. exit(json_encode(array(
  164. 'code' => 0
  165. )));
  166. }
  167. // 商品
  168. public function goodsList()
  169. {
  170. $catelist = MallCateModel::order(['priority'=>'desc','id'=>'desc'])->select();
  171. ;
  172. return view('mall/goodslist', [
  173. 'catelist' => $catelist
  174. ]);
  175. }
  176. public function goodsForm()
  177. {
  178. $catelist = MallCateModel::order(['priority'=>'desc','id'=>'desc'])->select();
  179. $id = input('id/d, 0');
  180. $goods = MallGoodsModel::findOrEmpty($id);
  181. return view('mall/goodsform', [
  182. 'catelist' => $catelist,
  183. 'goods' => $goods
  184. ]);
  185. }
  186. public function listGoods()
  187. {
  188. $limit = input('limit');
  189. $page = input('page');
  190. $map = array();
  191. $keywords = input('keywords/s');
  192. if (!empty($keywords)) {
  193. $map[] =['title', 'like', '%'.$keywords.'%'];
  194. }
  195. $cateid = input('cateid/d');
  196. if (!empty($cateid)) {
  197. $map[] = ['cateid', '=', $cateid];
  198. }
  199. $status = input('status/d');
  200. if (!empty($status)) {
  201. $map[] = ['status', '=', $status];
  202. }
  203. $list = MallGoodsModel::with('mallCate')->withCount(['mallCate','mallOrder'])->where($map)->order(['priority'=>'desc','id'=>'desc'])->limit($limit)->page($page)->select()->append(['status_text']);
  204. $count = MallGoodsModel::where($map)->count();
  205. if ($count==0) {
  206. exit(json_encode(array(
  207. 'code' => 1,
  208. 'msg' => "未查询到数据"
  209. )));
  210. }
  211. exit(json_encode(array(
  212. 'code' => 0,
  213. 'msg' => "",
  214. 'count' => $count,
  215. 'data' => $list
  216. )));
  217. }
  218. public function delGoods()
  219. {
  220. $idarr = input('idarr/a');
  221. $info = MallGoodsModel::whereIn('id', $idarr)->select();
  222. $info->delete();
  223. exit(json_encode(array(
  224. 'code' => 0,
  225. 'msg' => ""
  226. )));
  227. }
  228. public function editGoods()
  229. {
  230. $id = input('id/d');
  231. $data = array(
  232. 'cateid' => input('cateid/d', 0),
  233. 'title' => input('title/s', ""),
  234. 'tilpic' => input('tilpic/s', ""),
  235. 'picall' => input('picall/a', array()),
  236. 'stock' => input('stock/d', 0),
  237. 'sales' => input('sales/d', 0),
  238. 'integral' => input('integral/d', 0),
  239. 'paymoney' => input('paymoney/f', 0.00),
  240. 'summary' => input('summary/s', ""),
  241. 'oremark' => input('oremark/s', ""),
  242. 'details' => input('details/s', ""),
  243. 'priority' => input('priority/d', 0),
  244. 'createtime' => input('createtime/s', ""),
  245. 'status' => input('status/d', 1)
  246. );
  247. if (empty($id)) {
  248. MallGoodsModel::create($data);
  249. } else {
  250. $data['id'] = $id;
  251. MallGoodsModel::update($data);
  252. }
  253. exit(json_encode(array(
  254. 'code' => 0
  255. )));
  256. }
  257. public function fieldGoods()
  258. {
  259. $id = input('id/d', 0);
  260. $goods = MallGoodsModel::findOrEmpty($id);
  261. if ($goods->isEmpty()) {
  262. exit(json_encode(array(
  263. 'code' => 1,
  264. 'msg' => "信息不存在"
  265. )));
  266. } else {
  267. $goods->save([
  268. input('field/s') => input('value')
  269. ]);
  270. }
  271. exit(json_encode(array(
  272. 'code' => 0
  273. )));
  274. }
  275. // 分类
  276. public function cateList()
  277. {
  278. return view('mall/catelist');
  279. }
  280. public function cateForm()
  281. {
  282. $id = input('id/d, 0');
  283. $cate = MallCateModel::findOrEmpty($id);
  284. return view('mall/cateform', [
  285. 'cate' => $cate
  286. ]);
  287. }
  288. public function listCate()
  289. {
  290. $limit = input('limit');
  291. $page = input('page');
  292. $list = MallCateModel::order(['priority'=>'desc','id'=>'desc'])->limit($limit)->page($page)->select()->append(['status_text']);
  293. $count = MallCateModel::count();
  294. if ($count==0) {
  295. exit(json_encode(array(
  296. 'code' => 1,
  297. 'msg' => "未查询到数据"
  298. )));
  299. }
  300. exit(json_encode(array(
  301. 'code' => 0,
  302. 'msg' => "",
  303. 'count' => $count,
  304. 'data' => $list
  305. )));
  306. }
  307. public function fieldCate()
  308. {
  309. $id = input('id/d');
  310. $cate = MallCateModel::find($id);
  311. if ($cate==null) {
  312. exit(json_encode(array(
  313. 'code' => 1,
  314. 'msg' => "分类信息不存在"
  315. )));
  316. } else {
  317. $cate->save([
  318. input('field/s') => input('value/d')
  319. ]);
  320. }
  321. exit(json_encode(array(
  322. 'code' => 0
  323. )));
  324. }
  325. public function editCate()
  326. {
  327. $id = input('id/d');
  328. if (empty($id)) {
  329. $cate = MallCateModel::create([
  330. 'title' => input('title/s'),
  331. 'status' => input('status/d')==1 ? 1 : 2,
  332. 'priority' => input('priority/d')
  333. ]);
  334. } else {
  335. $cate = MallCateModel::find($id);
  336. $cate->save([
  337. 'title' => input('title/s'),
  338. 'status' => input('status/d')==1 ? 1 : 2,
  339. 'priority' => input('priority/d')
  340. ]);
  341. }
  342. exit(json_encode(array(
  343. 'code' => 0
  344. )));
  345. }
  346. public function delCate()
  347. {
  348. $id = input('id/d');
  349. $cate = MallCateModel::where('id', $id)->select();
  350. $result = $cate->delete();
  351. if ($result) {
  352. exit(json_encode(array(
  353. 'code' => 0,
  354. 'msg' => ""
  355. )));
  356. }
  357. exit(json_encode(array(
  358. 'code' => 1,
  359. 'msg' => "删除失败,请稍后重试"
  360. )));
  361. }
  362. }