rabin 2 jaren geleden
bovenliggende
commit
ffa5b9e8c3
3 gewijzigde bestanden met toevoegingen van 180 en 1 verwijderingen
  1. BIN
      data/oldcard.xlsx
  2. 7 0
      service/agent/database/member_goods.php
  3. 173 1
      service/agent/lib/Tool.php

BIN
data/oldcard.xlsx


+ 7 - 0
service/agent/database/member_goods.php

@@ -9,6 +9,13 @@ $type = array
     3 => '名额',
 );
 
+$import = array
+(
+    1 => '最新系统',
+    2 => 'v2旧系统导入',
+    3 => 'v1旧系统导入',
+);
+
 $button = array();
 $info = '';
 

+ 173 - 1
service/agent/lib/Tool.php

@@ -213,7 +213,7 @@ class Tool
         return 'ok';
     }
 
-    # 发放礼品卡
+    # 发放礼品卡 从客满云来的
     public function pushcard_api()
     {
         $mobile = '13896716319|396.5,13354896599|799,13896714411|799,13964467368|799,17857041943|799,13904713949|799,13948128992|799,15023905779|711.3,15831605511|799,15924411773|799,13384713795|799,18696719568|456.6,13609468556|514.2,13996764705|136.54,13057922789|2214,13626430903|799,13811412976|799,17311333929|799,18280086198|264.4,17358503715|273.2,13606755900|799,18368852657|799,13853387568|32.9,17702360918|458.74,13998415597|799,15925878191|799,18053357079|799,17369603422|799,15542344331|799,13644277557|799,18523625865|373.2,15661053408|799,13801381206|799,13309866562|799,18642899311|676,13478542548|809,13308259951|799,18004285088|799,13132353939|979.9,13250885707|799,13904281296|799,13132363123|7.78,15810156842|376.3,13996753098|1287.54,13656522922|799,13309841160|799,13621243273|448.6,13008063508|344,13387871873|730.7,15524845373|799,15542414113|799,13245473269|560.5,13816374828|799,13001739273|698.3,13607801107|1598,13817487679|799,15734111277|799,15524652835|799,13661664667|799,13939292227|799,13581983958|799,13918552843|799,13071197982|203.1,13848118039|1,13644241151|799,13812853977|76.3,18862460056|13.4,13913660726|41.4,15851602369|10.4,18540345578|14.9,13644968293|200,15940848432|806.1,15391122046|201.7,13426388637|1000,16726766313|30.6,13591777189|8.6,18751168759|200,13801569738|200,13889676999|400,13591103339|200,13352291520|200,13050576828|6.8,13478755955|0.4,13327128187|0.6,17704881758|1207.8,13962250709|135.3,18247161616|26.34,15397618175|2.7,19804717968|456.3,15734189938|500,15158761331|10,15928573979|2.3,18614289414|100.8,15393565789|112.8,17703451471|174.94,13587632081|200,13084728781|2000,18104856142|98';
@@ -288,4 +288,176 @@ class Tool
 
         return array($yes, $error, $no);
     }
