Browse Source

Merge branch 'test'

Charlie 8 years ago
parent
commit
0b5f786b70

+ 47 - 0
www/protected/commands/ImportCouponCommand.php

@@ -0,0 +1,47 @@
+<?php
+/**
+ * 生成兑换码脚本
+ * @author   >
+ * @param coupon_ids一个兑换码所能兑换的优惠券数组
+ * @param channel 发放渠道,某一批次优惠券唯一标识
+ * @param desc 某一批次优惠券的描述
+ * @param count 要生成的数量
+ * @return 生成的兑换码保存在/download/文件夹下,可通过外网提取,保存到本地后要及时删除
+ */
+class ImportCouponCommand extends CConsoleCommand{
+    public function run($args) {
+        ini_set('memory_limit', '256M');
+        set_time_limit(0);
+
+        $codes = array('18817554864','140523714','478816015','176119415','107349656','115768119','956442739','301349268','576127238','591715263','716676758','172133276','174839179','139123770','766179339','103938190','186932034','104887574','922889217','264705741','129799217','182232379','129935376','156216575','354355808','107662700','918712403','140734848','821493710','204011001','171365292','148161623','789182169','120672446','207115477','170564852','741302194','627289929','103110008','160282371','171466047','130246585','171614273','896809389','123003154','175651168','152830996','727696826','418733082','739372004','753440120','189560512','934376848','148107436','410072553','200676710','365309146','197814952','199545539','139030438','602813650','103855261','226759071','363531623','202359324','213593906','641385764','182875531','204456315','211460822','678044620','766809575','199117350','505178943','160328932','176201071','176776411','409820206','590645116','163645224','137473458','155943187','126604481','333827210','205484878','186605718','101322064','172492891','605838923','143137376','113121991','901586757','637044744','568861509','643300925','146400458','443548465','861258571','175821493','181883578','100274462');
+
+        $channel = 'lianche-2hours';
+        $desc = '链车金服:2小时日常保洁服务';
+        $coupons = array();
+        $coupon_ids[] = '57fe0e029f5160a9048b456a';
+
+        foreach ($coupon_ids as $value) {
+            $coupon_id = new MongoId($value);
+            $coupons[] = $coupon_id;
+        }
+        for ($i=0;$i<count($codes);$i++) {
+            $model = new CouponCode();
+            $model->coupons = $coupons;
+            $model->channel = $channel;
+            $model->desc = $desc;
+            //$model->code = $model->code +  $i*1024;
+            $model->code = $codes[$i];
+            $criteria = new EMongoCriteria();
+            $criteria->code('==', $model->code);
+            $exits = CouponCode::model()->count($criteria);
+            if($exits>0){
+                echo $codes[$i]."\n";
+                continue;
+            }
+            $model->stop_time = 1483199999;
+            $model->save();
+            file_put_contents(APP_PATH.'/download/'.time().'_coupon_code.html',$model->code."\r\n",FILE_APPEND);
+            echo $i."\n";
+        }
+    }
+}

+ 2 - 1
www/protected/modules/o2o/controllers/UserController.php

