hospital-applets-api/app/Controller/UserController.php
2023-03-06 17:20:00 +08:00

89 lines
2.8 KiB
PHP

<?php
namespace App\Controller;
use App\Constants\HttpEnumCode;
use App\Exception\BusinessException;
use App\Request\UserRequest;
use App\Services\UserDoctorService;
use App\Services\UserService;
use App\Utils\Http;
use Extend\Wechat\Wechat;
use Extend\Wechat\WechatPay;
use Hyperf\DbConnection\Db;
use Hyperf\Snowflake\IdGeneratorInterface;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Psr\Http\Message\ResponseInterface;
use Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface;
use Symfony\Contracts\HttpClient\Exception\DecodingExceptionInterface;
use Symfony\Contracts\HttpClient\Exception\RedirectionExceptionInterface;
use Symfony\Contracts\HttpClient\Exception\ServerExceptionInterface;
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
class UserController extends AbstractController
{
/**
* 修改用户头像
* @return ResponseInterface
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function putUserAvatar(): ResponseInterface
{
$request = $this->container->get(UserRequest::class);
$request->scene('putUserAvatar')->validateResolved();
$UserService = new UserService();
$data = $UserService->putUserAvatar();
return $this->response->json($data);
}
/**
* 修改用户名
* @return ResponseInterface
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function putUserName(): ResponseInterface
{
$request = $this->container->get(UserRequest::class);
$request->scene('putUserName')->validateResolved();
$UserService = new UserService();
$data = $UserService->putUserName();
return $this->response->json($data);
}
/**
* 退出登陆
* @return ResponseInterface
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function putLoginout(): ResponseInterface
{
$UserService = new UserService();
$data = $UserService->putLoginout();
return $this->response->json($data);
}
// 支付测试
public function testpay(){
$generator = $this->container->get(IdGeneratorInterface::class);
$WechatPay = new WechatPay(2);
// 获取预支付交易会话标识
$total = 0.01 * 100;
$prepay = $WechatPay->getJsapiPrepayId("123460",$total,"o9gYG441zEAHuYoNX7lwFKiQBzKE");
if (empty($prepay)){
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
}
// 获取小程序支付配置
$pay_config = $WechatPay->getAppletsPayConfig($prepay['prepay_id']);
return $this->response->json($pay_config);
}
}