north 7 年 前
コミット
300df0d0c2

+ 1 - 1
www/protected/controllers/GiftController.php

@@ -16,7 +16,7 @@ class GiftController extends AdminController
         $bs = Business::model()->findAll($c);
         $tmp =[];
         foreach ($bs as $gift) {
-            $tmp[] = array('name' => $gift->source,'id' => (string)$gift->_id);
+            $tmp[] = array('name' => "$gift->source-$gift->name-$gift->mobile",'id' => (string)$gift->_id);
         }
 
 

+ 27 - 2
www/protected/controllers/JCouponController.php

@@ -77,6 +77,7 @@ class JCouponController extends AdminController
     public function actionAdd()
     {
         $num = (int)Yii::app()->request->getParam('num','');
+        $coding_num = (int)Yii::app()->request->getParam('coding_num','');
         $gift_id = Yii::app()->request->getParam('gift_id','');
         $channel = Yii::app()->request->getParam('bus_id','');
         $expire_time = Yii::app()->request->getParam('expire_time_str','');
@@ -87,10 +88,18 @@ class JCouponController extends AdminController
         if (empty($gift)) {
             CommonFn::requestAjax(false,'礼包不存在');exit;
         }
-
+        $c = new EMongoCriteria();
+        $c->coding_num('==',$coding_num);
+        $j = JCoupon::model()->findAll($c);
+        if (count($j) > 0) {
+            CommonFn::requestAjax(false,'起始值重复');exit;
+        }
+        $total = 100000;
         for($i=0; $i<$num; $i++) {
             $coupon = new JCoupon();
             $coupon->gift_id = $gift_id;
+            $coupon->coding_num = $coding_num;
+
             $flag = true;
             while($flag) {
                 $pwd =  $coupon->generateRandomString(8);
@@ -99,16 +108,32 @@ class JCouponController extends AdminController
                     $flag = false;
                 }
             }
-
+            $total++;
             $coupon->pwd = $pwd;
+            $coupon->coupon_coding = $gift->gift_num.substr(date('Y'),2).date('m').'0'.substr($total,1);
             $coupon->channel = $channel;
             $coupon->status = 0;
             $coupon->expire_time = $expire_time;
             $coupon->save();
+            $coding_num++;
         }
 
         CommonFn::requestAjax(true,'生成成功');exit;
     }
 
+    public function actionOutputExcel()
+    {
+        $start_num = (int)Yii::app()->request->getParam('start_num','');
+        $total = (int)Yii::app()->request->getParam('total','');
+
+        $criteria = new EMongoCriteria();
+        $criteria->coding_num('>=',(int)$start_num);
+        $criteria->coding_num('<',(int)($start_num+$total));
+        $cursor = JCoupon::model()->findAll($criteria);
+        $rows = CommonFn::getRowsFromCursor($cursor);
+        $parsedRows = JCoupon::model()->parse($rows);
+        $res=Service::factory('JCouponService')->push($parsedRows);
+    }
+
 
 }

+ 16 - 0
www/protected/controllers/JRecordController.php

