Commit 4b3268f0 authored by luhongguang's avatar luhongguang

update: 脚本调整

parent 43cf263b
...@@ -19,56 +19,65 @@ class ColonelorderController extends Cli ...@@ -19,56 +19,65 @@ class ColonelorderController extends Cli
{ {
public function indexAction() public function indexAction()
{ {
$userIds = $this->getColonelUserIds(); $userIdList = $this->getColonelUserIds();
ColonelDistributorPayInfo::beginTransaction(); ColonelDistributorPayInfo::beginTransaction();
if (!empty($userIds)) { if (!empty($userIdList)) {
$today = date("Y-m-d"); $userIdCount = count($userIdList);
$yesterday = date("Y-m-d", strtotime("-1 day"));
$startTime = $yesterday . " 16:00:00";
$endTime = $today . " 10:00:00";
$colonelConfig = $this->getColonelConfig($yesterday);
//每次100个用户
$length = 1;
$start = (int)ceil($userIdCount / $length);
$insertData = []; $insertData = [];
if (!empty($colonelConfig["data"])) { for ($i = 0; $i < $start;) {
$configList = json_decode($colonelConfig["data"], true); $userIds = array_slice($userIdList, $i, $length);
//完成目标单数 $today = date("Y-m-d");
$inviteOrderNumList = $this->getInviteOrderNum($userIds, $yesterday, $today); $yesterday = date("Y-m-d", strtotime("-1 day"));
foreach ($inviteOrderNumList as $orderNum) {
foreach ($configList as $config) { $startTime = $yesterday . " 16:00:00";
if (!empty($orderNum["num"]) && $orderNum["num"] >= $config["assess_order_num"]) { $endTime = $today . " 10:00:00";
$colonelConfig = $this->getColonelConfig($yesterday);
if (!empty($colonelConfig["data"])) {
$configList = json_decode($colonelConfig["data"], true);
//完成目标单数
$inviteOrderNumList = $this->getInviteOrderNum($userIds, $yesterday, $today);
foreach ($inviteOrderNumList as $orderNum) {
foreach ($configList as $config) {
if (!empty($orderNum["num"]) && $orderNum["num"] >= $config["assess_order_num"]) {
$payInfo = [
"colonel_user_id" => $orderNum["colonel_user_id"],
"date" => $yesterday,
"type" => ColonelDistributorPayInfo::TYPE_FINISH_TARGET,
"reward" => $config["reward_amount"] * 100,
"finish_num" => $config["assess_order_num"],
"invite_user_id" => 0,
"invite_user_nick" => "",
];
$insertData[] = $payInfo;
}
}
}
//新用户奖励
$inviteNewUserList = $this->getInviteNewUserList($userIds, $today);
if (!empty($inviteNewUserList)) {
$colonelUserIds = array_column($inviteNewUserList, "user_id");
$userNickList = $this->getUserList($colonelUserIds);
foreach ($inviteNewUserList as $newUser) {
$payInfo = [ $payInfo = [
"colonel_user_id" => $orderNum["colonel_user_id"], "colonel_user_id" => $newUser["inviter_user_id"],
"date" => $yesterday, "date" => $yesterday,
"type" => ColonelDistributorPayInfo::TYPE_FINISH_TARGET, "type" => ColonelDistributorPayInfo::TYPE_NEW_USER,
"reward" => $config["reward_amount"] * 100, "reward" => 5 * 100,
"finish_num" => $config["assess_order_num"], "finish_num" => 1,
"invite_user_id" => 0, "invite_user_id" => $newUser["user_id"],
"invite_user_nick" => "", "invite_user_nick" => empty($userNickList[$newUser["user_id"]]["user_nick"]) ? "" : $userNickList[$newUser["user_id"]]["user_nick"],
]; ];
$insertData[] = $payInfo; $insertData[] = $payInfo;
} }
} }
} }
//新用户奖励
$inviteNewUserList = $this->getInviteNewUserList($userIds, $today); $i = $i + $length;
$colonelUserIds = array_column($inviteNewUserList, "user_id");
$userNickList = $this->getUserList($colonelUserIds);
if (!empty($inviteNewUserList)) {
foreach ($inviteNewUserList as $newUser) {
$payInfo = [
"colonel_user_id" => $newUser["inviter_user_id"],
"date" => $yesterday,
"type" => ColonelDistributorPayInfo::TYPE_NEW_USER,
"reward" => 5 * 100,
"finish_num" => 1,
"invite_user_id" => $newUser["user_id"],
"invite_user_nick" => empty($userNickList[$newUser["user_id"]]["user_nick"]) ? "" : $userNickList[$newUser["user_id"]]["user_nick"],
];
$insertData[] = $payInfo;
}
}
} }
if (!empty($insertData)) { if (!empty($insertData)) {
...@@ -111,7 +120,7 @@ class ColonelorderController extends Cli ...@@ -111,7 +120,7 @@ class ColonelorderController extends Cli
*/ */
public function getColonelUserIds() public function getColonelUserIds()
{ {
$colonelRes = ColonelDistributorColonel::select(["user_id"]); $colonelRes = ColonelDistributorColonel::select(["user_id"], ["LIMIT" => 10000000]);
$userIds = []; $userIds = [];
if (!empty($colonelRes)) { if (!empty($colonelRes)) {
$userIds = array_column($colonelRes, "user_id"); $userIds = array_column($colonelRes, "user_id");
......
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