Commit ae3ee325 authored by luhongguang's avatar luhongguang

update: 团长分销,数据统计

parent f24583d3
<?php
namespace Validate;
class ColonelCenterValidate extends BaseValidate
{
protected $rule = [
'user_id' => 'require',
];
protected $message = [
'user_id' => 'user_id 参数不能为空',
];
}
\ No newline at end of file
...@@ -6,9 +6,9 @@ use Api\PhpUtils\Mysql\MysqlBase; ...@@ -6,9 +6,9 @@ use Api\PhpUtils\Mysql\MysqlBase;
class ColonelDistributorPayInfo extends MysqlBase class ColonelDistributorPayInfo extends MysqlBase
{ {
const TABLE_NAME = 'pindan_activity_pay_info'; const TABLE_NAME = 'colonel_distributor_pay_info';
const CONFIG_INDEX = 'marketing'; const CONFIG_INDEX = 'marketing';
const PRIMARY_KEY = 'pindan_activity_pay_info_id'; const PRIMARY_KEY = 'colonel_distributor_pay_info_id';
public static function getRecord($where, $columns = [], $options = []) public static function getRecord($where, $columns = [], $options = [])
{ {
......
...@@ -10,9 +10,11 @@ use App\Services\marketing\ColonelService; ...@@ -10,9 +10,11 @@ use App\Services\marketing\ColonelService;
use \Validate\ColonelApplyValidate; use \Validate\ColonelApplyValidate;
use \Validate\ColonelConfigValidate; use \Validate\ColonelConfigValidate;
use \Validate\ColonelAuditValidate; use \Validate\ColonelAuditValidate;
use \Validate\ColonelCenterValidate;
use \Validate\ColonelAddPoint; use \Validate\ColonelAddPoint;
use \App\Services\marketing\PindanActivityColonelConfigService; use \App\Services\marketing\PindanActivityColonelConfigService;
use \App\Services\marketing\PindanActivityInviteOrderService; use \App\Services\marketing\PindanActivityInviteOrderService;
use \App\Services\user\UserService;
class ColonelController extends Base class ColonelController extends Base
{ {
...@@ -26,7 +28,7 @@ class ColonelController extends Base ...@@ -26,7 +28,7 @@ class ColonelController extends Base
*/ */
public function applyAction() public function applyAction()
{ {
$params = $this->params; $params = $this->params;
(new ColonelApplyValidate())->validate(); (new ColonelApplyValidate())->validate();
$applyId = ColonelService::apply($params); $applyId = ColonelService::apply($params);
return $this->success(['result' => ['applyId' => $applyId]]); return $this->success(['result' => ['applyId' => $applyId]]);
...@@ -56,7 +58,7 @@ class ColonelController extends Base ...@@ -56,7 +58,7 @@ class ColonelController extends Base
$params = $this->params; $params = $this->params;
$data = PindanActivityColonelConfigService::colonelConfig($params); $data = PindanActivityColonelConfigService::colonelConfig($params);
return $this->success(["result"=>$data]); return $this->success(["result" => $data]);
} }
/** /**
...@@ -66,7 +68,7 @@ class ColonelController extends Base ...@@ -66,7 +68,7 @@ class ColonelController extends Base
*/ */
public function manage_colonel_apply_listAction() public function manage_colonel_apply_listAction()
{ {
$params = $this->params; $params = $this->params;
$manageList = ColonelService::getManageApplyList($params); $manageList = ColonelService::getManageApplyList($params);
return $this->success($manageList); return $this->success($manageList);
} }
...@@ -78,7 +80,7 @@ class ColonelController extends Base ...@@ -78,7 +80,7 @@ class ColonelController extends Base
*/ */
public function manage_colonel_listAction() public function manage_colonel_listAction()
{ {
$params = $this->params; $params = $this->params;
$manageList = ColonelService::getManageList($params); $manageList = ColonelService::getManageList($params);
return $this->success($manageList); return $this->success($manageList);
} }
...@@ -131,7 +133,7 @@ class ColonelController extends Base ...@@ -131,7 +133,7 @@ class ColonelController extends Base
{ {
$params = $this->params; $params = $this->params;
$data = PindanActivityInviteOrderService::placeOrder($params); $data = PindanActivityInviteOrderService::placeOrder($params);
return $this->success(["result"=>$data]); return $this->success(["result" => $data]);
} }
/** /**
...@@ -142,17 +144,44 @@ class ColonelController extends Base ...@@ -142,17 +144,44 @@ class ColonelController extends Base
{ {
$params = $this->params; $params = $this->params;
$data = PindanActivityInviteOrderService::refundOrder($params); $data = PindanActivityInviteOrderService::refundOrder($params);
return $this->success(["result"=>$data]); return $this->success(["result" => $data]);
} }
/** /**
* 团长分销任务中心 * 团长分销任务中心
* @throws Exception * @throws Exception
*/ */
public function task_controlAction() public function task_controlAction()
{ {
$params = $this->params; $params = $this->params;
$data = PindanActivityColonelConfigService::getTaskData($params); $data = PindanActivityColonelConfigService::getTaskData($params);
return $this->success(["result"=>$data]); return $this->success(["result" => $data]);
}
/**
* 团长分销,数据统计
* @throws Exception
*/
public function colonel_indexAction()
{
(new ColonelCenterValidate())->validate();
$params = $this->params;
$userId = $params["user_id"];
$wechatInfo = UserService::userWechatBind(["user_id" => $userId]);
$user = [];
if (!empty($wechatInfo)) {
$user = [
"user_id" => $wechatInfo[0]["user_id"],
"user_nick" => $wechatInfo[0]["user_nick"],
"user_avatar" => $wechatInfo[0]["user_avatar"]
];
}
$incomeData = PindanActivityInviteOrderService::incomeStatistics(["user_ids" => [$userId]]);
$orderNumData = PindanActivityInviteOrderService::inviteOrderNumberStatistics(["user_ids" => [$userId]]);
return $this->success(["result" => [
"income" => $incomeData[$userId],
"order_num" => $orderNumData[$userId],
"user" => $user]]);
} }
} }
...@@ -93,30 +93,75 @@ class PindanActivityInviteOrderService ...@@ -93,30 +93,75 @@ class PindanActivityInviteOrderService
return true; return true;
} }
/**
* 团长分销,昨日收入,总收入
* @param array $params
* @return array
*/
public static function incomeStatistics($params = []) public static function incomeStatistics($params = [])
{ {
$userId = $params["user_id"]; $userIds = $params["user_ids"];
$yesterday = date("Y-m-d H:i:s", strtotime("-1 day")); $yesterday = date("Y-m-d", strtotime("-1 day"));
$yesterdayRewards = ColonelDistributorPayInfo::select(["reward"], ["date" => $yesterday, "colonel_user_id" => $userId], []); $yesterdayRewards = ColonelDistributorPayInfo::select(["colonel_user_id", "reward"], ["date" => $yesterday, "colonel_user_id" => $userIds], []);
$allRewards = ColonelDistributorPayInfo::select(["reward"], ["colonel_user_id" => $userId], []); $yesterdayData = [];
if (!empty($yesterdayRewards)) {
foreach ($yesterdayRewards as $item) {
$yesterdayData[$item["colonel_user_id"]][] = $item["reward"];
}
}
$yesterdayRewards = array_column($yesterdayRewards, "reward"); $allRewards = ColonelDistributorPayInfo::select(["colonel_user_id", "reward"], ["colonel_user_id" => $userIds], []);
$yesterdayReward = array_sum($yesterdayRewards); $allData = [];
if (!empty($allRewards)) {
foreach ($allRewards as $item) {
$allData[$item["colonel_user_id"]][] = $item["reward"];
}
}
$allRewards = array_column($allRewards, "reward"); $data = [];
$allReward = array_sum($allRewards); foreach ($userIds as $userId) {
$data[$userId]["yesterday_reward"] = 0;
$data[$userId]["all_reward"] = 0;
if (!empty($yesterdayData[$userId])) {
$data[$userId]["yesterday_reward"] = sprintf("%.2f", array_sum($yesterdayData[$userId]) / 100);
}
if (!empty($allData[$userId])) {
$data[$userId]["all_reward"] = sprintf("%.2f", array_sum($allData[$userId]) / 100);
}
}
return ["yesterday_reward" => $yesterdayReward, "all_reward" => $allReward]; return $data;
} }
/**
* 团长分销,昨日转化单数,总转化单数
* @param array $params
* @return array
*/
public static function inviteOrderNumberStatistics($params = []) public static function inviteOrderNumberStatistics($params = [])
{ {
$userIds = $params["user_ids"];
} $yesterday = date("Y-m-d", strtotime("-1 day"));
public static function newUserStatistics($params = []) $yesterdayNums = ColonelDistributorInviteOrderNum::select(["colonel_user_id", "num"],
{ ["date" => $yesterday, "colonel_user_id" => $userIds], []);
$yesterdayData = array_column($yesterdayNums, null, "colonel_user_id");
$allNums = ColonelDistributorInviteOrderNum::select(["colonel_user_id", "num"], ["colonel_user_id" => $userIds], []);
$allData = array_column($allNums, null, "colonel_user_id");
$data = [];
foreach ($userIds as $userId) {
$data[$userId]["yesterday_order_num"] = 0;
$data[$userId]["all_order_reward"] = 0;
if (!empty($yesterdayData[$userId])) {
$data[$userId]["yesterday_order_num"] = $yesterdayData[$userId]["num"];
}
if (!empty($allData[$userId])) {
$data[$userId]["all_order_reward"] = $allData[$userId]["num"];
}
}
return $data;
} }
} }
\ 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