|
@@ -166,67 +166,6 @@ class Api
|
|
|
];
|
|
|
|
|
|
Db::name('user_log')->insert($user_log);
|
|
|
-
|
|
|
- //检查会员等级, 发送成长值
|
|
|
- if ($this->auth->id) {
|
|
|
- //查询今日是否登录赠送过成长值
|
|
|
- $time = strtotime(date('Y-m-d', time()));
|
|
|
- $logingrowth = config('site.logingrowth') ? (int)config('site.logingrowth') : 0;//登录成长值
|
|
|
- if ($logingrowth) {
|
|
|
- $growth_log = Db::name('user_growth_log')->where(['user_id' => $this->auth->id, 'type' => 1])->order('id', 'desc')->find();
|
|
|
- if (!$growth_log || ($growth_log['after'] == $this->auth->growthvalue && $growth_log['createtime'] < $time)) {
|
|
|
- $growth_data['user_id'] = $this->auth->id;
|
|
|
- $growth_data['growth'] = $logingrowth;
|
|
|
- $growth_data['before'] = $this->auth->growthvalue;
|
|
|
- $growth_data['after'] = $this->auth->growthvalue + $logingrowth;
|
|
|
- $growth_data['memo'] = '登录';
|
|
|
- $growth_data['createtime'] = time();
|
|
|
-
|
|
|
- Db::startTrans();
|
|
|
- $rt = Db::name('user_growth_log')->insertGetId($growth_data);
|
|
|
- $rs = Db::name('user')->where(['id' => $this->auth->id, 'growthvalue' => $this->auth->growthvalue])->setField('growthvalue', $growth_data['after']);
|
|
|
- if ($rt && $rs) {
|
|
|
- Db::commit();
|
|
|
- } else {
|
|
|
- Db::rollback();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //检查更新会员等级
|
|
|
- $growthvalue = Db::name('user')->where(['id' => $this->auth->id])->value('growthvalue');
|
|
|
- $vip_info = Db::name('vip')->where(['growthvalue' => ['elt', $growthvalue]])->order('id', 'desc')->find();
|
|
|
- $user_data = [];
|
|
|
- if ($vip_info['id'] != $this->auth->growthlevel) {
|
|
|
- $user_data['growthlevel'] = $vip_info['id'];
|
|
|
- //当前会员信息
|
|
|
- $last_vip_info = Db::name('vip')->find($this->auth->growthlevel);
|
|
|
- $freenumber = $this->auth->freenumber + $vip_info['free'] - $last_vip_info['free'];
|
|
|
- $user_data['freenumber'] = $freenumber > 0 ? $freenumber : 0;//免费次数
|
|
|
- }
|
|
|
- //检查体验会员
|
|
|
- if ($this->auth->experiencetime < time()) {
|
|
|
- //体验会员到期
|
|
|
- if ($vip_info['id'] != $this->auth->growthlevel) { //成长值会员等级更新
|
|
|
- $user_data['maxlevel'] = $vip_info['id'];
|
|
|
- } elseif ($this->auth->maxlevel != $this->auth->growthlevel) {
|
|
|
- $user_data['maxlevel'] = $this->auth->growthlevel;
|
|
|
- }
|
|
|
- } else {
|
|
|
- //体验会员没到期
|
|
|
- if ($vip_info['id'] > $this->auth->maxlevel) {
|
|
|
- $user_data['maxlevel'] = $vip_info['id'];
|
|
|
- }
|
|
|
- }
|
|
|
- if ($user_data) {
|
|
|
- Db::startTrans();
|
|
|
- $res = Db::name('user')->where(['id' => $this->auth->id])->setField($user_data);
|
|
|
- if (!$res) {
|
|
|
- Db::rollback();
|
|
|
- } else {
|
|
|
- Db::commit();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -407,4 +346,75 @@ class Api
|
|
|
//刷新Token
|
|
|
$this->request->token();
|
|
|
}
|
|
|
+
|
|
|
+ /*检查今日是否登录赠送过成长值*/
|
|
|
+ protected function checklogingrowth($id = 0) {
|
|
|
+ if ($id) {
|
|
|
+ $user_info = Db::name('user')->find($id);
|
|
|
+ //查询今日是否登录赠送过成长值
|
|
|
+ $time = strtotime(date('Y-m-d', time()));
|
|
|
+ $logingrowth = config('site.logingrowth') ? (int)config('site.logingrowth') : 0;//登录成长值
|
|
|
+ if ($logingrowth) {
|
|
|
+ $growth_log = Db::name('user_growth_log')->where(['user_id' => $user_info['id'], 'type' => 1])->order('id', 'desc')->find();
|
|
|
+ if (!$growth_log || ($growth_log['after'] == $user_info['growthvalue'] && $growth_log['createtime'] < $time)) {
|
|
|
+ $growth_data['user_id'] = $user_info['id'];
|
|
|
+ $growth_data['growth'] = $logingrowth;
|
|
|
+ $growth_data['before'] = $user_info['growthvalue'];
|
|
|
+ $growth_data['after'] = $user_info['growthvalue'] + $logingrowth;
|
|
|
+ $growth_data['memo'] = '登录';
|
|
|
+ $growth_data['createtime'] = time();
|
|
|
+
|
|
|
+ Db::startTrans();
|
|
|
+ $rt = Db::name('user_growth_log')->insertGetId($growth_data);
|
|
|
+ $rs = Db::name('user')->where(['id' => $user_info['id'], 'growthvalue' => $user_info['growthvalue']])->setField('growthvalue', $growth_data['after']);
|
|
|
+ if ($rt && $rs) {
|
|
|
+ Db::commit();
|
|
|
+ } else {
|
|
|
+ Db::rollback();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*检查会员等级*/
|
|
|
+ protected function checkviplevel($id = 0) {
|
|
|
+ if ($id) {
|
|
|
+ $user_info = Db::name('user')->find($id);
|
|
|
+ //检查更新会员等级
|
|
|
+ $growthvalue = $user_info['growthvalue'];
|
|
|
+ $vip_info = Db::name('vip')->where(['growthvalue' => ['elt', $growthvalue]])->order('id', 'desc')->find();
|
|
|
+ $user_data = [];
|
|
|
+ if ($vip_info['id'] != $user_info['growthlevel']) {
|
|
|
+ $user_data['growthlevel'] = $vip_info['id'];
|
|
|
+ //当前会员信息
|
|
|
+ $last_vip_info = Db::name('vip')->find($user_info['growthlevel']);
|
|
|
+ $freenumber = $user_info['freenumber'] + $vip_info['free'] - $last_vip_info['free'];
|
|
|
+ $user_data['freenumber'] = $freenumber > 0 ? $freenumber : 0;//免费次数
|
|
|
+ }
|
|
|
+ //检查体验会员
|
|
|
+ if ($user_info['experiencetime'] < time()) {
|
|
|
+ //体验会员到期
|
|
|
+ if ($vip_info['id'] != $user_info['growthlevel']) { //成长值会员等级更新
|
|
|
+ $user_data['maxlevel'] = $vip_info['id'];
|
|
|
+ } elseif ($user_info['maxlevel'] != $user_info['growthlevel']) {
|
|
|
+ $user_data['maxlevel'] = $user_info['growthlevel'];
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //体验会员没到期
|
|
|
+ if ($vip_info['id'] > $user_info['maxlevel']) {
|
|
|
+ $user_data['maxlevel'] = $vip_info['id'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($user_data) {
|
|
|
+ Db::startTrans();
|
|
|
+ $res = Db::name('user')->where(['id' => $user_info['id']])->setField($user_data);
|
|
|
+ if (!$res) {
|
|
|
+ Db::rollback();
|
|
|
+ } else {
|
|
|
+ Db::commit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|