User.php 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404
  1. <?php
  2. namespace app\api\controller\v1;
  3. use app\api\services\UserServices;
  4. use app\common\model\ActiveLogModel;
  5. use app\common\model\BoxRecordModel;
  6. use app\common\model\CouponnumLogModel;
  7. use app\common\model\MedalLogModel;
  8. use app\common\model\MoneyLogModel;
  9. use app\common\model\PaymentModel;
  10. use app\common\model\RedStorePoolModel;
  11. use app\common\model\ScoreAwayLogModel;
  12. use app\common\model\ScoreLock1LogModel;
  13. use app\common\model\ScorelockLogModel;
  14. use app\common\model\ScoreLog;
  15. use app\common\model\ScoreLogModel;
  16. use app\common\model\SuggestModel;
  17. use app\common\model\TzLogModel;
  18. use app\common\model\UserDataModel;
  19. use app\common\model\UserModel;
  20. use app\common\model\UserMoneyModel;
  21. use app\common\model\UserUnmoneyModel;
  22. use app\common\model\WithDrawLogModel;
  23. use app\common\model\XzLogModel;
  24. use app\model\UserWithdrawalModel;
  25. use app\Request;
  26. use app\api\validate\UserValidate;
  27. use jobs\UserJobs;
  28. use think\cache\driver\Redis;
  29. use think\Exception;
  30. use think\exception\ValidateException;
  31. use think\facade\Db;
  32. use utils\Queue;
  33. use function Sodium\library_version_minor;
  34. class User
  35. {
  36. protected $service = null;
  37. public function __construct( UserServices $services)
  38. {
  39. $this->service = $services;
  40. }
  41. // 用户注册
  42. public function register(Request $request)
  43. {
  44. // 这是测试 上线要干掉
  45. // echo '网站正在更新';
  46. // die();
  47. $params = $request->post();
  48. try {
  49. validate(UserValidate::class)->scene('register')->check($params);
  50. if (!vertifyPass(AESjiemi($params['password']))){
  51. throw new Exception('密码必须包含字母和数字,长度大于8位');
  52. }
  53. if (!vertifyUserName($params['user_name'])){
  54. throw new Exception('用户名必须包含字母和数字,长度大于6位小于15位');
  55. }
  56. $params['password'] = AESjiemi($params['password']);
  57. return api_succ_return($this->service->userRegister($params));
  58. }catch (ValidateException $e){
  59. return api_error_return($e->getMessage());
  60. }catch (Exception $e){
  61. return api_error_return($e->getMessage());
  62. }
  63. }
  64. // 注册获取上级信息
  65. public function registerUpUser(Request $request, UserModel $model){
  66. Db::startTrans();
  67. try {
  68. // $scanCode = AESjiemi($request->post('scan_code'));
  69. $scanCode = $request->post('scan_code');
  70. if (empty($scanCode) || !$scanCode){
  71. return api_error_return('参数错误');
  72. }
  73. $params = getUrlParams($scanCode);
  74. $is_px = false;
  75. $upuser = $model->where('code', $params['code'])->field('nickname,mobile,px_code,code,avatar')->withAttr('avatar', function($val, $data){
  76. return __HTTPIMG($val);
  77. })->find();
  78. if (!$upuser){
  79. $upuser = $model->where('px_code', $params['code'])->field('nickname,px_code,code,avatar,mobile')->withAttr('avatar', function($val, $data){
  80. return __HTTPIMG($val);
  81. })->find();
  82. $is_px = true;
  83. }
  84. if (!$upuser){
  85. return api_error_return('查询失败,暂无用户');
  86. }
  87. $upuser['mobile'] = substr($upuser['mobile'], 0, 3).'****'.substr($upuser['mobile'], 7);
  88. $upuser['share_way'] = $is_px?2:1;
  89. Db::commit();
  90. }catch (\Exception $e){
  91. Db::rollback();
  92. return api_error_return($e->getMessage());
  93. }
  94. // if ($upuser){
  95. // return api_succ_return(['msg'=>'成功', 'data'=>['user'=>$upuser]]);
  96. // }else{
  97. // return api_error_return('查询失败,暂无用户');
  98. // }
  99. return api_succ_return(['msg'=>'成功', 'data'=>['user'=>$upuser]]);
  100. }
  101. // 退出登录
  102. public function logout(Request $request){
  103. Db::startTrans();
  104. try {
  105. // Db::name('user')->where('id', $request->uid)->save(['jg_regid'=>'']);
  106. Db::commit();
  107. }catch (\Exception $e){
  108. Db::rollback();
  109. }
  110. return api_succ_return('成功');
  111. }
  112. // 登录
  113. public function login(Request $request){
  114. $curandroid = env('app.CUR_ANDROID_VERSION', '');
  115. $curios = env('app.CUR_IOS_VERSION', '');;
  116. $curAndroidVersion = str_replace('.', '', $curandroid);
  117. $curAndroidVersion = dispRepair($curAndroidVersion, 4, '0', '0');
  118. $curIosVersion = str_replace('.', '', $curios);
  119. $curIosVersion = dispRepair($curIosVersion, 4, '0', '0');
  120. $app_sources = $request->param('app_sources');
  121. $app_version = $request->param('app_version');
  122. $app_version = str_replace('.', '', $app_version);
  123. $app_version = dispRepair($app_version, 4, '0', '0');
  124. // if ($app_sources == 'ios'){
  125. // if ($curIosVersion > $app_version){
  126. // return api_error_return('app版本号过低,请更新');
  127. // }
  128. // }
  129. // if ($app_sources == 'ios'){
  130. // if ($curIosVersion > $app_version){
  131. // return api_error_return('苹果app版本更新会尽快通知,敬请期待!');
  132. // }
  133. // }
  134. // if ($app_sources == 'android'){
  135. // if ($curAndroidVersion > $app_version){
  136. // return api_error_return('app版本号过低,请更新');
  137. // }
  138. // }
  139. $param = $request->param();
  140. //var_dump($param);
  141. Db::startTrans();
  142. try {
  143. validate(UserValidate::class)->scene('login')->check($param);
  144. $data = $this->service->userLogin($param);
  145. Db::commit();
  146. return api_succ_return($data);
  147. }catch (ValidateException $e){
  148. Db::rollback();
  149. return api_error_return($e->getMessage());
  150. }catch (Exception $e){
  151. Db::rollback();
  152. return api_error_return(['msg'=>$e->getMessage(), 'code'=>$e->getCode()]);
  153. }
  154. }
  155. // 编辑用户信息
  156. public function editUserInfo(Request $request){
  157. $param = $request->param();
  158. try {
  159. // validate(UserValidate::class)->scene('editUserInfo')->check($param);
  160. //
  161. return api_succ_return($this->service->setUserInfo($request->uid, $param));
  162. }catch (Exception $e){
  163. return api_error_return(['msg'=>$e->getMessage(), 'code'=>$e->getCode()]);
  164. }
  165. }
  166. // 编辑用户信息
  167. public function setSellerPayWay(Request $request){
  168. $param = $request->param();
  169. try {
  170. // validate(UserValidate::class)->scene('editUserInfo')->check($param);
  171. return api_succ_return($this->service->setSellerPayWay($request->uid, $param));
  172. }catch (Exception $e){
  173. return api_error_return(['msg'=>$e->getMessage(), 'code'=>$e->getCode()]);
  174. }
  175. }
  176. // 用户信息
  177. public function userInfo(Request $request, UserModel $model)
  178. {
  179. Db::startTrans();
  180. try {
  181. $post = $request->param();
  182. $user = $model->getUserDetailByUid($request->uid);
  183. $time = time();
  184. // $user['avatar'] .= '?' . $time;
  185. // $user['avatar'] = __HTTPIMG($user['avatar']);
  186. // $user['avatar'] = $user['avatar']=='static/img/user/default_avatar.jpg'?__HTTPLOCALIMG($user['avatar']) :__HTTPIMG($user['avatar']);
  187. // unset($user['id']);
  188. // 卷轴任务不隐藏(新用户隐藏 老用户不隐藏 ,userinfo 后台返回一个字段来控制)
  189. unset($user['password']);
  190. unset($user['status']);
  191. unset($user['login_count']);
  192. unset($user['login_ip']);
  193. unset($user['login_time']);
  194. // unset($user['getinfo_count']);
  195. // Db::name('user')->where('id', $request->uid)->inc('getinfo_count', 1)->update();
  196. Db::commit();
  197. return api_succ_return(['msg'=>'个人信息获取成功', 'data'=>$user]);
  198. }catch (\Exception $e){
  199. Db::rollback();
  200. return api_error_return($e->getMessage());
  201. }
  202. }
  203. // 修改登录密码
  204. public function editLoginPass(Request $request, UserModel $model)
  205. {
  206. try {
  207. return $model->editLoginPass($request);
  208. }catch (\Exception $e){
  209. return api_error_return($e->getMessage());
  210. }
  211. }
  212. // 修改安全密码
  213. public function editSecurityPass(Request $request, UserModel $model)
  214. {
  215. try {
  216. return $model->editSecurityPass($request);
  217. }catch (\Exception $e){
  218. return api_error_return($e->getMessage());
  219. }
  220. }
  221. // 余额记录
  222. public function moneyLog (Request $request, MoneyLogModel $model)
  223. {
  224. try {
  225. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  226. } catch (\Exception $e) {
  227. return api_error_return('失败');
  228. }
  229. }
  230. // 积分记录
  231. public function scoreLog (Request $request, ScoreLogModel $model)
  232. {
  233. try {
  234. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  235. } catch (\Exception $e) {
  236. return api_error_return('失败');
  237. }
  238. }
  239. // jh记录
  240. public function jhLog (Request $request, TzLogModel $model)
  241. {
  242. try {
  243. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  244. } catch (\Exception $e) {
  245. return api_error_return('失败');
  246. }
  247. }
  248. // 福利积分记录
  249. public function scoreAwayLog (Request $request, ScoreAwayLogModel $model)
  250. {
  251. try {
  252. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  253. } catch (\Exception $e) {
  254. return api_error_return('失败');
  255. }
  256. }
  257. public function scoreLockLog (Request $request, ScoreLock1LogModel $model)
  258. {
  259. try {
  260. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  261. } catch (\Exception $e) {
  262. return api_error_return('失败');
  263. }
  264. }
  265. // 抢购值记录
  266. public function couponNumLog (Request $request, CouponnumLogModel $model)
  267. {
  268. try {
  269. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  270. } catch (\Exception $e) {
  271. return api_error_return('失败');
  272. }
  273. }
  274. // 星钻记录
  275. public function xzLog (Request $request, XzLogModel $model)
  276. {
  277. try {
  278. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  279. } catch (\Exception $e) {
  280. return api_error_return('失败');
  281. }
  282. }
  283. // 勋章记录
  284. public function medalLog (Request $request, MedalLogModel $model)
  285. {
  286. try {
  287. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  288. } catch (\Exception $e) {
  289. return api_error_return('失败');
  290. }
  291. }
  292. // 团队数据
  293. public function teamData(Request $request, UserModel $model){
  294. try {
  295. // return $model->getFansData($request->uid);
  296. return api_succ_return(['msg'=>'成功', 'data'=>$model->getFansData($request->uid)]);
  297. } catch (\Exception $e) {
  298. return api_error_return($e->getMessage());
  299. }
  300. }
  301. // 团队列表
  302. public function teamList(Request $request, UserModel $model){
  303. try {
  304. return api_succ_return(['msg'=>'成功', 'data'=>$model->getFansList($request->uid, $request->post('limit'), $request->post('type'), $request->post('keyword'))]);
  305. } catch (\Exception $e) {
  306. return api_error_return($e->getMessage());
  307. }
  308. }
  309. // 团队信息
  310. public function teamInfo(Request $request){
  311. $uid = $request->uid;
  312. $display_ids = env('app.NOT_OPEN_GOODS_ID');
  313. $has_display = false;
  314. if (strpos($display_ids, strval($uid)) !== false){
  315. $has_display = true;
  316. }
  317. $data = [
  318. 'zt_valid'=>Db::name('user')->where('pid', $uid)->where('has_fd', 1)->count('id'),
  319. 'zt_total'=>Db::name('user')->where('pid', $uid)->count('id'),
  320. 'zt_teamtotal'=>Db::name('user')->whereFindInSet('path', $uid)->count('id'),
  321. 'zt_teamvalid'=>Db::name('user')->whereFindInSet('path', $uid)->where('has_fd', 1)->count('id'),
  322. 'display_str' => $has_display?('团队总充值:'.$request->user_info['total_team_income'].',团队总提现:'.$request->user_info['total_team_withdraw']):''
  323. ];
  324. return api_succ_return(['msg'=>'成功', 'data'=>$data]);
  325. }
  326. // 直推列表
  327. public function directListData(Request $request, UserModel $model){
  328. try {
  329. return api_succ_return(['msg'=>'成功', 'data'=>$model->getDirectDataList($request->uid, $request->post('is_auth'), $request->post('limit'), $request->post('keyworld'))]);
  330. }catch (Exception $e){
  331. return api_error_return($e->getMessage());
  332. }
  333. }
  334. // 活跃点明细
  335. public function activeLog(Request $request, ActiveLogModel $model){
  336. try {
  337. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  338. }catch (Exception $e){
  339. return api_error_return($e->getMessage());
  340. }
  341. }
  342. // 反馈建议
  343. public function suggestSubmit(Request $request, SuggestModel $model){
  344. $post = $request->post();
  345. Db::startTrans();
  346. try {
  347. $model->insert([
  348. 'type'=>2,
  349. 'uid'=>$request->uid,
  350. 'created_time'=>sr_getcurtime(time()),
  351. 'content'=>$post['content']
  352. ]);
  353. Db::commit();
  354. }catch (\Exception $e){
  355. Db::rollback();
  356. return api_error_return('失败'.$e->getMessage());
  357. }
  358. return api_succ_return('成功');
  359. }
  360. // 用户升星
  361. public function upgradeLevel (Request $request, UserServices $services)
  362. {
  363. try {
  364. return $services->upgradeStar($request);
  365. } catch (Exception $e) {
  366. return api_succ_return(['code'=>$e->getCode(), 'msg'=>$e->getMessage()]);
  367. }
  368. }
  369. // 用户星钻升星
  370. public function upgradeXzLevel (Request $request, UserServices $services)
  371. {
  372. return api_error_return('success');
  373. if (!getServiceTop()){
  374. return api_error_return('success');
  375. }
  376. try {
  377. return $services->upgradeXzStar($request);
  378. } catch (Exception $e) {
  379. return api_succ_return(['code'=>$e->getCode(), 'msg'=>$e->getMessage()]);
  380. }
  381. }
  382. // 勋章兑换
  383. public function medalExchange (Request $request, UserModel $model)
  384. {
  385. $post = $request->post();
  386. Db::startTrans();
  387. try {
  388. $model->medalExchange($request->uid, $post['number']);
  389. Db::commit();
  390. }catch (\Exception $e){
  391. Db::rollback();
  392. // if ($e->getCode() == 399){
  393. // return api_error_return(['msg'=>'请设置安全密码', 'code'=>399]);
  394. // }
  395. return api_error_return($e->getMessage());
  396. }
  397. return api_succ_return('兑换成功');
  398. }
  399. // redPoolList
  400. public function redStorePoolList(Request $request, RedStorePoolModel $model)
  401. {
  402. try {
  403. // return $model->getUserStoreRedPoolList($request->uid, $request->post('limit'), $request, $request->post('page'));
  404. return api_succ_return(['msg'=>'获取成功', 'data'=>$model->getUserStoreRedPoolList($request->uid, $request->post('limit'), $request, $request->post('page'))]);
  405. } catch (\Exception $e) {
  406. return api_error_return('获取失败'.$e->getMessage());
  407. }
  408. }
  409. // 获取红包
  410. public function getStoreRed(Request $request, RedStorePoolModel $model)
  411. {
  412. if (!$request->data['id']){
  413. return api_error_return('参数错误');
  414. }
  415. Db::startTrans();
  416. try {
  417. $model->getStoreRed($request);
  418. Db::commit();
  419. } catch (Exception $e){
  420. Db::rollback();
  421. return api_error_return($e->getMessage());
  422. }
  423. return api_succ_return('领取成功');
  424. }
  425. // 提货券列表
  426. public function getLockScoreLog(Request $request, ScorelockLogModel $model){
  427. try {
  428. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  429. } catch (\Exception $e) {
  430. return api_error_return('失败');
  431. }
  432. }
  433. // 积分兑换成余额
  434. public function scoreExchangeMoney(Request $request, UserModel $model){
  435. return api_error_return('兑换失败,此功能将在后续关闭');
  436. // 校验订单是否正确
  437. if (getSysOrderStatusBackError()){
  438. return api_error_return('订单校验失败,请联系客服');
  439. }
  440. Db::startTrans();
  441. try {
  442. $model->scoreExchangeMoney($request->uid, $request->post('score'));
  443. Db::commit();
  444. }catch (\Exception $e){
  445. Db::rollback();
  446. // if ($e->getCode() == 399){
  447. // return api_error_return(['msg'=>'请设置安全密码', 'code'=>399]);
  448. // }
  449. return api_error_return($e->getMessage());
  450. }
  451. return api_succ_return('兑换成功');
  452. }
  453. // 余额兑换成积分
  454. public function moneyExchangeScore(Request $request, UserModel $model){
  455. Db::startTrans();
  456. try {
  457. $model->moneyExchangescore($request->uid, $request->post('money'));
  458. Db::commit();
  459. }catch (\Exception $e){
  460. Db::rollback();
  461. return api_error_return($e->getMessage());
  462. }
  463. return api_succ_return('兑换成功');
  464. }
  465. // 分红任务包分红记录
  466. public function getRwMoneyLog(Request $request, UserMoneyModel $model){
  467. $type_conf = config('type.money');
  468. $list = $model->where('uid', $request->uid)
  469. ->where('type', 5)
  470. ->field('money,id,type,create_at,state')
  471. ->withAttr('type', function ($value, $data) use ($type_conf) {
  472. return isset($type_conf[$value]) ? $type_conf[$value] : '未知类型';
  473. })
  474. ->withAttr('create_at', function ($value, $data){
  475. return date("Y-m-d",strtotime($value));
  476. })
  477. ->order('create_at', 'desc')
  478. ->paginate($request->data['limit'])
  479. ->toArray();
  480. return api_succ_return(['msg'=>'成功', 'data'=>$list['data']]);
  481. }
  482. //视频开始播放
  483. public function openAdBegin(Request $request){
  484. // if (!getServiceTop()){
  485. // return api_error_return('优惠券抢购中,请稍后在试');
  486. // }
  487. // getUserDeny($request);
  488. Db::name('user')->where('id', $request->uid)->save(['today_task_down'=>2]);
  489. if (!Db::name('ad_finishlog')->where('uid', $request->uid)->where('type', 1)->whereDay('create_time', 'today')->find()){
  490. // 每日完成任务日志
  491. Db::name('ad_finishlog')->insert([
  492. 'uid'=>$request->uid,
  493. 'create_time'=>sr_getcurtime(time()),
  494. 'type'=>1
  495. ]);
  496. }
  497. return api_succ_return('成功');
  498. $type = $request->post('type');
  499. if (!in_array($type, [1])){
  500. return api_error_return('参数错误');
  501. }
  502. $sources = $request->post('app_sources');
  503. if ($sources == 'ios' || $sources == 'android'){
  504. // 苹果直接完成任务奖励
  505. // Db::name('user')->where('id', $request->uid)->save(['today_task_down'=>2]);
  506. if (!Db::name('ad_finishlog')->where('uid', $request->uid)->where('type', 1)->whereDay('create_time', 'today')->find()){
  507. // 每日完成任务日志
  508. Db::name('ad_finishlog')->insert([
  509. 'uid'=>$request->uid,
  510. 'create_time'=>sr_getcurtime(time()),
  511. 'type'=>1
  512. ]);
  513. }
  514. return api_succ_return('苹果手机用户直接领取奖励');
  515. }
  516. Db::startTrans();
  517. try {
  518. // 查询上一次成功间隔时间
  519. // $last_id = Db::name('ad_log')->where('uid', $request->uid)->where('status', 2)->whereDay('create_time', 'today')->max('id');
  520. // if (!empty($last_id)){
  521. // $info = Db::name('ad_log')->where('id', $last_id)->find();
  522. // if (time() - strtotime($info['end_time']) < 10){
  523. // throw new Exception('具体上次观看视频时间太短,请稍后在试^_^', 304);
  524. // }
  525. // }
  526. $rid = Db::name('ad_log')->insertGetId([
  527. 'uid'=>$request->uid,
  528. 'create_time'=>sr_getcurtime(time()),
  529. 'type'=> 1
  530. ]);
  531. Db::commit();
  532. }catch (\Exception $e){
  533. Db::rollback();
  534. if ($e->getCode() == 304){
  535. Db::name('adfauiler_log')->insert([
  536. 'uid'=>$request->uid,
  537. 'create_time'=>sr_getcurtime(time()),
  538. 'other'=>$type.'---'.'距离上次观看视频时间太短,请稍后在试^_^'
  539. ]);
  540. }
  541. return api_error_return($e->getMessage());
  542. }
  543. return api_succ_return(['msg'=>'成功', 'data'=>['order_id'=>$rid]]);
  544. }
  545. //视频结束播放
  546. public function openAdEnd(Request $request){
  547. // if (!getServiceTop()){
  548. // return api_error_return('优惠券抢购中,请稍后在试');
  549. // }
  550. return api_succ_return('成功');
  551. $order_id = $request->post('order_id');
  552. $info = Db::name('ad_log')->where('id', $order_id)->find();
  553. if (!$info){
  554. return api_error_return('参数错误');
  555. }
  556. if (time() - strtotime($info['create_time']) < 15){
  557. Db::name('adfauiler_log')->insert([
  558. 'uid'=>$request->uid,
  559. 'create_time'=>sr_getcurtime(time()),
  560. 'other'=>$request->ip()
  561. ]);
  562. return api_error_return('观看广告时间过短,请稍后在试');
  563. }
  564. Db::startTrans();
  565. try {
  566. Db::name('ad_log')->where('id', $order_id)->save(['status'=>2,'end_time'=>sr_getcurtime(time())]);
  567. Db::commit();
  568. }catch (\Exception $e){
  569. Db::rollback();
  570. return api_error_return($e->getMessage());
  571. }
  572. $count = Db::name('ad_log')->whereDay('create_time', 'today')->where('type', 1)->where('status', 2)->where('uid', $request->uid)->count();
  573. if ($count >= env('AD.ONE_DAY_TASK_NUM')){
  574. // Db::name('user')->where('id', $request->uid)->save(['today_task_down'=>2]);
  575. if (!Db::name('ad_finishlog')->where('uid', $request->uid)->where('type', 1)->whereDay('create_time', 'today')->find()){
  576. // 每日完成任务日志
  577. Db::name('ad_finishlog')->insert([
  578. 'uid'=>$request->uid,
  579. 'create_time'=>sr_getcurtime(time()),
  580. 'type'=>1
  581. ]);
  582. }
  583. }
  584. return api_succ_return(['msg'=>'成功']);
  585. }
  586. // 今日播放视频数据
  587. public function openAdTodayData(Request $request){
  588. $type = $request->post('type');
  589. $sources = $request->post('app_sources');
  590. if (!in_array($type, [1,2])){
  591. return api_error_return('参数错误');
  592. }
  593. return api_succ_return(['msg'=>'成功', 'data'=>['total'=>env('AD.ONE_DAY_TASK_NUM'),'today_count'=>env('AD.ONE_DAY_TASK_NUM')]]);
  594. Db::startTrans();
  595. try {
  596. $count = Db::name('ad_log')->whereDay('create_time', 'today')->where('type', $type)->where('status', 2)->where('uid', $request->uid)->count();
  597. if ($count>env('AD.ONE_DAY_TASK_NUM')){
  598. $count = env('AD.ONE_DAY_TASK_NUM');
  599. }
  600. if ($sources == 'ios'){
  601. $count = env('AD.ONE_DAY_TASK_NUM');
  602. }
  603. Db::commit();
  604. }catch (\Exception $e){
  605. Db::rollback();
  606. return api_error_return($e->getMessage());
  607. }
  608. return api_succ_return(['msg'=>'成功', 'data'=>['total'=>env('AD.ONE_DAY_TASK_NUM'),'today_count'=>$count]]);
  609. }
  610. //提现记录
  611. public function withdrawLog (Request $request, WithDrawLogModel $model)
  612. {
  613. try {
  614. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
  615. } catch (\Exception $e) {
  616. return api_error_return($e->getMessage());
  617. }
  618. }
  619. // 绑定提现账号
  620. public function bangWithdrawInfo(Request $request, UserServices $service)
  621. {
  622. Db::startTrans();
  623. try {
  624. $service->bangWithdrawInfo($request->uid, $request->post('type'), $request->post('number'), $request->post('name'));
  625. Db::commit();
  626. }catch (Exception $e){
  627. Db::rollback();
  628. return api_error_return($e->getMessage());
  629. }
  630. return api_succ_return('绑定成功');
  631. }
  632. // 解绑提现账号
  633. public function unBangWithdrawInfo(Request $request, UserServices $service)
  634. {
  635. Db::startTrans();
  636. try {
  637. $service->unbangWithdrawInfo($request->uid, $request->post('type'));
  638. Db::commit();
  639. }catch (Exception $e){
  640. Db::rollback();
  641. return api_error_return($e->getMessage());
  642. }
  643. return api_succ_return('解绑成功');
  644. }
  645. // 用户转赠提交
  646. public function exchargeSubmit(Request $request, UserServices $service){
  647. return api_error_return("星钻转赠以下线");
  648. $post = $request->post();
  649. if ($request->user['mobile'] == $post['mobile']){
  650. return api_error_return('不能给自己转赠');
  651. }
  652. Db::startTrans();
  653. try {
  654. $info = $service->exchargeSubmit($request->uid, $post['xz_num'], $post['mobile']);
  655. Db::commit();
  656. }catch (Exception $e){
  657. Db::rollback();
  658. return api_error_return($e->getMessage());
  659. }
  660. return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
  661. }
  662. // 用户转赠确认
  663. public function exchargeDone(Request $request, UserServices $service){
  664. $post = $request->post();
  665. Db::startTrans();
  666. try {
  667. getActionSecury($request->uid, $request->post('security_pass', ''));
  668. $info = $service->exchargeDone($request->uid, $post['xz_num'], $post['mobile']);
  669. Db::commit();
  670. }catch (Exception $e){
  671. Db::rollback();
  672. return api_error_return($e->getMessage());
  673. }
  674. return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
  675. }
  676. // 用户转赠提交
  677. public function exchargeMedalSubmit(Request $request, UserServices $service){
  678. $post = $request->post();
  679. if ($request->user['mobile'] == $post['mobile']){
  680. return api_error_return('不能给自己转赠');
  681. }
  682. Db::startTrans();
  683. try {
  684. $info = $service->exchargeMedalSubmit($request->uid, $post['medal_num'], $post['mobile']);
  685. Db::commit();
  686. }catch (Exception $e){
  687. Db::rollback();
  688. return api_error_return($e->getMessage());
  689. }
  690. return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
  691. }
  692. // 用户转赠确认
  693. public function exchargeMedalDone(Request $request, UserServices $service){
  694. $post = $request->post();
  695. Db::startTrans();
  696. try {
  697. getActionSecury($request->uid, $request->post('security_pass', ''));
  698. $info = $service->exchargeMedalDone($request->uid, $post['medal_num'], $post['mobile']);
  699. Db::commit();
  700. }catch (Exception $e){
  701. Db::rollback();
  702. // if ($e->getCode() == 399){
  703. // return api_error_return(['msg'=>'请设置安全密码', 'code'=>399]);
  704. // }
  705. return api_error_return($e->getMessage());
  706. }
  707. return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
  708. }
  709. // 用户播放视频报错
  710. public function watchAdError(Request $request, UserServices $service){
  711. $code = $request->post('error', '');
  712. $message = $request->post('error1', '');
  713. Db::startTrans();
  714. try {
  715. $error_codes = explode(',', env('APP.AD_ERROR_CODE'));
  716. $error_msgs = explode(',', env('APP.AD_ERROR_MESSAGE'));
  717. if (!(in_array($code, $error_codes) && in_array($message, $error_msgs))){
  718. if (!Db::name('ad_error_records')->where('uid', $request->uid)->where('error_code', $code)->where('status', 1)->find()){
  719. Db::name('ad_error_records')->insert([
  720. 'uid'=>$request->uid,
  721. 'error_code'=>$code,
  722. 'error_msg'=>$message,
  723. 'create_time'=>sr_getcurtime(time())
  724. ]);
  725. }
  726. }else{
  727. throw new Exception('请求失败');
  728. }
  729. Db::commit();
  730. }catch (\Exception $e){
  731. Db::rollback();
  732. return api_error_return($e->getMessage());
  733. }
  734. return api_succ_return(['msg'=>'加载广告失败,请直接领取任务包奖励', 'code'=>200]);
  735. }
  736. // 首页必读公告获取
  737. public function getHomeMsg(Request $request){
  738. $list = Db::name('system_article')->where('type', 9)->order('create_time desc')->select();
  739. $user = Db::name('user')->where('id', $request->uid)->find();
  740. foreach ($list as $key=>$val){
  741. if (!Db::name('article_get')->where('uid', $request->uid)->where('article_id', $val['id'])->find()){
  742. if ($user['reg_time'] < $val['create_time']){
  743. return api_succ_return(['msg'=>'成功','data'=> [$val]]);
  744. }
  745. }
  746. }
  747. return api_succ_return('成功');
  748. }
  749. // 用户消息已读
  750. public function getMsgDown(Request $request){
  751. $article_id = $request->post('article_id');
  752. if (Db::name('system_article')->where('id', $article_id)->where('type', 9)->find()){
  753. Db::name('article_get')->insert([
  754. 'uid'=>$request->uid,
  755. 'article_id'=>$article_id,
  756. 'create_time'=>sr_getcurtime(time())
  757. ]);
  758. }
  759. return api_succ_return('成功');
  760. }
  761. // 用户通知信息列表
  762. public function messageList(Request $request){
  763. $page = $request->post('page', 1);
  764. $limit = $request->post('limit', 10);
  765. return api_succ_return(['msg'=>'成功', 'data'=>Db::name('user_message')->where('uid', $request->uid)->page($page, $limit)->field('title,type,banner_desc,create_time,uid')->select()->toArray()]);
  766. }
  767. // 用户余额转赠提交
  768. public function moneyExchargeSubmit(Request $request, UserServices $service){
  769. $post = $request->post();
  770. if ($request->user['mobile'] == $post['mobile']){
  771. return api_error_return('不能给自己转赠');
  772. }
  773. Db::startTrans();
  774. try {
  775. $info = $service->exchargeMoneySubmit($request->uid, $post['money'], $post['mobile']);
  776. Db::commit();
  777. }catch (Exception $e){
  778. Db::rollback();
  779. return api_error_return($e->getMessage());
  780. }
  781. return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
  782. }
  783. // 余额赠送
  784. public function moneyExcharge(Request $request, UserServices $service){
  785. $post = $request->post();
  786. Db::startTrans();
  787. try {
  788. getActionSecury($request->uid, $request->post('security_pass', ''));
  789. $info = $service->exchargeMoneyDone($request->uid, $post['money'], $post['mobile'], $request->user['mobile']);
  790. Db::commit();
  791. }catch (Exception $e){
  792. Db::rollback();
  793. return api_error_return($e->getMessage());
  794. }
  795. return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
  796. }
  797. // 用户余额转赠提交
  798. public function jhExchargeSubmit(Request $request, UserServices $service){
  799. $post = $request->post();
  800. if ($request->user['mobile'] == $post['mobile']){
  801. return api_error_return('不能给自己转赠');
  802. }
  803. Db::startTrans();
  804. try {
  805. $info = $service->exchargeJhSubmit($request->uid, $post['money'], $post['mobile']);
  806. Db::commit();
  807. }catch (Exception $e){
  808. Db::rollback();
  809. return api_error_return($e->getMessage());
  810. }
  811. return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
  812. }
  813. // JH转赠
  814. public function jhExcharge(Request $request, UserServices $service){
  815. $post = $request->post();
  816. Db::startTrans();
  817. try {
  818. getActionSecury($request->uid, $request->post('security_pass', ''));
  819. $info = $service->exchargeJHDone($request->uid, $post['money'], $post['mobile']);
  820. Db::commit();
  821. }catch (Exception $e){
  822. Db::rollback();
  823. return api_error_return($e->getMessage());
  824. }
  825. return api_succ_return('赠送成功');
  826. }
  827. // jh购买
  828. public function jhBuy(Request $request, UserServices $service){
  829. $post = $request->post();
  830. // return api_error_return('暂未开放');
  831. // return api_error_return("由于系统更新 暂不支持兑换 开放时间另行通知");
  832. Db::startTrans();
  833. try {
  834. getActionSecury($request->uid, $request->post('security_pass', ''));
  835. $info = $service->JHBuy($request->uid, $post['count']);
  836. Db::commit();
  837. }catch (Exception $e){
  838. Db::rollback();
  839. return api_error_return($e->getMessage());
  840. }
  841. return api_succ_return(['msg'=>'购买成功,本期剩余'.$info]);
  842. }
  843. // 取消收藏商品
  844. public function cancelAttension(Request $request){
  845. $goods_id = $request->post('goods_id');
  846. Db::name('goods_attension')->where('uid', $request->uid)->where('goods_id', $goods_id)->delete();
  847. return api_succ_return('成功');
  848. }
  849. // 商品收藏列表
  850. public function goodsAttList(Request $request){
  851. $post = $request->post();
  852. $list = Db::name('goods_attension')
  853. ->alias('a')
  854. ->where('a.uid', '=', $request->uid)
  855. ->leftJoin('shop_goods g', 'g.goods_id = a.goods_id')
  856. ->field('a.id,a.goods_id, g.goods_img, g.goods_name,g.goods_sn, g.attension_count,g.price, g.rebate_score')
  857. ->page($post['page'], $post['limit'])
  858. ->select()->toArray();
  859. return api_succ_return(['msg'=>'成功', 'data'=>$list]);
  860. }
  861. // 用户注销
  862. public function denyOff(Request $request){
  863. // Db::startTrans();
  864. // try {
  865. //
  866. // if ($request->user['status'] != 1){
  867. // sr_throw('用户状态错误');
  868. // }
  869. //
  870. // Db::name('user')->where('id', $request->uid)->save(['status'=>3, 'mobile'=>'12345678', 'desc'=>'之前手机号:'.$request->user['mobile'], 'user_name'=>'已注销'.$request->user['user_name']]);
  871. //
  872. // Db::commit();
  873. // }catch (\Exception $e){
  874. // Db::rollback();
  875. // return api_error_return($e->getMessage());
  876. // }
  877. return api_succ_return('注销成功');
  878. }
  879. public function rechargeOrderList(Request $request){
  880. $post = $request->post();
  881. $list = Db::name('recharge_order')->where('user_id', $request->uid)->page($post['page'], $post['limit'])->order('order_id desc')->select()->toArray();
  882. return api_succ_return(['msg'=>'成功', 'data'=>$list]);
  883. }
  884. public function rechargeUsdtVerify(Request $request){
  885. $post = $request->post();
  886. Db::startTrans();
  887. try {
  888. $orderinfo = Db::name('recharge_order')->where('recharge_sn', $post['recharge_id'])->find();
  889. if (!$orderinfo){
  890. sr_throw('参数错误');
  891. }
  892. if ($orderinfo['user_id'] != $request->uid){
  893. sr_throw('不是你的订单');
  894. }
  895. if ($orderinfo['pay_type'] != 19){
  896. sr_throw("充值类型错误");
  897. }
  898. if ($orderinfo['status'] != 1){
  899. sr_throw('状态错误');
  900. }
  901. Db::name('recharge_order')->where('order_id', $orderinfo['order_id'])->save([
  902. 'charge_img'=>env('app.API_WEB_URL').'/'.$post['img'],
  903. 'status'=>3
  904. ]);
  905. Db::commit();
  906. }catch (\Exception $e){
  907. Db::rollback();
  908. return api_error_return($e->getMessage());
  909. }
  910. return api_succ_return('提交成功');
  911. }
  912. public function getSellerPayWay(Request $request){
  913. return api_succ_return(['msg'=>'成功', 'data'=>getUserPayWay($request->uid)]);
  914. }
  915. // 用户签到
  916. public function daySign(Request $request){
  917. Db::startTrans();
  918. try {
  919. // Db::name('user')->where('id', $request->uid)->save(['today_task_down'=>2]);
  920. if (!Db::name('ad_finishlog')->where('uid', $request->uid)->where('type', 1)->whereDay('create_time', 'today')->find()){
  921. // 每日完成任务日志
  922. Db::name('ad_finishlog')->insert([
  923. 'uid'=>$request->uid,
  924. 'create_time'=>sr_getcurtime(time()),
  925. 'type'=>1
  926. ]);
  927. }
  928. Db::commit();
  929. }catch (\Exception $e){
  930. Db::rollback();
  931. return api_error_return($e->getMessage());
  932. }
  933. return api_succ_return('签到成功');
  934. }
  935. // 省代理购买
  936. public function provinceAgentBuy(Request $request){
  937. return ;
  938. Db::startTrans();
  939. try {
  940. getActionSecury($request->uid, $request->post('security_pass', ''));
  941. $price = 175000;
  942. $user = Db::name('user')->where('id', $request->uid)->find();
  943. if ($user['money'] < $price){
  944. sr_throw('余额不足');
  945. }
  946. if ($user['agent_type'] != 0){
  947. sr_throw('购买失败,已是代理');
  948. }
  949. edit_user_money(15, $request->uid, $price);
  950. // edit_user_tz(13, $request->uid, 20000);
  951. Db::name('user')->where('id', $request->uid)->save(['agent_type'=>1]);
  952. Db::commit();
  953. }catch (\Exception $e){
  954. Db::rollback();
  955. return api_error_return($e->getMessage());
  956. }
  957. return api_succ_return('购买成功');
  958. }
  959. // 市代理购买
  960. public function cityAgentBuy(Request $request){
  961. return ;
  962. Db::startTrans();
  963. try {
  964. getActionSecury($request->uid, $request->post('security_pass', ''));
  965. $price = 56000;
  966. $user = Db::name('user')->where('id', $request->uid)->find();
  967. if ($user['money'] < $price){
  968. sr_throw('余额不足');
  969. }
  970. if ($user['agent_type'] != 0){
  971. sr_throw('购买失败,已是代理');
  972. }
  973. edit_user_money(16, $request->uid, $price);
  974. // edit_user_tz(14, $request->uid, 8000);
  975. Db::name('user')->where('id', $request->uid)->save(['agent_type'=>2]);
  976. Db::commit();
  977. }catch (\Exception $e){
  978. Db::rollback();
  979. return api_error_return($e->getMessage());
  980. }
  981. return api_succ_return('购买成功');
  982. }
  983. // 回收卡信息
  984. public function recycleCardInfo(Request $request){
  985. $data = [];
  986. $user_info = Db::name('user')->where('id', $request->uid)->field('today_money,todayaward_money,store_type')->find();
  987. $data['every_day_recycle_count'] = $user_info['store_type'] == 1?120:20;
  988. $zt_numcount = Db::name('user')->where('pid', $request->uid)->where('has_fd', 1)->count();
  989. $data['zt_count'] = $zt_numcount * env('boxsetting.ONE_DIRECT_RECYCLE_COUNT');
  990. $has_get = Db::name('recyclecard_log')->where('type', 1)->where('uid', $request->uid)->whereDay('create_at', 'today')->find();
  991. $has_ztget = Db::name('recyclecard_log')->where('type', 2)->where('uid', $request->uid)->whereDay('create_at', 'today')->find();
  992. $data['has_today_get'] = $has_get?1:0;
  993. $data['has_today_ztget'] = $has_ztget?1:0;
  994. // $data['has_today_get'] = 0;
  995. // $data['has_today_ztget'] = 0;
  996. $data['todayaward_money'] = $user_info['todayaward_money'];
  997. $data['today_money']=$user_info['today_money'];
  998. $data['services_store_price']=env('boxsetting.SERVICES_STORE_OPEN_PRICE');
  999. return api_succ_return(['msg'=>'成功', 'data'=>$data]);
  1000. }
  1001. // 领取回收卡
  1002. public function getRecycleCard(Request $request){
  1003. $type = $request->post('type');
  1004. $model = new UserModel();
  1005. Db::startTrans();
  1006. try {
  1007. $model->getRecycleCard($request->uid, $type, $request->user);
  1008. Db::commit();
  1009. }catch (\Exception $e){
  1010. Db::rollback();
  1011. return api_error_return($e->getMessage());
  1012. }
  1013. return api_succ_return('领取成功');
  1014. }
  1015. // 领取每日奖金
  1016. public function getUserTeamMoney(Request $request){
  1017. $model = new UserModel();
  1018. return api_error_return('奖金已在每天21后自动领取');
  1019. Db::startTrans();
  1020. try {
  1021. // getActionBefore(6);
  1022. $model->getUserTeamMoney($request->uid);
  1023. Db::commit();
  1024. }catch (\Exception $e){
  1025. Db::rollback();
  1026. return api_error_return($e->getMessage());
  1027. }
  1028. return api_succ_return('领取成功');
  1029. }
  1030. // 今日奖金记录
  1031. public function todayTeamMoneyLog(Request $request){
  1032. $model = new MoneyLogModel();
  1033. try {
  1034. return api_succ_return(['msg'=>'成功', 'data'=>$model->getTeamMoneyLog($request)]);
  1035. } catch (\Exception $e) {
  1036. return api_error_return('失败');
  1037. }
  1038. }
  1039. // 利润结算记录
  1040. public function incomeMoneyLog(Request $request){
  1041. $model = new MoneyLogModel();
  1042. try {
  1043. // $request->data['type'] = 8;
  1044. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request, 8)]);
  1045. } catch (\Exception $e) {
  1046. return api_error_return('失败'.$e->getMessage());
  1047. }
  1048. }
  1049. // 利润结算
  1050. public function getUserIncomeTeam(Request $request){
  1051. $model = new UserModel();
  1052. Db::startTrans();
  1053. try {
  1054. $model->getUserIncomeTeam($request->uid);
  1055. Db::commit();
  1056. }catch (\Exception $e){
  1057. Db::rollback();
  1058. return api_error_return('结算失败'.$e->getMessage());
  1059. // return api_error_return($e->getMessage());
  1060. }
  1061. return api_succ_return('结算成功');
  1062. }
  1063. // 消费记录
  1064. public function consumeLog(Request $request){
  1065. $model = new PaymentModel();
  1066. try {
  1067. return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request, 8)]);
  1068. } catch (\Exception $e) {
  1069. return api_error_return('失败'.$e->getMessage());
  1070. }
  1071. }
  1072. // 商务合作申请
  1073. public function bussinessApply(Request $request){
  1074. $model = new UserModel();
  1075. Db::startTrans();
  1076. try {
  1077. $model->bussinessApply($request->uid, $request->post());
  1078. Db::commit();
  1079. }catch (\Exception $e){
  1080. Db::rollback();
  1081. return api_error_return($e->getMessage());
  1082. }
  1083. return api_succ_return('申请成功');
  1084. }
  1085. // 用户利润信息
  1086. public function userProfitInfo(Request $request){
  1087. $user_info = Db::name('user')->where('id', $request->uid)->find();
  1088. return api_succ_return(['msg'=>'成功', 'data'=>[
  1089. 'total'=>$user_info['total_profit_money'],
  1090. 'cur_profit'=>$user_info['profit_money'],
  1091. 'desc'=>'按照100的倍数结算到余额'
  1092. ]]);
  1093. }
  1094. // 邀请好友 绑定上级好友
  1095. public function bangUpFriend(Request $request){
  1096. $model = new UserModel();
  1097. Db::startTrans();
  1098. try {
  1099. $model->bangUpFriend($request->uid, $request->post());
  1100. Db::commit();
  1101. }catch (\Exception $e){
  1102. Db::rollback();
  1103. return api_error_return($e->getMessage());
  1104. }
  1105. return api_succ_return('绑定成功');
  1106. }
  1107. // 获得直推上级信息
  1108. public function getUpUserInfo(Request $request){
  1109. $user_info = $request->user_info;
  1110. if ($user_info['pid'] > 0){
  1111. $pid_info = Db::name('user')->where('id', $user_info['pid'])->field('nickname,mobile,id')->find();
  1112. $pid_info['mobile'] = substr($pid_info['mobile'], 0, 3).'****'.substr($pid_info['mobile'], 7);
  1113. return api_succ_return(['msg'=>'成功', 'data'=>$pid_info]);
  1114. }else{
  1115. return api_succ_return(['msg'=>'成功', 'data'=>[]]);
  1116. }
  1117. }
  1118. // 获取用户订单状态 处理
  1119. public function orderUnreadInfo(Request $request){
  1120. $data = [];
  1121. Db::startTrans();
  1122. try {
  1123. $count1 = Db::name('shop_order')->where('user_id', $request->uid)->where('status', 0)->count();
  1124. $count2 = Db::name('shop_order')->where('user_id', $request->uid)->where('status', 1)->count();
  1125. $count3 = Db::name('shop_order')->where('user_id', $request->uid)->where('status', 2)->count();
  1126. $data = [$count1, $count2, $count3, 0];
  1127. Db::commit();
  1128. }catch (\Exception $e){
  1129. Db::rollback();
  1130. return api_error_return('接口请求失败');
  1131. }
  1132. return api_succ_return(['msg'=>'成功', 'data'=>$data]);
  1133. }
  1134. }