MemberController.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Http\Validator\MemberValidator;
  5. use App\Services\Api\ImChatService;
  6. use App\Services\Api\MemberCollectService;
  7. use App\Services\Api\MemberNodeService;
  8. use App\Services\Api\MemberService;
  9. use App\Services\Api\MessageService;
  10. use App\Services\Api\VideoCollectService;
  11. use Illuminate\Http\Request;
  12. /**
  13. * 会员管理
  14. * Class MemberController
  15. * @package App\Http\Controllers\Api
  16. */
  17. class MemberController extends webApp
  18. {
  19. /**
  20. * 信息
  21. * @return array
  22. */
  23. public function getInfo()
  24. {
  25. $userId = request()->post('user_id', 0);
  26. $type = request()->post('type', 'detail');
  27. $info = MemberService::make()->getInfo($userId? $userId : $this->userId, $type,[], $this->userId);
  28. if($info){
  29. return showJson(1010, true, $info);
  30. }else{
  31. return showJson(2017, false, [],403);
  32. }
  33. }
  34. /**
  35. * 用户主页信息
  36. * @return array
  37. */
  38. public function homeInfo()
  39. {
  40. $userId = request()->post('id', 0);
  41. $info = MemberService::make()->getHomeInfo($userId, $this->userId);
  42. if($info){
  43. return showJson(1010, true, $info);
  44. }else{
  45. return showJson(1004, false, [],'403');
  46. }
  47. }
  48. /**
  49. * 关注
  50. * @return array|mixed
  51. */
  52. public function follow()
  53. {
  54. $params = request()->post();
  55. if(!$result = MemberCollectService::make()->follow($this->userId, $params)){
  56. return showJson(MemberCollectService::make()->getError(), false);
  57. }else{
  58. return showJson(MemberCollectService::make()->getError(), true, $result);
  59. }
  60. }
  61. /**
  62. * 更新修改头像
  63. * @return array
  64. */
  65. public function setAvatar(Request $request)
  66. {
  67. // 上传单图统一调取方法
  68. $result = upload_image($request, 'file','avatar');
  69. if (!$result['success']) {
  70. return showJson($result['msg'],false,['url'=>'']);
  71. }
  72. // 文件路径
  73. $file_path = $result['data']['img_path'];
  74. if (!$file_path) {
  75. return showJson('上传失败',false,['url'=>'']);
  76. }
  77. // 网络域名拼接
  78. if ($file_path && strpos($file_path, IMG_URL) === false) {
  79. $file_path = get_image_url($file_path);
  80. }
  81. $avatar = $result['data']['img_path'];
  82. if(MemberService::make()->saveAvatar($this->userId, $avatar)){
  83. return showJson(1013,true,['url'=> $file_path,'path'=> $avatar]);
  84. }else{
  85. return showJson(1014,false,['url'=>'']);
  86. }
  87. }
  88. /**
  89. * 修改账号信息
  90. * @param MemberValidator $validator
  91. * @return array
  92. */
  93. public function modify(MemberValidator $validator)
  94. {
  95. $params = request()->all();
  96. $scene = isset($params['scene'])? $params['scene'] : 'modify';
  97. $params = $validator->check($params, $scene);
  98. if (!is_array($params)) {
  99. return showJson($params, false);
  100. }
  101. if(!MemberService::make()->modify($this->userId, $params)){
  102. $error = MemberService::make()->getError();
  103. return showJson($error,false,'',$error==1040?405:0);
  104. }else{
  105. return showJson(1013,true);
  106. }
  107. }
  108. /**
  109. * 身份认证
  110. * @param MemberValidator $validator
  111. * @return array
  112. */
  113. public function auth(MemberValidator $validator)
  114. {
  115. $params = request()->all();
  116. $params = $validator->check($params, 'auth');
  117. if (!is_array($params)) {
  118. return showJson($params, false);
  119. }
  120. if(!MemberService::make()->auth($this->userId, $params)){
  121. return showJson(MemberService::make()->getError(),false);
  122. }else{
  123. return showJson(MemberService::make()->getError(),true);
  124. }
  125. }
  126. /**
  127. * 邀请用户记录
  128. * @return array
  129. */
  130. public function inviteList()
  131. {
  132. $params =request()->post();
  133. $pageSize = request()->post('pageSize', 15);
  134. $userId = isset($params['user_id']) && $params['user_id']>0? $params['user_id'] : $this->userId;
  135. $datas = MemberService::make()->getTeamList($userId, $params, $pageSize);
  136. return showJson(1010, true, $datas);
  137. }
  138. /**
  139. * 购买聊天服务
  140. * @return array
  141. */
  142. public function buyChat()
  143. {
  144. $params = request()->all();
  145. if(!ImChatService::make()->buyChat($this->userId, $params)){
  146. $code= ImChatService::make()->getError();
  147. return showJson($code,false,'',$code==2403? 405 : 0);
  148. }else{
  149. return showJson(ImChatService::make()->getError(),true);
  150. }
  151. }
  152. /**
  153. * 转账
  154. * @param MemberValidator $validator
  155. * @return array
  156. */
  157. public function transfer(MemberValidator $validator)
  158. {
  159. $params = request()->all();
  160. $scene = isset($params['scene'])? $params['scene'] : 'transfer';
  161. $params = $validator->check($params, $scene);
  162. if (!is_array($params)) {
  163. return showJson($params, false);
  164. }
  165. if(!MemberService::make()->transfer($this->userId, $params)){
  166. $error = MemberService::make()->getError();
  167. return showJson($error,false,'',$error==1039?401:-1);
  168. }else{
  169. return showJson(MemberService::make()->getError(),true);
  170. }
  171. }
  172. /**
  173. * 充值
  174. * @param MemberValidator $validator
  175. * @return array
  176. */
  177. public function recharge(MemberValidator $validator)
  178. {
  179. $params = request()->all();
  180. $scene = isset($params['scene'])? $params['scene'] : 'recharge';
  181. $params = $validator->check($params, $scene);
  182. if (!is_array($params)) {
  183. return showJson($params, false);
  184. }
  185. if(!$result = MemberService::make()->recharge($this->userId, $params)){
  186. $error = MemberService::make()->getError();
  187. return showJson($error,false, [],$error== 2035? 405:0);
  188. }else{
  189. return showJson(MemberService::make()->getError(),true, $result);
  190. }
  191. }
  192. /**
  193. * 提现
  194. * @param MemberValidator $validator
  195. * @return array
  196. */
  197. public function withdraw(MemberValidator $validator)
  198. {
  199. $params = request()->all();
  200. $scene = isset($params['scene'])? $params['scene'] : 'withdraw';
  201. $params = $validator->check($params, $scene);
  202. if (!is_array($params)) {
  203. return showJson($params, false);
  204. }
  205. if(!$result = MemberService::make()->withdraw($this->userId, $params)){
  206. $error = MemberService::make()->getError();
  207. return showJson($error,false,'',$error==2035?405:-1);
  208. }else{
  209. return showJson(MemberService::make()->getError(),true, $result);
  210. }
  211. }
  212. /**
  213. * 节点会员列表
  214. * @return array
  215. */
  216. public function nodes()
  217. {
  218. $params =request()->post();
  219. $pageSize = request()->post('pageSize', 6);
  220. $datas = MemberNodeService::make()->getDataList($params, $pageSize,'', $this->userId);
  221. return showJson(1010, true, $datas);
  222. }
  223. /**
  224. * 购买节点会员
  225. * @return array
  226. */
  227. public function buyNode()
  228. {
  229. $params = request()->all();
  230. if(!$result = MemberNodeService::make()->buyNode($this->userId, $params)){
  231. $error = MemberNodeService::make()->getError();
  232. return showJson($error,false,'',$error==2035?405:($error == 1040?401:-1));
  233. }else{
  234. return showJson(MemberNodeService::make()->getError(),true, $result);
  235. }
  236. }
  237. /**
  238. * 升级消费
  239. * @return array
  240. */
  241. public function upgrade()
  242. {
  243. $params = request()->all();
  244. if(!$result = MemberService::make()->upgrade($this->userId, $params)){
  245. $error = MemberService::make()->getError();
  246. return showJson($error,false,'',$error==2035?405:($error == 1040?401:-1));
  247. }else{
  248. return showJson(MemberService::make()->getError(),true, $result);
  249. }
  250. }
  251. /**
  252. * 盲盒抽奖
  253. * @return array
  254. */
  255. public function draw()
  256. {
  257. $params = request()->all();
  258. if(!$result = MemberService::make()->draw($this->userId, $params)){
  259. $error = MemberService::make()->getError();
  260. return showJson($error,false,'',$error==2035?405:($error == 1040?401:-1));
  261. }else{
  262. return showJson(MemberService::make()->getError(),true, $result);
  263. }
  264. }
  265. /**
  266. * 我的矿机
  267. * @return array
  268. */
  269. public function machine()
  270. {
  271. $params =request()->post();
  272. $pageSize = request()->post('pageSize', 15);
  273. $userId = isset($params['user_id']) && $params['user_id']>0? $params['user_id'] : $this->userId;
  274. $datas = MemberService::make()->getMechineList($userId, $params, $pageSize);
  275. return showJson(1010, true, $datas);
  276. }
  277. }