Browse Source

chengx

master
jianglong 3 years ago
parent
commit
b54c0d1b21
  1. 1
      application/admin/controller/Client.php
  2. 43
      application/task/controller/Task.php

1
application/admin/controller/Client.php

@ -1051,7 +1051,6 @@ class Client extends Common{
$out_point_log['take_id'] = $result;
$out_point_log['change'] = $in_point;
$out_point_log['type'] = 0;
$out_point_log['aid'] = $data['aid'];
$out_point_log['in_point'] = $admin_point['in_point'];
$out_point_log['active_id'] = $data['active_id'];
$out_point_log['active_name'] = $activeInfo['name'];

43
application/task/controller/Task.php

@ -4,6 +4,49 @@ use think\Db;
use think\facade\Env;
use think\Controller;
class Task extends Controller{
// 定时任务 每日过期积分
public function outUserPoint(){
$now = time();
//获取所有的用户所有已到期的有剩余积分的数据 求和
$admin_out_points = Db::table('admin_point_log')->field("SUM(use_point) AS user_point, aid")->where(['type'=>0,'status'=>0])->where('use_point','>',0)->where('out_time','<',$now)->group('aid')->select();
foreach ($admin_out_points as $admin_out_point){
//用户的总积分不变 有效积分扣除
$admin_point = Db::table('admin_point') ->where(['aid' => $admin_out_point['aid']])->find();
$update = [
"use_point"=>0,
"status"=>1,
];
if(!$admin_point){
Db::table('admin_point_log')->where("aid",$admin_out_point['aid'])->where(['type'=>0,'status'=>0])->where('use_point','>',0)->where('out_time','<',$now)->update($update);
continue;
}
$out_point = $admin_point['in_point']>=$admin_out_point['use_point']?$admin_out_point['use_point']:$admin_point['in_point'];
Db::table('admin_point') ->where(['aid' => $admin_out_point['aid']])->setDec('in_point',$out_point); //有效积分扣除
Db::table('admin_point') ->where(['aid' => $admin_out_point['aid']])->setInc('out_point',$out_point); //过期积分增加
//历史记录可用积分清0
Db::table('admin_point_log')->where("aid",$admin_out_point['aid'])->where(['type'=>0,'status'=>0])->where('use_point','>',0)->where('out_time','<',$now)->update($update);
//生成过期记录
$out_point_log = [];
$out_point_log['aid'] = $admin_out_point['aid'];
$out_point_log['take_id'] = 0;
$out_point_log['change'] = -$out_point;
$out_point_log['type'] = 2;
$out_point_log['in_point'] = $admin_point['in_point'];
$out_point_log['active_id'] = 0;
$out_point_log['active_name'] = "";
$out_point_log['money'] = 0;
$out_point_log['point'] = 0;
$out_point_log['remark'] = date("Y年m月d日")."到期积分";
$out_point_log['out_time'] = 0;
$out_point_log['add_time'] = time();
Db::table('admin_point_log')->insert($out_point_log);
}
}
// 定时任务 每日监测
public function autotask(){
$daynum = date('d');

Loading…
Cancel
Save