Index.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | [ WE CAN DO IT MORE SIMPLE ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2018-2020 rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: TABLE ME
  8. // +----------------------------------------------------------------------
  9. // | Date: 2020-08-31 20:43
  10. // +----------------------------------------------------------------------
  11. namespace app\warehouse\controller\v1;
  12. use app\BaseController;
  13. use app\model\api\Tx;
  14. use app\model\warehouse\OrderInfo;
  15. use app\model\warehouse\Warehouse;
  16. use app\model\warehouse\WarehouseDetail;
  17. use app\Request;
  18. use app\warehouse\controller\AuthController;
  19. use library\services\UtilService;
  20. use think\Cache;
  21. class Index extends AuthController
  22. {
  23. /**
  24. * 获取配置信息
  25. */
  26. public function getIndex(Request $request){
  27. //今日订单量
  28. $post['today_count'] = (new OrderInfo)
  29. ->where('status','>',0)
  30. ->where('warehouse_id',$this->adminInfo['id'])
  31. ->whereTime('time','today')
  32. ->count();
  33. $post['all_t_order_count'] = (new OrderInfo)
  34. ->where('warehouse_id',$this->adminInfo['id'])
  35. ->where('status','>',0)
  36. ->count();
  37. //销售额
  38. $post['today_money'] = (new OrderInfo)
  39. ->where('status','>',0)
  40. ->where('warehouse_id',$this->adminInfo['id'])
  41. ->whereTime('time','today')
  42. ->sum('exp_floor_price');
  43. $post['all_money'] = (new OrderInfo)
  44. ->where('status','>',0)
  45. ->where('warehouse_id',$this->adminInfo['id'])
  46. ->sum('exp_floor_price');
  47. $post['no_order_count'] = (new \app\model\admin\OrderInfo)
  48. ->where('warehouse_id',$this->adminInfo['id'])
  49. ->where('status','=',1)->count();
  50. $post['order_count'] = (new \app\model\admin\OrderInfo)
  51. ->where('warehouse_id',$this->adminInfo['id'])
  52. ->where('status','>',1)->count();
  53. $sysData = (new \app\model\system\Sys)->where('id',1)->find();
  54. $dateAr = [];
  55. $order = new OrderInfo;
  56. //8天订单量
  57. for($i = 0;$i<8;$i++) {
  58. $time = strtotime('-'.$i.' day');
  59. $date = date('Y-m-d',$time);
  60. $count = $order
  61. ->where('warehouse_id',$this->adminInfo['id'])
  62. ->where('status','>',0)
  63. ->whereDay('time',$date)
  64. ->count();
  65. $dateAr[] = ['count'=>$count,'name'=>$date];
  66. }
  67. $post['date'] = array_reverse($dateAr);
  68. $post['sysInfo'] = [
  69. 'lx_name' => $sysData['lx_name'],
  70. 'lx_tel' => $sysData['lx_tel'],
  71. 'custom_tel' => $sysData['custom_tel'],
  72. 'custom_qq' => $sysData['custom_qq'],
  73. 'weixin_logo' => $sysData['weixin_logo'],
  74. 'tag' => $sysData['tag']
  75. ];
  76. //获取自己用户
  77. $post['commission_money'] = $this->adminInfo['money'];
  78. //提现的钱
  79. $money = (new Tx)->where('warehouse_id',$this->adminInfo['id'])->where('type',3)->where('is_type',0)->sum('money');
  80. $post['tx_commission_money'] = $money;
  81. //已提现的钱
  82. $money = (new Tx)->where('warehouse_id',$this->adminInfo['id'])->where('type',3)->where('is_type',1)->sum('money');
  83. $post['txok_commission_money'] = $money;
  84. return app('json')->success($post);
  85. }
  86. public function getOrderTotal(Request $request){
  87. [$visitDate] = UtilService::getMore([
  88. ['visitDate','thirtyday']
  89. ],$request,true);
  90. $order = (new \app\model\admin\Order());
  91. $orderInfo = (new OrderInfo());
  92. //30天
  93. $tAr = ['name'=>[],'order_count'=>[],'order_info_count'=>[]];
  94. if($visitDate == 'thirtyday') {
  95. for ($i = 30;$i>=0;$i--) {
  96. $time = date('Y-m-d',strtotime('-'.$i.' day'));
  97. $tAr['name'][] = $time;
  98. $tAr['order_count'][] = $order
  99. ->whereDay('time',$time)
  100. ->where('sassid',$request->site['sassid'])
  101. ->where('status','>',0)
  102. ->count();
  103. $tAr['order_info_count'][] = $orderInfo->where('sassid',$request->site['sassid'])->where('status','>',0)->whereDay('time',$time)->count();
  104. }
  105. }
  106. return app('json')->success($tAr);
  107. }
  108. /**
  109. * 我要提现
  110. * @param Request $request
  111. */
  112. public function subTx(Request $request) {
  113. $redis = \think\facade\Cache::store('redis');
  114. $post = UtilService::getMore(
  115. [
  116. ['bank',"","empty","请输入到账账号"],
  117. ['money','0',"empty","请输入提现金额"],
  118. ['name','','empty','请输入真实姓名']
  119. ],$request
  120. );
  121. $txKey = 'tx_'.md5($post['bank']);
  122. $ckBank = $redis->get($txKey);
  123. if(!empty($ckBank)) {
  124. return app('json')->fail("请务重复提现!");
  125. }
  126. //提现金额
  127. if($this->adminInfo['money'] < $post['money']) {
  128. return app('json')->fail("余额不足,无法提现!");
  129. }
  130. $redis->set($txKey,1,5);
  131. (new Tx)
  132. ->insert([
  133. 'uid' => 0,
  134. 'warehouse_id' => $this->adminInfo['id'],
  135. 'money' => $post['money'],
  136. 'sassid' => 0,
  137. 'type' => 3,
  138. 'bank' => '支付宝',
  139. 'name' => $post['name'],
  140. 'code' => $post['bank'],
  141. 'time' => time(),
  142. 'is_type' => 0
  143. ]);
  144. (new WarehouseDetail)->tx($post['money'],$this->adminInfo['id'],['time'=>date('Y-m-d H:i:s'),'money'=>$post['money']]);
  145. $redis->delete($txKey);
  146. return app('json')->success(
  147. '提现成功,请等待打款!'
  148. );
  149. }
  150. /**
  151. * 提现列表
  152. * @param Request $request
  153. */
  154. public function txList(Request $request) {
  155. $pageSize = 10;
  156. $post = UtilService::getMore(
  157. [
  158. ['page',1]
  159. ],$request
  160. );
  161. $where['warehouse_id'] =$this->adminInfo['id'];
  162. $tx = new Tx();
  163. list($pageCount,$data) = $tx->getList($post['page'],$where,$pageSize,"*","time desc");
  164. $result = UtilService::getParam([
  165. "id",
  166. "money",
  167. "bank",
  168. 'name',
  169. 'code',
  170. "is_type",
  171. ["time","time","date('Y-m-d H:i:s',$1)"]
  172. ],$data);
  173. return app('json')->success([
  174. 'list' => $result,
  175. 'pageCount' => $pageCount,
  176. 'pageSize' => $pageSize,
  177. 'page' => $post['page']
  178. ]);
  179. }
  180. /**
  181. * 子订单数据
  182. * @param Request $request
  183. */
  184. public function getOrder(Request $request) {
  185. $pageSize = 20;
  186. $post = UtilService::getMore(
  187. [
  188. ['page',1],
  189. ['order_id',''],
  190. ['mobile',''],
  191. ['name',''],
  192. ['data',[]],
  193. ['status','']
  194. ],$request
  195. );
  196. $where = $post;
  197. $where['warehouse_id'] = $this->adminInfo['id'];
  198. $where['status'] = $post['status'];
  199. list($pageCount,$data) = (new OrderInfo)->getList($post['page'],$where,$pageSize,"*","id desc");
  200. $result = UtilService::getParam([
  201. "id",
  202. "exp_name",
  203. "in_order_id",
  204. "name",
  205. "mobile",
  206. "address",
  207. "is_push",
  208. "mono",
  209. "time",
  210. "exp_floor_price",
  211. "send_time",
  212. "exp_number",
  213. "msg_err",
  214. "money",
  215. "status",
  216. ],$data);
  217. return app('json')->success([
  218. 'list' => $result,
  219. 'pageCount' => $pageCount,
  220. 'pageSize' => $pageSize,
  221. 'page' => $post['page']
  222. ]);
  223. }
  224. /**
  225. * 操作明细
  226. * @param Request $request
  227. */
  228. public function detailList(Request $request) {
  229. $pageSize = 10;
  230. $post = UtilService::getMore(
  231. [
  232. ['page',1],
  233. ['tabType','all']
  234. ],$request
  235. );
  236. $where['warehouse_id'] =$this->adminInfo['id'];
  237. if(!empty($post['tabType']) && $post['tabType'] != 'all') {
  238. $where['code'] = $post['tabType'];
  239. }
  240. $detail = new WarehouseDetail();
  241. list($pageCount,$data) = $detail->getList($post['page'],$where,$pageSize,"*","time desc");
  242. $result = UtilService::getParam([
  243. "id",
  244. "code",
  245. "v",
  246. 'title',
  247. 'content',
  248. "type",
  249. ["time","time","date('Y-m-d H:i:s',$1)"]
  250. ],$data);
  251. return app('json')->success([
  252. 'list' => $result,
  253. 'pageCount' => $pageCount,
  254. 'pageSize' => $pageSize,
  255. 'page' => $post['page']
  256. ]);
  257. }
  258. /**
  259. * 资金情况
  260. * @param Request $request
  261. */
  262. public function moneyInit(Request $request) {
  263. $info = [
  264. 'money' => $this->adminInfo['money'],
  265. 'tx_money' => (new Tx)->where('warehouse_id',$this->adminInfo['id'])->where('type',3)->where('is_type',0)->sum('money'),//提现金额
  266. 'in_money' => (new Tx)->where('warehouse_id',$this->adminInfo['id'])->where('type',3)->where('is_type',1)->sum('money')
  267. ];
  268. return app('json')->success($info);
  269. }
  270. /**
  271. * 修改密码
  272. * @param Request $request
  273. */
  274. public function password(Request $request) {
  275. $post = UtilService::getMore(
  276. [
  277. ['oldpass','','empty','请输入旧密码'],
  278. ['password','','empty','请输入新密码'],
  279. ],$request
  280. );
  281. if($this->adminInfo['password'] != md5($post['password'])) {
  282. return app('json')->fail('旧密码错误,请检查之后在修改');
  283. }
  284. (new Warehouse)->where('id',$this->adminInfo['id'])->save(['password'=>md5($post['password'])]);
  285. return app('json')->success('修改成功');
  286. }
  287. }