12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- /**
- * 生成兑换码脚本
- * @author >
- * @param coupon_ids一个兑换码所能兑换的优惠券数组
- * @param channel 发放渠道,某一批次优惠券唯一标识
- * @param desc 某一批次优惠券的描述
- * @param count 要生成的数量
- * @return 生成的兑换码保存在/download/文件夹下,可通过外网提取,保存到本地后要及时删除
- */
- class CouponFactoryCommand extends CConsoleCommand{
- public function run($args) {
- ini_set('memory_limit', '256M');
- set_time_limit(0);
-
- $count = 3;//生成数量
- $channel = '20161011-test';
- $desc = '测试用';
- $date = date('Ymd');
- $i = 0;
- $coupons = array();
- $coupon_ids[] = '57fb18dda84ea03a0a8b458d';
- $coupon_ids[] = '57df714b9f5160c1048b456a';
- // $coupon_ids[] = '561cbd7b0eb9fbaa628b4a80';
- // $coupon_ids[] = '561cbdc70eb9fb60638b4a93';
- foreach ($coupon_ids as $value) {
- $coupon_id = new MongoId($value);
- $coupons[] = $coupon_id;
- }
- for (;$i<$count;) {
- $model = new CouponCode();
- $model->coupons = $coupons;
- $model->channel = $channel;
- $model->desc = $desc;
- $model->code = $model->code + $i*1024;
- $criteria = new EMongoCriteria();
- $criteria->code('==', $model->code);
- $exits = CouponCode::model()->count($criteria);
- if($exits>0){
- continue;
- }
- $model->stop_time = time() + 86400*30;
- $model->save();
- $i++;
- file_put_contents(APP_PATH.'/download/'.$date.'_coupon_code.html',$model->code."\r\n",FILE_APPEND);
- echo $i."\n";
- }
- }
- }
|