Storeorder.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace app\api\controller;
  3. use think\facade\Db;
  4. use think\facade\Lang;
  5. class Storeorder extends MobileMember
  6. {
  7. public function initialize()
  8. {
  9. parent::initialize();
  10. Lang::load(base_path() . 'home/lang/' . config('lang.default_lang') . '/memberorder.lang.php');
  11. }
  12. /**
  13. * 店铺订单(到店付款)
  14. */
  15. public function get_order_list()
  16. {
  17. $order_model = model('StoreOrder');
  18. $condition = $this->order_type_no(input('post.state_type'));
  19. $condition[] = ['buyer_id', '=', $this->member_info['member_id']];
  20. $order_sn = input('post.order_key');
  21. if ($order_sn != '') {
  22. $condition[] = ['order_sn', 'like', '%' . $order_sn . '%'];
  23. }
  24. $order_list_array = $order_model->getOrderList($condition, 5, '*', 'id desc', 0, ['store']);
  25. $new_order_group_list = [];
  26. foreach ($order_list_array as $key => $value) {
  27. $value['pay_sn'] = strval($key);
  28. $new_order_group_list[] = $value;
  29. }
  30. $result = array_merge(['order_group_list' => $new_order_group_list], mobile_page($order_model->page_info));
  31. ds_json_encode(10000, '', $result);
  32. }
  33. private function order_type_no($stage)
  34. {
  35. $condition = [];
  36. switch ($stage) {
  37. case 'state_new':
  38. $condition[] = ['order_state', '=', '10'];
  39. break;
  40. case 'state_finish':
  41. $condition[] = ['order_state', '=', '40'];
  42. break;
  43. }
  44. return $condition;
  45. }
  46. /**
  47. * 取消订单
  48. */
  49. public function order_cancel()
  50. {
  51. $model = model('StoreOrder');
  52. $logic = model('Storeorder', 'logic');
  53. $id = intval(input('post.id'));
  54. $condition = [];
  55. $condition[] = ['id', '=', $id];
  56. $condition[] = ['buyer_id', '=', $this->member_info['member_id']];
  57. $order_info = $model->where($condition)->find();
  58. try {
  59. Db::startTrans();
  60. $logic->changeOrderStateCancel($order_info, 'buyer', $this->member_info['member_name'], lang('other_reason'));
  61. } catch (\Exception $e) {
  62. Db::rollback();
  63. ds_json_encode(10001, $e->getMessage());
  64. }
  65. Db::commit();
  66. ds_json_encode(10000, '', 1);
  67. }
  68. }