家政小程序
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

CommonController.php 8.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Campaign;
  4. use App\Models\HouseApplianceCleanOrder;
  5. use App\Models\HouseCleanOrder;
  6. use App\Models\HousekeeperOrder;
  7. use App\Models\MaternityMatronOrder;
  8. use App\Models\Product;
  9. use App\Models\ProductOrder;
  10. use Illuminate\Http\Request;
  11. class CommonController extends Controller
  12. {
  13. /**
  14. * 登陆
  15. * @param Request $request
  16. * @return \Illuminate\Http\JsonResponse
  17. */
  18. public function login(Request $request)
  19. {
  20. $code = $request->input("code");
  21. $miniProgram = app("wechat.mini_program");
  22. $auth = $miniProgram->auth->session($code);
  23. if($auth->open)
  24. return response()->json($auth);
  25. }
  26. /**
  27. * 上传图片
  28. * @param Request $request
  29. * @return \Illuminate\Http\JsonResponse
  30. */
  31. public function upload(Request $request)
  32. {
  33. try {
  34. if ($request->hasFile('photo') && $request->file('photo')->isValid()) {
  35. $photo = $request->file('photo');
  36. $extension = $photo->extension();
  37. $store_result = $photo->store('photo');
  38. return response()->json([
  39. 'status' => 0,
  40. 'path' => ''
  41. ]);
  42. } else {
  43. return response()->json([
  44. 'status' => -1,
  45. 'message' => "error, photo is valid!"
  46. ]);
  47. }
  48. } catch (Exception $e) {
  49. return response()->json([
  50. 'status' => -2,
  51. 'message' => "error," . $e->getCode() . ": " . $e->getMessage()
  52. ]);
  53. }
  54. }
  55. /**
  56. * 添加评论, 一个订单只能评价一次
  57. * @param Request $request
  58. * @return \Illuminate\Http\JsonResponse
  59. */
  60. public function addComment(Request $request, $order_id, $order_type)
  61. {
  62. $order_id = $request->route("order_id");
  63. $order_type = $request->route("order_type");
  64. $title = $request->input("title");
  65. $content = $request->input("content");
  66. $user = session('wechat.oauth_user.default');
  67. $wechat_id = $user->getId();
  68. if ($order_id && $title && $content) {
  69. $comment = new Comment;
  70. $comment->order_id = $order_id;
  71. $comment->order_type = $order_type;
  72. $comment->title = $title;
  73. $comment->content = $content;
  74. $comment->show = 0;
  75. $comment->wechat_id = $wechat_id;
  76. $comment->save();
  77. return Response()->json([
  78. "status" => 0,
  79. "message" => "保存成功!"
  80. ]);
  81. } else {
  82. return Response()->json([
  83. "status" => -1,
  84. "message" => "信息不能为空!"
  85. ]);
  86. }
  87. }
  88. /**
  89. * 分页获取订单评论
  90. * @param Request $request
  91. * @return mixed
  92. */
  93. public function comments(Request $request, $order_type, $order_id)
  94. {
  95. $order_id = $request->input("order_id");
  96. $order_type = $request->route("order_type");
  97. if ($order_id) {
  98. return Comment::where("order_id", $order_id)->where("type", $order_type)->paginate(20);
  99. }
  100. }
  101. /**
  102. * 获取我的订单
  103. * @param Request $request
  104. * @return \Illuminate\Http\JsonResponse
  105. */
  106. public function orders(Request $request)
  107. {
  108. $user = session('wechat.oauth_user.default');
  109. $wechat_id = $user->getId();
  110. $houseApplianceCleanOrder = HouseApplianceCleanOrder::where("wechat_id", $wechat_id)->get();
  111. $houseCleanOrder = HouseCleanOrder::where("wechat_id", $wechat_id)->get();
  112. $housekeeperOrder = HousekeeperOrder::where("wechat_id", $wechat_id)->get();
  113. $maternityMatronOrder = MaternityMatronOrder::where("wechat_id", $wechat_id)->get();
  114. $productOrder = ProductOrder::where("wechat_id", $wechat_id)->get();
  115. return Response()->json([
  116. "status" => 0,
  117. "data" => [
  118. "houseApplianceCleanOrder" => $houseApplianceCleanOrder,
  119. "houseCleanOrder" => $houseCleanOrder,
  120. "housekeeperOrder" => $housekeeperOrder,
  121. "maternityMatronOrder" => $maternityMatronOrder,
  122. "productOrder" => $productOrder
  123. ]
  124. ]);
  125. }
  126. /**
  127. * 修改状态
  128. * @param Request $request
  129. * @return \Illuminate\Http\JsonResponse
  130. */
  131. public function status(Request $request, $type)
  132. {
  133. $id = $request->input("id");
  134. $status = $request->input("status");
  135. $type = $request->route("type");
  136. if ($id) {
  137. $record = $this->getRecord($type, $id);
  138. if ($record) {
  139. $record->status = $status;
  140. $record->save();
  141. return Response()->json([
  142. "status" => 0,
  143. "message" => "保存成功!"
  144. ]);
  145. }
  146. return Response()->json([
  147. "status" => -2,
  148. "message" => "不存在的记录!"
  149. ]);
  150. } else {
  151. return Response()->json([
  152. "status" => -1,
  153. "message" => "信息不能为空!"
  154. ]);
  155. }
  156. }
  157. /**
  158. * 删除记录
  159. * @param Request $request
  160. * @param $type
  161. * @param $id
  162. * @return \Illuminate\Http\JsonResponse
  163. */
  164. public function delete(Request $request, $type, $id)
  165. {
  166. $id = $request->route("id");
  167. $type = $request->route("type");
  168. if ($id && $type) {
  169. $record = getRecord($type, $id);
  170. if ($record) {
  171. $record->delete();
  172. return Response()->json([
  173. "status" => 0,
  174. "message" => "删除成功!"
  175. ]);
  176. }
  177. return Response()->json([
  178. "status" => -2,
  179. "message" => "不存在的记录!"
  180. ]);
  181. } else {
  182. return Response()->json([
  183. "status" => -1,
  184. "message" => "信息不能为空!"
  185. ]);
  186. }
  187. }
  188. /**
  189. * 获取某个记录
  190. * @param Request $request
  191. * @param $type
  192. * @param $id
  193. * @return \Illuminate\Http\JsonResponse
  194. */
  195. public function get(Request $request, $type, $id)
  196. {
  197. $id = $request->route("id");
  198. $type = $request->route("type");
  199. if ($id && $type) {
  200. $record = getRecord($type, $id);
  201. if ($record) {
  202. return Response()->json([
  203. "status" => 0,
  204. "data" => $record
  205. ]);
  206. }
  207. return Response()->json([
  208. "status" => -2,
  209. "message" => "不存在的记录!"
  210. ]);
  211. } else {
  212. return Response()->json([
  213. "status" => -1,
  214. "message" => "id不能为空!"
  215. ]);
  216. }
  217. }
  218. /**
  219. * 根据type和id获取记录
  220. * @param $type
  221. * @param $id
  222. * @return null
  223. */
  224. public function getRecord($type, $id)
  225. {
  226. $record = null;
  227. switch ($type) {
  228. case "product":
  229. $record = Product::find($id);
  230. break;
  231. case "campaign":
  232. $record = Campaign::find($id);
  233. break;
  234. case "house_appliance_clean_order":
  235. $record = HouseApplianceCleanOrder::find($id);
  236. break;
  237. case "house_clean_order":
  238. $record = HouseCleanOrder::find($id);
  239. break;
  240. case "housekeeper_order":
  241. $record = HousekeeperOrder::find($id);
  242. break;
  243. case "maternity_matron_order":
  244. $record = MaternityMatronOrder::find($id);
  245. break;
  246. case "product_order":
  247. $record = ProductOrder::find($id);
  248. break;
  249. default:
  250. return null;
  251. }
  252. return $record;
  253. }
  254. }