OpenController.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680
  1. <?php
  2. namespace backend\controllers;
  3. use backend\helpers\DateTimeHelper;
  4. use backend\helpers\IdCardInfoExtractorHelper;
  5. use backend\helpers\IdcardValidatorHelper;
  6. use backend\helpers\MailHelper;
  7. use backend\helpers\PaginationHelper;
  8. use backend\helpers\RandomHelper;
  9. use backend\helpers\ValidatorHelper;
  10. use backend\models\Config;
  11. use backend\models\forms\OpenDemoForm;
  12. use backend\models\IbOpenRecord;
  13. use backend\models\Member;
  14. use backend\models\MemberBankInfo;
  15. use backend\models\Open;
  16. use backend\models\UserMember;
  17. use common\helpers\MtKit;
  18. use Yii;
  19. class OpenController extends BaseController
  20. {
  21. /**
  22. * 真实账户申请
  23. * @return \yii\web\Response
  24. */
  25. public function actionOpen()
  26. {
  27. $model = new Open();
  28. $model->setScenario('frontend');
  29. $data = Yii::$app->getRequest()->post();
  30. foreach (['type', 'in_time', 'mt4_login', 'mt4_login_pwd', 'member_id'] as $field) {
  31. unset($data[$field]);
  32. }
  33. $model->setAttributes($data);
  34. $model->type = 0;
  35. $model->in_time = DateTimeHelper::microtime_float();
  36. if ($model->save()) {
  37. return $this->outJson(1, $model->getAttributes(), 'OK');
  38. } else {
  39. return $this->outJson(0, [], $model->getErrors());
  40. }
  41. }
  42. /**
  43. * 模拟账户申请
  44. * @return \yii\web\Response
  45. */
  46. public function actionOpendemo()
  47. {
  48. $model = new OpenDemoForm();
  49. $data = Yii::$app->getRequest()->post();
  50. $model->setAttributes($data);
  51. if ($model->openDemo()) {
  52. return $this->outJson(1, ['login' => $model->getLogin(), 'password' => $model->getPassword()], 'OK');
  53. } else {
  54. return $this->outJson(0, [], $model->getErrors());
  55. }
  56. }
  57. /**
  58. * 代理商开户申请附属表记录
  59. * @return \yii\web\Response
  60. */
  61. public function actionOpenRecord()
  62. {
  63. $model = new IbOpenRecord();
  64. $data = Yii::$app->getRequest()->post();
  65. $model->setAttributes($data);
  66. $model->in_time = DateTimeHelper::microtime_float();
  67. if ($model->save()) {
  68. return $this->outJson(1, $model->getAttributes(), 'OK');
  69. } else {
  70. return $this->outJson(0, [], $model->getErrors());
  71. }
  72. }
  73. /**
  74. * 开户申请列表
  75. */
  76. public function actionGetOpenList()
  77. {
  78. $data = \Yii::$app->getRequest()->get();
  79. $data['page'] = isset($data['page']) ? max(intval($data['page']), 1) : 1;
  80. $data['pageSize'] = isset($data['pageSize']) ? intval($data['pageSize']) : 20;
  81. $data['search'] = isset($data['search']) ? trim($data['search']) : '';
  82. $data['orderBy'] = isset($data['orderBy']) ? trim($data['orderBy']) : 'id desc';
  83. $data = ValidatorHelper::validateData($data, [
  84. ['page', 'integer', 'min' => 1],
  85. ['pageSize', 'integer', 'min' => 1],
  86. ['orderBy', 'string'],
  87. ], $errors);
  88. if ($data == false) {
  89. return $this->outJson(0, '', $errors);
  90. }
  91. $query = Open::find()->orderBy($data['orderBy']);
  92. if (!empty($data['search'])) {
  93. $query->andFilterWhere([
  94. 'or',
  95. ['like', 'email', $data['search']],
  96. ['like', 'name', $data['search']],
  97. ['like', 'rid', $data['search']],
  98. ]);
  99. }
  100. $result = PaginationHelper::queryPage($query, $data['page'], $data['pageSize']);
  101. return $this->outJson(1, $result);
  102. }
  103. /**
  104. * 查看开户申请详情
  105. * @return \yii\web\Response
  106. */
  107. public function actionView()
  108. {
  109. $rs = [];
  110. $data = Yii::$app->getRequest()->get();
  111. $data['id'] = isset($data['id']) ? (int)$data['id'] : '';
  112. $data['open_type'] = isset($data['open_type']) ? (int)$data['open_type'] : '';
  113. if ($data['open_type'] == 1) {
  114. $open = Open::find()->where(['id' => $data['id']])->one();
  115. $rs['open'] = $open;
  116. if (!empty($open['member_id'])) {
  117. $member = Member::find()->where(['id' => $open['member_id']])->one();
  118. $rs['member'] = $member;
  119. }
  120. $config = Config::findOne(1);
  121. $rs['levers'] = explode(',', $config->lever);
  122. $rs['groups'] = explode(',', $config->mt4_groups);
  123. $rs['randomCode'] = RandomHelper::getRandomString(6);
  124. } else {
  125. $openQuery = Open::find()->alias('op')
  126. ->select([
  127. 'op.*',
  128. 'opr.ref_id',
  129. 'opr.bank_name',
  130. 'opr.bank_province',
  131. 'opr.bank_city',
  132. 'opr.bank_district',
  133. 'opr.bank_branch',
  134. 'opr.bank_card_no',
  135. 'opr.collect_name',
  136. 'opr.bank_swift_code'
  137. ])
  138. ->leftJoin(IbOpenRecord::tableName().' opr', 'op.id = opr.open_id')
  139. ->andWhere(['op.id' => $data['id']])
  140. ->asArray()
  141. ->one();
  142. if ($openQuery) {
  143. $openQuery['bank_name'] = $this->bankNameByBankCode($openQuery['bank_name']);
  144. }
  145. $rs['open'] = $openQuery;
  146. if (!empty($openQuery['member_id'])) {
  147. $member = Member::find()->where(['id' => $openQuery['member_id']])->one();
  148. $rs['member'] = $member;
  149. }
  150. $config = Config::findOne(1);
  151. $rs['levers'] = explode(',', $config->lever);
  152. $rs['groups'] = explode(',', $config->mt4_groups);
  153. $rs['randomCode'] = RandomHelper::getRandomString(6);
  154. }
  155. return $this->outJson(1, $rs);
  156. }
  157. /**
  158. * 删除开户申请
  159. * @return \yii\web\Response
  160. */
  161. public function actionOpenDelete()
  162. {
  163. $data = Yii::$app->getRequest()->post();
  164. $data['id'] = isset($data['id']) ? (int)$data['id'] : '';
  165. $rs = Open::deleteAll(['id' => $data['id']]);
  166. return $this->outJson(1, $rs);
  167. }
  168. /**
  169. * 审核开户申请
  170. * @return \yii\web\Response
  171. */
  172. public function actionOpenAction()
  173. {
  174. $data = Yii::$app->getRequest()->get();
  175. $data['id'] = isset($data['id']) ? (int)$data['id'] : '';
  176. $data['type'] = isset($data['type']) ? (int)$data['type'] : '';
  177. $open = Open::findOne(['id' => $data['id']]);
  178. if (empty($data['type']) || empty($data['id'])) {
  179. return $this->outJson(0, [], '参数错误');
  180. }
  181. if($open->type == 2 || $open->type == 3){
  182. return $this->outJson(0,[],'操作超时,请刷新页面重试');
  183. }
  184. $open->type = $data['type'];
  185. if ($data['type'] == 1) {
  186. $open->mt4_login_pwd = RandomHelper::getRandomStringForMt4();
  187. $open->mt4_view_pwd = RandomHelper::getRandomStringForMt4();
  188. }
  189. if ($data['type'] == 3) {
  190. $config = Config::findOne(1);
  191. $paramArray = [
  192. 'name' => $open->name,
  193. ];
  194. // 发送邮件
  195. MailHelper::sendMail("账号申请审核通知", $open->email, $paramArray, '', $config->mail_reject_apply);
  196. }
  197. $rs = $open->save();
  198. return $this->outJson(1, $rs);
  199. }
  200. /**
  201. * 开通MT4账户
  202. * @return \yii\web\Response
  203. */
  204. public function actionOpenAccount()
  205. {
  206. $data = Yii::$app->getRequest()->post();
  207. $data['login'] = isset($data['login']) ? (int)$data['login'] : '';
  208. $data['group'] = isset($data['group']) ? $data['group'] : '';
  209. $data['lever'] = isset($data['lever']) ? (int)$data['lever'] : '';
  210. $data['openId'] = isset($data['openId']) ? (int)$data['openId'] : '';
  211. $open = Open::findOne(['id' => $data['openId']]);
  212. if (!empty($open) && $open->mt4_login != null) {
  213. return $this->outJson(0, [], '已开户,请刷新页面');
  214. }
  215. if ($data['login'] == null) {
  216. $data['login'] = 0;
  217. }
  218. if (empty($data['lever'])) {
  219. return $this->outJson(0, [], '请选择杠杆');
  220. }
  221. $password = $data['mt4LoginPwd'];
  222. $passwordInvestor = $data['mt4ViewPwd'];
  223. if (empty($password)) {
  224. return $this->outJson(0, [], '请填写登录密码');
  225. }
  226. if (empty($passwordInvestor)) {
  227. return $this->outJson(0, [], '请填写观摩密码');
  228. }
  229. //如果是代理
  230. /*
  231. if ($open->open_type == 2) {
  232. $rid = $open->rid;
  233. if (!$rid) {
  234. return $this->outJson(0, [], '上级代理不能为空');
  235. }
  236. $membereInfo = Member::findByLogin($rid);
  237. if (!$membereInfo) {
  238. return $this->outJson(0, [], '上级代理不存在');
  239. }
  240. //开户组别设置跟上级一样
  241. $data['group'] = $membereInfo['group_sn'];
  242. }
  243. */
  244. $rid = $open->rid;
  245. if (!$rid) {
  246. return $this->outJson(0, [], '上级代理不能为空');
  247. }
  248. $membereInfo = Member::findByLogin($rid);
  249. if (!$membereInfo) {
  250. return $this->outJson(0, [], '上级代理不存在');
  251. }
  252. //开户组别设置跟上级一样
  253. $data['group'] = $membereInfo['group_sn'];
  254. $configData = Config::find()->asArray()->one();
  255. $mt4ManagerIp = trim($configData['mt4_manager_ip']);
  256. $mt4ManagerPort = trim($configData['mt4_manager_port']);
  257. $passwordPhone = $open->mt4_view_pwd;
  258. $email = $open->email;
  259. $phone = "";
  260. $leverage = $data['lever'];
  261. $country = "中国";
  262. $ie = new IdCardInfoExtractorHelper($open->id_card);
  263. $state = $ie->getProvince();
  264. $city = "";
  265. $address = $open->address;
  266. $zipCode = "";
  267. $id = $open->id_card;
  268. $agentAccount = 0;
  269. // $login = 0;
  270. $login = MtKit::openUser($mt4ManagerIp, $mt4ManagerPort, $data['login'], $password, $passwordInvestor, $passwordPhone, $open->name,
  271. $data['group'], $email, $phone, $leverage, $country, $state, $city, $address, $zipCode, $id, $agentAccount);
  272. if ($login != 0) {
  273. $open->mt4_login = $login;
  274. $open->mt4_login_pwd = $password;
  275. $open->mt4_view_pwd = $passwordInvestor;
  276. if ($open->save()) {
  277. return $this->outJson(1, ['id' => $open->id], '操作成功');
  278. }
  279. }
  280. return $this->outJson(0, $login, '开户失败');
  281. }
  282. /**
  283. * 加入xtrader账户
  284. * @return \yii\web\Response
  285. */
  286. public function actionOpenMember()
  287. {
  288. $request = \Yii::$app->getRequest()->post();
  289. $openId = isset($request['openId']) ? (int)$request['openId'] : '';
  290. $username = isset($request['username']) ? $request['username'] : '';
  291. $password = isset($request['password']) ? $request['password'] : '';
  292. $name = isset($request['name']) ? $request['name'] : '';
  293. $idNo = isset($request['idNo']) ? $request['idNo'] : '';
  294. $isSendMail = isset($request['isSendMail']) ? $request['isSendMail'] : '';
  295. $isSendSms = isset($request['isSendSms']) ? $request['isSendSms'] : '';
  296. $address = isset($request['address']) ? $request['address'] : '';
  297. $groupSn = isset($request['group_sn']) ? $request['group_sn'] : '';
  298. $open = Open::findOne(['id' => $openId]);
  299. if (empty($username) || empty($password) || empty($name) || empty($idNo)) {
  300. return $this->outJson(0, [], '请填写完整表单');
  301. }
  302. if (!(new IdcardValidatorHelper())->checkIdCard($idNo)) {
  303. // return $this->outJson(0, [], '身份证号码格式错误');
  304. }
  305. $rid = $open->rid;
  306. if ($rid) {
  307. $membereInfo = Member::findByLogin($rid);
  308. if (!$membereInfo) {
  309. return $this->outJson(0, [], '上级代理不存在');
  310. }
  311. }
  312. $member = new Member();
  313. $m = $member->findByUserName($username, null);
  314. if ($m != null) {
  315. return $this->outJson(0, [], '邮箱已经存在');
  316. }
  317. $member->type = 1;
  318. $member->logins = (string)$open->mt4_login;
  319. $member->username = strtolower($username);
  320. $member->password = md5($password);
  321. $member->name = $name;
  322. $member->id_no = $idNo;
  323. $ie = new IdCardInfoExtractorHelper($idNo);
  324. $member->birthday = $ie->getBirthday();
  325. $member->group_sn = ($groupSn) ? $groupSn : $membereInfo['group_sn'];
  326. if (($ie->getGender()) == "男") {
  327. $member->gender = 1;
  328. } else {
  329. $member->gender = 2;
  330. }
  331. if (empty($address)) {
  332. $member->address = $ie->getProvince();
  333. } else {
  334. $member->address = $address;
  335. }
  336. $member->in_time = DateTimeHelper::microtime_float();
  337. //开启事务
  338. $tr = Member::getDb()->beginTransaction();
  339. try {
  340. if (!$member->save()) {
  341. throw new \Exception($member->getErrors());
  342. }
  343. //更新开户信息
  344. $ret = Open::updateAll(['member_id' =>$member->id, 'type' => 2 ], "id={$open->id}");
  345. if(!$ret) {
  346. throw new \Exception($open->getErrors());
  347. }
  348. //保存直客信息
  349. if ($rid) {
  350. $membereInfo = Member::findByLogin($rid);
  351. $userMebere = new UserMember();
  352. $userMebere->login = $open->mt4_login;
  353. $userMebere->member_id = $membereInfo['id'];
  354. $userMebere->name = $membereInfo['name'];
  355. $userMebere->in_time = DateTimeHelper::microtime_float();
  356. if (!$userMebere->save()) {
  357. throw new \Exception($userMebere->getErrors());
  358. }
  359. }
  360. //提交事务
  361. $tr->commit();
  362. } catch (\Exception $e) {
  363. //回滚
  364. $tr->rollBack();
  365. return $this->outJson(0, [], $e->getMessage());
  366. }
  367. $config = Config::findOne(1);
  368. if (!empty($isSendMail)) {
  369. $paramArray = [
  370. 'email' => $username,
  371. 'name' => $name,
  372. 'mt4Login' => $open->mt4_login,
  373. 'mt4LoginPwd' => $open->mt4_login_pwd,
  374. 'mt4ViewPwd' => $open->mt4_view_pwd,
  375. 'xTradePwd' => $password,
  376. ];
  377. // 发送邮件
  378. MailHelper::sendMail("恭喜您,您的账户已成功开通", $username, $paramArray, '', $config->mail_open);
  379. }
  380. return $this->outJson(1, $member, '操作成功');
  381. }
  382. /**
  383. * 加入xbroker账户
  384. * @return \yii\web\Response
  385. */
  386. public function actionOpenIbMember()
  387. {
  388. $request = \Yii::$app->getRequest()->post();
  389. $openId = isset($request['openId']) ? (int)$request['openId'] : '';
  390. $ibOldLoginName = isset($request['ib_old_login_name']) ? $request['ib_old_login_name'] : '';
  391. $logins = isset($request['logins']) ? $request['logins'] : '';
  392. $username = isset($request['username']) ? $request['username'] : '';
  393. $password = isset($request['password']) ? $request['password'] : '';
  394. $name = isset($request['name']) ? $request['name'] : '';
  395. $idNo = isset($request['idNo']) ? $request['idNo'] : '';
  396. $ref_id = isset($request['ref_id']) ? $request['ref_id'] : '';
  397. $address = isset($request['address']) ? $request['address'] : '';
  398. $bankName = isset($request['bank_name']) ? $request['bank_name'] : '';
  399. $bankProvince = isset($request['bank_province']) ? $request['bank_province'] : '';
  400. $bankCity = isset($request['bank_city']) ? $request['bank_city'] : '';
  401. $bankDistrict = isset($request['bank_district']) ? $request['bank_district'] : '';
  402. $bankBranch = isset($request['bank_branch']) ? $request['bank_branch'] : '';
  403. $bankCardNo = isset($request['bank_card_no']) ? $request['bank_card_no'] : '';
  404. $collectName = isset($request['collect_name']) ? $request['collect_name'] : '';
  405. $bankSwiftCode = isset($request['bank_swift_code']) ? $request['bank_swift_code'] : '';
  406. $isSendMail = isset($request['isSendMail']) ? $request['isSendMail'] : '';
  407. $groupSn = isset($request['group_sn']) ? $request['group_sn'] : '';
  408. $open = Open::findOne(['id' => $openId]);
  409. if (empty($logins) || empty($ibOldLoginName) || empty($username) || empty($password) || empty($name) || empty($idNo) || empty($ref_id)) {
  410. return $this->outJson(0, [], '请填写完整表单');
  411. }
  412. if (!(new IdcardValidatorHelper())->checkIdCard($idNo)) {
  413. //return $this->outJson(0, [], '身份证号码格式错误');
  414. }
  415. $member = new Member();
  416. $m = $member->findByUserName($username, null);
  417. if ($m != null) {
  418. return $this->outJson(0, [], '邮箱已经存在');
  419. }
  420. $ref = Member::find()->where(['id' => $ref_id])->limit(1)->asArray()->one();
  421. $member->type = 2;
  422. $member->logins = (string)$logins;
  423. $member->username = strtolower($username);
  424. $member->password = md5($password);
  425. $member->name = $name;
  426. $member->id_no = $idNo;
  427. $member->ref_id = $ref_id;
  428. $member->ref_path = $ref['ref_path'] . $ref_id . ',';
  429. $member->ib_old_login_name = $ibOldLoginName;
  430. $ie = new IdCardInfoExtractorHelper($idNo);
  431. $member->birthday = $ie->getBirthday();
  432. $member->group_sn = ($groupSn) ? $groupSn : $ref['group_sn'];
  433. if (($ie->getGender()) == "男") {
  434. $member->gender = 1;
  435. } else {
  436. $member->gender = 2;
  437. }
  438. if (empty($address)) {
  439. $member->address = $ie->getProvince();
  440. } else {
  441. $member->address = $address;
  442. }
  443. $member->in_time = DateTimeHelper::microtime_float();
  444. //开启事务
  445. $tr = Member::getDb()->beginTransaction();
  446. try {
  447. if (!$member->save()){
  448. throw new \Exception($member->getErrors());
  449. }
  450. //更新开户信息
  451. $ret = Open::updateAll(['member_id' =>$member->id, 'type' => 2 ], "id={$open->id}");
  452. if(!$ret) {
  453. throw new \Exception($open->getErrors());
  454. }
  455. //保存代理信息
  456. if ($open->rid) {
  457. $membereInfo = Member::findByLogin($open->rid);
  458. $userMebere = new UserMember();
  459. $userMebere->login = $open->mt4_login;
  460. $userMebere->member_id = $membereInfo['id'];
  461. $userMebere->name = $membereInfo['name'];
  462. $userMebere->in_time = DateTimeHelper::microtime_float();
  463. if (!$userMebere->save()) {
  464. throw new \Exception($userMebere->getErrors());
  465. }
  466. }
  467. // 代理商-member-银行卡信息
  468. if ($bankName && $bankBranch && $collectName) {
  469. $memberBank = new MemberBankInfo();
  470. $memberBank->member_id = 82950;
  471. $memberBank->is_enable = 1;
  472. $memberBank->bank_name = $bankName;
  473. $memberBank->bank_branch = $bankBranch;
  474. $memberBank->bank_swift_code = $bankSwiftCode;
  475. $memberBank->bank_card_no = $bankCardNo;
  476. $memberBank->bank_province = $bankProvince;
  477. $memberBank->bank_city = $bankCity;
  478. $memberBank->bank_district = $bankDistrict;
  479. $memberBank->name = $collectName;
  480. $memberBank->create_time = DateTimeHelper::microtime_float();
  481. if (!$memberBank->save()) {
  482. throw new \Exception($memberBank->getErrors());
  483. }
  484. }
  485. //提交事务
  486. $tr->commit();
  487. } catch (\Exception $e) {
  488. //回滚
  489. $tr->rollBack();
  490. return $this->outJson(0, [], $e->getMessage());
  491. }
  492. $config = Config::findOne(1);
  493. if (!empty($isSendMail)) {
  494. $paramArray = [
  495. 'email' => $username,
  496. 'name' => $name,
  497. 'mt4Login' => $open->mt4_login,
  498. 'mt4LoginPwd' => $open->mt4_login_pwd,
  499. 'mt4ViewPwd' => $open->mt4_view_pwd,
  500. 'xBrokerPwd' => $password,
  501. 'login' => $logins,
  502. 'id' => $member->id,
  503. ];
  504. // 发送邮件
  505. MailHelper::sendMail("代理商".$name." X Broker后台开设成功通知", $username, $paramArray, '', $config->mail_ib_open);
  506. }
  507. return $this->outJson(1, $member, '操作成功');
  508. }
  509. public function actionUpdateOpen()
  510. {
  511. $request = \Yii::$app->getRequest()->post();
  512. $openId = isset($request['openId']) ? (int)$request['openId'] : '';
  513. $login = $request['login'] ? (int)$request['login'] : null;
  514. $mt4LoginPwd = isset($request['mt4LoginPwd']) ? $request['mt4LoginPwd'] : '';
  515. $mt4ViewPwd = isset($request['mt4ViewPwd']) ? $request['mt4ViewPwd'] : '';
  516. $open = Open::findOne(['id' => $openId]);
  517. if ($open->mt4_login != null) {
  518. return $this->outJson(0, [], '已开户,请刷新当前页');
  519. }
  520. $open->mt4_login = $login;
  521. $open->mt4_login_pwd = $mt4LoginPwd;
  522. $open->mt4_view_pwd = $mt4ViewPwd;
  523. $open->save();
  524. $this->outJson(1, ['id' => $openId], '提交成功');
  525. }
  526. /**
  527. * 银行code和银行名称的对应
  528. * @param $bank_code
  529. * @return string
  530. */
  531. protected function bankNameByBankCode($bank_code)
  532. {
  533. $bank_name = '';
  534. switch ($bank_code) {
  535. case '102':
  536. $bank_name = '工商银行';
  537. break;
  538. case '103':
  539. $bank_name = '农业银行';
  540. break;
  541. case '104':
  542. $bank_name = '中国银行';
  543. break;
  544. case '105':
  545. $bank_name = '建设银行';
  546. break;
  547. case '308':
  548. $bank_name = '招商银行';
  549. break;
  550. case '301':
  551. $bank_name = '交通银行';
  552. break;
  553. case '305':
  554. $bank_name = '民生银行';
  555. break;
  556. case '302':
  557. $bank_name = '中信银行';
  558. break;
  559. case '303':
  560. $bank_name = '光大银行';
  561. break;
  562. case '309':
  563. $bank_name = '兴业银行';
  564. break;
  565. case '4031000':
  566. $bank_name = '北京银行';
  567. break;
  568. case '306':
  569. $bank_name = '广发银行';
  570. break;
  571. case '304':
  572. $bank_name = '华夏银行';
  573. break;
  574. case '403':
  575. $bank_name = '邮储银行';
  576. break;
  577. case '310':
  578. $bank_name = '浦发银行';
  579. break;
  580. case '4105840':
  581. $bank_name = '平安银行';
  582. break;
  583. case '4012900':
  584. $bank_name = '上海银行';
  585. break;
  586. case '4233310':
  587. $bank_name = '杭州银行';
  588. break;
  589. case '316':
  590. $bank_name = '浙商银行';
  591. break;
  592. case '4504520':
  593. $bank_name = '青岛银行';
  594. break;
  595. case '4083320':
  596. $bank_name = '宁波银行';
  597. break;
  598. case '4341100':
  599. $bank_name = '天津银行';
  600. break;
  601. case '4478210':
  602. $bank_name = '兰州银行';
  603. break;
  604. case '4243010':
  605. $bank_name = '南京银行';
  606. break;
  607. case '4296510':
  608. $bank_name = '成都银行';
  609. break;
  610. case '322':
  611. $bank_name = '上海农商银行';
  612. break;
  613. case '4021000':
  614. $bank_name = '北京农村商业银行';
  615. break;
  616. }
  617. return $bank_name;
  618. }
  619. }