|
@@ -0,0 +1,134 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace Mshop\Src;
|
|
|
+
|
|
|
+use Dever;
|
|
|
+use Mshop\Lib\Core;
|
|
|
+
|
|
|
+class Out extends Core
|
|
|
+{
|
|
|
+
|
|
|
+ public function getGoods()
|
|
|
+ {
|
|
|
+ $where = array();
|
|
|
+
|
|
|
+ $name = Dever::input('name');
|
|
|
+ if ($name) {
|
|
|
+ $where['name'] = $name;
|
|
|
+ }
|
|
|
+ $this->data['data'] = Dever::db('goods/info')->getPageAll($where);
|
|
|
+ if ($this->data['data']) {
|
|
|
+ foreach ($this->data['data'] as $k => $v) {
|
|
|
+ $this->data['data'][$k] = Dever::load('shop/lib/info')->getGoodsInfo($this->shop_id, $v);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this->data;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function confirm()
|
|
|
+ {
|
|
|
+ $this->goods();
|
|
|
+
|
|
|
+ return $this->data;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private function goods()
|
|
|
+ {
|
|
|
+ $goods_id = Dever::input('goods_id');
|
|
|
+ if (!$goods_id) {
|
|
|
+ Dever::alert('请传入商品');
|
|
|
+ }
|
|
|
+ $goods_id = explode(',', $goods_id);
|
|
|
+
|
|
|
+ $sku_id = Dever::input('price_id');
|
|
|
+ if ($sku_id) {
|
|
|
+ $sku_id = explode(',', $sku_id);
|
|
|
+ }
|
|
|
+
|
|
|
+ $num = Dever::input('num');
|
|
|
+ if (!$num) {
|
|
|
+ Dever::alert('请传入商品数量');
|
|
|
+ }
|
|
|
+ $num = explode(',', $num);
|
|
|
+
|
|
|
+ $this->data['price'] = 0;
|
|
|
+ $this->data['num'] = 0;
|
|
|
+ $this->data['name'] = array();
|
|
|
+ $count = count($goods_id);
|
|
|
+
|
|
|
+ foreach ($goods_id as $k => $v) {
|
|
|
+ $s = isset($sku_id[$k]) ? $sku_id[$k] : -1;
|
|
|
+ $n = isset($num[$k]) ? $num[$k] : 1;
|
|
|
+ $this->data['list'][$k] = Dever::load('goods/lib/info')->getPayInfo($v, $s, $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()
|
|
|
+ {
|
|
|
+ $info = Dever::input('info');
|
|
|
+
|
|
|
+ $this->goods();
|
|
|
+
|
|
|
+ $pay = Dever::load('mshop/lib/buy')->action($this->shop, $this->data['name'], $this->data['num'], $this->data['list'], $this->data['price'], $info, $refer);
|
|
|
+
|
|
|
+ $order_data['shop_id'] = $this->shop['id'];
|
|
|
+ $order_data['mobile'] = $this->shop['mobile'];
|
|
|
+ $order_data['name'] = $this->data['name'];
|
|
|
+ $order_data['num'] = $this->data['num'];
|
|
|
+ $order_data['info'] = $info;
|
|
|
+ $order_data['price'] = $this->data['price'];
|
|
|
+ $order_data['member_id'] = $this->uid;
|
|
|
+
|
|
|
+ $order_data['area'] = $this->shop['area'];
|
|
|
+ $order_data['province'] = $this->shop['province'];
|
|
|
+ $order_data['city'] = $this->shop['city'];
|
|
|
+ $order_data['county'] = $this->shop['county'];
|
|
|
+ $order_data['town'] = $this->shop['town'];
|
|
|
+
|
|
|
+ $order_data['order_num'] = $this->getOrderId();
|
|
|
+ $id = Dever::db('shop/out_order')->insert($order_data);
|
|
|
+
|
|
|
+ if (!$id) {
|
|
|
+ Dever::alert('出库失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ foreach($this->data['list'] as $k => $v) {
|
|
|
+ $data['shop_id'] = $shop['id'];
|
|
|
+ $data['order_id'] = $id;
|
|
|
+ $data['goods_id'] = $v['id'];
|
|
|
+ $data['sku_id'] = $v['sku_id'];
|
|
|
+ $data['price'] = $v['price'];
|
|
|
+ $data['num'] = $v['buy_num'];
|
|
|
+
|
|
|
+ $state = Dever::db('shop/out_order_goods')->insert($data);
|
|
|
+ if ($state) {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return 'ok';
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function getOrderId()
|
|
|
+ {
|
|
|
+ $where['order_num'] = Dever::order('OUT');
|
|
|
+ $state = Dever::db('shop/out_order')->one($where);
|
|
|
+ if (!$state) {
|
|
|
+ return $where['order_num'];
|
|
|
+ } else {
|
|
|
+ return $this->getOrderId();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|