OpenController.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678
  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. $open->type = $data['type'];
  182. if ($data['type'] == 1) {
  183. $open->mt4_login_pwd = RandomHelper::getRandomStringForMt4();
  184. $open->mt4_view_pwd = RandomHelper::getRandomStringForMt4();
  185. }
  186. if ($data['type'] == 3) {
  187. $config = Config::findOne(1);
  188. $paramArray = [
  189. 'name' => $open->name,
  190. ];
  191. // 发送邮件
  192. MailHelper::sendMail("账号申请审核通知", $open->email, $paramArray, '', $config->mail_reject_apply);
  193. }
  194. $rs = $open->save();
  195. return $this->outJson(1, $rs);
  196. }
  197. /**
  198. * 开通MT4账户
  199. * @return \yii\web\Response
  200. */
  201. public function actionOpenAccount()
  202. {
  203. $data = Yii::$app->getRequest()->post();
  204. $data['login'] = isset($data['login']) ? (int)$data['login'] : '';
  205. $data['group'] = isset($data['group']) ? $data['group'] : '';
  206. $data['lever'] = isset($data['lever']) ? (int)$data['lever'] : '';
  207. $data['openId'] = isset($data['openId']) ? (int)$data['openId'] : '';
  208. $open = Open::findOne(['id' => $data['openId']]);
  209. if (!empty($open) && $open->mt4_login != null) {
  210. return $this->outJson(0, [], '已开户,请刷新页面');
  211. }
  212. if ($data['login'] == null) {
  213. $data['login'] = 0;
  214. }
  215. if (empty($data['lever'])) {
  216. return $this->outJson(0, [], '请选择杠杆');
  217. }
  218. $password = $data['mt4LoginPwd'];
  219. $passwordInvestor = $data['mt4ViewPwd'];
  220. if (empty($password)) {
  221. return $this->outJson(0, [], '请填写登录密码');
  222. }
  223. if (empty($passwordInvestor)) {
  224. return $this->outJson(0, [], '请填写观摩密码');
  225. }
  226. //如果是代理
  227. /*
  228. if ($open->open_type == 2) {
  229. $rid = $open->rid;
  230. if (!$rid) {
  231. return $this->outJson(0, [], '上级代理不能为空');
  232. }
  233. $membereInfo = Member::findByLogin($rid);
  234. if (!$membereInfo) {
  235. return $this->outJson(0, [], '上级代理不存在');
  236. }
  237. //开户组别设置跟上级一样
  238. $data['group'] = $membereInfo['group_sn'];
  239. }
  240. */
  241. $rid = $open->rid;
  242. if (!$rid) {
  243. return $this->outJson(0, [], '上级代理不能为空');
  244. }
  245. $membereInfo = Member::findByLogin($rid);
  246. if (!$membereInfo) {
  247. return $this->outJson(0, [], '上级代理不存在');
  248. }
  249. //开户组别设置跟上级一样
  250. $data['group'] = $membereInfo['group_sn'];
  251. $configData = Config::find()->asArray()->one();
  252. $mt4ManagerIp = trim($configData['mt4_manager_ip']);
  253. $mt4ManagerPort = trim($configData['mt4_manager_port']);
  254. $passwordPhone = $open->mt4_view_pwd;
  255. $email = $open->email;
  256. $phone = "";
  257. $leverage = $data['lever'];
  258. $country = "中国";
  259. $ie = new IdCardInfoExtractorHelper($open->id_card);
  260. $state = $ie->getProvince();
  261. $city = "";
  262. $address = $open->address;
  263. $zipCode = "";
  264. $id = $open->id_card;
  265. $agentAccount = 0;
  266. // $login = 0;
  267. $login = MtKit::openUser($mt4ManagerIp, $mt4ManagerPort, $data['login'], $password, $passwordInvestor, $passwordPhone, $open->name,
  268. $data['group'], $email, $phone, $leverage, $country, $state, $city, $address, $zipCode, $id, $agentAccount);
  269. if ($login != 0) {
  270. $open->mt4_login = $login;
  271. $open->mt4_login_pwd = $password;
  272. $open->mt4_view_pwd = $passwordInvestor;
  273. if ($open->save()) {
  274. return $this->outJson(1, ['id' => $open->id], '操作成功');
  275. }
  276. }
  277. return $this->outJson(0, $login, '开户失败');
  278. }
  279. /**
  280. * 加入xtrader账户
  281. * @return \yii\web\Response
  282. */
  283. public function actionOpenMember()
  284. {
  285. $request = \Yii::$app->getRequest()->post();
  286. $openId = isset($request['openId']) ? (int)$request['openId'] : '';
  287. $username = isset($request['username']) ? $request['username'] : '';
  288. $password = isset($request['password']) ? $request['password'] : '';
  289. $name = isset($request['name']) ? $request['name'] : '';
  290. $idNo = isset($request['idNo']) ? $request['idNo'] : '';
  291. $isSendMail = isset($request['isSendMail']) ? $request['isSendMail'] : '';
  292. $isSendSms = isset($request['isSendSms']) ? $request['isSendSms'] : '';
  293. $address = isset($request['address']) ? $request['address'] : '';
  294. $groupSn = isset($request['group_sn']) ? $request['group_sn'] : '';
  295. $open = Open::findOne(['id' => $openId]);
  296. if (empty($username) || empty($password) || empty($name) || empty($idNo)) {
  297. return $this->outJson(0, [], '请填写完整表单');
  298. }
  299. if (!(new IdcardValidatorHelper())->checkIdCard($idNo)) {
  300. return $this->outJson(0, [], '身份证号码格式错误');
  301. }
  302. $rid = $open->rid;
  303. if ($rid) {
  304. $membereInfo = Member::findByLogin($rid);
  305. if (!$membereInfo) {
  306. return $this->outJson(0, [], '上级代理不存在');
  307. }
  308. }
  309. $member = new Member();
  310. $m = $member->findByUserName($username, null);
  311. if ($m != null) {
  312. return $this->outJson(0, [], '邮箱已经存在');
  313. }
  314. $member->type = 1;
  315. $member->logins = (string)$open->mt4_login;
  316. $member->username = strtolower($username);
  317. $member->password = md5($password);
  318. $member->name = $name;
  319. $member->id_no = $idNo;
  320. $ie = new IdCardInfoExtractorHelper($idNo);
  321. $member->birthday = $ie->getBirthday();
  322. $member->group_sn = ($groupSn) ? $groupSn : $membereInfo['group_sn'];
  323. if (($ie->getGender()) == "男") {
  324. $member->gender = 1;
  325. } else {
  326. $member->gender = 2;
  327. }
  328. if (empty($address)) {
  329. $member->address = $ie->getProvince();
  330. } else {
  331. $member->address = $address;
  332. }
  333. $member->in_time = DateTimeHelper::microtime_float();
  334. //开启事务
  335. $tr = Member::getDb()->beginTransaction();
  336. try {
  337. if (!$member->save()) {
  338. throw new \Exception($member->getErrors());
  339. }
  340. //更新开户信息
  341. $ret = Open::updateAll(['member_id' =>$member->id, 'type' => 2 ], "id={$open->id}");
  342. if(!$ret) {
  343. throw new \Exception($open->getErrors());
  344. }
  345. //保存直客信息
  346. if ($rid) {
  347. $membereInfo = Member::findByLogin($rid);
  348. $userMebere = new UserMember();
  349. $userMebere->login = $open->mt4_login;
  350. $userMebere->member_id = $membereInfo['id'];
  351. $userMebere->name = $membereInfo['name'];
  352. $userMebere->in_time = DateTimeHelper::microtime_float();
  353. if (!$userMebere->save()) {
  354. throw new \Exception($userMebere->getErrors());
  355. }
  356. }
  357. //提交事务
  358. $tr->commit();
  359. } catch (\Exception $e) {
  360. //回滚
  361. $tr->rollBack();
  362. return $this->outJson(0, [], $e->getMessage());
  363. }
  364. $config = Config::findOne(1);
  365. if (!empty($isSendMail)) {
  366. $paramArray = [
  367. 'email' => $username,
  368. 'name' => $name,
  369. 'mt4Login' => $open->mt4_login,
  370. 'mt4LoginPwd' => $open->mt4_login_pwd,
  371. 'mt4ViewPwd' => $open->mt4_view_pwd,
  372. 'xTradePwd' => $password,
  373. ];
  374. // 发送邮件
  375. MailHelper::sendMail("恭喜您,您的账户已成功开通", $username, $paramArray, '', $config->mail_open);
  376. }
  377. return $this->outJson(1, $member, '操作成功');
  378. }
  379. /**
  380. * 加入xbroker账户
  381. * @return \yii\web\Response
  382. */
  383. public function actionOpenIbMember()
  384. {
  385. $request = \Yii::$app->getRequest()->post();
  386. $openId = isset($request['openId']) ? (int)$request['openId'] : '';
  387. $ibOldLoginName = isset($request['ib_old_login_name']) ? $request['ib_old_login_name'] : '';
  388. $logins = isset($request['logins']) ? $request['logins'] : '';
  389. $username = isset($request['username']) ? $request['username'] : '';
  390. $password = isset($request['password']) ? $request['password'] : '';
  391. $name = isset($request['name']) ? $request['name'] : '';
  392. $idNo = isset($request['idNo']) ? $request['idNo'] : '';
  393. $ref_id = isset($request['ref_id']) ? $request['ref_id'] : '';
  394. $address = isset($request['address']) ? $request['address'] : '';
  395. $bankName = isset($request['bank_name']) ? $request['bank_name'] : '';
  396. $bankProvince = isset($request['bank_province']) ? $request['bank_province'] : '';
  397. $bankCity = isset($request['bank_city']) ? $request['bank_city'] : '';
  398. $bankDistrict = isset($request['bank_district']) ? $request['bank_district'] : '';
  399. $bankBranch = isset($request['bank_branch']) ? $request['bank_branch'] : '';
  400. $bankCardNo = isset($request['bank_card_no']) ? $request['bank_card_no'] : '';
  401. $collectName = isset($request['collect_name']) ? $request['collect_name'] : '';
  402. $bankSwiftCode = isset($request['bank_swift_code']) ? $request['bank_swift_code'] : '';
  403. $isSendMail = isset($request['isSendMail']) ? $request['isSendMail'] : '';
  404. $groupSn = isset($request['group_sn']) ? $request['group_sn'] : '';
  405. $open = Open::findOne(['id' => $openId]);
  406. if (empty($logins) || empty($ibOldLoginName) || empty($username) || empty($password) || empty($name) || empty($idNo) || empty($ref_id)) {
  407. return $this->outJson(0, [], '请填写完整表单');
  408. }
  409. if (!(new IdcardValidatorHelper())->checkIdCard($idNo)) {
  410. return $this->outJson(0, [], '身份证号码格式错误');
  411. }
  412. $member = new Member();
  413. $m = $member->findByUserName($username, null);
  414. if ($m != null) {
  415. return $this->outJson(0, [], '邮箱已经存在');
  416. }
  417. $ref = Member::find()->where(['id' => $ref_id])->limit(1)->asArray()->one();
  418. $member->type = 2;
  419. $member->logins = (string)$logins;
  420. $member->username = strtolower($username);
  421. $member->password = md5($password);
  422. $member->name = $name;
  423. $member->id_no = $idNo;
  424. $member->ref_id = $ref_id;
  425. $member->ref_path = $ref['ref_path'] . $ref_id . ',';
  426. $member->ib_old_login_name = $ibOldLoginName;
  427. $ie = new IdCardInfoExtractorHelper($idNo);
  428. $member->birthday = $ie->getBirthday();
  429. $member->group_sn = ($groupSn) ? $groupSn : $ref['group_sn'];
  430. if (($ie->getGender()) == "男") {
  431. $member->gender = 1;
  432. } else {
  433. $member->gender = 2;
  434. }
  435. if (empty($address)) {
  436. $member->address = $ie->getProvince();
  437. } else {
  438. $member->address = $address;
  439. }
  440. $member->in_time = DateTimeHelper::microtime_float();
  441. //开启事务
  442. $tr = Member::getDb()->beginTransaction();
  443. try {
  444. if (!$member->save()){
  445. throw new \Exception($member->getErrors());
  446. }
  447. //更新开户信息
  448. $ret = Open::updateAll(['member_id' =>$member->id, 'type' => 2 ], "id={$open->id}");
  449. if(!$ret) {
  450. throw new \Exception($open->getErrors());
  451. }
  452. //保存代理信息
  453. if ($open->rid) {
  454. $membereInfo = Member::findByLogin($open->rid);
  455. $userMebere = new UserMember();
  456. $userMebere->login = $open->mt4_login;
  457. $userMebere->member_id = $membereInfo['id'];
  458. $userMebere->name = $membereInfo['name'];
  459. $userMebere->in_time = DateTimeHelper::microtime_float();
  460. if (!$userMebere->save()) {
  461. throw new \Exception($userMebere->getErrors());
  462. }
  463. }
  464. // 代理商-member-银行卡信息
  465. if ($bankName && $bankBranch && $collectName) {
  466. $memberBank = new MemberBankInfo();
  467. $memberBank->member_id = 82950;
  468. $memberBank->is_enable = 1;
  469. $memberBank->bank_name = $bankName;
  470. $memberBank->bank_branch = $bankBranch;
  471. $memberBank->bank_swift_code = $bankSwiftCode;
  472. $memberBank->bank_card_no = $bankCardNo;
  473. $memberBank->bank_province = $bankProvince;
  474. $memberBank->bank_city = $bankCity;
  475. $memberBank->bank_district = $bankDistrict;
  476. $memberBank->name = $collectName;
  477. $memberBank->create_time = DateTimeHelper::microtime_float();
  478. if (!$memberBank->save()) {
  479. throw new \Exception($memberBank->getErrors());
  480. }
  481. }
  482. //提交事务
  483. $tr->commit();
  484. } catch (\Exception $e) {
  485. //回滚
  486. $tr->rollBack();
  487. return $this->outJson(0, [], $e->getMessage());
  488. }
  489. $config = Config::findOne(1);
  490. if (!empty($isSendMail)) {
  491. $paramArray = [
  492. 'email' => $username,
  493. 'name' => $name,
  494. 'mt4Login' => $open->mt4_login,
  495. 'mt4LoginPwd' => $open->mt4_login_pwd,
  496. 'mt4ViewPwd' => $open->mt4_view_pwd,
  497. 'xBrokerPwd' => $password,
  498. 'login' => $logins,
  499. 'id' => $member->id,
  500. ];
  501. // 发送邮件
  502. MailHelper::sendMail("代理商".$name." X Broker后台开设成功通知", $username, $paramArray, '', $config->mail_ib_open);
  503. }
  504. return $this->outJson(1, $member, '操作成功');
  505. }
  506. public function actionUpdateOpen()
  507. {
  508. $request = \Yii::$app->getRequest()->post();
  509. $openId = isset($request['openId']) ? (int)$request['openId'] : '';
  510. $login = $request['login'] ? (int)$request['login'] : null;
  511. $mt4LoginPwd = isset($request['mt4LoginPwd']) ? $request['mt4LoginPwd'] : '';
  512. $mt4ViewPwd = isset($request['mt4ViewPwd']) ? $request['mt4ViewPwd'] : '';
  513. $open = Open::findOne(['id' => $openId]);
  514. if ($open->mt4_login != null) {
  515. return $this->outJson(0, [], '已开户,请刷新当前页');
  516. }
  517. $open->mt4_login = $login;
  518. $open->mt4_login_pwd = $mt4LoginPwd;
  519. $open->mt4_view_pwd = $mt4ViewPwd;
  520. $open->save();
  521. $this->outJson(1, ['id' => $openId], '提交成功');
  522. }
  523. /**
  524. * 银行code和银行名称的对应
  525. * @param $bank_code
  526. * @return string
  527. */
  528. protected function bankNameByBankCode($bank_code)
  529. {
  530. $bank_name = '';
  531. switch ($bank_code) {
  532. case '102':
  533. $bank_name = '工商银行';
  534. break;
  535. case '103':
  536. $bank_name = '农业银行';
  537. break;
  538. case '104':
  539. $bank_name = '中国银行';
  540. break;
  541. case '105':
  542. $bank_name = '建设银行';
  543. break;
  544. case '308':
  545. $bank_name = '招商银行';
  546. break;
  547. case '301':
  548. $bank_name = '交通银行';
  549. break;
  550. case '305':
  551. $bank_name = '民生银行';
  552. break;
  553. case '302':
  554. $bank_name = '中信银行';
  555. break;
  556. case '303':
  557. $bank_name = '光大银行';
  558. break;
  559. case '309':
  560. $bank_name = '兴业银行';
  561. break;
  562. case '4031000':
  563. $bank_name = '北京银行';
  564. break;
  565. case '306':
  566. $bank_name = '广发银行';
  567. break;
  568. case '304':
  569. $bank_name = '华夏银行';
  570. break;
  571. case '403':
  572. $bank_name = '邮储银行';
  573. break;
  574. case '310':
  575. $bank_name = '浦发银行';
  576. break;
  577. case '4105840':
  578. $bank_name = '平安银行';
  579. break;
  580. case '4012900':
  581. $bank_name = '上海银行';
  582. break;
  583. case '4233310':
  584. $bank_name = '杭州银行';
  585. break;
  586. case '316':
  587. $bank_name = '浙商银行';
  588. break;
  589. case '4504520':
  590. $bank_name = '青岛银行';
  591. break;
  592. case '4083320':
  593. $bank_name = '宁波银行';
  594. break;
  595. case '4341100':
  596. $bank_name = '天津银行';
  597. break;
  598. case '4478210':
  599. $bank_name = '兰州银行';
  600. break;
  601. case '4243010':
  602. $bank_name = '南京银行';
  603. break;
  604. case '4296510':
  605. $bank_name = '成都银行';
  606. break;
  607. case '322':
  608. $bank_name = '上海农商银行';
  609. break;
  610. case '4021000':
  611. $bank_name = '北京农村商业银行';
  612. break;
  613. }
  614. return $bank_name;
  615. }
  616. }