| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- namespace app\controller\admin;
- use app\extra\basic\Base;
- use app\extra\service\agent\StoreService;
- use app\extra\tools\CodeExtend;
- use app\middleware\AuthMiddleware;
- use app\model\saas\SaasAgent;
- use app\model\saas\SaasStore;
- use app\model\system\SystemUser;
- use app\validate\user\StoreValidate;
- use DI\Attribute\Inject;
- use Hzdad\Codecheck\Codecheck;
- use LinFly\Annotation\Route\Controller;
- use LinFly\Annotation\Route\Route;
- use support\Request;
- use support\Response;
- use Webman\Annotation\Middleware;
- /**
- * 门店
- */
- #[Controller(prefix: "/api/store"),Middleware(AuthMiddleware::class)]
- class Store extends Base
- {
- #[Inject]
- protected StoreService $service;
- #[Inject]
- protected StoreValidate $validate;
- #[Inject]
- protected SaasStore $model;
- protected string $scene = "edit";
- #[Route(path: "list",methods: "get")]
- public function getStoreList(Request $request): Response
- {
- try {
- $param = $request->get();
- $list = $this->service->getList($param);
- return successTrans("success.data",pageFormat($list),200);
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- /**
- * 新增/编辑代理
- * @param Request $request
- * @return Response
- */
- #[Route(path: "save",methods: "post")]
- public function save(Request $request): Response
- {
- try {
- $param = $request->post();
- $agent = (new SaasAgent)->where("agent_id",$param['agent_id'])->findOrEmpty();
- if ($agent->isEmpty()) return errorTrans("error.agent-no-exist");
- if (!isset($param['id'])) {
- $this->scene = "add";
- $code = (new Codecheck)->mobile($param['mobile'])->scene($param['scene'])->code($param['yzm'])->check();
- if (!$code) return errorTrans("error.sms-err");
- $param['user_id'] = $param['store_id'] = CodeExtend::random(16,1,date("md"));
- if (!empty($param['username'])) {
- $userName = (new SystemUser)->where("username",$param['username'])->findOrEmpty();
- if (!$userName->isEmpty()) return errorTrans("error.user-exist");
- }
- }
- $param['vip_at'] = $agent['vip_at'];
- if (!$this->validate->scene($this->scene)->check($request->post())) return error($this->validate->getError());
- $state = $this->model->setAutoData($param);
- if (!$state) return errorTrans("error.data");
- $this->sceneUser($param,3);
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- echo $throwable->getMessage()."\n";
- echo $throwable->getFile()."\n";
- echo $throwable->getLine()."\n";
- return error($throwable->getMessage());
- }
- }
- }
|