<?php namespace Factory\Lib; use Dever; class Order { # 单个商品下单 public function pay($shop_order_id, $shop, $factory_id, $price, $num, $goods_id, $sku_id) { # 先更新销量 $state = $this->updateSell($factory_id, $goods_id, $sku_id, $num); if (!$state) { return false; } $where['order_num'] = $shop_order_id; $where['shop_id'] = $shop['id']; $where['type'] = 2; $where['type_id'] = $factory_id; $info = Dever::db('shop/buy_order')->find($where); if (!$info) { $data = $where; $data['name'] = $shop_order_id; $data['mobile'] = $shop['mobile']; $data['area'] = $shop['area']; $data['province'] = $shop['province']; $data['city'] = $shop['city']; $data['county'] = $shop['county']; $data['town'] = $shop['town']; $data['operdate'] = time(); $data['status'] = 3; $data['price'] = $price; $data['num'] = $num; $id = $state = Dever::db('shop/buy_order')->insert($where); } else { $id = $info['id']; $data['where_id'] = $id; $data['price'] = $info['price'] + $price; $data['num'] = $info['num'] + $num; $state = Dever::db('shop/buy_order')->update($data); } if ($state && $id > 0) { $goods_info = Dever::db('shop/buy_order_goods')->find(array('order_id' => $id)); if (!$goods_info) { $goods['order_id'] = $id; $goods['shop_id'] = $shop['id']; $goods['goods_id'] = $goods_id; $goods['sku_id'] = $sku_id; $goods['price'] = $price; $goods['num'] = $num; Dever::db('shop/buy_order_goods')->insert($goods); } return $id; } return false; } # 增加销量 public function updateSell($factory_id, $goods_id, $sku_id, $num) { $up = array(); $up['where_factory_id'] = $factory_id; $up['where_goods_id'] = $goods_id; $up['sell_num'] = $num; $state = Dever::db('factory/goods')->incSell($up); if ($state) { if ($sku_id > 0) { } else { $sku_id = -1; } $upSku = $up; $upSku['where_sku_id'] = $sku_id; $state = Dever::db('factory/goods_sku')->incSell($upSku); } return $state; } }