完成 分红 任务积分计算推广计算
This commit is contained in:
parent
afaccea23d
commit
d6b8b75acc
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace app\controller\api;
|
namespace app\controller\api;
|
||||||
|
|
||||||
|
use app\dao\UserDao;
|
||||||
use app\model\User;
|
use app\model\User;
|
||||||
use support\Request;
|
use support\Request;
|
||||||
|
|
||||||
|
@ -40,13 +41,12 @@ class TaskController
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$user_id = $request->data['id'];
|
$user_id = $request->data['id'];
|
||||||
$user = User::find($user_id);
|
|
||||||
//挂机总时长 单位秒
|
//挂机总时长 单位秒
|
||||||
$res['time'] = 500;
|
$res['time'] = UserDao::all_task_income($user_id)/20*3600;
|
||||||
//今天积分=0;
|
//今天积分=0;
|
||||||
$res['today_money'] = 0;
|
$res['today_money'] = UserDao::today_task_income($user_id);
|
||||||
//昨天积分
|
//昨天积分
|
||||||
$res['yesterday_money'] = 0;
|
$res['yesterday_money'] = UserDao::today_task_income_old($user_id);
|
||||||
return ApiResponseApp::success($res);
|
return ApiResponseApp::success($res);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -10,7 +10,7 @@ use App\Utils\Random;
|
||||||
use Tinywan\Jwt\JwtToken;
|
use Tinywan\Jwt\JwtToken;
|
||||||
use App\model\User;
|
use App\model\User;
|
||||||
use App\Utils\ApiResponseApp;
|
use App\Utils\ApiResponseApp;
|
||||||
|
use App\dao\UserDao;
|
||||||
/**
|
/**
|
||||||
* @Apidoc\Title("用户控制器")
|
* @Apidoc\Title("用户控制器")
|
||||||
*/
|
*/
|
||||||
|
@ -105,8 +105,8 @@ class UserController
|
||||||
public function userInfo(Request $request)
|
public function userInfo(Request $request)
|
||||||
{
|
{
|
||||||
$user_id = $request->data['id'];
|
$user_id = $request->data['id'];
|
||||||
$user = User::find($user_id);
|
|
||||||
return ApiResponseApp::success($user);
|
return ApiResponseApp::success(UserDao::get_index_userInfo($user_id));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @Apidoc\Title("1.0 获取用户佣金信息")
|
* @Apidoc\Title("1.0 获取用户佣金信息")
|
||||||
|
@ -119,17 +119,17 @@ class UserController
|
||||||
$user = User::find($user_id);
|
$user = User::find($user_id);
|
||||||
$res = [
|
$res = [
|
||||||
//活跃用户数
|
//活跃用户数
|
||||||
'active_users' => 0,
|
'active_users' => UserDao::active_users($user_id),
|
||||||
//所有收入总和
|
//所有收入总和
|
||||||
'all_income' => 0,
|
'all_income' => UserDao::all_income($user_id),
|
||||||
//邀请码
|
//邀请码
|
||||||
'invite_code' => $user->invite_code,
|
'invite_code' => $user->invite_code,
|
||||||
//直属活跃
|
//直属活跃
|
||||||
'level_1' => 0,
|
'level_1' => UserDao::level_1($user_id),
|
||||||
//昨天收入
|
|
||||||
'today_income' => 0,
|
|
||||||
//今天收入
|
//今天收入
|
||||||
'yesterday_income' => 0
|
'today_income' => UserDao::today_team_income($user_id),
|
||||||
|
//昨天收入
|
||||||
|
'yesterday_income' => UserDao::today_team_income_old($user_id),
|
||||||
];
|
];
|
||||||
return ApiResponseApp::success($res);
|
return ApiResponseApp::success($res);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,105 +5,118 @@ namespace app\dao;
|
||||||
use App\model\Users;
|
use App\model\Users;
|
||||||
use App\model\BankLog;
|
use App\model\BankLog;
|
||||||
use App\Utils\FunctionResponse;
|
use App\Utils\FunctionResponse;
|
||||||
|
use App\model\User;
|
||||||
|
use App\model\UserReward;
|
||||||
class UserDao
|
class UserDao
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 用户注册函数
|
* 构造首页信息
|
||||||
*
|
*
|
||||||
* @param string $phone 手机号
|
* @param int $user_id 用户id
|
||||||
* @param string $password 密码
|
|
||||||
* @param string $idcard 身份证号
|
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public static function register($phone, $password, $idcard)
|
public static function get_index_userInfo($user_id)
|
||||||
{
|
{
|
||||||
// 检测手机号是否唯一
|
$user = User::find($user_id);
|
||||||
if (Users::where('phone', $phone)->count() > 0) {
|
$userData = [
|
||||||
return FunctionResponse::error(400, [], '手机号已存在');
|
"id" => 4,
|
||||||
|
"username" => "3",
|
||||||
|
"invite_code" => "06192",
|
||||||
|
"is_active" => 0,
|
||||||
|
"login_ip" => "192.168.2.143",
|
||||||
|
"join_ip" => "192.168.2.143",
|
||||||
|
"login_time" => "2025-02-16 21:57:50",
|
||||||
|
"prev_time" => null,
|
||||||
|
"status" => 1,
|
||||||
|
"money" => 2,
|
||||||
|
"admin_money" => 0,
|
||||||
|
"all_team_money" => 0,
|
||||||
|
"task_income_money" => 0,
|
||||||
|
"task_status" => 0,
|
||||||
|
//今天任务收入
|
||||||
|
// "today_task_income" => 0,
|
||||||
|
//今天推广收益
|
||||||
|
// "today_team_income" => 0,
|
||||||
|
"growth_value" => 0,
|
||||||
|
"vip_id" => 0,
|
||||||
|
"withdraw_money" => 0,
|
||||||
|
"f_id" => 0,
|
||||||
|
"ff_id" => 0,
|
||||||
|
"fff_id" => 0,
|
||||||
|
"top_id" => 0,
|
||||||
|
"path" => null,
|
||||||
|
"remark" => null,
|
||||||
|
"created_at" => "2025-02-15T14:38:09.000000Z",
|
||||||
|
"updated_at" => "2025-02-16T13:57:50.000000Z",
|
||||||
|
];
|
||||||
|
foreach($userData as $key =>$value){
|
||||||
|
$userData[$key]=$user->$key;
|
||||||
}
|
}
|
||||||
|
$userData['today_team_income']=self::today_team_income($user_id);
|
||||||
// 检测身份证号码 并提取信息
|
$userData['today_task_income']=self::today_task_income($user_id);
|
||||||
$idCardInfo = self::getDetailsFromIdCard($idcard);
|
return $userData;
|
||||||
if ($idCardInfo['code'] !== 200) {
|
|
||||||
return $idCardInfo; // 返回错误信息
|
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
// 你可以在此处添加更多的注册逻辑,例如:存储用户信息到数据库
|
* 获取今天推广收益
|
||||||
|
*/
|
||||||
// 假设我们通过 Users 模型来创建用户
|
public static function today_team_income($user_id){
|
||||||
$user = new Users();
|
$today = date('Y-m-d');
|
||||||
$user->phone = $phone;
|
$query = UserReward::where('status', 5)->where('user_id', $user_id)->where('created_at', '>=', $today." 00:00:00")->sum('money');
|
||||||
$user->password = password_hash($password, PASSWORD_DEFAULT); // 密码加密
|
return $query;
|
||||||
$user->cardid = $idcard;
|
}
|
||||||
$user->birthday = $idCardInfo['data']['birthDate']; // 出生日期
|
/**
|
||||||
$user->gender = $idCardInfo['data']['gender']; // 性别
|
* 获取昨天推广收益
|
||||||
$user->avatar = ''; // 头像
|
*/
|
||||||
$user->save();
|
public static function today_team_income_old($user_id){
|
||||||
|
$endOfYesterday = date('Y-m-d', strtotime('-1 day')); // 昨天的结束时间(23:59:59)
|
||||||
return FunctionResponse::success(200, ['$phone' => $phone], '注册成功');
|
$query = UserReward::where('status', 5)->where('user_id', $user_id)->whereBetween('created_at', [ $endOfYesterday." 00:00:00", $endOfYesterday." 23:59:59"])->sum('money');
|
||||||
|
return $query;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 获取今天任务收益
|
||||||
|
*/
|
||||||
|
public static function today_task_income($user_id){
|
||||||
|
$today = date('Y-m-d');
|
||||||
|
$query = UserReward::where('status', 6)->where('user_id', $user_id)->where('created_at', '>=', $today." 00:00:00")->sum('money');
|
||||||
|
return $query;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 获取昨天任务收益
|
||||||
|
*/
|
||||||
|
public static function today_task_income_old($user_id){
|
||||||
|
$endOfYesterday = date('Y-m-d', strtotime('-1 day'));
|
||||||
|
$query = UserReward::where('status', 6)->where('user_id', $user_id)->whereBetween('created_at', [ $endOfYesterday." 00:00:00", $endOfYesterday." 23:59:59"])->sum('money');
|
||||||
|
return $query;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 获取所有任务收益
|
||||||
|
*/
|
||||||
|
public static function all_task_income($user_id){
|
||||||
|
$query = UserReward::where('status', 6)->where('user_id', $user_id)->sum('money');
|
||||||
|
return $query;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 获取直属活跃人数
|
||||||
|
*/
|
||||||
|
public static function level_1($user_id){
|
||||||
|
$startOfDay = strtotime('today'); // 今天的开始时间(00:00:00)
|
||||||
|
$query = User::where('f_id', $user_id)->where('login_time', '>=', $startOfDay)->count();
|
||||||
|
return $query;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查身份证号,提取身份证号信息
|
* 获取活跃人数
|
||||||
*
|
|
||||||
* @param string $idCard
|
|
||||||
* @return array
|
|
||||||
*/
|
*/
|
||||||
private static function getDetailsFromIdCard($idCard)
|
public static function active_users($user_id){
|
||||||
{
|
$startOfDay = strtotime('today'); // 今天的开始时间(00:00:00)
|
||||||
$birthDate = '';
|
$query = User::where('f_id', $user_id)->orWhere('ff_id', $user_id)->where('login_time', '>=', $startOfDay)->count();
|
||||||
$gender = '';
|
return $query;
|
||||||
|
|
||||||
// 校验并处理18位身份证
|
|
||||||
if (strlen($idCard) === 18) {
|
|
||||||
// 提取出生日期
|
|
||||||
$birthDate = substr($idCard, 6, 8); // 获取出生日期(YYYYMMDD)
|
|
||||||
|
|
||||||
// 性别判断:顺序码第17位奇数为男,偶数为女
|
|
||||||
$genderCode = (int) $idCard[16];
|
|
||||||
$gender = $genderCode % 2;
|
|
||||||
} else {
|
|
||||||
return FunctionResponse::error(400, [], '身份证格式不对');
|
|
||||||
}
|
|
||||||
|
|
||||||
// 格式化出生日期
|
|
||||||
$birthYear = substr($birthDate, 0, 4);
|
|
||||||
$birthMonth = substr($birthDate, 4, 2);
|
|
||||||
$birthDay = substr($birthDate, 6, 2);
|
|
||||||
$formattedBirthDate = $birthYear . '-' . $birthMonth . '-' . $birthDay;
|
|
||||||
|
|
||||||
return FunctionResponse::success(200, [
|
|
||||||
'birthDate' => $formattedBirthDate, // 出生日期格式化
|
|
||||||
'gender' => $gender, // 性别
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 手机号是否唯一
|
* 获取累计佣金
|
||||||
* @param [string] $phone
|
|
||||||
* @return [bole] 有手机号返回 true 没有返回flase
|
|
||||||
*/
|
*/
|
||||||
private static function isThePhoneNumberUnique($phone)
|
public static function all_income($user_id){
|
||||||
{
|
$query = UserReward::where('status', 5)->where('user_id', $user_id)->sum('money');
|
||||||
return Users::where('phone', $phone)->count() > 0;
|
return $query;
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 修改密码
|
|
||||||
* @param [int] $userid 用户id
|
|
||||||
* @param [string] $phone 密码
|
|
||||||
*/
|
|
||||||
public static function chang_passwd($userid,$password){
|
|
||||||
//哈希密码
|
|
||||||
$hasa_password=password_hash($password, PASSWORD_DEFAULT);
|
|
||||||
Users::where('id', $userid)->update(['password' => $hasa_password]);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 修改用户名
|
|
||||||
* @param [int] $userid 用户id
|
|
||||||
* @param [string] $nickname 用户名
|
|
||||||
*/
|
|
||||||
public static function chang_nickname($userid,$nickname){
|
|
||||||
Users::where('id', $userid)->update(['nickname' => $nickname]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue