MemberController.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Helpers\Jwt;
  4. use App\Http\Validator\MemberPaymentValidator;
  5. use App\Http\Validator\MemberValidator;
  6. use App\Services\Api\MemberPaymentService;
  7. use App\Services\Api\MemberService;
  8. use App\Services\EmailService;
  9. use App\Services\RedisService;
  10. use App\Services\SmsService;
  11. /**
  12. * 会员控制器基类
  13. * Class MemberController
  14. * @package App\Http\Controllers
  15. */
  16. class MemberController extends webApp
  17. {
  18. /**
  19. * 用户详情
  20. * @return array
  21. */
  22. public function info(int $userId=0)
  23. {
  24. $this->userId = $userId? $userId : $this->userId;
  25. $userInfo = MemberService::make()->getInfo($this->userId);
  26. if($userInfo){
  27. return message(1010, true, $userInfo);
  28. }else{
  29. return message(1004, false);
  30. }
  31. }
  32. /**
  33. * 申请身份认证
  34. * @param MemberValidator $validate
  35. * @return array
  36. */
  37. public function authSubmit(MemberValidator $validate)
  38. {
  39. $params = $validate->check(request()->post(),'auth');
  40. if(!is_array($params)){
  41. return message($params, false);
  42. }
  43. if(MemberService::make()->auth($this->userId, $params)){
  44. return message(2012, true);
  45. }else{
  46. return message(2013, false);
  47. }
  48. }
  49. /**
  50. * @param MemberValidator $validate
  51. * @return array
  52. */
  53. public function modify(MemberValidator $validate)
  54. {
  55. $params = $validate->check(request()->post(),'modify');
  56. if(!is_array($params)){
  57. return message($params, false);
  58. }
  59. if($params['code'] != 123456 && !$this->checkCode($params['new_username'], $params['code'], 'modify')){
  60. return message($this->error, false);
  61. }
  62. if(MemberService::make()->modify($this->userId, $params)){
  63. return message(2012, true);
  64. }else{
  65. return message(2013, false);
  66. }
  67. }
  68. /**
  69. * 检测验证码
  70. * @param $username 账号
  71. * @param $code 验证码
  72. * @param $scene 验证场景:reg-注册,forget-找回密码
  73. * @return bool
  74. */
  75. protected function checkCode($username, $code, $scene)
  76. {
  77. $validator = new MemberValidator();
  78. if(!is_array($validator->check(['mobile'=> $username],'mobile'))){
  79. if(!EmailService::make()->check($username, $code, $scene)){
  80. $this->error = EmailService::make()->getError();
  81. return false;
  82. }
  83. return true;
  84. }else{
  85. if(!SmsService::make()->check($username, $code, $scene)){
  86. $this->error = SmsService::make()->getError();
  87. return false;
  88. }
  89. return true;
  90. }
  91. }
  92. /**
  93. * 获取收款方式
  94. * @return array
  95. */
  96. public function payment()
  97. {
  98. $type = request()->post('type', 1);
  99. $pageSize = request()->post('pageSize', 15);
  100. $list = MemberPaymentService::make()->getOptionList($this->userId, $type, $pageSize);
  101. return message(1010, true, $list);
  102. }
  103. /**
  104. * 设置收款方式状态
  105. * @return array
  106. */
  107. public function setPayment()
  108. {
  109. $id = request()->post('id', 0);
  110. $status = request()->post('status', false);
  111. if($id<=0){
  112. return message(1003, false);
  113. }
  114. if(MemberPaymentService::make()->setPayment($id, $status, $this->userId)){
  115. return message(1002, true);
  116. }else{
  117. return message(1003, false);
  118. }
  119. }
  120. /**
  121. * 删除收款方式状态
  122. * @return array
  123. */
  124. public function delPayment()
  125. {
  126. $id = request()->post('id', 0);
  127. if($id<=0){
  128. return message(1003, false);
  129. }
  130. if(MemberPaymentService::make()->delPayment($id, $this->userId)){
  131. return message(1002, true);
  132. }else{
  133. return message(1003, false);
  134. }
  135. }
  136. /**
  137. * 详情
  138. * @return array
  139. */
  140. public function paymentInfo()
  141. {
  142. $id = request()->post('id', 0);
  143. if($id<=0){
  144. return message(1009, false);
  145. }
  146. if($info = MemberPaymentService::make()->getInfo($id)){
  147. return message(1010, true, $info);
  148. }else{
  149. return message(1009, false);
  150. }
  151. }
  152. /**
  153. * 详情
  154. * @return array
  155. */
  156. public function paymentEdit(MemberPaymentValidator $validate)
  157. {
  158. $id = request()->post('id');
  159. $params = request()->post();
  160. if($id<=0){
  161. return message(1007, false);
  162. }
  163. $params = $validate->check($params,'edit');
  164. if(!is_array($params)){
  165. return message($params, false);
  166. }
  167. $params['user_id'] = $this->userId;
  168. if($info = MemberPaymentService::make()->saveData($id,$params)){
  169. return message(1008, true, $info);
  170. }else{
  171. return message(1007, false);
  172. }
  173. }
  174. /**
  175. * 详情
  176. * @return array
  177. */
  178. public function paymentAdd(MemberPaymentValidator $validate)
  179. {
  180. $params = request()->post();
  181. $params = $validate->check($params,'add');
  182. if(!is_array($params)){
  183. return message($params, false);
  184. }
  185. $params['user_id'] = $this->userId;
  186. if($info = MemberPaymentService::make()->saveData(0,$params)){
  187. return message(1002, true, $info);
  188. }else{
  189. return message(1003, false);
  190. }
  191. }
  192. }