TestController.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use App\JsonRpc\NewsServiceInterface;
  5. use App\JsonRpc\WebsiteServiceInterface;
  6. use App\JsonRpc\AdServiceInterface;
  7. use App\JsonRpc\UserServiceInterface;
  8. use App\JsonRpc\ChatServiceInterface;
  9. use App\JsonRpc\OrderServiceInterface;
  10. use App\JsonRpc\CollectorServiceInterface;
  11. use App\JsonRpc\ClientServiceInterface;
  12. use App\Controller\IndexController;
  13. use App\Tools\PublicData;
  14. use Hyperf\Di\Annotation\Inject;
  15. use Hyperf\HttpServer\Annotation\AutoController;
  16. use App\Tools\Result;
  17. use Hyperf\Validation\Contract\ValidatorFactoryInterface;
  18. use App\Constants\ErrorCode;
  19. use Hyperf\Context\Context;
  20. use \Phper666\JWTAuth\JWT;
  21. /**
  22. * Class WebController
  23. * @package App\Controller
  24. */
  25. class TestController extends AbstractController
  26. {
  27. #[Inject]
  28. protected ValidatorFactoryInterface $validationFactory;
  29. #[Inject]
  30. protected IndexController $IndexController;
  31. // #[Inject]
  32. // protected JWT $jwt;
  33. /**
  34. * @var NewsServiceInterface
  35. */
  36. #[Inject]
  37. private $newsServiceClient;
  38. /**
  39. * @var WebsiteServiceInterface
  40. */
  41. #[Inject]
  42. private $websiteServiceClient;
  43. /**
  44. * @var AdServiceInterface
  45. */
  46. #[Inject]
  47. private $adServiceClient;
  48. /**
  49. * @var UserServiceInterface
  50. */
  51. #[Inject]
  52. private $userServiceClient;
  53. /**
  54. * @var ChatServiceInterface
  55. */
  56. #[Inject]
  57. private $chatServiceClient;
  58. /**
  59. * @var OrderServiceInterface
  60. */
  61. #[Inject]
  62. private $orderServiceClient;
  63. /**
  64. * @var CollectorServiceInterface
  65. */
  66. #[Inject]
  67. private $collectorServiceClient;
  68. /**
  69. * @var ClientServiceInterface
  70. */
  71. #[Inject]
  72. private $clientServiceClient;
  73. /**
  74. * 测试admin_consumer
  75. * @return array
  76. */
  77. public function testAdminConsumer()
  78. {
  79. $user = [
  80. 'user_id' => 32,
  81. 'username' => 'admin',
  82. 'password' => '123456',
  83. ];
  84. return Result::success($user);
  85. }
  86. /**
  87. * 测试public_producer
  88. */
  89. public function testPublicProducer()
  90. {
  91. $requireData = $this->request->all();
  92. // return Result::success($requireData);
  93. $result = $this->websiteServiceClient->selectWebsiteArea($requireData);
  94. if ($result['code'] != ErrorCode::SUCCESS) {
  95. return Result::error($result['message'],0,[]);
  96. }
  97. return Result::success($result['data']);
  98. }
  99. /**
  100. * 测试ad_producer
  101. */
  102. public function testAdProducer()
  103. {
  104. // $requireData = $this->request->all();
  105. $data = [
  106. 'page' => 1,
  107. 'pageSize' => 1,
  108. ];
  109. $result = $this->adServiceClient->getAdPlaceList($data);
  110. if ($result['code'] != 200) {
  111. return Result::error($result['message'],0,[]);
  112. }
  113. return Result::success($result['data']);
  114. }
  115. /**
  116. * 测试user_producer
  117. */
  118. public function testUserProducer()
  119. {
  120. // return Result::success($this->request->all());
  121. $data = $this->request->all();
  122. $user = $data['user_id'] ?? 32;
  123. // return Result::success($user);
  124. $result = $this->userServiceClient->getUserInfo((int)$user);
  125. if ($result['code'] != 200) {
  126. return Result::error($result['message'],0,[]);
  127. }
  128. return Result::success($result['data']);
  129. }
  130. /**
  131. * 测试news_producer
  132. */
  133. public function testNewsProducer()
  134. {
  135. $requestData = $this->request->all();
  136. // $catid = $data['catid'] ?? 11;
  137. $data = [
  138. 'website_id'=> $requestData['website_id'] ?? 2,
  139. 'catid' => $requestData['catid'] ?? 11,
  140. 'level' => $requestData['level'] ?? 1,
  141. 'pagesize' => 1
  142. ];
  143. $result = $this->newsServiceClient->getWebsiteModelArticles($data);
  144. // var_dump($result);
  145. if ($result['code'] != 200) {
  146. return Result::error($result['message'],0,[]);
  147. }
  148. // 增加对返回数据是否为空的检查,避免尝试访问空数组元素导致的错误
  149. if (empty($result['data'])) {
  150. return Result::error('未获取到模块新闻数据', 0, []);
  151. }
  152. return Result::success($result['data']);
  153. }
  154. /**
  155. * 测试order_producer
  156. */
  157. public function testOrderProducer()
  158. {
  159. $data = [
  160. 'website_id' => 2,
  161. ];
  162. $result = $this->orderServiceClient->getAD($data);
  163. if ($result['code'] != 200) {
  164. return Result::error($result['message'],0,[]);
  165. }
  166. return Result::success($result['data']);
  167. }
  168. /**
  169. * 测试chat_producer
  170. */
  171. public function testChatProducer()
  172. {
  173. $data['page'] = 1;
  174. $data['page_size'] = 1;
  175. $result = $this->chatServiceClient->getTopicsList($data);
  176. if ($result['code'] != 200) {
  177. return Result::error($result['message'],0,[]);
  178. }
  179. return Result::success($result['data']);
  180. }
  181. /**
  182. * 测试collector_producer
  183. */
  184. public function testCollectorProducer()
  185. {
  186. $data['web_id'] = 49;
  187. $data['pageSize'] = 1;
  188. $data['page'] = 1;
  189. $result = $this->collectorServiceClient->getRule($data);
  190. if ($result['code'] != 200) {
  191. return Result::error($result['message'],0,[]);
  192. }
  193. return Result::success($result['data']);
  194. }
  195. /**
  196. * 测试client_producer
  197. */
  198. public function testClientProducer()
  199. {
  200. $result = $this->clientServiceClient->test(['name' => 'test']);
  201. if ($result['code'] != 200) {
  202. return Result::error($result['message'],0,[]);
  203. }
  204. return Result::success($result['data']);
  205. }
  206. }