TopicOrder.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. // +---------------------------------------------------------------------+
  3. // | NiuCloud | [ WE CAN DO IT JUST NiuCloud ]  |
  4. // +---------------------------------------------------------------------+
  5. // | Copy right 2019-2029 www.niucloud.com  |
  6. // +---------------------------------------------------------------------+
  7. // | Author | NiuCloud <niucloud@outlook.com>  |
  8. // +---------------------------------------------------------------------+
  9. // | Repository | https://github.com/niucloud/framework.git  |
  10. // +---------------------------------------------------------------------+
  11. namespace addon\seckill\model;
  12. use app\model\order\OrderCreate;
  13. /**
  14. * 秒杀订单
  15. */
  16. class SeckillOrder extends OrderCreate
  17. {
  18. /**
  19. * 订单创建
  20. * @param unknown $data
  21. */
  22. public function create($data)
  23. {
  24. $calculate_data = $this->calculate($data);
  25. //循环生成多个订单
  26. foreach ($calculate_data as $k => $v)
  27. {
  28. }
  29. }
  30. /**
  31. * 订单计算
  32. * @param unknown $data
  33. */
  34. public function calculate($data)
  35. {
  36. $data = $this->initMemberInfo($data);
  37. //通过立即购买形式不进行拆单,只进行单商品计算
  38. $sku_info = model("goods_sku")->getInfo([['sku_id', '=', $data['sku_id']]], 'sku_id, sku_name, sku_no, price, discount_price,
  39. cost_price, stock, volume, weight, sku_image, site_id, site_name,
  40. website_id, is_own, goods_state, is_virtual, is_free_shipping, shipping_template');
  41. $sku_info['num'] = $data['num'];
  42. $goods_money = $sku_info['discount_price'] * $data['num'];
  43. $goods_list[] = $sku_info;
  44. $calculate_data['calculate_data'][] = $this->shopOrderCalculate($sku_info['site_id'], $sku_info['site_name'], $goods_money, $goods_list, $data);
  45. return $calculate_data;
  46. }
  47. }