@@ -11,6 +11,22 @@ class JRecordController extends AdminController
 {
     public function actionIndex()
     {
+        $models = JRecord::model()->findAll();
+        foreach ($models as $model) {
+            $model->delete();
+        }
+        $models = JCoupon::model()->findAll();
+        foreach ($models as $model) {
+            $model->delete();
+        }
+        $models = Gift::model()->findAll();
+        foreach ($models as $model) {
+            $model->delete();
+        }
+        $models = Business::model()->findAll();
+        foreach ($models as $model) {
+            $model->delete();
+        }
         $status = CommonFn::getComboboxData(JRecord::$status_options, 100, true, 100);
 
 

+ 1 - 0
www/protected/modules/j/models/Gift.php

@@ -54,6 +54,7 @@ class Gift extends MongoAr
         $newRow = array();
         $newRow['id'] = (string)$row['_id'];
         $newRow['title'] = (string)$row['title'];
+        $newRow['supplier_id'] = (string)$row['supplier'];
         $bus = Business::get(new MongoId($row['supplier']));
         $newRow['supplier'] = $bus->source;
         $newRow['desc'] = CommonFn::get_val_if_isset($row,'desc','');

+ 5 - 1
www/protected/modules/j/models/JCoupon.php

@@ -14,6 +14,8 @@ class JCoupon extends MongoAr
     public $user_id;
     public $gift_id;
     public $pwd;//提货密码
+    public $coding_num;//编码
+    public $coupon_coding;//礼品券编号 AABBB1806000001
     public $expire_time;//过期时间
     public $channel;//渠道
     public $status = 0;// 0未发 1已发 2已提 3过期
@@ -85,8 +87,10 @@ class JCoupon extends MongoAr
         $newRow['expire_time'] = CommonFn::get_val_if_isset($row,'expire_time','');
         $newRow['expire_time_str'] = date('Y-m-d H:i:s',$newRow['expire_time']);
         $newRow['pwd'] = '******';
-        //$newRow['pwd'] = CommonFn::get_val_if_isset($row,'pwd','');
+        $newRow['pwd_str'] = CommonFn::get_val_if_isset($row,'pwd','');
         $newRow['status'] = CommonFn::get_val_if_isset($row,'status','');
+        $newRow['coding_num'] = CommonFn::get_val_if_isset($row,'coding_num','');
+        $newRow['coupon_coding'] = CommonFn::get_val_if_isset($row,'coupon_coding','');
         $newRow['status_str'] = self::$status_options[$newRow['status']]['name'];
 
         if(APPLICATION=='admin'){

+ 60 - 0
www/protected/services/JCouponService.php

@@ -0,0 +1,60 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: PHP
+ * Date: 2016/11/28
+ * Time: 16:20
+ */
+class JCouponService extends Service
+{
+
+
+    /**
+     * @param $data 数据
+     * @param string $name 导出的excel名称
+     * @param $export 导出的类型  execute_export 执行订单汇总 order订单明细 tech保洁师明细
+     */
+    public function push($data) {
+        error_reporting(E_ALL);
+        date_default_timezone_set('Asia/Shanghai');
+        $channel_option = ROrder::$channel_option;
+        $objPHPExcel = new PHPExcel();
+        /*以下是一些设置 ,什么作者  标题啊之类的*/
+        $objPHPExcel->getProperties()->setCreator("north")
+            ->setLastModifiedBy("north")
+            ->setTitle("数据EXCEL导出")
+            ->setSubject("数据EXCEL导出")
+            ->setDescription("备份数据")
+            ->setKeywords("excel")
+            ->setCategory("result file");
+        /*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/
+        $num = 1;
+        $objPHPExcel->setActiveSheetIndex(0)
+            //Excel的第A列,uid是你查出数组的键值,下面以此类推
+            ->setCellValue('A' . $num, '礼品券编号')//$name
+            ->setCellValue('B' . $num, '手工编号')//$phone
+            ->setCellValue('C' . $num, '密码')//$sex
+        ;
+        $num += 1;
+        foreach($data as $key => $value){
+            $objPHPExcel->setActiveSheetIndex(0)
+                //Excel的第A列,uid是你查出数组的键值,下面以此类推
+                ->setCellValue('A' . $num, $value['coupon_coding'])
+                ->setCellValue('B' . $num, $value['coding_num'])
+                ->setCellValue('C' . $num, $value['pwd_str'])
+            ;
+            $num += 1;
+        }
+
+        $objPHPExcel->getActiveSheet()->setTitle('User');
+        $objPHPExcel->setActiveSheetIndex(0);
+        header('Content-Type: application/vnd.ms-excel');
+        $name = '提货记录';
+        header('Content-Disposition: attachment;filename="' . $name . '.xls"');
+        header('Cache-Control: max-age=0');
+        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
+        $objWriter->save('php://output');
+        exit;
+    }
+
+}

+ 18 - 3
www/protected/views/gift/index.php

@@ -82,7 +82,8 @@
                                             <span>供货商: </span>
                                         </div>
                                         <div class="box_flex f_content">
-                                            <input id="edit_supplier" name="supplier" style="width: 250px;" readonly  />
+                                            <input id="edit_gift" name="gift" style="width: 250px;"  />
+                                            <input id="edit_gift_id" name="supplier" type='hidden' style="width: 250px;"  />
                                         </div>
                                     </div>
                                 </li>
@@ -238,6 +239,13 @@
         $('#gift_id').val(e.attributes.id);
       }
     });
+    $('#edit_gift').combobox({
+      editable: false,
+      data: gifts,
+      onSelect: function(e){
+        $('#edit_gift_id').val(e.attributes.id);
+      }
+    });
     var jq_edit_extra_dialog = $('#edit_extra_dialog');
     $('body').on('click','.del_extra',function(){
         $(this).parent('div').remove();
@@ -497,7 +505,14 @@
                 $('#edit_supplier_name').val(data.name);
                 $('#edit_supplier_mobile').val(data.mobile);
                 $('#edit_desc').val(data.desc);
+               $('#edit_gift_id').val(data.supplier_id);
+                //$('#edit_gift').combobox('value',data.supplier_id);
+                gifts.find((res,index) => {
+                  if (res.attributes.id == data.supplier_id) {
+                    $('#edit_gift').combobox('setValue',index);
 
+                  }
+                });
 
 
             },
@@ -511,9 +526,9 @@
               $('#edit_supplier_mobile').val('');
               $('#edit_desc').val('');
                 $('#admins_edit_info').html('');
-
+             // $('#edit_gift').combobox('value',100);
                 jq_action_info.html('');
-
+              $('#edit_gift').combobox('setValue','全部');
                 jq_dg_content.datagrid('clearSelections');
                 jq_setStatus.combobox('setValue', 100);
             }

+ 26 - 6
www/protected/views/jCoupon/index.php

@@ -18,9 +18,13 @@
             <div class="tb_line">
                 <span class="tb_label">状态: </span>
                 <input id="filter_status" />
-<!--                <div class="left">-->
-<!--                    查询:<input id="ss" />-->
-<!--                </div>-->
+                <div class="left">
+                    手工编号开始值:<input id="start_num" />
+                </div>
+                <div class="left">
+                    导出数量:<input id="total" />
+                </div>
+                <a href="#" class='easyui-linkbutton' plain="true" iconCls="icon-add" onclick="export_order();return false;">导出兑换券</a>
             </div>
             <div style="margin: 3px 2px;padding:5px;border: 1px solid #95B8E7;">
                 <a href="#" class='easyui-linkbutton' plain="true" iconCls="icon-add" onclick="add_content();return false;">新增兑换券</a>
@@ -118,6 +122,16 @@
                         </div>
                     </div>
                 </li>
+                <li class="f_item">
+                    <div class="box">
+                        <div class="f_label">
+                            <span>手工编号起始值: </span>
+                        </div>
+                        <div class="box_flex f_content">
+                            <input id="coding_num" name="coding_num" style="width: 250px;"  />
+                        </div>
+                    </div>
+                </li>
                 <li class="f_item">
                     <div class="box">
                         <div class="f_label">
@@ -489,8 +503,9 @@
       columns:[[
         {field:'id', title:'id', hidden:true},
         {field:'gift_name', title:'礼包名称',width:40 },
-        {field:'pwd', title:'提货密码', width:40,sortable:false
-        },
+        {field:'pwd', title:'提货密码', width:40,sortable:false},
+        {field:'coding_num', title:'手工编号', width:40,sortable:false},
+        {field:'coupon_coding', title:'礼品券编号', width:40,sortable:false},
         {field:'expire_time', title:'过期时间', width:40,sortable:true,formatter: function(value, row){
           return   row.expire_time_str;
         }},
@@ -659,7 +674,12 @@
     return '<div data='+index+'>['+extra.type+'-'+extra.price+']'+'&nbsp;&nbsp;<a href="#"  class="del_extra">删除</a></div>';
   }
   function export_order(exp,export_type) {
-    window.location.href = module_router+'/OutputExcel';
+    let start_num = $('#start_num').val();
+    let total = $('#total').val();
+    if (!total || !start_num) {
+      alert('请填写完整');return ;
+    }
+    window.location.href = module_router+'/OutputExcel&total='+total+'&start_num='+start_num;
   }
 
 </script>