|
@@ -85,4 +85,89 @@ class Order
|
|
|
|
|
|
return $state;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private function goods()
|
|
|
+ {
|
|
|
+ $goods = Dever::input('goods');
|
|
|
+ if (!$goods) {
|
|
|
+ Dever::alert('请传入商品');
|
|
|
+ }
|
|
|
+ $goods = Dever::json_decode($goods);
|
|
|
+
|
|
|
+ $this->data['price'] = 0;
|
|
|
+ $this->data['num'] = 0;
|
|
|
+ $this->data['name'] = array();
|
|
|
+
|
|
|
+ foreach ($goods as $k => $v) {
|
|
|
+ if (strstr($v['id'], '-')) {
|
|
|
+ $t = explode('-', $v['id']);
|
|
|
+ $v['id'] = $t[0];
|
|
|
+ $s = $t[1];
|
|
|
+ } else {
|
|
|
+ $s = -1;
|
|
|
+ }
|
|
|
+ $n = $v['num'];
|
|
|
+ $this->data['list'][$k] = Dever::load('goods/lib/info')->getPayInfo($v['id'], $s, $n);
|
|
|
+ $this->data['list'][$k]['num'] = $n;
|
|
|
+
|
|
|
+ $this->data['list'][$k]['buy_num'] = $n;
|
|
|
+ $this->data['num'] += $n;
|
|
|
+ $this->data['price'] += $this->data['list'][$k]['price'] * $n;
|
|
|
+ $this->data['name'][] = $this->data['list'][$k]['name'];
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->data['name'] = implode(',', $this->data['name']);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function action_commit_api()
|
|
|
+ {
|
|
|
+ Dever::alert('下单失败');
|
|
|
+ $info = Dever::input('info');
|
|
|
+
|
|
|
+ $this->goods();
|
|
|
+
|
|
|
+ $order_data['factory_id'] = Dever::input('factory_id');
|
|
|
+ $order_data['type_id'] = Dever::input('store_id');
|
|
|
+ $order_data['type'] = 1;
|
|
|
+ $order_data['name'] = $this->data['name'];
|
|
|
+ $order_data['num'] = $this->data['num'];
|
|
|
+ $order_data['info'] = $info;
|
|
|
+ $order_data['price'] = $this->data['price'];
|
|
|
+ $order_data['status'] = 2;
|
|
|
+
|
|
|
+ $order_data['order_num'] = $this->getOrderId();
|
|
|
+ $id = Dever::db('factory/order')->insert($order_data);
|
|
|
+
|
|
|
+ if (!$id) {
|
|
|
+ Dever::alert('下单失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ foreach($this->data['list'] as $k => $v) {
|
|
|
+ $data['factory_id'] = $order_data['factory_id'];
|
|
|
+ $data['order_id'] = $id;
|
|
|
+ $data['goods_id'] = $v['id'];
|
|
|
+ $data['sku_id'] = $v['sku_id'];
|
|
|
+ $data['price'] = $v['price'] * $v['buy_num'];
|
|
|
+ $data['num'] = $v['buy_num'];
|
|
|
+
|
|
|
+ $state = Dever::db('factory/order_goods')->insert($data);
|
|
|
+ }
|
|
|
+
|
|
|
+ return '订货下单成功';
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function getOrderId()
|
|
|
+ {
|
|
|
+ $where['order_num'] = Dever::order('F');
|
|
|
+ $state = Dever::db('factory/order')->one($where);
|
|
|
+ if (!$state) {
|
|
|
+ return $where['order_num'];
|
|
|
+ } else {
|
|
|
+ return $this->getOrderId();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|