| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- <?php
- namespace app\controller\admin;
- use app\extra\basic\Base;
- use app\extra\douyin\Account;
- use app\extra\douyin\Client;
- use app\extra\service\saas\StoreService;
- use app\extra\tools\CodeExtend;
- use app\middleware\AuthMiddleware;
- use app\model\saas\SaasSmsScene;
- use app\model\saas\SaasStore;
- use app\model\system\SystemUser;
- use app\validate\saas\StoreValidate;
- use DI\Attribute\Inject;
- 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 SaasStore $model;
- #[Inject]
- protected StoreValidate $validate;
- 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());
- }
- }
- /**
- * 设置path
- * @param Request $request
- * @return Response
- */
- #[Route(path: "auth",methods: "post")]
- public function setAuth(Request $request): Response
- {
- try {
- $param = $this->_valid([
- "id.require" => trans("empty.require"),
- "val.default" => 2,
- "type.default" => 1, // 1 设置path 2 关闭二维码
- ],"post");
- if (!is_array($param)) return error($param);
- $store = $this->model->where("id",$param['id'])->findOrEmpty();
- if ($store->isEmpty()) return errorTrans("empty.data");
- if ($param['type'] == 1) {
- // 设置path
- $resp = (new Client)->config($this->getDyConfig())->token()->setMiniPath($store['store_id']);
- if ($resp['err_no'] <> 0) return error($resp['err_msg']);
- $resp = (new Account)->config($this->getDyConfig())->token()->setWhiteSetting($store['store_id'],1,true);
- if ($resp['err_no'] <> 0) return error($resp['err_msg']);
- } else {
- if ($store['is_hide'] == 1) {
- $store->is_hide = 0;
- } else {
- $store->is_hide = 1;
- }
- $store->save();
- $resp = (new Client)->config($this->getDyConfig())->token()->setBtnText($store['store_id'],$param['val']);
- if ($resp['err_no'] <> 0) return error($resp['err_msg']);
- }
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- /**
- * @param Request $request
- * @return Response
- */
- #[Route(path: "hook",methods: "get")]
- public function getHookUri(Request $request): Response
- {
- try {
- $param = $request->get();
- return successTrans(100010,['url' => "https://miniapi.jsshuita.com.cn/"]);
- } 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();
- if (!isset($param['id'])) {
- $this->scene = "add";
- $param['user_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");
- }
- }
- if (!$this->validate->check($param)) return error($this->validate->getError());
- $state = $this->model->setAutoData($param);
- if (!$state) return errorTrans("error.data");
- // $this->sceneUser($param,3,"id");
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- echo $throwable->getMessage()."\n";
- echo $throwable->getFile()."\n";
- echo $throwable->getLine()."\n";
- return error($throwable->getMessage());
- }
- }
- /**
- * 新增/编辑代理
- * @param Request $request
- * @return Response
- */
- #[Route(path: "edit",methods: "post")]
- public function edit(Request $request): Response
- {
- try {
- $param = $request->post();
- if (!$this->validate->check($request->post())) return error($this->validate->getError());
- $state = $this->model->setAutoData($param);
- if (!$state) return errorTrans("error.data");
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- echo $throwable->getMessage()."\n";
- echo $throwable->getFile()."\n";
- echo $throwable->getLine()."\n";
- return error($throwable->getMessage());
- }
- }
- /**
- * @param Request $request
- * @return Response
- */
- #[Route(path: "batch",methods: "post")]
- public function setBatchData(Request $request): Response
- {
- try {
- $param = $this->_valid([
- "id.require" => trans("empty.require"),
- "value.require" => trans("empty.require"),
- "field.require" => trans("empty.require"),
- "type.require" => trans("empty.require"),
- ],"post");
- if (!is_array($param)) return error($param);
- if ($param['type'] == "batch") {
- $state = $this->model->where("id","in",$param['id'])->save([$param['field'] => $param['value']]);
- } else {
- $state = $this->model->where("id",$param['id'])->save([$param['field'] => $param['value']]);
- }
- if (!$state) return errorTrans("error.data");
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- /**
- * 删除
- * @param Request $request
- * @return Response
- */
- #[Route(path: "del",methods: "post")]
- public function delUser(Request $request): Response
- {
- try {
- $param = $this->_valid([
- "id.require" => trans("empty.require"),
- "type.default" => "one",
- ],"post");
- if (!is_array($param)) return error($param);
- if ($param['type'] == "batch") {
- $state = $this->model->where("id","in",$param['id'])->delete();
- } else {
- $data = $this->model->where("id",$param['id'])->findOrEmpty();
- if ($data->isEmpty()) return errorTrans("empty.data");
- // 删除其他相关数据
- $state = $data->delete();
- }
- if (!$state) return errorTrans("error.data");
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- /**
- * @param Request $request
- * @return Response
- */
- #[Route(path: "scene",methods: "get")]
- public function getSmsScene(Request $request): Response
- {
- try {
- $param = $request->get();
- $scene = (new SaasSmsScene)->where("store_id",$param['store'])->findOrEmpty();
- if ($scene->isEmpty()) return errorTrans("error.data");
- return successTrans("success.data",$scene->toArray());
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- /**
- * @param Request $request
- * @return Response
- */
- #[Route(path: "sms",methods: "post")]
- public function setSmsScene(Request $request): Response
- {
- try {
- $param = $request->post();
- if (empty($param['store_id'])) return errorTrans("error.data");
- $scene = (new SaasSmsScene)->where("store_id",$param['store_id'])->findOrEmpty();
- if ($scene->isEmpty())
- {
- $state = $scene->insertGetId($param);
- } else {
- $state = $scene->save($param);
- }
- if (!$state) return errorTrans("error.data");
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- }
|