|
@@ -7,6 +7,9 @@ use app\extra\tools\CodeExtend;
|
|
|
use app\extra\weMini\Crypt;
|
|
use app\extra\weMini\Crypt;
|
|
|
use app\extra\weMini\UserInfo;
|
|
use app\extra\weMini\UserInfo;
|
|
|
use app\middleware\WxMiddleware;
|
|
use app\middleware\WxMiddleware;
|
|
|
|
|
+use app\model\blue\BlueExpert;
|
|
|
|
|
+use app\model\blue\BlueExpertPlatform;
|
|
|
|
|
+use app\model\blue\BlueTaskRevenue;
|
|
|
use app\model\blue\BlueUserOpen;
|
|
use app\model\blue\BlueUserOpen;
|
|
|
use DI\Attribute\Inject;
|
|
use DI\Attribute\Inject;
|
|
|
use LinFly\Annotation\Route\Controller;
|
|
use LinFly\Annotation\Route\Controller;
|
|
@@ -28,6 +31,11 @@ class User extends Base
|
|
|
protected BlueUserOpen $model;
|
|
protected BlueUserOpen $model;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * wx.login快速验证是否注册
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return Response
|
|
|
|
|
+ */
|
|
|
#[Route(path: "quick",methods: "post")]
|
|
#[Route(path: "quick",methods: "post")]
|
|
|
public function loginQuick(Request $request): Response
|
|
public function loginQuick(Request $request): Response
|
|
|
{
|
|
{
|
|
@@ -52,6 +60,11 @@ class User extends Base
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 新用户登录-自动完成注册
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return Response
|
|
|
|
|
+ */
|
|
|
#[Route(path: "login",methods: "post")]
|
|
#[Route(path: "login",methods: "post")]
|
|
|
public function loginMobile(Request $request): Response
|
|
public function loginMobile(Request $request): Response
|
|
|
{
|
|
{
|
|
@@ -93,4 +106,65 @@ class User extends Base
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ #[Route(path: "data",methods: "get")]
|
|
|
|
|
+ public function getUserData(Request $request): Response
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ $data = $this->model->where("openid",$request->user['openid'])->field("uuid,nickname,headimg,openid")->with(['star' => function($query) {
|
|
|
|
|
+ $query->field("openid,group_id,level_exp")->with(['level' => function($query) {
|
|
|
|
|
+ $query->field("id,level,name,exp");
|
|
|
|
|
+ }]);
|
|
|
|
|
+ }])->append(['fans','job','income','level','sign'])->withAttr([
|
|
|
|
|
+ "fans" => function($query,$resp) {
|
|
|
|
|
+ $fans = (new BlueExpertPlatform)->where("openid",$resp['openid'])->sum("follower_count");
|
|
|
|
|
+ return formatMoneyKw($fans); // 全网粉丝数
|
|
|
|
|
+ },
|
|
|
|
|
+ "job" => function($query,$resp) {
|
|
|
|
|
+ return "0"; // 任务数
|
|
|
|
|
+ },
|
|
|
|
|
+ "income" => function($query,$resp) {
|
|
|
|
|
+ $income = (new BlueTaskRevenue)->where("openid",$resp['openid'])->sum("indicator_agg_data_20022");
|
|
|
|
|
+ return formatMoneyKw($income/1000); // 收益
|
|
|
|
|
+ },
|
|
|
|
|
+ "sign" => function($query,$resp) {
|
|
|
|
|
+ if ($resp['star']) return 1;
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ },
|
|
|
|
|
+ "level" => function($query,$resp) {
|
|
|
|
|
+ if ($resp['star']) {
|
|
|
|
|
+ return [
|
|
|
|
|
+ "level_exp" => $resp['star']['level_exp'],
|
|
|
|
|
+ "level_num" => $resp['star']['level']['level']??'0',
|
|
|
|
|
+ "level_name" => $resp['star']['level']['name']??'0',
|
|
|
|
|
+ "need_exp" => $resp['star']['level']['exp']??'0',
|
|
|
|
|
+ ];
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return [];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ])->findOrEmpty();
|
|
|
|
|
+ if ($data->isEmpty()) return errorTrans("error.data");
|
|
|
|
|
+ $return = $data->toArray();
|
|
|
|
|
+ unset($return['star'],$return['openid']);
|
|
|
|
|
+ return success("ok",$return);
|
|
|
|
|
+ } catch (\Throwable $throwable) {
|
|
|
|
|
+ return error($throwable->getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 收益
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return Response
|
|
|
|
|
+ */
|
|
|
|
|
+ #[Route(path: "income",methods: "get")]
|
|
|
|
|
+ public function getIncomeData(Request $request): Response
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+
|
|
|
|
|
+ } catch (\Throwable $throwable) {
|
|
|
|
|
+ return error($throwable->getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|