|
|
|
@ -26,6 +26,8 @@ use Home\Model\PromoteModel;
|
|
|
|
|
use Base\Service\PromoteService;
|
|
|
|
|
use Base\Service\ApplyService;
|
|
|
|
|
|
|
|
|
|
use Org\RedisSDK\Redis;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 前台首页控制器
|
|
|
|
|
* 主要获取首页聚合数据
|
|
|
|
@ -222,14 +224,22 @@ class PromoteController extends BaseController
|
|
|
|
|
$this->assign("rules", $rules);
|
|
|
|
|
$this->assign("rules_count", count($rules));
|
|
|
|
|
|
|
|
|
|
$currentTime = strtotime(date('Y-m-d'));
|
|
|
|
|
$weekArray = [7,1,2,3,4,5,6];
|
|
|
|
|
$week = $weekArray[date("w")];
|
|
|
|
|
$match_rules = M("document_pop_rules")
|
|
|
|
|
->field('id')
|
|
|
|
|
->where("(type = 1 and pop_time = {$currentTime}) or (type = 2 and pop_time = {$week})")
|
|
|
|
|
->order("sort asc, id desc")
|
|
|
|
|
->select();
|
|
|
|
|
$redis = new \Org\RedisSDK\Redis(['host'=>'127.0.0.1','port'=>6379],[]);
|
|
|
|
|
$cacheKey = "pop:rule:set";
|
|
|
|
|
if (!$redis->sIsMember($cacheKey, get_pid())) {
|
|
|
|
|
$currentTime = strtotime(date('Y-m-d'));
|
|
|
|
|
$weekArray = [7,1,2,3,4,5,6];
|
|
|
|
|
$week = $weekArray[date("w")];
|
|
|
|
|
$match_rules = M("document_pop_rules")
|
|
|
|
|
->field('id')
|
|
|
|
|
->where("(type = 1 and pop_time = {$currentTime}) or (type = 2 and pop_time = {$week})")
|
|
|
|
|
->order("sort asc, id desc")
|
|
|
|
|
->select();
|
|
|
|
|
} else {
|
|
|
|
|
$match_rules = [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$this->assign("match_rules_id", $match_rules ? json_encode(array_column($match_rules, 'id')) : 'null');
|
|
|
|
|
|
|
|
|
|
$this->assign("user_count", $user_count);
|
|
|
|
@ -280,6 +290,19 @@ class PromoteController extends BaseController
|
|
|
|
|
$this->display('pop_rule_detail');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function popRuleFinish()
|
|
|
|
|
{
|
|
|
|
|
$redis = new \Org\RedisSDK\Redis(['host'=>'127.0.0.1','port'=>6379],[]);
|
|
|
|
|
$cacheKey = "pop:rule:set";
|
|
|
|
|
if ($redis->exists($cacheKey)) {
|
|
|
|
|
$redis->sadd($cacheKey, get_pid());
|
|
|
|
|
} else {
|
|
|
|
|
$redis->sadd($cacheKey, get_pid());
|
|
|
|
|
$redis->exprieAt($cacheKey, strtotime(date('Y-m-d')) + 86400);
|
|
|
|
|
}
|
|
|
|
|
return $this->success("成功", [], true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private function caculateSpend($pay_time, $condition, $create = [], $type = 0)
|
|
|
|
|
{
|
|
|
|
|
$map['promote_id'] = array('egt', 0);
|
|
|
|
|