Order.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace Factory\Lib;
  3. use Dever;
  4. class Order
  5. {
  6. # 单个商品下单
  7. public function pay($shop_order_id, $shop, $factory_id, $price, $num, $goods_id, $sku_id)
  8. {
  9. # 先更新销量
  10. $state = $this->updateSell($factory_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'] = 2;
  17. $where['type_id'] = $factory_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($where);
  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($factory_id, $goods_id, $sku_id, $num)
  57. {
  58. $up = array();
  59. $up['where_factory_id'] = $factory_id;
  60. $up['where_goods_id'] = $goods_id;
  61. $up['sell_num'] = $num;
  62. $state = Dever::db('factory/goods')->incSell($up);
  63. if ($state) {
  64. if ($sku_id > 0) {
  65. } else {
  66. $sku_id = -1;
  67. }
  68. $upSku = $up;
  69. $upSku['where_sku_id'] = $sku_id;
  70. $state = Dever::db('factory/goods_sku')->incSell($upSku);
  71. }
  72. return $state;
  73. }
  74. }