Order.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <?php
  2. /**
  3. *
  4. * User: anyluck
  5. * Date: 2020/6/2
  6. * Time: 17:41
  7. */
  8. namespace app\admin\controller;
  9. use app\common\controller\Orde;
  10. use app\common\model\State;
  11. use think\facade\Request;
  12. use think\facade\View;
  13. use app\common\controller\Backend;
  14. use app\common\model\Order as OrderS;
  15. class Order extends Backend
  16. {
  17. // 订单管理
  18. /**
  19. * 求购订单列表
  20. */
  21. public function buy()
  22. {
  23. if (Request::isPost()) {
  24. $name = input("name");
  25. $page = input("page") ?: 1;
  26. $limit = input("limit") ?: 10;
  27. $where = [];
  28. // if ($name){
  29. // $where["name"]=["like","% $name %"];
  30. // }
  31. $where["status"]=0;
  32. $list = \app\common\model\Order::where($where)->order("id desc")->paginate(["list_row" => $limit, "page" => $page])->each(function ($item) {
  33. $user = \app\common\model\User::where(["id" => $item["buy_user"]])->field("name")->find();
  34. $item["user_name"] = $user->name;
  35. $item["add_time"]=date("Y-m-d H:i:s",$item["add_time"]);
  36. switch ($item["status"]){
  37. case 0:$item["status"]="未匹配";break;
  38. case 1:$item["status"]="已匹配或待支付";break;
  39. case 2:$item["status"]="已上传数据";break;
  40. case 3:$item["status"]="已完成";break;
  41. case 4:$item["status"]="已撤销";break;
  42. case 5:$item["status"]="交易失败";break;
  43. }
  44. if ($item["image"]){
  45. $item["image"]=explode(",",$item["image"]);
  46. }
  47. return $item;
  48. })->toArray();
  49. return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'] ?: [], 'count' => $list['total'] ?: 0];
  50. }
  51. $where["admin"]=1;
  52. $user=\app\common\model\User::where($where)->field("id,name")->select();
  53. if ($user){
  54. $data=$user->toArray();
  55. }else{
  56. $data=[];
  57. }
  58. View::assign("data",$data);
  59. return View::fetch();
  60. }
  61. /**
  62. * 持有订单列表
  63. */
  64. public function push()
  65. {
  66. if (Request::isPost()) {
  67. $name = input("name");
  68. $page = input("page") ?: 1;
  69. $limit = input("limit") ?: 10;
  70. $where = [];
  71. $where[]=["status",">",0];
  72. $where[]=["is_admin","=",0];
  73. $list = \app\common\model\Order::where($where)->order("status asc,id desc")->paginate(["list_row" => $limit, "page" => $page])->each(function ($item) {
  74. $user = \app\common\model\User::where(["id" => $item["buy_user"]])->field("name")->find();
  75. $item["user_name"] = $user->name;
  76. $item["add_time"]=date("Y-m-d H:i:s",$item["add_time"]);
  77. switch ($item["status"]){
  78. case 0:$item["status"]="未匹配";break;
  79. case 1:$item["status"]="已匹配或待支付";break;
  80. case 2:$item["status"]="已上传数据";break;
  81. case 3:$item["status"]="已完成";break;
  82. case 4:$item["status"]="已撤销";break;
  83. case 5:$item["status"]="交易失败";break;
  84. }
  85. if ($item["image"]){
  86. $item["image"]=explode(",",$item["image"]);
  87. }
  88. return $item;
  89. })->toArray();
  90. return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'] ?: [], 'count' => $list['total'] ?: 0];
  91. }
  92. return View::fetch();
  93. }
  94. /**
  95. * 申述处理 state
  96. */
  97. public function bond()
  98. {
  99. if (Request::isPost()) {
  100. $name = input("name");
  101. $page = input("page") ?: 1;
  102. $limit = input("limit") ?: 10;
  103. $where = [];
  104. // if ($name){
  105. // $where["name"]=["like","% $name %"];
  106. // }
  107. $list = State::where($where)->order("id desc")->paginate(["list_row" => $limit, "page" => $page])->each(function ($item) {
  108. $user = \app\common\model\User::where(["id" => $item["user_id"]])->field("name")->find();
  109. $item["user_name"] = $user->name;
  110. $item["add_time"]=date("Y-m-d H:i:s",$item["add_time"]);
  111. if ($item["image"]){
  112. $item["image"]=explode(",",$item["image"]);
  113. }
  114. return $item;
  115. })->toArray();
  116. return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'] ?: [], 'count' => $list['total'] ?: 0];
  117. }
  118. return View::fetch();
  119. }
  120. // 所有 买入订单匹配
  121. public function allmatching()
  122. {
  123. }
  124. //单个 买入订单匹配
  125. public function matching()
  126. {
  127. $user_id=input("user_id");
  128. $order_id=input("order_id");
  129. $update["push_user"]=$user_id;
  130. $update["status"]=1;
  131. $update["is_admin"]=1;
  132. $update["stat_time"]=time()+1*3600;
  133. OrderS::update($update,["id"=>$order_id]);
  134. json_result(200,"匹配成功");
  135. }
  136. // 后台账号匹配订单
  137. public function adminorder()
  138. {
  139. if (Request::isPost()) {
  140. $name = input("name");
  141. $page = input("page") ?: 1;
  142. $limit = input("limit") ?: 10;
  143. $where = [];
  144. $where[]=["status",">",0];
  145. $where[]=["is_admin","=",1];
  146. $list = \app\common\model\Order::where($where)->order("status asc,id desc")->paginate(["list_row" => $limit, "page" => $page])->each(function ($item) {
  147. $user = \app\common\model\User::where(["id" => $item["buy_user"]])->field("name")->find();
  148. $item["user_name"] = $user->name;
  149. $item["add_time"]=date("Y-m-d H:i:s",$item["add_time"]);
  150. switch ($item["status"]){
  151. case 0:$item["status"]="未匹配";break;
  152. case 1:$item["status"]="已匹配或待支付";break;
  153. case 2:$item["status"]="已上传数据";break;
  154. case 3:$item["status"]="已完成";break;
  155. case 4:$item["status"]="已撤销";break;
  156. case 5:$item["status"]="交易失败";break;
  157. }
  158. if ($item["image"]){
  159. $item["image"]=explode(",",$item["image"]);
  160. }
  161. return $item;
  162. })->toArray();
  163. return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'] ?: [], 'count' => $list['total'] ?: 0];
  164. }
  165. return View::fetch();
  166. }
  167. // 驳回订单
  168. public function reject()
  169. {
  170. $id=input("id");
  171. $msg=input("text");
  172. $where["id"]=$id;
  173. $order=\app\common\model\Order::where($where)->find();
  174. if ($order->status==3){
  175. json_result(400,"该订单已经完成或交易失败");
  176. }
  177. Orde::order_fail($msg,$order);
  178. json_result(200,"驳回成功");
  179. }
  180. // 交易成功
  181. public function confirms()
  182. {
  183. $id=input("id");
  184. $where["id"]=$id;
  185. $order=\app\common\model\Order::where($where)->find();
  186. // if ($order->status==3||$order->status==4||$order->status==5){
  187. if ($order->status==3){
  188. json_result(400,"该订单已经完成或交易失败");
  189. }
  190. Orde::order_success($order);
  191. json_result(200,"交易成功");
  192. }
  193. }