@@ -27,7 +27,7 @@ class  UserController extends O2oBaseController{
     //兑换码兑换优惠券
     public function actionExchangeCoupon(){
         $user_id = Yii::app()->getRequest()->getParam("user_id","");
-        $exchange_code = intval(Yii::app()->getRequest()->getParam("exchange_code",0));
+        $exchange_code = Yii::app()->getRequest()->getParam("exchange_code",0);
         //$device_id = Yii::app()->request->getParam('device_id');
         $device_id = '';
         if(CommonFn::isMongoId($user_id) && $exchange_code){
@@ -65,6 +65,7 @@ class  UserController extends O2oBaseController{
             }elseif($exchange_code && $exchange_code->status == 1){
                 CommonFn::requestAjax(false,CommonFn::getMessage('o2o','exchange_code_used'));
             }else{
+
                 CommonFn::requestAjax(false,CommonFn::getMessage('o2o','exchange_code_unuseable'));
             }
         }else{

+ 13 - 5
www/protected/modules/o2o/models/CouponCode.php

@@ -58,15 +58,23 @@ class CouponCode extends MongoAr
         $user = array();
         if(isset($row['user'])){
             $_user = RUser::get($row['user']);
-            $user = $_user->parseRow($_user->attributes,array('user_name','id','avatar'));
+            if($_user){
+                $user = $_user->parseRow($_user->attributes,array('user_name','id','avatar'));
+            }
+
         }
         $newRow['user'] = $user;
 
-        $newRow['stop_time'] = CommonFn::get_val_if_isset($row,'stop_time',time());
-        $newRow['stop_time_str'] = CommonFn::sgmdate("Y年n月d日", $newRow['stop_time'],1);
+        $newRow['stop_time'] = CommonFn::get_val_if_isset($row,'stop_time');
+        if($newRow['stop_time']){
+            $newRow['stop_time_str'] = CommonFn::bgmdate("Y年n月d日", $newRow['stop_time'],1);
+        }
 
-        $newRow['use_time'] = CommonFn::get_val_if_isset($row,'use_time',time());
-        $newRow['use_time_str'] = CommonFn::sgmdate("Y年n月d日", $newRow['use_time'],1);
+
+        $newRow['use_time'] = CommonFn::get_val_if_isset($row,'use_time');
+        if($newRow['use_time']) {
+            $newRow['use_time_str'] = CommonFn::bgmdate("Y年n月d日", $newRow['use_time'], 1);
+        }
 
         $newRow['status'] = CommonFn::get_val_if_isset($row,'status',0);
         $newRow['always'] = CommonFn::get_val_if_isset($row,'always',0);

+ 28 - 20
www/protected/views/couponCode/index.php

@@ -32,33 +32,34 @@
                                 <li class="f_item">
                                     <div class="box">
                                         <div class="f_label">
-                                            <span>领取的代金券:</span>
+                                            <span>兑换码:</span>
                                         </div>
                                         <div class="box_flex f_content">
-                                            <div id="coupons"></div>
+                                            <span id="code"></span>
                                         </div>
                                     </div>
                                 </li>
                                 <li class="f_item">
                                     <div class="box">
                                         <div class="f_label">
-                                            <span>描述:</span>
+                                            <span>领取的代金券:</span>
                                         </div>
                                         <div class="box_flex f_content">
-                                            <textarea id="desc" name="desc" readOnly="true" ></textarea>
+                                            <div id="coupons"></div>
                                         </div>
                                     </div>
                                 </li>
                                 <li class="f_item">
                                     <div class="box">
                                         <div class="f_label">
-                                            <span>code:</span>
+                                            <span>描述:</span>
                                         </div>
                                         <div class="box_flex f_content">
-                                            <input id="code" name="code" readOnly="true" />
+                                           <span id="desc"></span>
                                         </div>
                                     </div>
                                 </li>
+
                                 <li class="f_item">
                                     <div class="box">
                                         <div class="f_label">
@@ -142,7 +143,7 @@ $(function(){
         }
     });
 
-    jq_filter_status.combobox('setValue', 1);
+    jq_filter_status.combobox('setValue', 100);
 
     jq_dg_content.datagrid({
         url: module_router + '/list',
@@ -163,18 +164,29 @@ $(function(){
         idField: 'id',
         sortName: '_id',
         sortOrder: 'desc',
-        queryParams: $.extend(get_param_obj(),{status : 1}),
+        queryParams: $.extend(get_param_obj(),{status : 100}),
         frozenColumns:[[
             {field:'ck',checkbox:true}
         ]],
         columns:[[
-            {field:'id', title:'id', width:140},
             {field:'code', title:'兑换码', width:140},
-            {field:'user', title:'使用者', width:140,formatter: function(value, row){
+            {field:'user', title:'使用者', width:70,formatter: function(value, row){
                 return row['user'].user_name;
             }},
-            {field:'use_time_str', title:'使用时间', width:140},
-            {field:'stop_time_str', title:'结束时间', width:140},
+            {field:'use_time', title:'使用时间', width:140,formatter: function(value, row){
+                if (value) {
+                    return new Date(parseInt(value) * 1000).toLocaleString().substr(0, 10);
+                } else {
+                    return "";
+                }
+            }},
+            {field:'stop_time', title:'结束时间', width:140,formatter: function(value, row){
+                if (value) {
+                    return new Date(parseInt(value) * 1000).toLocaleString().substr(0, 10);
+                } else {
+                    return "";
+                }
+            }},
 
             {field:'status', title:'状态', width:80, sortable: true,
                 formatter: function(value, row){
@@ -187,7 +199,8 @@ $(function(){
             jq_content_form.form('load', data);
             var output = '';
             for(var i in data.coupons){
-                output += data.coupons[i].name+'<br/>';
+                output += '<a href="javascript:;" onclick="parent.load_url(\'<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=coupon&id='+data.coupons[i].id+'\')">'+data.coupons[i].name+'</a><br/>';
+
             }
             $('#coupons').html(output);
             if (data['action_user'] != ''){
@@ -195,14 +208,9 @@ $(function(){
             } else {
                 jq_action_info.html('');
             }
+            $('#code').html(data.code);
+            $('#desc').html(data.desc);
             $('#id_str').html(data.id);
-        },
-        onLoadSuccess: function(){
-            $(this).datagrid('clearChecked');
-            jq_content_form.form('clear');
-            $('#editType').combobox('setValue', 100);
-            jq_setStatus.combobox('setValue', 100);
-            jq_action_info.html('');
         }
     });