Ordercreate.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?php
  2. /**
  3. * Index.php
  4. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  5. * =========================================================
  6. * Copy right 2015-2025 山西牛酷信息科技有限公司, 保留所有权利。
  7. * ----------------------------------------------
  8. * 官方网址: http://www.niushop.com.cn
  9. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  10. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  11. * =========================================================
  12. * @author : niuteam
  13. * @date : 2015.1.17
  14. * @version : v1.0.0.0
  15. */
  16. namespace app\api\controller;
  17. use app\model\order\OrderCreate as OrderCreateModel;
  18. /**
  19. * 订单创建
  20. * @author Administrator
  21. *
  22. */
  23. class Ordercreate extends BaseApi
  24. {
  25. /**
  26. * 订单创建
  27. */
  28. public function order_create(){
  29. $token = $this->checkToken();
  30. if ($token['code'] < 0) return $this->response($token);
  31. }
  32. /**
  33. * 创建订单
  34. */
  35. public function create()
  36. {
  37. $token = $this->checkToken();
  38. if ($token['code'] < 0) return $this->response($token);
  39. $order_create = new OrderCreateModel();
  40. $data = [
  41. 'cart_ids' => isset($this->params['cart_ids']) ? $this->params['cart_ids'] : '',
  42. // 'sku_id' => isset($this->params['sku_id']) ? $this->params['sku_id'] : '',
  43. // 'num' => isset($this->params['num']) ? $this->params['num'] : '',
  44. 'member_id' => $this->member_id,
  45. 'is_balance' => isset($this->params['is_balance']) ? $this->params['is_balance'] : 0,//是否使用余额
  46. 'order_from' => 1,
  47. 'order_from_name' => '商城购买',
  48. // 'pay_password' => isset($this->params['pay_password']) ? $this->params['pay_password'] : '',//支付密码
  49. 'buyer_message' => isset($this->params["buyer_message"]) && !empty($this->params["buyer_message"]) ? json_decode($this->params["buyer_message"], true) : [],
  50. 'delivery' => isset($this->params["delivery"]) && !empty($this->params["delivery"]) ? json_decode($this->params["delivery"], true) : [],
  51. 'coupon' => isset($this->params["coupon"]) && !empty($this->params["coupon"]) ? json_decode($this->params["coupon"], true) : [],
  52. 'member_address' => []
  53. ];
  54. if(isset($this->params["address_id"]) && !empty($this->params["address_id"])){
  55. $address = ['member_id'=>$data['member_id'],'address_id'=>$this->params['address_id']];
  56. $data['member_address'] = $order_create->member_address($address);
  57. }
  58. if (empty($data['cart_ids'])) {
  59. return $this->response($this->error('', '缺少必填参数商品数据'));
  60. }
  61. $res = $order_create->create($data);
  62. return $this->response($res);
  63. }
  64. /**
  65. * 创建订单
  66. */
  67. public function ordercreate()
  68. {
  69. $token = $this->checkToken();
  70. $order_create = new OrderCreateModel();
  71. if ($token['code'] < 0) return $this->response($token);
  72. $data=[
  73. 'sku'=>isset($this->params['sku']) ? $this->params['sku'] : '',
  74. 'price'=>isset($this->params['price']) ? $this->params['price'] : '',
  75. 'number'=>isset($this->params['number']) ? $this->params['number'] : '',
  76. 'address_id'=>isset($this->params['address_id']) ? $this->params['address_id'] : '',
  77. 'member_id'=>$this->member_id,
  78. 'site_id'=>isset($this->params['site_id']) ? $this->params['site_id'] : '',
  79. 'site_name'=>isset($this->params['site_name']) ? $this->params['site_name'] : '',
  80. 'unit_price'=>isset($this->params['unit_price']) ? $this->params['unit_price'] : ''
  81. ];
  82. if (empty($data['sku'])&& empty($data['price'])&& empty($data['number'])&& empty($data['address_id'])) {
  83. return $this->response($this->error('', '缺少必填参数'));
  84. }
  85. $res = $order_create->ordercreate($data);
  86. return $this->response($res);
  87. }
  88. /**
  89. * 计算信息
  90. */
  91. public function calculate()
  92. {
  93. $token = $this->checkToken();
  94. if ($token['code'] < 0) return $this->response($token);
  95. $order_create = new OrderCreateModel();
  96. $data = [
  97. 'cart_ids' => isset($this->params['cart_ids']) ? $this->params['cart_ids'] : '',
  98. 'sku_id' => isset($this->params['sku_id']) ? $this->params['sku_id'] : '',
  99. 'num' => isset($this->params['num']) ? $this->params['num'] : '',
  100. 'member_id' => $this->member_id,
  101. 'is_balance' => isset($this->params['is_balance']) ? $this->params['is_balance'] : 0,//是否使用余额
  102. 'order_from' => 1,
  103. 'order_from_name' => '商城购买',
  104. 'delivery' => isset($this->params["delivery"]) && !empty($this->params["delivery"]) ? json_decode($this->params["delivery"], true) : [],
  105. 'coupon' => isset($this->params["coupon"]) && !empty($this->params["coupon"]) ? json_decode($this->params["coupon"], true) : [],
  106. 'member_address' =>[]
  107. ];
  108. if(isset($this->params["address_id"]) && !empty($this->params["address_id"])){
  109. $address = ['member_id'=>$data['member_id'],'address_id'=>$this->params['address_id']];
  110. $data['member_address'] = $order_create->member_address($address);
  111. }
  112. if (empty($data['cart_ids']) && empty($data['sku_id'])) {
  113. return $this->response($this->error('', '缺少必填参数商品数据'));
  114. }
  115. $res = $order_create->calculate($data);
  116. return $this->response($this->success($res['delivery_money']));
  117. }
  118. public function freight(){
  119. $token = $this->checkToken();
  120. if ($token['code'] < 0) return $this->response($token);
  121. $order_create = new OrderCreateModel();
  122. $data = [
  123. 'goods_id'=> isset($this->params['goods_id']) ? $this->params['goods_id'] : '',
  124. 'num' => isset($this->params['num']) ? $this->params['num'] : '',
  125. 'address_id'=>isset($this->params['address_id']) ? $this->params['address_id'] : '',
  126. 'member_id'=>$this->member_id,
  127. ];
  128. if (empty($data['goods_id']) && empty($data['num'])&&empty($data['address_id'])) {
  129. return $this->response($this->error('', '缺少必填参数商品数据'));
  130. }
  131. $res = $order_create->freight($data);
  132. return $this->response($this->success($res));
  133. }
  134. /**
  135. * 待支付订单 数据初始化
  136. * @return string
  137. */
  138. public function payment()
  139. {
  140. $token = $this->checkToken();
  141. if ($token['code'] < 0) return $this->response($token);
  142. $order_create = new OrderCreateModel();
  143. $data = [
  144. 'cart_ids' => isset($this->params['cart_ids']) ? $this->params['cart_ids'] : '',
  145. 'sku_id' => isset($this->params['sku_id']) ? $this->params['sku_id'] : '',
  146. 'num' => isset($this->params['num']) ? $this->params['num'] : '',
  147. 'member_id' => $this->member_id,
  148. 'is_balance' => isset($this->params['is_balance']) ? $this->params['is_balance'] : 0,//是否使用余额
  149. 'order_from' => $this->params['app_type'],
  150. 'order_from_name' => $this->params['app_type_name']
  151. ];
  152. if (empty($data['cart_ids']) && empty($data['sku_id'])) {
  153. return $this->response($this->error('', '缺少必填参数商品数据'));
  154. }
  155. $res = $order_create->orderPayment($data);
  156. return $this->response($this->success($res));
  157. }
  158. }