MemberController.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Validator\MemberPaymentValidator;
  4. use App\Http\Validator\MemberValidator;
  5. use App\Services\Api\MemberPaymentService;
  6. use App\Services\Api\MemberService;
  7. use App\Services\Common\ActionLogService;
  8. use App\Services\EmailService;
  9. use App\Services\SmsService;
  10. /**
  11. * 会员控制器基类
  12. * Class MemberController
  13. * @package App\Http\Controllers
  14. */
  15. class MemberController extends webApp
  16. {
  17. /**
  18. * 用户详情
  19. * @return array
  20. */
  21. public function info(int $userId=0)
  22. {
  23. $this->userId = $userId? $userId : $this->userId;
  24. $userInfo = MemberService::make()->getInfo($this->userId);
  25. if($userInfo){
  26. return message(1010, true, $userInfo);
  27. }else{
  28. return message(1004, false);
  29. }
  30. }
  31. /**
  32. * 申请身份认证
  33. * @param MemberValidator $validate
  34. * @return array
  35. */
  36. public function authSubmit(MemberValidator $validate)
  37. {
  38. $params = $validate->check(request()->post(),'auth');
  39. if(!is_array($params)){
  40. return message($params, false);
  41. }
  42. if(MemberService::make()->auth($this->userId, $params)){
  43. return message(2012, true);
  44. }else{
  45. return message(2013, false);
  46. }
  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 MemberValidator $validate
  71. * @return array
  72. */
  73. public function updatePassword(MemberValidator $validate)
  74. {
  75. $params = $validate->check(request()->post(),'password');
  76. if(!is_array($params)){
  77. return message($params, false);
  78. }
  79. if($params['code'] != 123456 && !$this->checkCode($params['username'], $params['code'], 'password')){
  80. return message($this->error, false);
  81. }
  82. if(MemberService::make()->updatePassword($this->userId, $params)){
  83. return message(MemberService::make()->getError(), true);
  84. }else{
  85. return message(MemberService::make()->getError(), false);
  86. }
  87. }
  88. /**
  89. * 设置修改交易密码
  90. * @param MemberValidator $validate
  91. * @return array
  92. */
  93. public function updateTradePassword(MemberValidator $validate)
  94. {
  95. $params = $validate->check(request()->post(),'tradePassword');
  96. if(!is_array($params)){
  97. return message($params, false);
  98. }
  99. if($params['code'] != 123456 && !$this->checkCode($params['username'], $params['code'], 'tradepwd')){
  100. return message($this->error, false);
  101. }
  102. if(MemberService::make()->updateTradePassword($this->userId, $params)){
  103. return message(MemberService::make()->getError(), true);
  104. }else{
  105. return message(MemberService::make()->getError(), false);
  106. }
  107. }
  108. /**
  109. * 检测验证码
  110. * @param $username 账号
  111. * @param $code 验证码
  112. * @param $scene 验证场景:reg-注册,forget-找回密码
  113. * @return bool
  114. */
  115. protected function checkCode($username, $code, $scene)
  116. {
  117. $validator = new MemberValidator();
  118. if(!is_array($validator->check(['mobile'=> $username],'mobile'))){
  119. if(!EmailService::make()->check($username, $code, $scene)){
  120. $this->error = EmailService::make()->getError();
  121. return false;
  122. }
  123. return true;
  124. }else{
  125. if(!SmsService::make()->check($username, $code, $scene)){
  126. $this->error = SmsService::make()->getError();
  127. return false;
  128. }
  129. return true;
  130. }
  131. }
  132. /**
  133. * 获取收款方式
  134. * @return array
  135. */
  136. public function payment()
  137. {
  138. $type = request()->post('type', 1);
  139. $pageSize = request()->post('pageSize', 15);
  140. $list = MemberPaymentService::make()->getOptionList($this->userId, $type, $pageSize);
  141. return message(1010, true, $list);
  142. }
  143. /**
  144. * 设置收款方式状态
  145. * @return array
  146. */
  147. public function setPayment()
  148. {
  149. $id = request()->post('id', 0);
  150. $status = request()->post('status', false);
  151. if($id<=0){
  152. return message(1003, false);
  153. }
  154. if(MemberPaymentService::make()->setPayment($id, $status, $this->userId)){
  155. return message(1002, true);
  156. }else{
  157. return message(1003, false);
  158. }
  159. }
  160. /**
  161. * 删除收款方式状态
  162. * @return array
  163. */
  164. public function delPayment()
  165. {
  166. $id = request()->post('id', 0);
  167. if($id<=0){
  168. return message(1003, false);
  169. }
  170. if(MemberPaymentService::make()->delPayment($id, $this->userId)){
  171. return message(1002, true);
  172. }else{
  173. return message(1003, false);
  174. }
  175. }
  176. /**
  177. * 详情
  178. * @return array
  179. */
  180. public function paymentInfo()
  181. {
  182. $id = request()->post('id', 0);
  183. if($id<=0){
  184. return message(1009, false);
  185. }
  186. if($info = MemberPaymentService::make()->getInfo($id)){
  187. return message(1010, true, $info);
  188. }else{
  189. return message(1009, false);
  190. }
  191. }
  192. /**
  193. * 详情
  194. * @return array
  195. */
  196. public function paymentEdit(MemberPaymentValidator $validate)
  197. {
  198. $id = request()->post('id');
  199. $params = request()->post();
  200. if($id<=0){
  201. return message(1007, false);
  202. }
  203. $params = $validate->check($params,'edit');
  204. if(!is_array($params)){
  205. return message($params, false);
  206. }
  207. $params['user_id'] = $this->userId;
  208. if($info = MemberPaymentService::make()->saveData($id,$params)){
  209. return message(1008, true, $info);
  210. }else{
  211. return message(1007, false);
  212. }
  213. }
  214. /**
  215. * 详情
  216. * @return array
  217. */
  218. public function paymentAdd(MemberPaymentValidator $validate)
  219. {
  220. $params = request()->post();
  221. $params = $validate->check($params,'add');
  222. if(!is_array($params)){
  223. return message($params, false);
  224. }
  225. $params['user_id'] = $this->userId;
  226. if($info = MemberPaymentService::make()->saveData(0,$params)){
  227. return message(1002, true, $info);
  228. }else{
  229. return message(1003, false);
  230. }
  231. }
  232. /**
  233. * 常用设备
  234. * @return array
  235. */
  236. public function devices()
  237. {
  238. $datas = ActionLogService::make()->getDevices($this->userInfo['username']);
  239. return message(1002, true, $datas);
  240. }
  241. }