|
@@ -5,6 +5,7 @@ namespace app\controller\api;
|
|
|
use app\extra\basic\Base;
|
|
use app\extra\basic\Base;
|
|
|
use app\extra\service\blue\BlueTaskUserService;
|
|
use app\extra\service\blue\BlueTaskUserService;
|
|
|
use app\middleware\WxMiddleware;
|
|
use app\middleware\WxMiddleware;
|
|
|
|
|
+use app\model\blue\BlueExpertPlatform;
|
|
|
use app\model\blue\BlueTaskUser;
|
|
use app\model\blue\BlueTaskUser;
|
|
|
use DI\Attribute\Inject;
|
|
use DI\Attribute\Inject;
|
|
|
use LinFly\Annotation\Route\Controller;
|
|
use LinFly\Annotation\Route\Controller;
|
|
@@ -17,7 +18,7 @@ use support\Response;
|
|
|
#[Controller(prefix: "/wx_api/task/user"),Middleware(WxMiddleware::class)]
|
|
#[Controller(prefix: "/wx_api/task/user"),Middleware(WxMiddleware::class)]
|
|
|
class TaskUser extends Base
|
|
class TaskUser extends Base
|
|
|
{
|
|
{
|
|
|
- protected array $noNeedLogin = ["getTaskUserDetail"];
|
|
|
|
|
|
|
+ protected array $noNeedLogin = [];
|
|
|
|
|
|
|
|
#[Inject]
|
|
#[Inject]
|
|
|
protected BlueTaskUser $model;
|
|
protected BlueTaskUser $model;
|
|
@@ -36,10 +37,11 @@ class TaskUser extends Base
|
|
|
{
|
|
{
|
|
|
try {
|
|
try {
|
|
|
$param = $this->_valid([
|
|
$param = $this->_valid([
|
|
|
|
|
+ "status.default" => 0,
|
|
|
"size.default" => 10,
|
|
"size.default" => 10,
|
|
|
"page.default" => 1,
|
|
"page.default" => 1,
|
|
|
],$request->method());
|
|
],$request->method());
|
|
|
- $list = $this->service->getHomeList(['openid' => $request->user['openid'],'pageSize' => $param['size'],'page' => $param['page']]);
|
|
|
|
|
|
|
+ $list = $this->service->getHomeList(['openid' => $request->user['openid'],'status' => $param['status'],'pageSize' => $param['size'],'page' => $param['page']]);
|
|
|
return success("ok",pageFormat($list));
|
|
return success("ok",pageFormat($list));
|
|
|
} catch (\Throwable $throwable) {
|
|
} catch (\Throwable $throwable) {
|
|
|
return error($throwable->getMessage());
|
|
return error($throwable->getMessage());
|
|
@@ -47,6 +49,67 @@ class TaskUser extends Base
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 提交任务资料
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return Response
|
|
|
|
|
+ */
|
|
|
|
|
+ #[Route(path: "submit",methods: "post")]
|
|
|
|
|
+ public function updateTaskUser(Request $request): Response
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ $param = $this->_valid([
|
|
|
|
|
+ "id.require" => trans("empty.require"),
|
|
|
|
|
+ "task_sn.require" => trans("empty.require"),
|
|
|
|
|
+ "star_id.require" => trans("empty.require"),
|
|
|
|
|
+ ],$request->method());
|
|
|
|
|
+ if (!is_array($param)) return error($param);
|
|
|
|
|
+ $task = $this->model->where(['id' => $param['id'],'task_sn' => $param['task_sn'],'openid' => $request->user['openid'] ])->findOrEmpty();
|
|
|
|
|
+ if ($task->isEmpty()) return errorTrans("empty.data");
|
|
|
|
|
+ $platformUser = (new BlueExpertPlatform)->where(['openid' => $request->user['openid'],"source" => $task['source'],"status" => 1])->findOrEmpty();
|
|
|
|
|
+ if ($platformUser->isEmpty()) return error("请先完成平台绑定");
|
|
|
|
|
+ if (empty($platformUser['star_id'])) {
|
|
|
|
|
+ $platformUser->star_id = $param['star_id'];
|
|
|
|
|
+ $platformUser->save();
|
|
|
|
|
+ }
|
|
|
|
|
+ $task->star_id = $param['star_id'];
|
|
|
|
|
+ $task->status = 1;
|
|
|
|
|
+ $task->submit_at = getDateFull();
|
|
|
|
|
+ $task->platform = json_encode($platformUser);
|
|
|
|
|
+ $state = $task->save();
|
|
|
|
|
+ if (!$state) return errorTrans("error.data");
|
|
|
|
|
+ return successTrans("success.data");
|
|
|
|
|
+ } catch (\Throwable $throwable) {
|
|
|
|
|
+ return error($throwable->getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 检查是否绑定星图ID
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return Response
|
|
|
|
|
+ */
|
|
|
|
|
+ #[Route(path: "starId",methods: "post")]
|
|
|
|
|
+ public function getStarId(Request $request): Response
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ $param = $this->_valid([
|
|
|
|
|
+ "id.require" => trans("empty.require"),
|
|
|
|
|
+ "task_sn.require" => trans("empty.require"),
|
|
|
|
|
+ ],$request->method());
|
|
|
|
|
+ if (!is_array($param)) return error($param);
|
|
|
|
|
+ $task = $this->model->where(['task_sn' => $param['task_sn'],'id' => $param['id']])->findOrEmpty();
|
|
|
|
|
+ if ($task->isEmpty()) return errorTrans("empty.data");
|
|
|
|
|
+ $platformUser = (new BlueExpertPlatform)->where(['openid' => $request->user['openid'],"source" => $task['source'],"status" => 1])->findOrEmpty();
|
|
|
|
|
+ if ($platformUser->isEmpty()) return error("请先完成平台绑定");
|
|
|
|
|
+ return success("ok",['star_id' => $platformUser['star_id']]);
|
|
|
|
|
+ } catch (\Throwable $throwable) {
|
|
|
|
|
+ return error($throwable->getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 已接任务详情
|
|
* 已接任务详情
|
|
|
* @param Request $request
|
|
* @param Request $request
|
|
@@ -61,7 +124,7 @@ class TaskUser extends Base
|
|
|
"task_sn.require" => trans("empty.require"),
|
|
"task_sn.require" => trans("empty.require"),
|
|
|
],$request->method());
|
|
],$request->method());
|
|
|
if (!is_array($param)) return error($param);
|
|
if (!is_array($param)) return error($param);
|
|
|
- $task = $this->model->where(['id' => $param['id'],'task_sn' => $param['task_sn'],'openid' => '123' ])->with(['task' => function ($query) {
|
|
|
|
|
|
|
+ $task = $this->model->where(['id' => $param['id'],'task_sn' => $param['task_sn'],'openid' => $request->user['openid'] ])->with(['task' => function ($query) {
|
|
|
$query->field("id,title,task_sn,product_cover_url,total_budget,sign_number,need_number,category,level,sys_level,product_price")->append(['progress','total_budget_format'])->withAttr(['progress' => function ($data,$resp) {
|
|
$query->field("id,title,task_sn,product_cover_url,total_budget,sign_number,need_number,category,level,sys_level,product_price")->append(['progress','total_budget_format'])->withAttr(['progress' => function ($data,$resp) {
|
|
|
if ($resp['sign_number'] == 0) return $resp['sign_number'];
|
|
if ($resp['sign_number'] == 0) return $resp['sign_number'];
|
|
|
return ceil($resp['sign_number']/$resp['need_number'] * 100);
|
|
return ceil($resp['sign_number']/$resp['need_number'] * 100);
|