+
+    # 发放礼品卡,从旧系统来的
+    public function pushcard_old_api()
+    {
+        Dever::config('base')->hook = true;
+        include('/share/lib/php/dever_package/excel/src/PHPExcel.php');
+        $file = '/www/churen/data/oldcard.xlsx';
+        $num = Dever::input('num', 0);
+        $data = Dever::excelImport($file, $num, 5, 'excel');
+
+        if ($data) {
+            if ($num <= 1) {
+                foreach ($data as $k => $v) {
+                    if ($k > 0 && isset($v['B']) && $v['B']) {
+                        $mobile = $v['B'];
+                        $member = Dever::db('agent/member')->find(array('mobile' => $mobile));
+                        if ($member) {
+                            $type_id = $v['D'];
+                            if ($type_id) {
+                                $type = 1;
+                            } else {
+                                $type = 2;
+                            }
+                            $name = $v['C'];
+                            $time = Dever::maketime($v['E']);
+                            $this->createGoods($member, 1, $type, $type_id, -1, $time, $name);
+                        }
+                    }
+                }
+            }
+
+            if ($num == 2) {
+                foreach ($data as $k => $v) {
+                    if ($k > 0 && isset($v['A']) && $v['A']) {
+                        $mobile = $v['A'];
+                        $member = Dever::db('agent/member')->find(array('mobile' => $mobile));
+                        if ($member) {
+                            $type = 2;
+                            $type_id = 2;
+                            $name = '199面值';
+                            $price = $v['E'];
+                            $time = Dever::maketime($v['C']);
+                            $this->createGoods($member, 1, $type, $type_id, -1, $time, $name, $price);
+                        }
+                    }
+                }
+            }
+
+            if ($num == 3) {
+                foreach ($data as $k => $v) {
+                    if ($k > 0 && isset($v['B']) && $v['B']) {
+                        $mobile = $v['B'];
+                        $member = Dever::db('agent/member')->find(array('mobile' => $mobile));
+                        if ($member) {
+                            $type = 2;
+                            $type_id = 4;
+                            $name = '1299面值';
+                            $price = $v['D'];
+                            $time = Dever::maketime($v['E']);
+                            $this->createGoods($member, 1, $type, $type_id, -1, $time, $name, $price);
+                        }
+                    }
+                }
+            }
+        }
+
+        return 'ok';
+    }
+
+    # 生成权益
+    private function createGoods($member, $num, $type, $type_id, $sku_id, $time = '', $name = '', $price = 0)
+    {
+        # 生成新的权益
+        $desc = '发放权益';
+        $mid = $member['id'];
+        $total = $num;
+        $w = array();
+        $w['type'] = $type;
+        if ($type == 2) {
+            if ($name == '厨人易料菜品通用卡(799面值)') {
+                $type_id = 3;
+            }
+            if ($name == '厨人易料菜品通用卡(999面值)') {
+                $type_id = 7;
+            }
+            if ($name == '199面值') {
+                $type_id = 2;
+            }
+            if ($name == '1299面值') {
+                $type_id = 4;
+            }
+        }
+        $w['type_id'] = $type_id;
+        $w['sku_id'] = $sku_id;
+        $w['mid'] = $mid;
+        $w['clear'] = true;
+        $cash = $price = 0;
+        
+        if ($type == 1) {
+            $goods_info = Dever::load('goods/lib/info')->getInfoBySku($w['type_id'], $w['sku_id']);
+            $price = $goods_info['price'];
+            $cash = $goods_info['price'] * $total;
+            if (isset($goods_info['sku'])) {
+                $sku = '-' . $goods_info['sku']['string'];
+            } else {
+                $sku = '';
+            }
+            $name = $goods_info['name'] . $sku;
+        } elseif ($type == 2) {
+            # 体验卡
+            $card = Dever::db('card/info')->find($w['type_id']);
+            if (!$card) {
+                return;
+            }
+            if ($price > 0) {
+                $card['value'] = $price;
+            }
+            $name = $card['name'];
+            if ($card['create_type'] == 2) {
+                $cash = $price = $card['value'] * $total;
+                $total = 1;
+                $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash, $time);
+                if (!$w['sku_id']) {
+                    return;
+                }
+            } else {
+                $cash = $price = $card['value'];
+                for($i=0; $i<$total;$i++) {
+                    $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash, $time);
+                    if ($w['sku_id']) {
+                        $w['total_num'] = 1;
+                        $w['cash'] = $cash;
+                        $w['price'] = $price;
+                        $w['name'] = $name;
+                        $w['cdate'] = $time;
+                        $state = Dever::db('agent/member_goods')->insert($w);
+                        if ($state) {
+                            Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], 1, 0, 1, $name, $desc);
+                        }
+                    }
+                }
+
+                return;
+            }
+        } elseif ($type == 3) {
+            $prize = Dever::db('setting/prize')->find($w['type_id']);
+            $price = $prize['price'];
+            $cash = $prize['price'] * $total;
+            $name = $prize['name'];
+        }
+        $info = Dever::db('agent/member_goods')->one($w);
+        $w['total_num'] = $total;
+        $w['cash'] = $cash;
+        $w['price'] = $price;
+        $w['name'] = $name;
+        $w['cdate'] = $time;
+        if (!$info) {
+            $state = Dever::db('agent/member_goods')->insert($w);
+            if ($state) {
+                Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $total, 0, $w['total_num'], $name, $desc);
+            }
+        } else {
+            $w['total_num'] += $info['total_num'];
+            $w['where_id'] = $info['id'];
+            $w['state'] = 1;
+            $state = Dever::db('agent/member_goods')->update($w);
+            $num = $w['total_num']-$info['total_num'];
+            if ($state && $num != 0) {
+                Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $num, $info['total_num'], $w['total_num'], $name, $desc);
+            }
+        }
+    }
 }