| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013 |
- <?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\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
- * @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' => $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]);
- }
- }
|