Cashierordercreate.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace addon\store\shopapi\controller;
  13. use addon\store\model\cashier\CashierOrderCreate as CashierOrderCreateModel;
  14. class Cashierordercreate extends BaseStoreApi
  15. {
  16. /**
  17. * 商品计算
  18. * @return false|string
  19. */
  20. public function calculate()
  21. {
  22. $token = $this->checkToken();
  23. if ($token[ 'code' ] < 0) return $this->response($token);
  24. $order_create_model = new CashierOrderCreateModel();
  25. $data = [
  26. 'site_id' => $this->site_id,//站点id
  27. 'sku_array' => !empty($this->params[ 'sku_array' ]) ? json_decode($this->params[ 'sku_array' ], true) : [],
  28. 'member_id' => $this->params[ 'member_id' ] ?? 0,//购买会员(可有可无)
  29. 'app_module' => $this->site_type,
  30. 'store_id' => $this->store_id,
  31. 'mobile' => $this->params[ 'mobile' ] ?? '',
  32. 'order_from' => $this->params[ 'order_from' ] ?? 'h5',
  33. 'type' => 'goods',
  34. 'source' => $this->params[ 'source' ] ?? '',// is_buy 普通购买 cart 购物车 ‘’ 参与活动,
  35. 'cashier_type' => 'cashier',
  36. 'create_time' => $this->params[ 'create_time' ] ?? 0,
  37. ];
  38. if (empty($data[ 'sku_array' ])) {
  39. return $this->response($this->error('', '缺少必填参数商品数据'));
  40. }
  41. $res = $order_create_model->calculate($data);
  42. return $this->response($res);
  43. }
  44. public function payment()
  45. {
  46. $token = $this->checkToken();
  47. if ($token[ 'code' ] < 0) return $this->response($token);
  48. $order_id = $this->params[ 'order_id' ] ?? 0;
  49. $order_create_model = new CashierOrderCreateModel();
  50. $data = [
  51. 'site_id' => $this->site_id,//站点id
  52. 'sku_array' => !empty($this->params[ 'sku_array' ]) ? json_decode($this->params[ 'sku_array' ], true) : [],//[{"sku_id":1,"num":1,"card":1},{"card_id":2,"time":1}}},{"sku_id":2,"num":1}]
  53. 'order_id' => $order_id,
  54. 'member_id' => $this->params[ 'member_id' ] ?? 0,//购买会员(可有可无)
  55. 'store_id' => $this->store_id ?? 0,
  56. 'app_module' => $this->site_type,
  57. 'order_from' => $this->params[ 'order_from' ] ?? 'h5',
  58. 'type' => 'goods',
  59. 'source' => $this->params[ 'source' ] ?? '',// is_buy 普通购买 cart 购物车 ‘’ 参与活动,
  60. 'cashier_type' => 'cashier',
  61. 'create_time' => $this->params[ 'create_time' ] ?? 0,
  62. ];
  63. if (empty($data[ 'sku_array' ])) {
  64. return $this->response($this->error('', '缺少必填参数商品数据'));
  65. }
  66. $res = $order_create_model->orderPayment($data);
  67. return $this->response($res);
  68. }
  69. /**
  70. * 创建 收银单据
  71. */
  72. public function create()
  73. {
  74. $token = $this->checkToken();
  75. if ($token[ 'code' ] < 0) return $this->response($token);
  76. $order_id = $this->params[ 'order_id' ] ?? 0;
  77. $order_create_model = new CashierOrderCreateModel();
  78. $data = [
  79. 'site_id' => $this->site_id,//站点id
  80. 'sku_array' => !empty($this->params[ 'sku_array' ]) ? json_decode($this->params[ 'sku_array' ], true) : [],//{{'sku_id':1, 'num':2, 'card_id':1}, {'money':20}}}
  81. 'order_id' => $order_id,
  82. 'member_id' => $this->params[ 'member_id' ] ?? 0,//购买会员(可有可无)
  83. 'store_id' => $this->store_id ?? 0,
  84. 'app_module' => $this->site_type,
  85. 'order_from' => $this->params[ 'order_from' ] ?? 'h5',
  86. 'type' => 'goods',
  87. 'source' => $this->params[ 'source' ] ?? '',// is_buy 普通购买 cart 购物车 ‘’ 参与活动,
  88. 'remark' => $this->params[ 'remark' ] ?? '',
  89. 'operator' => $this->user_info,//操作人员,
  90. 'cashier_type' => 'cashier',
  91. 'create_time' => $this->params[ 'create_time' ] ?? 0,
  92. ];
  93. if (empty($data[ 'sku_array' ])) {
  94. return $this->response($this->error('', '缺少必填参数商品数据'));
  95. }
  96. $res = $order_create_model->create($data);
  97. return $this->response($res);
  98. }
  99. /**
  100. * 会员卡订单
  101. * @return false|string
  102. */
  103. public function levelCreate()
  104. {
  105. $token = $this->checkToken();
  106. if ($token[ 'code' ] < 0) return $this->response($token);
  107. $order_create_model = new CashierOrderCreateModel();
  108. $data = [
  109. 'site_id' => $this->site_id,//站点id
  110. 'sku_array' => !empty($this->params[ 'sku_array' ]) ? json_decode($this->params[ 'sku_array' ], true) : [],//{{'member_level_id':10, 'spec':'month'}}
  111. 'member_id' => $this->params[ 'member_id' ] ?? 0,//购买会员(可有可无)
  112. 'store_id' => $this->store_id ?? 0,
  113. 'app_module' => $this->site_type,
  114. 'remark' => $this->params[ 'remark' ] ?? '',
  115. 'order_from' => $this->params[ 'order_from' ] ?? 'h5',
  116. 'type' => 'level',
  117. 'cashier_type' => 'cashier'
  118. ];
  119. if (empty($data[ 'sku_array' ])) {
  120. return $this->response($this->error('', '缺少必填参数商品数据'));
  121. }
  122. $res = $order_create_model->create($data);
  123. return $this->response($res);
  124. }
  125. /**
  126. * 充值订单
  127. * @return false|string
  128. */
  129. public function rechargeCreate()
  130. {
  131. $token = $this->checkToken();
  132. if ($token[ 'code' ] < 0) return $this->response($token);
  133. $order_create_model = new CashierOrderCreateModel();
  134. $data = [
  135. 'site_id' => $this->site_id,//站点id
  136. 'sku_array' => !empty($this->params[ 'sku_array' ]) ? json_decode($this->params[ 'sku_array' ], true) : [],//[{'member_recharge_group':10}, {'money':20}]
  137. 'member_id' => $this->params[ 'member_id' ] ?? 0,//购买会员(可有可无)
  138. 'store_id' => $this->store_id ?? 0,
  139. 'app_module' => $this->site_type,
  140. 'remark' => $this->params[ 'remark' ] ?? '',
  141. 'order_from' => $this->params[ 'order_from' ] ?? 'h5',
  142. 'type' => 'recharge',
  143. 'cashier_type' => 'cashier',
  144. 'create_time' => $this->params[ 'create_time' ] ?? 0,
  145. ];
  146. if (empty($data[ 'sku_array' ])) {
  147. return $this->response($this->error('', '缺少必填参数商品数据'));
  148. }
  149. $res = $order_create_model->create($data);
  150. return $this->response($res);
  151. }
  152. /**
  153. * 卡项订单
  154. * @return false|string
  155. */
  156. public function cardCreate()
  157. {
  158. $token = $this->checkToken();
  159. if ($token[ 'code' ] < 0) return $this->response($token);
  160. $order_create_model = new CashierOrderCreateModel();
  161. $data = [
  162. 'site_id' => $this->site_id,//站点id
  163. 'sku_array' => !empty($this->params[ 'sku_array' ]) ? json_decode($this->params[ 'sku_array' ], true) : [],//{{'member_card_id':10}}
  164. 'member_id' => $this->params[ 'member_id' ] ?? 0,//购买会员(可有可无)
  165. 'store_id' => $this->store_id ?? 0,
  166. 'app_module' => $this->site_type,
  167. 'remark' => $this->params[ 'remark' ] ?? '',
  168. 'order_from' => $this->params[ 'order_from' ] ?? 'h5',
  169. 'type' => 'card',
  170. 'cashier_type' => 'cashier',
  171. 'create_time' => $this->params[ 'create_time' ] ?? 0,
  172. ];
  173. if (empty($data[ 'sku_array' ])) {
  174. return $this->response($this->error('', '缺少必填参数商品数据'));
  175. }
  176. $res = $order_create_model->create($data);
  177. return $this->response($res);
  178. }
  179. /**
  180. * 卡项订单计算
  181. * @return false|string
  182. */
  183. public function cardCalculate()
  184. {
  185. $token = $this->checkToken();
  186. if ($token[ 'code' ] < 0) return $this->response($token);
  187. $order_create_model = new CashierOrderCreateModel();
  188. $data = [
  189. 'site_id' => $this->site_id,//站点id
  190. 'sku_array' => !empty($this->params[ 'sku_array' ]) ? json_decode($this->params[ 'sku_array' ], true) : [],
  191. 'member_id' => $this->params[ 'member_id' ] ?? 0,//购买会员(可有可无)
  192. 'app_module' => $this->site_type,
  193. 'store_id' => $this->params[ 'store_id' ] ?? 0,
  194. 'mobile' => $this->params[ 'mobile' ] ?? '',
  195. 'order_from' => $this->params[ 'order_from' ] ?? 'h5',
  196. 'type' => 'card',
  197. 'cashier_type' => 'cashier',
  198. 'create_time' => $this->params[ 'create_time' ] ?? 0,
  199. ];
  200. if (empty($data[ 'sku_array' ])) {
  201. return $this->response($this->error('', '缺少必填参数商品数据'));
  202. }
  203. $res = $order_create_model->calculate($data);
  204. return $this->response($res);
  205. }
  206. }