Order.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Store\Lib;
  3. use Dever;
  4. class Order
  5. {
  6. # 单个商品下单
  7. public function pay($shop_order_id, $shop, $store_id, $price, $num, $goods_id, $sku_id)
  8. {
  9. # 先更新库存
  10. $state = $this->updateSell($store_id, $goods_id, $sku_id, $num);
  11. if (!$state) {
  12. return false;
  13. }
  14. $where['order_num'] = $shop_order_id;
  15. $where['shop_id'] = $shop['id'];
  16. $where['type'] = 1;
  17. $where['type_id'] = $store_id;
  18. $info = Dever::db('shop/buy_order')->find($where);
  19. if (!$info) {
  20. $data = $where;
  21. $data['name'] = $shop_order_id;
  22. $data['mobile'] = $shop['mobile'];
  23. $data['area'] = $shop['area'];
  24. $data['province'] = $shop['province'];
  25. $data['city'] = $shop['city'];
  26. $data['county'] = $shop['county'];
  27. $data['town'] = $shop['town'];
  28. $data['operdate'] = time();
  29. $data['status'] = 3;
  30. $data['price'] = $price;
  31. $data['num'] = $num;
  32. $id = $state = Dever::db('shop/buy_order')->insert($data);
  33. } else {
  34. $id = $info['id'];
  35. $data['where_id'] = $id;
  36. $data['price'] = $info['price'] + $price;
  37. $data['num'] = $info['num'] + $num;
  38. $state = Dever::db('shop/buy_order')->update($data);
  39. }
  40. if ($state && $id > 0) {
  41. $goods_info = Dever::db('shop/buy_order_goods')->find(array('order_id' => $id));
  42. if (!$goods_info) {
  43. $goods['order_id'] = $id;
  44. $goods['shop_id'] = $shop['id'];
  45. $goods['goods_id'] = $goods_id;
  46. $goods['sku_id'] = $sku_id;
  47. $goods['price'] = $price;
  48. $goods['num'] = $num;
  49. Dever::db('shop/buy_order_goods')->insert($goods);
  50. }
  51. return $id;
  52. }
  53. return false;
  54. }
  55. # 减少库存,增加销量
  56. public function updateSell($store_id, $goods_id, $sku_id, $num)
  57. {
  58. $data['store_id'] = $store_id;
  59. $data['goods_id'] = $goods_id;
  60. $data['sku_id'] = $sku_id;
  61. $data['num'] = $num;
  62. return Dever::load('store/lib/goods')->oper(1, 2, array($data));
  63. }
  64. }