dever 3 år sedan
förälder
incheckning
461461c1f1

+ 11 - 0
app/card/database/info.php

@@ -130,6 +130,17 @@ return array
             'edit'      => true,
         ),
 
+        'content'       => array
+        (
+            'type'      => 'text-255',
+            'name'      => '介绍',
+            'default'   => '',
+            'desc'      => '请输入内容',
+            'match'     => 'is_string',
+            'update'    => 'editor',
+            'key'       => '1',
+        ),
+
         'reorder'       => array
         (
             'type'      => 'int-11',

+ 4 - 3
service/agent/lib/Manage.php

@@ -332,14 +332,15 @@ class Manage
             $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['type_id'], $v['sku_id']);
             $price = $goods_info['price'] * $v['num'];
         } elseif ($v['type'] == 2) {
+            $v['sku_id'] = -1;
             # 生成一个电子券
             $card = Dever::db('card/info')->find($v['type_id']);
             if (!$card) {
                 return false;
             }
             $price = $card['price']*$v['num'] * $t;
-            $v['type_id'] = Dever::load('card/lib/code')->create($card, 2, $order['mid'], $order['id'], $price);
-            if (!$v['type_id']) {
+            $v['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $order['mid'], $order['id'], $price);
+            if (!$v['sku_id']) {
                 return false;
             }
         } elseif ($v['type'] == 3) {
@@ -502,7 +503,7 @@ class Manage
 
             return array('name' => $goods_info['name'] . $sku, 'price' => $goods_info['price']);
         } elseif ($type == 2) {
-            $code = Dever::db('card/code')->find($type_id);
+            $code = Dever::db('card/code')->find($sku_id);
             $card = Dever::db('card/info')->find($code['card_id']);
             return array('name' => $card['name'], 'price' => $code['total_cash']);
         } elseif ($type == 3) {

+ 13 - 1
service/agent/lib/Member_set.php

@@ -78,7 +78,19 @@ class Member_set
                 }
             } else {
                 $w['total_num'] = $v['total'];
-                
+                if ($type == 2 && $sku_id == -1) {
+                    # 体验卡
+                    $card = Dever::db('card/info')->find($w['type_id']);
+                    if (!$card) {
+                        continue;
+                    }
+                    $price = $card['price'] * $w['total_num'];
+                    $w['total_num'] = 1;
+                    $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $price);
+                    if (!$v['sku_id']) {
+                        continue;
+                    }
+                }
                 if (!$info) {
                     $state = Dever::db('agent/member_goods')->insert($w);
                     if ($state) {

+ 3 - 0
service/agent/lib/Set.php

@@ -89,6 +89,9 @@ class Set
                 if ($info) {
                     if ($table == 'agent/member_goods') {
                         $info['num'] = $info['total_num'] - $info['sell_num'];
+                        if ($v['sku_id'] > 0) {
+                            $data[1]['children'][$k]['id'] = $v['id'] . '-' . $v['sku_id'] . '_2';
+                        }
                     }
                     $data[1]['children'][$k]['select'] = 1;
                     $data[1]['children'][$k]['total'] = $info['num'];

+ 64 - 35
service/agent/src/My.php

@@ -308,47 +308,76 @@ class My extends Core
                     unset($this->data['list'][$k]);
                     continue;
                 }
-                if ($v['type'] == 1) {
-                    $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['type_id'], $v['sku_id']);
-                    if (isset($goods_info['sku'])) {
-                        $sku = $goods_info['sku']['string'];
-                    } else {
-                        $sku = '';
-                    }
-                    
-                    $this->data['list'][$k] += array
-                    (
-                        'pic' => $goods_info['cover'],
-                        'name' => $goods_info['name'],
-                        'sku' => $sku,
-                        'price' => $goods_info['price'],
-                    );
-                } elseif ($v['type'] == 2) {
-                    $code = Dever::db('card/code')->find($v['type_id']);
-                    $card = Dever::db('card/info')->find($code['card_id']);
-                    $this->data['list'][$k] += array
-                    (
-                        'name' => $card['name'],
-                        'sku' => '',
-                        'price' => $code['total_cash'],
-                        'card' => $code['card'],
-                    );
-                } elseif ($v['type'] == 3) {
-                    $prize = Dever::db('setting/prize')->find($v['type_id']);
-                    $this->data['list'][$k] += array
-                    (
-                        'name' => $prize['name'],
-                        'sku' => '',
-                        'price' => $prize['price'],
-                        'desc' => $prize['desc'],
-                    );
-                }
+                $this->getGoodsInfo($this->data['list'][$k]);
             }
         }
 
         return $this->data;
     }
 
+    public function goodsListView()
+    {
+        $where['mid'] = $this->uid;
+        $where['id'] = Dever::input('id');
+        if (!$where['id']) {
+            Dever::alert('错误');
+        }
+        $this->data['info'] = Dever::db('agent/member_goods')->find($where);
+        if ($this->data['info']) {
+            $this->getGoodsInfo($this->data['info']);
+        }
+
+        return $this->data;
+    }
+
+    private function getGoodsInfo(&$v)
+    {
+        if ($v['type'] == 1) {
+            $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['type_id'], $v['sku_id']);
+            if (isset($goods_info['sku'])) {
+                $sku = $goods_info['sku']['string'];
+            } else {
+                $sku = '';
+            }
+            
+            $v += array
+            (
+                'pic' => $goods_info['cover'],
+                'name' => $goods_info['name'],
+                'sku' => $sku,
+                'price' => $goods_info['price'],
+            );
+        } elseif ($v['type'] == 2) {
+            $code = Dever::db('card/code')->find($v['sku_id']);
+            $card = Dever::db('card/info')->find($code['card_id']);
+            $card_type = Dever::db('card/type')->find($card['type_id']);
+            $shop_type = Dever::db('shop/info')->config['config_type'];
+            $card_type['shop_type'] = explode(',', $card_type['shop_type']);
+            foreach ($card_type['shop_type'] as $k1 => $v1) {
+                $card_type['shop_type'][$k1] = $shop_type[$v1];
+            }
+            $card_type['shop_type'] = implode(',', $card_type['shop_type']);
+            $v += array
+            (
+                'name' => $card['name'],
+                'sku' => '',
+                'price' => $code['total_cash'],
+                'card' => $code['card'],
+                'shop_type' => $card_type['shop_type'],
+                'card_desc' => $card['content'],
+            );
+        } elseif ($v['type'] == 3) {
+            $prize = Dever::db('setting/prize')->find($v['type_id']);
+            $v += array
+            (
+                'name' => $prize['name'],
+                'sku' => '',
+                'price' => $prize['price'],
+                'desc' => $prize['desc'],
+            );
+        }
+    }
+
     # 兑换权益
     public function dhGoods()
     {