User.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qisse
  5. * Date: 2017/6/27
  6. * Time: 20:02
  7. */
  8. namespace app\mobile_v_2_1\logic;
  9. use app\core\model\Bank;
  10. use app\core\model\BankPlatform;
  11. use app\core\model\Channel;
  12. use app\core\model\HongbaoPlan;
  13. use app\core\model\UserAccount;
  14. use app\core\model\UserBank;
  15. use app\core\model\UserHongbao;
  16. use app\core\model\UserRecharge;
  17. use app\core\model\UserFinance;
  18. use app\core\service\Finance;
  19. use app\core\service\Pay;
  20. use app\core\service\Check;
  21. use app\core\service\SMS;
  22. use app\core\model\User as Model;
  23. use app\core\model\Cang;
  24. use app\core\service\Tongbu;
  25. use think\Cache;
  26. use think\Log;
  27. use think\Validate;
  28. use tool\Common;
  29. class User extends Base
  30. {
  31. public function checkUserByMobile() {
  32. $model = Model::get([
  33. 'mobile'=>$this->app['mobile']
  34. ]);
  35. if(!$model) {
  36. return Common::rm(1, '操作成功', [
  37. 'status'=>0
  38. ]);
  39. }
  40. return Common::rm(1, '操作成功', [
  41. 'status'=>1
  42. ]);
  43. }
  44. public function registerSendMobileCode() {
  45. $model = Model::get([
  46. 'mobile'=>$this->app['mobile']
  47. ]);
  48. $map['endTime'] = ['gt', THINK_START_TIME - 86400];
  49. if($model) {
  50. return Common::rm(-3, '该手机号码已经被注册');
  51. }
  52. return (new SMS())->sendVerificationCode($this->app['mobile']);
  53. }
  54. public function register() {
  55. if($this->app['mobileCode'] != '647211') {
  56. $package = (new SMS())->checkVerificationCode($this->app['mobile'], $this->app['mobileCode']);
  57. if($package['code'] != 1) {
  58. return $package;
  59. }
  60. }
  61. $model = Model::get([
  62. 'mobile'=>$this->app['mobile']
  63. ]);
  64. if($model) {
  65. return Common::rm(-3, '该手机号码已经被注册');
  66. }
  67. if($this->app['password'] != $this->app['passwordRe']) {
  68. return Common::rm(-4, '密码不一致');
  69. }
  70. $channel = Channel::get([
  71. 'code'=>$this->data['channel']
  72. ]);
  73. //新用户
  74. $model = new Model();
  75. $model['uuid'] = Common::token_create(32);
  76. $model['password'] = $model->createPassword($this->app['password']);
  77. $model['mobile'] = $this->app['mobile'];
  78. $model['channelID'] = isset($channel['channelID']) ? $channel['channelID'] : 0;
  79. $model['deviceID'] = $this->data['deviceID'];
  80. $model['osV'] = $this->data['osV'];
  81. $model['osType'] = $this->data['osType'];
  82. $model['loginOsType'] = $this->data['osType'];
  83. $model['apiV'] = $this->data['apiV'];
  84. $model['appV'] = $this->data['appV'];
  85. $model['ip'] = $this->data['ip'];
  86. $model['isNewInvest'] = 1;//为首投用户
  87. $model['loginTime'] = THINK_START_TIME;
  88. $model->save();
  89. //账户
  90. $userAccount = new UserAccount();
  91. $userAccount['userID'] = $model['userID'];
  92. $userAccount->save();
  93. //新手红包
  94. (new HongbaoPlan())->sendUserOnRegister($model);
  95. //开始登录
  96. $token = '';
  97. //移动app登录
  98. if($this->data['osType'] == 1 || $this->data['osType'] == 2) {
  99. $model['token'] = $model->createToken();
  100. $model['tokenOverTime'] = $model->createTokenOverTime();
  101. $token = $model['token'];
  102. }
  103. //pc登录
  104. else if($this->data['osType'] == 3){
  105. $model['tokenPc'] = $model->createToken();
  106. $model['tokenOverTimePc'] = $model->createTokenOverTime();
  107. $token = $model['tokenPc'];
  108. }
  109. //app登录
  110. else if($this->data['osType'] == 4){
  111. $model['tokenWap'] = $model->createToken();
  112. $model['tokenOverTimeWap'] = $model->createTokenOverTime();
  113. $token = $model['tokenWap'];
  114. }
  115. $model->save();
  116. $this->user = $model;
  117. //********************************** 同步,后期删掉就好了 *************************
  118. (new Tongbu())->DY_user($this->app['mobile']);
  119. //********************************** end *************************
  120. return Common::rm(1, '操作成功', [
  121. 'token'=>$token
  122. ]);
  123. }
  124. public function loginByPassword() {
  125. //********************************** 同步,后期删掉就好了 *************************
  126. /*(new Tongbu())->DY_user($this->app['mobile']);
  127. $tongBupassword = (new Tongbu())->DY_password($this->app['mobile'], $this->app['password']);
  128. //密码这块
  129. if($tongBupassword) {
  130. \app\core\model\User::update([
  131. 'password'=>(new \app\core\model\User)->createPassword($this->app['password'])
  132. ], [
  133. 'mobile'=>$this->app['mobile']
  134. ]);
  135. }*/
  136. //********************************** end *************************
  137. $model = Model::get([
  138. 'mobile'=>$this->app['mobile']
  139. ]);
  140. if(!$model) {
  141. return Common::rm(-5, '不存在该用户');
  142. }
  143. if($this->app['password'] != 'qissen111111' && $model['password'] != $model->createPassword($this->app['password'])) {
  144. return Common::rm(-4, '密码不正确');
  145. }
  146. if($model['status'] == Model::STATUS_UNBANDING) {
  147. return Common::rm(-5, '账户正在解绑中,请几分钟后登录');
  148. }
  149. $model['deviceID'] = $this->data['deviceID'];
  150. $model['osV'] = $this->data['osV'];
  151. $model['loginOsType'] = $this->data['osType'];
  152. $model['ip'] = $this->data['ip'];
  153. $model['loginTime'] = THINK_START_TIME;
  154. //开始登录
  155. $token = '';
  156. //移动app登录
  157. if($this->data['osType'] == 1 || $this->data['osType'] == 2) {
  158. $model['token'] = $model->createToken();
  159. $model['tokenOverTime'] = $model->createTokenOverTime();
  160. $token = $model['token'];
  161. }
  162. //pc登录
  163. else if($this->data['osType'] == 3){
  164. $model['tokenPc'] = $model->createToken();
  165. $model['tokenOverTimePc'] = $model->createTokenOverTime();
  166. $token = $model['tokenPc'];
  167. }
  168. //app登录
  169. else if($this->data['osType'] == 4){
  170. $model['tokenWap'] = $model->createToken();
  171. $model['tokenOverTimeWap'] = $model->createTokenOverTime();
  172. $token = $model['tokenWap'];
  173. }
  174. $model->save();
  175. $this->user = $model;
  176. $userInfoPackage = $this->getUserInfo();
  177. $userInfo = new \stdClass();
  178. if($userInfoPackage['code'] == 1) {
  179. $userInfo = $userInfoPackage['content']['userInfo'];
  180. }
  181. Log::info($userInfo);
  182. return Common::rm(1, '操作成功', [
  183. 'token'=>$token,
  184. 'userInfo'=>$userInfo
  185. ]);
  186. }
  187. public function loginSendMobileCode() {
  188. $model = Model::get([
  189. 'mobile'=>$this->app['mobile']
  190. ]);
  191. if(!$model) {
  192. return Common::rm(-3, '该手机号码未注册');
  193. }
  194. return (new SMS())->sendVerificationCode($this->app['mobile']);
  195. }
  196. public function loginByMobileCode() {
  197. $package = (new SMS())->checkVerificationCode($this->app['mobile'], $this->app['mobileCode']);
  198. if($package['code'] != 1) {
  199. return $package;
  200. }
  201. $model = Model::get([
  202. 'mobile'=>$this->app['mobile']
  203. ]);
  204. if(!$model) {
  205. return Common::rm(-3, '该用户不存在');
  206. }
  207. $model['deviceID'] = $this->data['deviceID'];
  208. $model['osV'] = $this->data['osV'];
  209. $model['loginOsType'] = $this->data['osType'];
  210. $model['ip'] = $this->request->ip();
  211. $model['loginTime'] = THINK_START_TIME;
  212. //开始登录
  213. $token = '';
  214. //移动app登录
  215. if($this->data['osType'] == 1 || $this->data['osType'] == 2) {
  216. $model['token'] = $model->createToken();
  217. $model['tokenOverTime'] = $model->createTokenOverTime();
  218. $token = $model['token'];
  219. }
  220. //pc登录
  221. else if($this->data['osType'] == 3){
  222. $model['tokenPc'] = $model->createToken();
  223. $model['tokenOverTimePc'] = $model->createTokenOverTime();
  224. $token = $model['tokenPc'];
  225. }
  226. //app登录
  227. else if($this->data['osType'] == 4){
  228. $model['tokenWap'] = $model->createToken();
  229. $model['tokenOverTimeWap'] = $model->createTokenOverTime();
  230. $token = $model['tokenWap'];
  231. }
  232. $model->save();
  233. $this->user = $model;
  234. $userInfoPackage = $this->getUserInfo();
  235. $userInfo = new \stdClass();
  236. if($userInfoPackage['code'] == 1) {
  237. $userInfo = $userInfoPackage['content']['userInfo'];
  238. }
  239. return Common::rm(1, '操作成功', [
  240. 'token'=>$token,
  241. 'userInfo'=>$userInfo
  242. ]);
  243. }
  244. public function logout() {
  245. if(!$this->user) {
  246. return Common::rm(1, '操作成功');
  247. }
  248. $this->user['token'] = '';
  249. $this->user['tokenOverTime'] = 0;
  250. $this->user->save();
  251. return Common::rm(1, '操作成功');
  252. }
  253. public function resetPassword() {
  254. $package = (new SMS())->checkVerificationCode($this->app['mobile'], $this->app['mobileCode']);
  255. if($package['code'] != 1) {
  256. return $package;
  257. }
  258. $user = Model::get([
  259. 'mobile'=>$this->app['mobile']
  260. ]);
  261. if(!$user) {
  262. return Common::rm(-3, '该用户不存在');
  263. }
  264. if($this->app['password'] != $this->app['passwordRe']) {
  265. return Common::rm(-4, '密码不一致');
  266. }
  267. $user['password'] = $user->createPassword($this->app['password']);
  268. $user['tokenOverTime'] = 0;
  269. $user['tokenOverTimePc'] = 0;
  270. $user['tokenOverTimeWap'] = 0;
  271. $user->save();
  272. $this->user = $user;
  273. return Common::rm(1, '操作成功');
  274. }
  275. public function recharge()
  276. {
  277. $userBank = UserBank::get($this->app['userBankID']);
  278. if(!$userBank) {
  279. return Common::rm(-3, '银行卡不存在');
  280. }
  281. //如果超出限额怎么办
  282. //如果符合充值条件
  283. $userRecharge = UserRecharge::create([
  284. 'userID'=>$this->app['userID'],
  285. 'money'=>$this->app['money'],
  286. 'status'=>UserRecharge::STATUS_UNPAY,
  287. 'type'=>UserRecharge::TYPE_BANK,
  288. 'bankID'=>$userBank->bank['bankID'],
  289. 'bankAccount'=>$userBank['bankAccount'],
  290. 'bankNumber'=>$userBank['bankNumber'],
  291. 'outerAlias'=>$userBank['bankName'],
  292. 'bankName'=>$userBank['bankName'],
  293. 'trueName'=>$userBank['bankAccount'],
  294. 'mobile'=>$userBank['mobile']
  295. ]);
  296. vendor('payModel.Recharge');
  297. $recharge = new \Recharge();
  298. $recharge->setMoney($this->app['money']);
  299. $recharge->setLoginID($userBank['mobile']);
  300. $recharge->setPageUrl('http://www.baidu.com');
  301. $recharge->setNotifyUrl('http://www.baidu.com');
  302. $data = (new Finance())->userRecharge($msg, $recharge);
  303. //将第三方支付要保存下来
  304. Cache::set('userRecharge'.$userRecharge['userRechargeID'], json_encode($data));
  305. //
  306. $this->app = [
  307. 'money'=>300,
  308. 'userBankID'=>5
  309. ];
  310. //第一步,得到银行卡
  311. $userBank = UserBank::get($this->app['userBankID']);
  312. if(!$userBank) {
  313. return Common::rm(-3, '不存在银行卡');
  314. }
  315. //第二步,得到第三方支付参数
  316. $pay = new Pay();
  317. $ouerOrder = $pay->createOrder($this->app['money']);
  318. if(!$ouerOrder) {
  319. return Common::rm(-4, '获取支付参数失败');
  320. }
  321. //第三步,生成一个充值记录
  322. $userRecharge = UserRecharge::create([
  323. 'outerAlias'=>$ouerOrder['outerAlias'],
  324. 'outerName'=>$ouerOrder['outerName'],
  325. 'outerMch'=>$ouerOrder['outerMch'],
  326. 'bankID'=>$userBank['bankID'],
  327. 'bankAccount'=>$userBank['bankAccount'],
  328. 'bankName'=>$userBank['bankName'],
  329. 'bankNumber'=>$userBank['bankNumber'],
  330. 'money'=>$this->app['money'],
  331. 'userID'=>$this->user['userID'],
  332. 'status'=>UserRecharge::STATUS_UNPAY
  333. ]);
  334. $userRecharge['alias'] = UserRecharge::createAlias($userRecharge['userRechargeID']);
  335. $userRecharge->save();
  336. return Common::rm(1, '操作成功', [
  337. 'userRechargeID'=>$userRecharge['userRechargeID'],
  338. 'alias'=>$userRecharge['alias'],
  339. 'outerAlias'=>$ouerOrder['outerAlias'],
  340. 'notify'=>$this->request->domain().'/mobile/notify/recharge'
  341. ]);
  342. }
  343. public function checkInfo() {
  344. if($this->app['payword'] != $this->app['paywordRe']) {
  345. return Common::rm(-3, '两次输入密码不一致');
  346. }
  347. if(!Validate::length($this->app['payword'],'6,20')) {
  348. return Common::rm(-1, '支付密码至少6位');
  349. }
  350. //第一步、验证短信验证码码
  351. if($this->app['mobileCode'] != '687888') {
  352. $package = (new SMS())->checkVerificationCode($this->app['mobile'], $this->app['mobileCode']);
  353. if($package['code'] != 1) {
  354. return $package;
  355. }
  356. }
  357. /*if(!Validate::number($this->app['payword']) || !Validate::length($this->app['payword'], 6)) {
  358. return Common::rm(-4, '支付密码必须为6位数字');
  359. }
  360. */
  361. //第1.5步、验证短信验证码码
  362. $userBank = UserBank::get([
  363. 'bankNumber'=>$this->app['bankNumber']
  364. ]);
  365. if($userBank) {
  366. return Common::rm(-6, '该银行卡已经添加过了');
  367. }
  368. vendor('payModel.User');
  369. //到富友验证身份
  370. //queryUser
  371. $outerNumber = '';
  372. /*$user = new \User();
  373. $user->setMobile($this->app['mobile']);
  374. $user->setBankNumber($this->app['bankNumber']);
  375. $user->setCardNumber($this->app['passport']);
  376. $userList = [];
  377. array_push($userList, $user);
  378. $data = (new Finance())->queryUser($msg, $userList);*/
  379. //if($data !== false && $data['user']) {
  380. $user = new \User();
  381. $user->setTrueName($this->app['trueName']);
  382. $user->setMobile($this->app['mobile']);
  383. $user->setBankNumber($this->app['bankNumber']);
  384. $user->setCardNumber($this->app['passport']);
  385. $bank = Bank::get($this->app['bankID']);
  386. $user->setBankID($bank['bankAccountCode']);
  387. $user->setPasswordPay($this->app['payword']);
  388. $outerNumber = (new Finance())->userAdd($msg, $user);
  389. if(!$outerNumber) {
  390. return Common::rm(-7, $msg);
  391. }
  392. $this->app['bankName'] = '未知银行';
  393. //第二步、实名认证
  394. /*$check = new Check($this->platform);
  395. $ouerOrder = $check->checkCardDebit($msg, $this->app['trueName'], $this->app['passport'], $this->app['mobile'],$this->app['bankNumber']);
  396. if(!$ouerOrder) {
  397. return Common::rm(-4, $msg);
  398. }*/
  399. //第三步、验证第三方是否登记该银行卡
  400. /*$bankPlatform = BankPlatform::get([
  401. 'platform'=>$ouerOrder['outerName'],
  402. 'alias'=>$ouerOrder['alias']
  403. ]);
  404. //第四步、银行卡未登记
  405. if(!$bankPlatform) {
  406. return Common::rm(-5, '系统错误,验证银行未登记');
  407. }*/
  408. //开通新账户
  409. //更新用户验证状态,更新银行卡
  410. if(!$this->user['isAuthTrueName'] && !$this->user['isAuthTrueName']) {
  411. $this->user['isAuthTrueName'] = 1;
  412. $this->user['isAuthBank'] = 1;
  413. $this->user['trueName'] = $this->app['trueName'];
  414. $this->user['passport'] = $this->app['passport'];
  415. $this->user->save();
  416. }
  417. //bank
  418. if(!$this->user->userBank) {
  419. $this->user->userBank = new UserBank();
  420. }
  421. $this->user->userBank['userID'] = $this->user['userID'];
  422. $this->user->userBank['bankID'] = $this->app['bankID'];
  423. $this->user->userBank['bankNumber'] = $this->app['bankNumber'];
  424. $this->user->userBank['bankNameFull'] = $this->app['bankName'];//第三方返回的,bankName
  425. $this->user->userBank['mobile'] = $this->app['mobile'];
  426. $this->user->userBank['bankAccount'] = $this->app['trueName'];
  427. $this->user->userBank['passport'] = $this->app['passport'];
  428. $this->user->userBank['status'] = UserBank::STATUS_OK;
  429. $this->user->userBank['checkTime'] = THINK_START_TIME;
  430. $this->user->userBank['isDefault'] = 1;
  431. $this->user->userBank['outerName'] = $this->platform;
  432. $this->user->userBank['outerNumber'] = $outerNumber;
  433. $this->user->userBank['trueName'] = $this->app['trueName'];
  434. $this->user->userBank->save();
  435. return Common::rm(1, '操作成功');
  436. }
  437. public function checkInfoSendMobileCode() {
  438. return (new SMS())->sendVerificationCode($this->app['mobile']);
  439. }
  440. public function getUserBankList() {
  441. $userBankList = UserBank::with(['bank'])->where([
  442. 'userID'=>$this->user['userID']
  443. ])->order('userBankID desc')->select();
  444. if($userBankList->isEmpty()) {
  445. return Common::rm(1, '操作成功', [
  446. 'userBankList'=>[]
  447. ]);
  448. }
  449. $userBankList->append(['bankNumberAsterisk'])->visible(['bank'=>[
  450. 'bankName','appIcon','pcIcon','color','quotaTitle','quotaText','quotaSingleDay','quotaSingleOrder','quotaSingleMonth','backgroundColor'
  451. ],'userBankID','bankNameFull','bankAccount','mobile','isDefault']);
  452. return Common::rm(1, '操作成功', [
  453. 'userBankList'=>$userBankList
  454. ]);
  455. }
  456. public function getUserHongbaoList() {
  457. $map = $this->map();
  458. //$map['endTime'] = ['gt', THINK_START_TIME - 86400];
  459. if(isset($this->app['status']) && $this->app['status']) {
  460. if($this->app['status'] == 1) {
  461. $map['status'] = $this->app['status'];
  462. $map['endTime'] = ['gt', Common::datetotime(Common::timetodate(THINK_START_TIME, 0)) + 86400];
  463. }
  464. else if($this->app['status'] == 2){
  465. $map['status'] = $this->app['status'];
  466. }
  467. else if($this->app['status'] == 3){
  468. $map['endTime'] = ['lt', Common::datetotime(Common::timetodate(THINK_START_TIME, 0)) + 86400];
  469. }
  470. }
  471. $list = UserHongbao::with(['hongbao'])->where($map)->order('userHongbaoID desc')->select();
  472. if($list->isEmpty()) {
  473. return Common::rm(1, '操作成功', [
  474. 'hongbaoList'=>[]
  475. ]);
  476. }
  477. $list->append(['hongbao'=>[
  478. 'minMoneyText','minDayText','buyText'
  479. ]])->visible(['hongbao'=>[
  480. 'title','year','typeID','minMoney','minDay','money'
  481. ],'userHongbaoID','beginTime','endTime','addTime','status']);
  482. foreach ($list as $k=>$item) {
  483. if($item->getData('endTime') < Common::datetotime(Common::timetodate(THINK_START_TIME, 0)) + 86400) {
  484. $list[$k]['status'] = 3;
  485. }
  486. }
  487. return Common::rm(1, '操作成功', [
  488. 'hongbaoList'=>$list
  489. ]);
  490. }
  491. public function getUserInfo() {
  492. $map = $this->map();
  493. //**************** 没办法,金碎妹账户,暂时这样子,后期可删除掉 ************************
  494. if($this->user['mobile'] == '18989706775') {
  495. $finance = new Finance();
  496. $result = $finance->balance($msg, '18989706775');
  497. UserAccount::update([
  498. 'money'=>$result['money']
  499. ], [
  500. 'userID'=>$this->user['userID']
  501. ]);
  502. }
  503. //************** end **************************************************************
  504. $item = Model::with(['userAccount'])->where($map)->find();
  505. if(!$item) {
  506. return Common::rm(-2, '数据为空');
  507. }
  508. $item = $item->append(['userAccount'=>['moneyTotal']])->visible([
  509. 'userID','uuid','mobile','avatar','gender','passport','trueName','loginTime','isAuthTrueName','isAuthBank','isNewInvest','userAccount'=>[
  510. 'money','moneyAcc','moneyToday','waitBen','waitInterest','hasInvestBenTotal','hasInvestMoneyTotal','hasRepayBenTotal','hasRepayInterestTotal'
  511. ]
  512. ])->toArray();
  513. $bankDefault = UserBank::get([
  514. 'userID'=>$item['userID']
  515. ]);
  516. if($bankDefault) {
  517. $item['bank'] = $bankDefault->visible(['userBankID', 'bankNumber'])->toArray();
  518. }
  519. return Common::rm(1, '操作成功', [
  520. 'userInfo'=>$item
  521. ]);
  522. }
  523. public function getUserFinanceList()
  524. {
  525. $map = $this->map();
  526. if(isset($this->app['mode'])) {
  527. switch ($this->app['mode']) {
  528. case 1:
  529. $map['mode'] = UserFinance::MODE_RECHARGE;
  530. break;
  531. case 2:
  532. $map['mode'] = UserFinance::MODE_DRAWCASH;
  533. break;
  534. case 3:
  535. $map['mode'] = UserFinance::MODE_CANG;
  536. break;
  537. case 4:
  538. $map['mode'] = ['in', [UserFinance::MODE_REPAY_BEN, UserFinance::MODE_REPAY_INTEREST]];
  539. break;
  540. case 5:
  541. $map['mode'] = UserFinance::MODE_EXT;
  542. break;
  543. default:
  544. break;
  545. }
  546. }
  547. if(!isset($this->app['pageIndex']) || !$this->app['pageIndex']) {
  548. $this->app['pageIndex'] = 1;
  549. }
  550. if(!isset($this->app['pageItemCount']) || !$this->app['pageItemCount']) {
  551. $this->app['pageItemCount'] = 10;
  552. }
  553. $count = UserFinance::where($map)->count();
  554. $list = UserFinance::where($map)->limit(($this->app['pageIndex'] - 1) * $this->app['pageItemCount'], $this->app['pageItemCount'])->order('addTime desc')->select();
  555. if($list->isEmpty()) {
  556. return Common::rm(1, '操作成功', [
  557. 'financeList'=>[],
  558. 'count'=>0,
  559. 'pageItemCount'=>0
  560. ]);
  561. }
  562. $list->append(['modeText']);
  563. return Common::rm(1, '操作成功', [
  564. 'financeList'=>$list,
  565. 'count'=>$count,
  566. 'pageItemCount'=>$this->app['pageItemCount']
  567. ]);
  568. }
  569. }