OpenController.php 24 KB

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