| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030 |
- <?php
- namespace app\api\controller\v1;
- use app\api\services\UserServices;
- use app\common\model\ActiveLogModel;
- use app\common\model\GoodsAttensionModel;
- use app\common\model\GreenScoreLogModel;
- use app\common\model\MoneyLogModel;
- use app\common\model\PaymentModel;
- use app\common\model\ScoreAwayLogModel;
- use app\common\model\ScoreLock1LogModel;
- use app\common\model\ScoreLogModel;
- use app\common\model\SuggestModel;
- use app\common\model\TzLogModel;
- use app\common\model\UserModel;
- use app\common\model\WithDrawLogModel;
- use app\common\service\ShopGoodsService;
- use app\common\service\UserService;
- use app\common\service\UserUnmoneyService;
- use app\Request;
- use app\api\validate\UserValidate;
- use services\CacheServices;
- use think\Exception;
- use think\exception\ValidateException;
- use think\facade\Db;
- use utils\RedisCache;
- class User
- {
- protected $service = null;
- public function __construct( UserServices $services)
- {
- $this->service = $services;
- }
- /**
- * 用户注册
- * @param Request $request
- * @return \think\Response
- */
- public function register(Request $request)
- {
- $params = $request->post();
- try {
- validate(UserValidate::class)->scene('register')->check($params);
- if (!vertifyPass(AESjiemi($params['password']))){
- throw new Exception('密码必须包含字母和数字,长度大于8位');
- }
- if (!vertifyUserName($params['user_name'])){
- throw new Exception('用户名必须包含字母和数字,长度大于6位小于15位');
- }
- $params['password'] = AESjiemi($params['password']);
- if($uid = $this->service->userRegister($params)){
- return api_succ_return(['msg'=>'注册成功', 'data'=> ['uid'=>$uid]]);
- }else{
- return api_error_return('注册失败');
- }
- }catch (ValidateException $e){
- return api_error_return($e->getMessage());
- }catch (Exception $e){
- return api_error_return($e->getMessage());
- }
- }
- /**
- * 注册获取上级信息
- * @param Request $request
- * @param UserModel $model
- * @return \think\Response
- */
- public function registerUpUser(Request $request, UserModel $model){
- Db::startTrans();
- try {
- $scanCode = $request->post('scan_code');
- if (empty($scanCode) || !$scanCode){
- return api_error_return('参数错误');
- }
- $params = getUrlParams($scanCode);
- $is_px = false;
- $upuser = $model->where('code', $params['code'])
- ->field('nickname,mobile,px_code,code,avatar')
- ->withAttr('avatar', function($val, $data){
- return __HTTPIMG($val);
- })->find();
- if (!$upuser){
- $upuser = $model->where('px_code', $params['code'])
- ->field('nickname,px_code,code,avatar,mobile')
- ->withAttr('avatar', function($val, $data){
- return __HTTPIMG($val);
- })->find();
- $is_px = true;
- }
- if (!$upuser){
- return api_error_return('查询失败,暂无用户');
- }
- $upuser['mobile'] = substr($upuser['mobile'], 0, 3).'****'.substr($upuser['mobile'], 7);
- $upuser['share_way'] = $is_px?2:1;
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return(['msg'=>'成功', 'data'=>['user'=>$upuser]]);
- }
- /**
- * 退出登录
- * @param Request $request
- * @return \think\Response
- */
- public function logout(Request $request){
- CacheServices::delete('auth:'.md5('yjbuy:' . $request->uid));
- return api_succ_return('成功');
- }
- /**
- * 登录
- * @param Request $request
- * @return \think\Response
- */
- public function login(Request $request)
- {
- $curandroid = env('app.CUR_ANDROID_VERSION', '');
- $curios = env('app.CUR_IOS_VERSION', '');;
- $curAndroidVersion = str_replace('.', '', $curandroid);
- $curAndroidVersion = dispRepair($curAndroidVersion, 4, '0', '0');
- $curIosVersion = str_replace('.', '', $curios);
- $curIosVersion = dispRepair($curIosVersion, 4, '0', '0');
- $app_sources = $request->param('app_sources');
- $app_version = $request->param('app_version');
- $app_version = str_replace('.', '', $app_version);
- $app_version = dispRepair($app_version, 4, '0', '0');
- $param = $request->param();
- Db::startTrans();
- try {
- validate(UserValidate::class)->scene('login')->check($param);
- $data = $this->service->userLogin($param);
- Db::commit();
- return api_succ_return($data);
- }catch (ValidateException $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }catch (Exception $e){
- Db::rollback();
- return api_error_return(['msg'=>$e->getMessage(), 'code'=>$e->getCode()]);
- }
- }
- /**
- * 编辑用户信息
- * @param Request $request
- * @return \think\Response
- */
- public function editUserInfo(Request $request){
- $param = $request->param();
- try {
- return api_succ_return($this->service->setUserInfo($request->uid, $param));
- }catch (Exception $e){
- return api_error_return(['msg'=>$e->getMessage(), 'code'=>$e->getCode()]);
- }
- }
- /**
- * 编辑用户信息
- * @param Request $request
- * @return \think\Response
- */
- public function setSellerPayWay(Request $request){
- $param = $request->param();
- try {
- return api_succ_return($this->service->setSellerPayWay($request->uid, $param));
- }catch (Exception $e){
- return api_error_return(['msg'=>$e->getMessage(), 'code'=>$e->getCode()]);
- }
- }
- /**
- * 用户信息
- * @param Request $request
- * @param UserModel $model
- * @return \think\Response
- */
- public function userInfo(Request $request, UserModel $model)
- {
- Db::startTrans();
- try {
- $user = $model->getUserDetailByUid($request->uid);
- unset($user['password']);
- unset($user['status']);
- unset($user['login_count']);
- unset($user['login_ip']);
- unset($user['login_time']);
- Db::commit();
- return api_succ_return(['msg'=>'个人信息获取成功', 'data'=>$user]);
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- }
- /**
- * 修改登录密码
- * @param Request $request
- * @param UserModel $model
- * @return \think\Response
- */
- public function editLoginPass(Request $request, UserModel $model)
- {
- try {
- return $model->editLoginPass($request);
- }catch (\Exception $e){
- return api_error_return($e->getMessage());
- }
- }
- /**
- * 修改安全密码
- * @param Request $request
- * @param UserModel $model
- * @return \think\Response
- */
- public function editSecurityPass(Request $request, UserModel $model)
- {
- try {
- return $model->editSecurityPass($request);
- }catch (\Exception $e){
- return api_error_return($e->getMessage());
- }
- }
- /**
- * 余额记录
- * @param Request $request
- * @param MoneyLogModel $model
- * @return \think\Response
- */
- public function moneyLog(Request $request, MoneyLogModel $model)
- {
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
- } catch (\Exception $e) {
- return api_error_return('失败');
- }
- }
- /**
- * 绿色积分记录
- * @param Request $request
- * @param GreenScoreLogModel $model
- * @return \think\Response
- */
- public function greenScoreLog (Request $request, GreenScoreLogModel $model)
- {
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
- } catch (\Exception $e) {
- return api_error_return('失败');
- }
- }
- /**
- * 利润结算记录
- * @param Request $request
- * @return \think\Response
- */
- public function incomeMoneyLog(Request $request,MoneyLogModel $model){
- try {
- $pageSize = $request->post('limit', 10);
- $post = $request->post();
- $post['uid'] = $request->uid;
- // return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request, 8)]);
- return api_succ_return(['msg'=>'成功', 'data'=>UserUnmoneyService::make()->getList($post, $pageSize)]);
- } catch (\Exception $e) {
- return api_error_return('失败'.$e->getMessage());
- }
- }
- /**
- * 积分记录
- * @param Request $request
- * @param ScoreLogModel $model
- * @return \think\Response
- */
- public function scoreLog (Request $request, ScoreLogModel $model)
- {
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
- } catch (\Exception $e) {
- return api_error_return('失败');
- }
- }
- /**
- * jh记录
- * @param Request $request
- * @param TzLogModel $model
- * @return \think\Response
- */
- public function jhLog (Request $request, TzLogModel $model)
- {
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
- } catch (\Exception $e) {
- return api_error_return('失败');
- }
- }
- /**
- * 福利积分记录
- * @param Request $request
- * @param ScoreAwayLogModel $model
- * @return \think\Response
- */
- public function scoreAwayLog (Request $request, ScoreAwayLogModel $model)
- {
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
- } catch (\Exception $e) {
- return api_error_return('失败');
- }
- }
- /**
- * 锁存积分记录
- * @param Request $request
- * @param ScoreLock1LogModel $model
- * @return \think\Response
- */
- public function scoreLockLog (Request $request, ScoreLock1LogModel $model)
- {
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
- } catch (\Exception $e) {
- return api_error_return('失败');
- }
- }
- /**
- * 团队数据
- * @param Request $request
- * @param UserModel $model
- * @return \think\Response
- */
- public function teamData(Request $request, UserModel $model){
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getFansData($request->uid)]);
- } catch (\Exception $e) {
- return api_error_return($e->getMessage());
- }
- }
- /**
- * 团队列表
- * @param Request $request
- * @param UserModel $model
- * @return \think\Response
- */
- public function teamList(Request $request, UserModel $model){
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getFansList($request->uid, $request->post('limit'), $request->post('type'), $request->post('keyword'))]);
- } catch (\Exception $e) {
- return api_error_return($e->getMessage());
- }
- }
- /**
- * 团队信息
- * @param Request $request
- * @return \think\Response
- * @throws \think\db\exception\DbException
- */
- public function teamInfo(Request $request){
- $uid = $request->uid;
- $display_ids = env('app.NOT_OPEN_GOODS_ID');
- $has_display = false;
- if (strpos($display_ids, strval($uid)) !== false){
- $has_display = true;
- }
- $data = [
- 'zt_valid'=> UserModel::where('pid', $uid)->where('has_fd', 1)->count('id'),
- 'zt_total'=> UserModel::where('pid', $uid)->count('id'),
- 'zt_teamtotal'=> UserModel::whereFindInSet('path', $uid)->count('id'),
- 'zt_teamvalid'=> UserModel::whereFindInSet('path', $uid)->where('has_fd', 1)->count('id'),
- 'display_str' => ''
- // 'display_str' => $has_display?('团队总充值:'.$request->user_info['total_team_income'].',团队总提现:'.$request->user_info['total_team_withdraw']):''
- ];
- return api_succ_return(['msg'=>'成功', 'data'=>$data]);
- }
- /**
- * 直推列表
- * @param Request $request
- * @param UserModel $model
- * @return \think\Response
- */
- public function directListData(Request $request, UserModel $model){
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getDirectDataList($request->uid, $request->post('is_auth'), $request->post('limit'), $request->post('keyworld'))]);
- }catch (Exception $e){
- return api_error_return($e->getMessage());
- }
- }
- /**
- * 活跃点明细
- * @param Request $request
- * @param ActiveLogModel $model
- * @return \think\Response
- */
- public function activeLog(Request $request, ActiveLogModel $model){
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
- }catch (Exception $e){
- return api_error_return($e->getMessage());
- }
- }
- /**
- * 反馈建议
- * @param Request $request
- * @param SuggestModel $model
- * @return \think\Response
- */
- public function suggestSubmit(Request $request, SuggestModel $model){
- $post = $request->post();
- Db::startTrans();
- try {
- $model->insert([
- 'type'=>2,
- 'uid'=>$request->uid,
- 'created_time'=>sr_getcurtime(time()),
- 'content'=>$post['content']
- ]);
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return('失败'.$e->getMessage());
- }
- return api_succ_return('成功');
- }
- /**
- * 用户升星
- * @param Request $request
- * @param UserServices $services
- * @return \think\Response
- */
- public function upgradeLevel (Request $request, UserServices $services)
- {
- try {
- if($result = UserService::make()->upgradeLevel($request->uid, $request->post('type', 2))){
- return api_succ_return($result);
- }
- } catch (Exception $e) {
- return api_succ_return(['code'=>$e->getCode(), 'msg'=>$e->getMessage()]);
- }
- }
- /**
- * 余额兑换成积分
- * @param Request $request
- * @param UserModel $model
- * @return \think\Response
- */
- public function moneyExchangeScore(Request $request, UserModel $model){
- Db::startTrans();
- try {
- $model->moneyExchangescore($request->uid, $request->post('money'));
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return('兑换成功');
- }
- /**
- * 今日播放视频数据
- * @param Request $request
- * @return \think\Response
- */
- public function openAdTodayData(Request $request){
- $type = $request->post('type');
- if (!in_array($type, [1,2])){
- return api_error_return('参数错误');
- }
- return api_succ_return(['msg'=>'成功', 'data'=>['total'=>env('AD.ONE_DAY_TASK_NUM'),'today_count'=>env('AD.ONE_DAY_TASK_NUM')]]);
- }
- /**
- * 提现记录
- * @param Request $request
- * @param WithDrawLogModel $model
- * @return \think\Response
- */
- public function withdrawLog (Request $request, WithDrawLogModel $model)
- {
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request)]);
- } catch (\Exception $e) {
- return api_error_return($e->getMessage());
- }
- }
- // 绑定提现账号
- public function bangWithdrawInfo(Request $request, UserServices $service)
- {
- Db::startTrans();
- try {
- $service->bangWithdrawInfo($request->uid, $request->post('type'), $request->post('number'), $request->post('name'));
- Db::commit();
- }catch (Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return('绑定成功');
- }
- // 解绑提现账号
- public function unBangWithdrawInfo(Request $request, UserServices $service)
- {
- Db::startTrans();
- try {
- $service->unbangWithdrawInfo($request->uid, $request->post('type'));
- Db::commit();
- }catch (Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return('解绑成功');
- }
- // 用户转赠提交
- public function exchargeSubmit(Request $request, UserServices $service){
- return api_error_return("星钻转赠以下线");
- $post = $request->post();
- if ($request->user['mobile'] == $post['mobile']){
- return api_error_return('不能给自己转赠');
- }
- Db::startTrans();
- try {
- $info = $service->exchargeSubmit($request->uid, $post['xz_num'], $post['mobile']);
- Db::commit();
- }catch (Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
- }
- // 用户转赠确认
- public function exchargeDone(Request $request, UserServices $service){
- $post = $request->post();
- Db::startTrans();
- try {
- getActionSecury($request->uid, $request->post('security_pass', ''));
- $info = $service->exchargeDone($request->uid, $post['xz_num'], $post['mobile']);
- Db::commit();
- }catch (Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
- }
- // 用户转赠提交
- public function exchargeMedalSubmit(Request $request, UserServices $service){
- $post = $request->post();
- if ($request->user['mobile'] == $post['mobile']){
- return api_error_return('不能给自己转赠');
- }
- Db::startTrans();
- try {
- $info = $service->exchargeMedalSubmit($request->uid, $post['medal_num'], $post['mobile']);
- Db::commit();
- }catch (Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
- }
- // 用户转赠确认
- public function exchargeMedalDone(Request $request, UserServices $service){
- $post = $request->post();
- Db::startTrans();
- try {
- getActionSecury($request->uid, $request->post('security_pass', ''));
- $info = $service->exchargeMedalDone($request->uid, $post['medal_num'], $post['mobile']);
- Db::commit();
- }catch (Exception $e){
- Db::rollback();
- // if ($e->getCode() == 399){
- // return api_error_return(['msg'=>'请设置安全密码', 'code'=>399]);
- // }
- return api_error_return($e->getMessage());
- }
- return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
- }
- // 用户播放视频报错
- public function watchAdError(Request $request, UserServices $service){
- $code = $request->post('error', '');
- $message = $request->post('error1', '');
- Db::startTrans();
- try {
- $error_codes = explode(',', env('APP.AD_ERROR_CODE'));
- $error_msgs = explode(',', env('APP.AD_ERROR_MESSAGE'));
- if (!(in_array($code, $error_codes) && in_array($message, $error_msgs))){
- if (!Db::name('ad_error_records')->where('uid', $request->uid)->where('error_code', $code)->where('status', 1)->find()){
- Db::name('ad_error_records')->insert([
- 'uid'=>$request->uid,
- 'error_code'=>$code,
- 'error_msg'=>$message,
- 'create_time'=>sr_getcurtime(time())
- ]);
- }
- }else{
- throw new Exception('请求失败');
- }
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return(['msg'=>'加载广告失败,请直接领取任务包奖励', 'code'=>200]);
- }
- // 首页必读公告获取
- public function getHomeMsg(Request $request){
- $list = Db::name('system_article')->where('type', 9)->order('create_time desc')->select();
- $user = Db::name('user')->where('id', $request->uid)->find();
- foreach ($list as $key=>$val){
- if (!Db::name('article_get')->where('uid', $request->uid)->where('article_id', $val['id'])->find()){
- if ($user['reg_time'] < $val['create_time']){
- return api_succ_return(['msg'=>'成功','data'=> [$val]]);
- }
- }
- }
- return api_succ_return('成功');
- }
- // 用户消息已读
- public function getMsgDown(Request $request){
- $article_id = $request->post('article_id');
- if (Db::name('system_article')->where('id', $article_id)->where('type', 9)->find()){
- Db::name('article_get')->insert([
- 'uid'=>$request->uid,
- 'article_id'=>$article_id,
- 'create_time'=>sr_getcurtime(time())
- ]);
- }
- return api_succ_return('成功');
- }
- // 用户通知信息列表
- public function messageList(Request $request){
- $page = $request->post('page', 1);
- $limit = $request->post('limit', 10);
- 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()]);
- }
- // 用户余额转赠提交
- public function moneyExchargeSubmit(Request $request, UserServices $service){
- $post = $request->post();
- if ($request->user['mobile'] == $post['mobile']){
- return api_error_return('不能给自己转赠');
- }
- Db::startTrans();
- try {
- $info = $service->exchargeMoneySubmit($request->uid, $post['money'], $post['mobile']);
- Db::commit();
- }catch (Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return(['msg'=>'请求成功', 'data'=>$info]);
- }
- /**
- * 取消收藏商品
- * @param Request $request
- * @return \think\Response
- */
- public function cancelAttension(Request $request){
- $goodsId = $request->post('goods_id');
- if(ShopGoodsService::make()->cancelAttension($request->uid, $goodsId)){
- return api_succ_return('成功');
- }else{
- return api_error_return('失败');
- }
- }
- /**
- * 商品收藏列表
- * @param Request $request
- * @return \think\Response
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- */
- public function goodsAttList(Request $request){
- $post = $request->post();
- $list = GoodsAttensionModel::alias('a')
- ->where('a.uid', '=', $request->uid)
- ->leftJoin('shop_goods g', 'g.goods_id = a.goods_id')
- ->withAttr('goods_img', function ($value) {
- return getPreviewUrl($value);
- })
- ->field('a.id,a.goods_id, g.goods_img, g.goods_name,g.goods_sn, g.attension_count,g.price, g.rebate_score')
- ->page($post['page'], $post['limit'])
- ->select()->toArray();
- return api_succ_return(['msg'=>'成功', 'data'=>$list]);
- }
- /**
- * 用户注销
- * @param Request $request
- * @return \think\Response
- */
- public function denyOff(Request $request){
- return api_succ_return('功能暂未开放');
- }
- /**
- * 回收卡信息
- * @param Request $request
- * @return \think\Response
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- */
- public function recycleCardInfo(Request $request){
- $data = [];
- $user_info = Db::name('user')->where('id', $request->uid)->field('today_money,todayaward_money,store_type')->find();
- $data['every_day_recycle_count'] = $user_info['store_type'] == 1?120:20;
- $zt_numcount = Db::name('user')->where('pid', $request->uid)->where('has_fd', 1)->count();
- $data['zt_count'] = $zt_numcount * env('boxsetting.ONE_DIRECT_RECYCLE_COUNT');
- $has_get = Db::name('recyclecard_log')->where('type', 1)->where('uid', $request->uid)->whereDay('create_at', 'today')->find();
- $has_ztget = Db::name('recyclecard_log')->where('type', 2)->where('uid', $request->uid)->whereDay('create_at', 'today')->find();
- $data['has_today_get'] = $has_get?1:0;
- $data['has_today_ztget'] = $has_ztget?1:0;
- $data['todayaward_money'] = $user_info['todayaward_money'];
- $data['today_money']=$user_info['today_money'];
- $data['services_store_price']=env('boxsetting.SERVICES_STORE_OPEN_PRICE');
- return api_succ_return(['msg'=>'成功', 'data'=>$data]);
- }
- /**
- * 领取回收卡
- * @param Request $request
- * @return \think\Response
- */
- public function getRecycleCard(Request $request){
- $type = $request->post('type');
- $model = new UserModel();
- Db::startTrans();
- try {
- $model->getRecycleCard($request->uid, $type, $request->user);
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return('领取成功');
- }
- /**
- * 领取每日奖金
- * @param Request $request
- * @return \think\Response
- */
- public function getUserTeamMoney(Request $request){
- $model = new UserModel();
- return api_error_return('奖金已在每天21后自动领取');
- Db::startTrans();
- try {
- $model->getUserTeamMoney($request->uid);
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return('领取成功');
- }
- /**
- * 今日奖金记录
- * @param Request $request
- * @return \think\Response
- */
- public function todayTeamMoneyLog(Request $request){
- $model = new MoneyLogModel();
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getTeamMoneyLog($request)]);
- } catch (\Exception $e) {
- return api_error_return('失败');
- }
- }
- /**
- * 利润结算到余额
- * @param Request $request
- * @return \think\Response
- */
- public function getUserIncomeTeam(Request $request){
- $model = new UserModel();
- Db::startTrans();
- try {
- $cacheKey = "caches:profits:settles:{$request->uid}";
- if(RedisCache::get($cacheKey)){
- return api_error_return('请不要频繁提交');
- }
- RedisCache::setnx($cacheKey, 1, rand(2,3));
- UserService::make()->switchProfitToMoney($request->uid);
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- RedisCache::clear($cacheKey);
- return api_error_return('结算失败'.$e->getMessage());
- }
- return api_succ_return('结算成功');
- }
- /**
- * 消费记录
- * @param Request $request
- * @return \think\Response
- */
- public function consumeLog(Request $request){
- $model = new PaymentModel();
- try {
- return api_succ_return(['msg'=>'成功', 'data'=>$model->getLog($request, 8)]);
- } catch (\Exception $e) {
- return api_error_return('失败'.$e->getMessage());
- }
- }
- /**
- * 商务合作申请
- * @param Request $request
- * @return \think\Response
- */
- public function bussinessApply(Request $request){
- $model = new UserModel();
- Db::startTrans();
- try {
- $model->bussinessApply($request->uid, $request->post());
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return('申请成功');
- }
- /**
- * 用户利润信息用户利润信息
- * @param Request $request
- * @return \think\Response
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- */
- public function userProfitInfo(Request $request){
- $user_info = Db::name('user')->where('id', $request->uid)->find();
- return api_succ_return(['msg'=>'成功', 'data'=>[
- 'total'=>$user_info['total_profit_money'],
- 'cur_profit'=>$user_info['profit_money'],
- 'desc'=>'按照100的倍数结算到余额'
- ]]);
- }
- /**
- * 邀请好友 绑定上级好友
- * @param Request $request
- * @return \think\Response
- */
- public function bangUpFriend(Request $request){
- $model = new UserModel();
- Db::startTrans();
- try {
- $model->bangUpFriend($request->uid, $request->post());
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return($e->getMessage());
- }
- return api_succ_return('绑定成功');
- }
- /**
- * 获得直推上级信息
- * @param Request $request
- * @return \think\Response
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- */
- public function getUpUserInfo(Request $request){
- $user_info = $request->user_info;
- if ($user_info['pid'] > 0){
- $pid_info = Db::name('user')->where('id', $user_info['pid'])->field('nickname,mobile,id')->find();
- $pid_info['mobile'] = substr($pid_info['mobile'], 0, 3).'****'.substr($pid_info['mobile'], 7);
- return api_succ_return(['msg'=>'成功', 'data'=>$pid_info]);
- }else{
- return api_succ_return(['msg'=>'成功', 'data'=>[]]);
- }
- }
- /**
- * 获取用户订单状态 处理
- * @param Request $request
- * @return \think\Response
- */
- public function orderUnreadInfo(Request $request){
- $data = [];
- Db::startTrans();
- try {
- $count1 = Db::name('shop_order')->where('user_id', $request->uid)->where('status', 0)->count();
- $count2 = Db::name('shop_order')->where('user_id', $request->uid)->where('status', 1)->count();
- $count3 = Db::name('shop_order')->where('user_id', $request->uid)->where('status', 2)->count();
- $data = [$count1, $count2, $count3, 0];
- Db::commit();
- }catch (\Exception $e){
- Db::rollback();
- return api_error_return('接口请求失败');
- }
- return api_succ_return(['msg'=>'成功', 'data'=>$data]);
- }
- }
|