Commit c4ada4ac authored by zhuwei's avatar zhuwei

对活动列表筛查,设置过期领完

parent f05282c7
<?php
namespace app\model;
use think\Db;
use think\Model;
class CActivity extends Model
{
// 设置当前模型对应的完整数据表名称
protected $table = 'c_activity';
public function addActivity($data) {
$time = date("Y-m-d H:i:s", time());
$data['create_time'] = $time;
$data['update_time'] = $time;
return $this->insert($data);
}
public function getActivity()
{
$field = 'id,activity_start_time,activity_end_time,available,get_number';
$params['status'] = 0;
$result = Db::table($this->table)
->field($field)
->where($params)
->select();
//dump($this->getLastSql());
return $result;
}
/**
* 更新数据
*/
public function updateStatus($activity_id,$status)
{
$result = $this->where(['id'=>$activity_id])->update(['status'=>$status]);
// big_log($this->getLastSql());
return $result;
}
}
......@@ -583,6 +583,9 @@ Route::group('task', [
'moveFollowUpList' => ['task/FollowUpTask/moveFollowUpList', ['method' => 'get']],
'frostAgent' => ['task/FrostAgentTask/frostAgent', ['method' => 'get']],
'updateActivityStatus' => ['task/UpdateActivityTask/updateActivityStatus', ['method' => 'get']],
]);
Route::group('broker', [
......
<?php
namespace app\task\controller;
use app\model\CActivity;
/**
* Class UpdateShopStatusTask
* @package app\task\controller
*/
class UpdateActivityTask
{
private $m_active;
function __construct()
{
$this->m_active = new CActivity();
}
/**
* 对活动列表筛查,设置过期领完
*/
public function updateActivityStatus()
{
//新增数据
// $insert["title"] = '测试活动';//活动名称
// $insert["return_type"] = 0;//奖励类型,0返现红包 1现金
// $insert["money"] = 500;//奖励金额
// $insert["return_action"] = 0;//奖励动作 0首次登陆 1邀请登陆 2邀请成交
// $insert["activity_start_time"] = '2019-03-08 15:36:35';//活动开始时间
// $insert["activity_end_time"] = '2019-04-08 15:36:40';//活动结束时间
// $insert["use_period"] = 30;//使用有效期针对返现红包 天数 -1代表不限时间
// $insert["total"] = 1000;//可发放总数 -1表示不限
// $insert["available"] = 1000;//用户可领数 -1表示不限
// $insert["get_number"] = 500;//已领取数量
// $insert["activity_rule"] = '测试活动规则';//活动规则
// $insert["status"] = 0;//状态 0正常 1手动停止 2数量为空 3时间过期 4删除 5未开始
//
// $res = $this->m_active->addActivity($insert);//int(1)
$active_list = $this->m_active->getActivity();
if(!$active_list){
exit;
}
foreach ($active_list as $k => $v) {
if(!$v['activity_start_time'] or !$v['activity_end_time'] or !is_numeric($v['available']) or !is_numeric($v['get_number'])){
continue;
}
if( $v['activity_start_time'] > date("Y-m-d H:i:s", time())){
//开始时间大于当时前时间
// dump('开始时间大于当时前时间');exit;
$res = $this->m_active->updateStatus($v['id'],5);
// dump($res);exit;
if($res){
continue;
}
}
if( $v['activity_end_time'] < date("Y-m-d H:i:s", time())){
//结束时间小于当时前时间
// dump('结束时间小于当时前时间');exit;
$res = $this->m_active->updateStatus($v['id'],3);
if($res){
continue;
}
}
if( ($v['get_number'] >= $v['available']) && ($v['available'] > 0) ){
//已领取数量大于可领数
// dump('已领取数量大于可领数');exit;
$res = $this->m_active->updateStatus($v['id'],2);
if($res){
continue;
}
}
}
exit;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment