作者 何书鹏

注册送优惠券

... ... @@ -8,5 +8,10 @@ return [
'Send_number' => '每次发放数量',
'Days' => '领取后过期天数',
'Createtime' => '创建时间',
'Endtime' => '有效日期'
'Endtime' => '有效日期',
'Register_send_switch' => '注册送优惠券开关',
'Register_send_switch 0' => '关',
'Register_send_switch 1' => '开',
'Register_send_starttime' => '注册送优惠券开始时间',
'Register_send_endtime' => '注册送优惠券结束时间',
];
... ...
... ... @@ -25,7 +25,8 @@ class Coupon extends Model
// 追加属性
protected $append = [
'endtime_text'
'endtime_text',
'register_send_switch_text'
];
... ... @@ -44,5 +45,25 @@ class Coupon extends Model
return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
}
public function getRegisterSendSwitchList()
{
return ['0' => __('Register_send_switch 0'), '1' => __('Register_send_switch 1')];
}
public function getRegisterSendSwitchTextAttr($value, $data)
{
$value = $value ? $value : (isset($data['register_send_switch']) ? $data['register_send_switch'] : '');
$list = $this->getRegisterSendSwitchList();
return isset($list[$value]) ? $list[$value] : '';
}
protected function setRegisterSendStarttimeAttr($value)
{
return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
}
protected function setRegisterSendEndtimeAttr($value)
{
return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
}
}
... ...
... ... @@ -42,6 +42,27 @@
<input id="c-endtime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[endtime]" type="text" value="{:$row.endtime?datetime($row.endtime):''}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Register_send_switch')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-register_send_switch" name="row[register_send_switch]" type="hidden" value="0">
<a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-register_send_switch" data-yes="1" data-no="0" >
<i class="fa fa-toggle-on text-success {eq name="$row.register_send_switch" value="0"}fa-flip-horizontal text-gray{/eq} fa-2x"></i>
</a>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Register_send_starttime')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-register_send_starttime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[register_send_starttime]" type="text" value="{:$row.register_send_starttime?datetime($row.register_send_starttime):''}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Register_send_endtime')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-register_send_endtime" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[register_send_endtime]" type="text" value="{:$row.register_send_endtime?datetime($row.register_send_endtime):''}">
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
... ...
... ... @@ -126,6 +126,19 @@ class User extends Api
}
if ($userid){
$third->isUpdate(false)->save(['openid'=>$wxapi['openid'],'user_id'=>$userid,'session_key'=>$wxapi['session_key']]);
// 注册送优惠券
$coupon = Db::name('coupon')->find();
$time = time();
if($coupon['register_send_switch'] == '1' && $time >= $coupon['register_send_starttime'] && $time <= $coupon['register_send_endtime']){
UserCoupon::create([
'user_id' => $userid,
'coupon_id' => $coupon['id'],
'name' => $coupon['name'],
'price' => $coupon['price'],
'full_price' => $coupon['full_price'],
'endtime' => $time+$coupon['days']*86400
]);
}
$this->success('登录成功',['token'=>$this->auth->getToken(),'user_type'=>$this->auth->user_type]);
}else{
$this->error('注册失败');
... ...
... ... @@ -37,6 +37,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'days', title: __('Days')},
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'endtime', title: __('Endtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'register_send_switch', title: __('Register_send_switch'), searchList: {"0":__('Register_send_switch 0'),"1":__('Register_send_switch 1')}, formatter: Table.api.formatter.toggle},
{field: 'register_send_starttime', title: __('Register_send_starttime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'register_send_endtime', title: __('Register_send_endtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
buttons: [
{
... ...