diff --git a/app/Admin/Controllers/DemandProductController.php b/app/Admin/Controllers/DemandProductController.php index 381d311..0b51f17 100644 --- a/app/Admin/Controllers/DemandProductController.php +++ b/app/Admin/Controllers/DemandProductController.php @@ -3,11 +3,10 @@ namespace App\Admin\Controllers; use App\Admin\Extensions\Grid\AuditDemandProduct; -use App\Admin\Repositories\Product; +use App\Admin\Repositories\DemandProduct; use App\Common\ProductStatus; use App\Common\UserStatus; use App\Models\Category; -use App\Models\DemandProduct; use App\Models\Supplier; use Dcat\Admin\Form; use Dcat\Admin\Grid; diff --git a/app/Admin/Extensions/Grid/MiniProgramUpload.php b/app/Admin/Extensions/Grid/MiniProgramUpload.php index cde211b..20cf969 100644 --- a/app/Admin/Extensions/Grid/MiniProgramUpload.php +++ b/app/Admin/Extensions/Grid/MiniProgramUpload.php @@ -68,8 +68,18 @@ class MiniProgramUpload extends RowAction if (!$refreshToken) { return $this->response()->error('获取refresh_token失败'); } + $miniProgram = $openPlatform->miniProgram($agent->appid, $refreshToken); + + //设置业务域名 + /** @var \EasyWeChat\OpenPlatform\Authorizer\MiniProgram\Domain\Client $domain */ + $domain = $miniProgram['domain']; + $res = $domain->setWebviewDomain([env('APP_URL')]); + if (!isset($res['errcode'], $res['errmsg']) || $res['errcode'] != 0 || $res['errmsg'] != 'ok') { + throw new \Exception('设置业务域名失败!'); + } + /** @var Client $code */ - $code = $openPlatform->miniProgram($agent->appid, $refreshToken)['code'] ?? null; + $code = $miniProgram['code'] ?? null; if (!$code) { return $this->response()->error('获取code失败'); } diff --git a/app/Admin/Repositories/DemandProduct.php b/app/Admin/Repositories/DemandProduct.php new file mode 100644 index 0000000..d2a7f68 --- /dev/null +++ b/app/Admin/Repositories/DemandProduct.php @@ -0,0 +1,16 @@ +disableViewButton(); $form->disableViewCheck(); - $demand_id = request('demand_id'); - - $isBidding = \App\Models\DemandBidding::query() - ->where('demand_id',$demand_id) - ->where([ - 'bidding_user_type' => DemandTraits::$col[1], - 'bidding_user_id' => Admin::user()->id - ]) - ->exists(); - if ($demand_id && $isBidding) { - Admin::exit('你已经竞标过了,无需重复参加'); - } $form->display('id')->disable(); if(request('is_bidding',0)) { @@ -145,6 +133,21 @@ class DemandBiddingController extends AdminController $form->bidding_user_id = Admin::user()->id; }); + $form->saving(function (Form $form) { + if ($form->isCreating()) { + $isBidding = \App\Models\DemandBidding::query() + ->where('demand_id',$form->demand_id) + ->where([ + 'bidding_user_type' => DemandTraits::$col[1], + 'bidding_user_id' => Admin::user()->id + ]) + ->exists(); + if ($isBidding) { + Admin::exit('你已经竞标过了,无需重复参加'); + } + } + }); + $form->saved(function (Form $form) { $provinceId = Demand::query()->where('id',$this->demand_id)->value('province_id'); diff --git a/app/AdminSupplier/Renderable/SelectProduct.php b/app/AdminSupplier/Renderable/SelectProduct.php index c224857..ad6c093 100644 --- a/app/AdminSupplier/Renderable/SelectProduct.php +++ b/app/AdminSupplier/Renderable/SelectProduct.php @@ -26,7 +26,10 @@ class SelectProduct extends LazyRenderable $grid->disableBatchActions(); //$grid->model()->where('status', ProductStatus::ON_SALE); - $grid->model()->where('supplier_id', Admin::user()->id); + $grid->model()->where([ + 'supplier_id' => Admin::user()->id, + 'status' => ProductStatus::ON_SALE + ]); $grid->quickSearch(['title', 'supplier.name'])->placeholder('搜索产品名称、供应商'); $grid->column('id'); diff --git a/app/Http/Controllers/Api/LoginController.php b/app/Http/Controllers/Api/LoginController.php index 4e6153b..e9a80a2 100644 --- a/app/Http/Controllers/Api/LoginController.php +++ b/app/Http/Controllers/Api/LoginController.php @@ -53,9 +53,13 @@ class LoginController extends Controller ]; $app = Factory::openPlatform($config); - dd($app); + $refreshToken = $app->getAuthorizer($appid)['authorization_info']['authorizer_refresh_token'] ?? null; + if (!$refreshToken) { + return $this->error('获取refresh_token失败'); + } + $app = $app->miniProgram($appid, $refreshToken); } -dd($agent->toArray()); + try { $res = $app->auth->session($code); if (!empty($res['errcode']) || empty($res['openid']) && empty($res['unionid'])) { diff --git a/app/Http/Controllers/Api/TestController.php b/app/Http/Controllers/Api/TestController.php index 9287a04..b59f1dc 100644 --- a/app/Http/Controllers/Api/TestController.php +++ b/app/Http/Controllers/Api/TestController.php @@ -2,10 +2,8 @@ namespace App\Http\Controllers\Api; -use App\Models\Agent; -use App\Models\Order; -use App\Models\OrderProductItem; -use App\Models\Product; +use App\Models\AdminSetting; +use EasyWeChat\Factory; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\DB; @@ -18,7 +16,31 @@ class TestController { public function index() { - return $this->login(2); + $appid = 'wx5bd5789ad8f89524'; + $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']); + $config = [ + 'app_id' => $setting['service_appid'], + 'secret' => $setting['service_appsecret'], + 'token' => $setting['service_token'], + 'aes_key' => $setting['service_aeskey'], + ]; + + $app = Factory::openPlatform($config); + $refreshToken = $app->getAuthorizer($appid)['authorization_info']['authorizer_refresh_token'] ?? null; + if (!$refreshToken) { + return $this->error('获取refresh_token失败'); + } + $miniProgram = $app->miniProgram($appid, $refreshToken); + $domain = $miniProgram['domain']; + + $host = env('APP_URL'); + $param = [ + "action" => "add", + "requestdomain" => [$host], + "uploaddomain" => [$host], + "downloaddomain" => [$host], + ]; + return [$domain->modify($param), $domain->setWebviewDomain([env('APP_URL')])]; } /** diff --git a/ready.md b/ready.md index 44a0d40..be36952 100644 --- a/ready.md +++ b/ready.md @@ -42,6 +42,9 @@ TRUNCATE `users`; TRUNCATE `user_channels`; TRUNCATE `user_favs`; TRUNCATE `user_money_logs`; +TRUNCATE `withdrawal`; +TRUNCATE `withdrawal_alipay`; +TRUNCATE `withdrawal_bank`; TRUNCATE `workorder`; TRUNCATE `workorder_item`;