*/ public function setUserInfo() { //传参数据 $data_list = $this->params; $insert_data = []; if(isset($data_list['headimg'])){ $insert_data['headimg'] = intval($data_list['headimg']); } if(isset($data_list['nickname'])){ $insert_data['nickname'] = trim($data_list['nickname']); } if(isset($data_list['realname'])){ $insert_data['realname'] = trim($data_list['realname']); } if(isset($data_list['realphone'])){ $insert_data['realphone'] = trim($data_list['realphone']); } if(isset($data_list['wxskqrcode'])){ $insert_data['wxskqrcode'] = intval($data_list['wxskqrcode']); } //被邀请注册 if (isset($data_list['invitation_uid']) && !empty($data_list['invitation_uid'])) { if(intval($data_list['invitation_uid']) != $this->user_id){ $insert_data['invitation_uid'] = intval($data_list['invitation_uid']); //进行积分发送 MemberModel::where('id',$insert_data['invitation_uid'])->setInc('balance',intval(config('login_integral'))); //插入积分记录、 MemberBalanceLogsModel::addGetLog($insert_data['invitation_uid'],1,intval(config('login_integral')),'','邀请用户注册'); } } $res = MemberModel::where(['id' => $this->user_id])->update($insert_data); if ($res) { apiReturn('200', '用户信息更新成功'); } else { apiReturn('500', '用户信息更新失败'); } } /** * 意见反馈 * @param int $phone 联系电话 * @param int $message 反馈内容 * @author loomis<2477365162@qq.com> */ public function addfeedback(){ //传参数据 $data_list = $this->params; if (!isset($data_list['phone']) || empty($data_list['phone'])) { return json(['code' => 500, 'msg' => '联系电话不能为空']); } if (!isset($data_list['message']) || empty($data_list['message'])) { return json(['code' => 500, 'msg' => '反馈内容不能为空']); } $phone = trim($data_list['phone']); $message = trim($data_list['message']); if($this->illegalcharacters($phone) || $this->illegalcharacters($message)){ apiReturn('500', '非法参数'); } $data_list['uid'] = $this->user_id; $res = MemberFeedbackModel::create($data_list); if ($res) { apiReturn('200', '意见反馈提交成功,等待平台查看联系'); } else { apiReturn('500', '意见反馈提交失败'); } } /** * 我的 * @author loomis<2477365162@qq.com> */ public function usercenter(){ $userinfo = MemberModel::where('id',$this->user_id)->find(); //生成小程序码 if(empty($userinfo['share_qrcode'])){ $app = Factory::miniProgram([ 'app_id' => config('smallprogram_appid'), 'secret' => config('smallprogram_appsecret'), ]); $response = $app->app_code->get('pages/index/index?invitation_uid='.$this->user_id, []); //二维码 $filename=time().'_wx.jpg'; $qr_path = $_SERVER['DOCUMENT_ROOT'] .'/uploads/qrcode'; // 保存小程序码到文件 if ($response instanceof \EasyWeChat\Kernel\Http\StreamResponse){ $resfilename = $response->saveAs($qr_path,$filename); } // 保存成功后 获取信息 $data['uid'] = 0; $data['path'] = trim('uploads/qrcode/'.$resfilename,'.'); $data["md5"] = md5($data['path']); $data["sha1"] = sha1($data['path']); $data['name'] = $resfilename; $data['ext'] = 'jpg'; $data['create_time'] = time(); $id = AttachmentModel::create($data); //更新小程序邀请二维码 $userinfo->share_qrcode = $id['id']; $userinfo->save(); $invitation_qrcode = $this->getFileUrl($id['id']); }else{ $invitation_qrcode = $this->getFileUrl($userinfo['share_qrcode']); } //海报背景图 $haibao_advert = AdvertModel::where(['type'=>3])->order('sort asc,create_time desc')->find(); apiReturn('200', '查询成功',[ 'id'=>$userinfo['id'], 'invitation_uid'=>$userinfo['invitation_uid'], 'headimg'=>$this->getFileUrl($userinfo['headimg']), 'headimg_id'=>$userinfo['headimg'], 'nickname'=>$userinfo['nickname'], 'balance'=>$userinfo['balance'], 'poster_img'=>$this->getFileUrl($haibao_advert['thumb']), 'invitation_qrcode'=>$invitation_qrcode, 'realname'=>$userinfo['realname'], 'realphone'=>$userinfo['realphone'], 'wxskqrcode'=>$this->getFileUrl($userinfo['wxskqrcode']), 'wxskqrcode_id'=>$userinfo['wxskqrcode'], 'vip_title'=>$userinfo['vip_title'], ]); } /** * 我的积分 * @param int $page 页数(默认为1,每页显示20条数据) * @param int $type 1积分明细 2兑换明细 * @author loomis<2477365162@qq.com> */ public function myintegral(){ //传参数据 $data_list = $this->params; if(!isset($data_list['type']) || empty($data_list['type'])){ apiReturn('500', 'type不能为空'); } $type = intval($data_list['type']); //页数 $page = 1; if(isset($data_list['page'])){ $page = intval($data_list['page']); } $page = ($page-1); $page=$page*20; $limit=$page.',20'; $resdata = []; if($type==1){//积分明细 $list = MemberBalanceLogsModel::where('uid',$this->user_id)->order('id desc')->limit($limit)->select()->toArray(); if(!empty($list)){ foreach ($list as $k=>$v){ $resdata[$k] = [ 'category'=>$v['category'], 'value'=>$v['value'], 'mark'=>$v['mark'], 'create_time'=>date('Y-m-d H:i:s',$v['create_time']), ]; } } }else{//兑换明细 $list = BalanceWithdrawModel::where('uid',$this->user_id)->order('id desc')->limit($limit)->select()->toArray(); if(!empty($list)){ foreach ($list as $k=>$v){ $resdata[$k] = [ 'value'=>$v['price'], 'status'=>$v['status'], 'create_time'=>date('Y-m-d H:i:s',$v['create_time']), ]; } } } $userinfo = MemberModel::where('id',$this->user_id)->find(); apiReturn('200', '查询成功',[ 'integral'=>$userinfo['balance'], 'withdraw_price'=>BalanceWithdrawModel::where(['uid'=>$this->user_id,'status'=>2])->sum('price'), 'list'=>$list, ]); } //获取积分提现比例 public function getproportion(){ apiReturn('200', '查询成功',[ 'proportion'=>config('integral_price_bili'), 'minprice'=>config('integral_minprice') ]); } /** * 积分提现 * @param int $integral_num * @author loomis<2477365162@qq.com> */ public function addwithdraw(){ //传参数据 $data_list = $this->params; if(!isset($data_list['withdrawid']) || empty($data_list['withdrawid'])){ apiReturn('500', '提现id不能为空'); } $withdrawid = intval($data_list['withdrawid']); $withdrawinfo = MemberWithdrawModel::where('id',$withdrawid)->find(); if(empty($withdrawinfo)){ apiReturn('500', '未查询到提现信息'); } $userinfo = MemberModel::where('id',$this->user_id)->find(); if(empty($userinfo['wxskqrcode'])){ apiReturn('500', '请先完善收款信息'); } $integral_num = $withdrawinfo['points_num']; if($userinfo['vip_id']!=0){ $integral_num = $withdrawinfo['vip_points_num']; } if($userinfo['balance']<$integral_num){ apiReturn('500', '提现失败,积分不足'); } $res = BalanceWithdrawModel::create([ 'uid'=>$this->user_id, 'price'=>$withdrawinfo['price'], 'integral_num'=>$integral_num ]); if($res){ //插入积分记录、 MemberBalanceLogsModel::addGetLog($this->user_id,2,$integral_num,$res['id'],'积分提现'); //扣除积分 $userinfo->balance = $userinfo->balance - $integral_num; $userinfo->save(); apiReturn('200', '提现申请已提交,等待平台审核打款'); }else{ apiReturn('500', '服务器繁忙,请稍后再试'); } } /** * 推广团队 * @param int $page 页数(默认为1,每页显示20条数据) * @param int $type 1一级 2二级 * @author loomis<2477365162@qq.com> */ public function promotionteam(){ //传参数据 $data_list = $this->params; if(!isset($data_list['type']) || empty($data_list['type'])){ apiReturn('500', 'type不能为空'); } $type = intval($data_list['type']); //页数 $page = 1; if(isset($data_list['page'])){ $page = intval($data_list['page']); } $page = ($page-1); $page=$page*20; $limit=$page.',20'; if($type==1){//一级 $list = MemberModel::where('invitation_uid',$this->user_id) ->field('id,headimg,nickname') ->order('id desc') ->limit($limit) ->select()->toArray(); if(!empty($list)){ foreach ($list as $k=>$v){ $list[$k]['headimg'] = $this->getFileUrl($v['headimg']); //用户消费金额 $list[$k]['useprice'] = MemberServiceOrderModel::where(['type'=>1,'uid'=>$v['id'],'status'=>2])->sum('totalprice'); //用户给我产生的积分 $list[$k]['pointsnum'] = MemberBalanceLogsModel::where(['uid'=>$this->user_id,'to_uid'=>$v['id']])->sum('value'); } } }else{//二级 $ids = MemberModel::where('invitation_uid',$this->user_id)->column('id'); if(!empty($ids)){ $ids = implode(',',$ids); $where = []; $where[] = ['invitation_uid','in',$ids]; $list = MemberModel::where($where) ->field('id,headimg,nickname') ->order('id desc') ->limit($limit) ->select()->toArray(); if(!empty($list)){ foreach ($list as $k=>$v){ $list[$k]['headimg'] = $this->getFileUrl($v['headimg']); //用户消费金额 $list[$k]['useprice'] = MemberServiceOrderModel::where(['type'=>1,'uid'=>$v['id'],'status'=>2])->sum('totalprice'); //用户给我产生的积分 $list[$k]['pointsnum'] = MemberBalanceLogsModel::where(['uid'=>$this->user_id,'to_uid'=>$v['id']])->sum('value'); } } }else{ $list = []; } } apiReturn('200', '查询成功',$list); } /** * 资源订单 * @param int $page 页数(默认为1,每页显示20条数据) * @param int $status 1待支付 2已支付 * @author loomis<2477365162@qq.com> */ public function serviceorder(){ //传参数据 $data_list = $this->params; $status = 1; if(isset($data_list['status']) && !empty($data_list['status'])){ $status = intval($data_list['status']); } //页数 $page = 1; if(isset($data_list['page'])){ $page = intval($data_list['page']); } $page = ($page-1); $page=$page*20; $limit=$page.',20'; $where = []; $where[] = ['uid','eq',$this->user_id]; $where[] = ['status','eq',$status]; $list = MemberServiceOrderModel::where($where) ->field('id,service_id,ordernum,service_title,service_summary,service_thumb,totalprice,create_time') ->order('id desc') ->limit($limit) ->select()->toArray(); if(!empty($list)){ foreach ($list as $k=>$v){ $list[$k]['service_thumb'] = $this->getFileUrl($v['service_thumb']); $list[$k]['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $list[$k]['groupid'] = $v['service_id']; unset($list[$k]['service_id']); } } apiReturn('200', '查询成功',$list); } /** * 我的扩列墙 * @param $int $type 1男生通道 2女生通道 * @param int $page 页数(默认为1,每页显示20条数据) * @author loomis<2477365162@qq.com> */ public function messageboard(){ //传参数据 $data_list = $this->params; //页数 $page = 1; if(isset($data_list['page'])){ $page = intval($data_list['page']); } $page = ($page-1); $page=$page*20; $limit=$page.',20'; //留言板数据 $where = []; $where[] = ['uid','eq',$this->user_id]; $where[] = ['status','eq',1]; $type=1; if(isset($data_list['type']) && !empty($data_list['type'])){ $type = intval($data_list['type']); } $where[] = ['type','eq',$type]; $list = MemberMessagesModel::where($where)->order('create_time desc')->field('id,uid,message,thumbs,create_time')->limit($limit)->select()->toArray(); if(!empty($list)){ foreach ($list as $k=>$v){ $thumbs = explode(',',$v['thumbs']); foreach ($thumbs as $key=>$val){ $thumbs[$key] = $this->getFileUrl($val); } $list[$k]['thumbs'] = $thumbs; //用户信息 $userinfo = MemberModel::where('id',$v['uid'])->find(); $list[$k]['headimg'] = $this->getFileUrl($userinfo['headimg']); $list[$k]['nickname'] = $userinfo['nickname']; $list[$k]['create_time'] = date('Y-m-d H:i:s',$v['create_time']); } } apiReturn('200', '查询成功',$list); } //获取充值数据 public function getrecharge(){ $list = MemberRechargeModel::field('id,points_num,price')->order('sort asc')->select()->toArray(); apiReturn('200', '查询成功',$list); } //充值 public function addrecharge(){ //传参数据 $data_list = $this->params; if(!isset($data_list['rechargeid']) || empty($data_list['rechargeid'])){ apiReturn('500', '充值id不能为空'); } $rechargeid = intval($data_list['rechargeid']); $info = MemberRechargeModel::where('id',$rechargeid)->find(); if(empty($info)){ apiReturn('500', '未查询到充值数据'); } //生成订单号 $numRes = true; do{ $ordernum = 'O'.date('ymd').$this->user_id.rand(100,999); $count = MemberServiceOrderModel::where(['ordernum'=>$ordernum])->count(); if(empty($count)) { $numRes=false; } }while($numRes); $totalprice = $info['price']; $res = MemberServiceOrderModel::create([ 'type'=>2, 'uid'=>$this->user_id, 'ordernum'=>$ordernum, 'totalprice'=>$totalprice, 'status'=>1, 'create_time'=>time(), 'timeout_time'=>time()+600, 'service_title'=>$info['points_num'], ]); if($res){ //微信小程序支付回调地址 $notify_url = 'https://' . $_SERVER['HTTP_HOST'] . url('api/wxpaynotify/index'); $config = [ // 必要配置 'app_id' => config('smallprogram_appid'), 'mch_id' => config('wxpay_mchid'), 'key' => config('wxpay_paykey'), // API v2 密钥 (注意: 是v2密钥 是v2密钥 是v2密钥) // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书) 'cert_path' => get_file_path(config('wxpay_appclient_cert')), // XXX: 绝对路径!!!! 'key_path' => get_file_path(config('wxpay_appclient_key')), // XXX: 绝对路径!!!! 'notify_url' => $notify_url, // 你也可以在下单时单独设置来覆盖它 ]; $total_fee = $totalprice * 100; $app = Factory::payment($config); $jssdk = $app->jssdk; if(empty($total_fee)){ $total_fee = 1; } //下单 $result = $app->order->unify([ 'body' => 'DAZIQUN', 'out_trade_no' => $ordernum, 'total_fee' => $total_fee, 'spbill_create_ip' => '', // 可选,如不传该参数,SDK 将会自动获取相应 IP 地址 'notify_url' => $notify_url, // 支付结果通知网址,如果不设置则会使用配置里的默认地址 'trade_type' => 'JSAPI', // 请对应换成你的支付方式对应的值类型 'openid' => MemberModel::where(['id' => $this->user_id])->value('openid'), ]); //组合参数 $pay = $jssdk->bridgeConfig($result['prepay_id'], false); // 返回数组 return json(['code' => 200, 'msg' => '微信支付信息','result'=>$pay]); }else{ return json(['code' => 500, 'msg' => '服务器繁忙,请稍后再试']); } } //VIP权益说明 public function getvipequity(){ $info = MemberVipModel::where('id',1)->find(); $strs = 'https://'.$_SERVER['HTTP_HOST'].'/uploads/'; $message = str_replace("/uploads/", $strs, $info['title']); apiReturn('200', '查询成功',['message'=>$message]); } //获取VIP数据 public function getvip(){ $list = MemberVipModel::where('type',1)->field('id,title,price')->order('sort asc')->select()->toArray(); apiReturn('200', '查询成功',$list); } //用户购买vip public function buyvip(){ //传参数据 $data_list = $this->params; if(!isset($data_list['vipid']) || empty($data_list['vipid'])){ apiReturn('500', 'VIP id不能为空'); } $vipid = intval($data_list['vipid']); $info = MemberVipModel::where('id',$vipid)->find(); if(empty($info)){ apiReturn('500', '未查询到VIP数据'); } //生成订单号 $numRes = true; do{ $ordernum = 'O'.date('ymd').$this->user_id.rand(100,999); $count = MemberServiceOrderModel::where(['ordernum'=>$ordernum])->count(); if(empty($count)) { $numRes=false; } }while($numRes); $totalprice = $info['price']; $res = MemberServiceOrderModel::create([ 'type'=>3, 'uid'=>$this->user_id, 'ordernum'=>$ordernum, 'totalprice'=>$totalprice, 'status'=>1, 'create_time'=>time(), 'timeout_time'=>time()+600, 'service_title'=>$info['title'], 'service_thumb'=>$info['id'], ]); if($res){ //微信小程序支付回调地址 $notify_url = 'https://' . $_SERVER['HTTP_HOST'] . url('api/wxpaynotify/index'); $config = [ // 必要配置 'app_id' => config('smallprogram_appid'), 'mch_id' => config('wxpay_mchid'), 'key' => config('wxpay_paykey'), // API v2 密钥 (注意: 是v2密钥 是v2密钥 是v2密钥) // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书) 'cert_path' => get_file_path(config('wxpay_appclient_cert')), // XXX: 绝对路径!!!! 'key_path' => get_file_path(config('wxpay_appclient_key')), // XXX: 绝对路径!!!! 'notify_url' => $notify_url, // 你也可以在下单时单独设置来覆盖它 ]; $total_fee = $totalprice * 100; $app = Factory::payment($config); $jssdk = $app->jssdk; if(empty($total_fee)){ $total_fee = 1; } //下单 $result = $app->order->unify([ 'body' => 'DAZIQUN', 'out_trade_no' => $ordernum, 'total_fee' => $total_fee, 'spbill_create_ip' => '', // 可选,如不传该参数,SDK 将会自动获取相应 IP 地址 'notify_url' => $notify_url, // 支付结果通知网址,如果不设置则会使用配置里的默认地址 'trade_type' => 'JSAPI', // 请对应换成你的支付方式对应的值类型 'openid' => MemberModel::where(['id' => $this->user_id])->value('openid'), ]); //组合参数 $pay = $jssdk->bridgeConfig($result['prepay_id'], false); // 返回数组 return json(['code' => 200, 'msg' => '微信支付信息','result'=>$pay]); }else{ return json(['code' => 500, 'msg' => '服务器繁忙,请稍后再试']); } } //获取提现数据 public function getwithdraw(){ $list = MemberWithdrawModel::field('id,points_num,vip_points_num,price')->order('sort asc')->select()->toArray(); apiReturn('200', '查询成功',$list); } //摇钱树 public function moneytree(){ //摇钱树等级 $treegrade = MoneyTreeModel::field('thumb,tree_grade,integral_num,share_num')->order('tree_grade asc')->select()->toArray(); if(!empty($treegrade)){ foreach ($treegrade as $k=>$v){ $treegrade[$k]['thumb'] = $this->getFileUrl($v['thumb']); } } //摇钱树说明 $strs = 'https://'.$_SERVER['HTTP_HOST'].'/uploads/'; $message = MoneyTreeLogsModel::where('id',1)->value('message'); $message = str_replace("/uploads/", $strs, $message); //用户金币信息 $goldcoin = MoneyTreeLogsModel::where(['uid'=>$this->user_id,'status'=>1])->find(); if(!empty($goldcoin)){ $goldcoin = ['id'=>$goldcoin['id'],'goldcoin_num'=>$goldcoin['integral_num']]; }else{ $goldcoin = []; } $invitation_num = MemberModel::where(['invitation_uid'=>$this->user_id,'is_delete'=>0])->count(); //根据用户分享人数,获得摇钱树等级 $tree_grade = MoneyTreeModel::gettreegrade($invitation_num); apiReturn('200', '查询成功',[ 'treegrade'=>$treegrade, 'goldcoin'=>$goldcoin, 'message'=>$message, 'tree_grade'=>$tree_grade, 'goldcoin_num' => MemberModel::where('id',$this->user_id)->value('moneytree_num'), ]); } //摇钱树 - 领取金币 public function addgoldcoin(){ //传参数据 $data_list = $this->params; if(!isset($data_list['id']) || empty($data_list['id'])){ apiReturn('500', '金币id不能为空'); } $id = intval($data_list['id']); $goldcoin = MoneyTreeLogsModel::where(['id'=>$id,'uid'=>$this->user_id,'status'=>1])->find(); if(empty($goldcoin)){ apiReturn('500', '金币已领取或不存在'); } $userinfo = MemberModel::where('id',$this->user_id)->find(); $moneytree_num = $userinfo['moneytree_num'] + $goldcoin['integral_num']; $res = MemberModel::where('id',$this->user_id)->update(['moneytree_num'=>$moneytree_num]); if($res){ $goldcoin->status = 2; $goldcoin->save(); apiReturn('200', '领取成功'); }else{ apiReturn('500', '服务器繁忙,请稍后再试'); } } //小程序打开次数 public function addopennum(){ $userinfo = MemberModel::where('id',$this->user_id)->find(); $userinfo->xcxopen_num = $userinfo->xcxopen_num + 1; $userinfo->save(); apiReturn('200', '操作成功'); } //抽奖活动 public function raffle(){ //用户当前的剩余金币 $goldcoin_num = MemberModel::where('id',$this->user_id)->value('moneytree_num'); //奖品信息 $where = []; $where[] = ['id','neq',9]; $award = AwardModel::where($where)->field('id,title,thumb')->order('sort asc')->select()->toArray(); if(!empty($award)){ foreach ($award as $k=>$v){ $award[$k]['thumb'] = $this->getFileUrl($v['thumb']); } } //中奖信息 $awardmessage = AwardMessageModel::field('title')->order('create_time desc')->select()->toArray(); apiReturn('200', '查询成功',[ 'goldcoin_num'=>$goldcoin_num, 'award'=>$award, 'awardmessage'=>$awardmessage ]); } //抽奖活动 - 立即抽奖 public function prizedraw(){ //用户当前的剩余金币 $userinfo = MemberModel::where('id',$this->user_id)->find(); $cjjb_num = AwardModel::where('id',9)->value('jp_number'); if($userinfo['moneytree_num']<$cjjb_num){ apiReturn('500', '抽奖失败,剩余金币不足'); } //扣除用户金币 $userinfo->moneytree_num = $userinfo->moneytree_num - $cjjb_num; $userinfo->save(); //给 5 6 7 8号奖品增加一次按钮点击累计次数 $where = []; $where[] = ['id','in','5,6,7,8']; AwardModel::where($where)->setInc('yj_number',1); //按逻辑进行抽奖 $prizedraw_id = 1; //奖品5 $jp5 = AwardModel::where('id',5)->find(); if($jp5['yj_number']>=$jp5['jp_number']){ $prizedraw_id = 5; $jp5->yj_number = 0; $jp5->save(); } //奖品6 $jp6 = AwardModel::where('id',6)->find(); if($jp6['yj_number']>=$jp6['jp_number']){ $prizedraw_id = 6; $jp6->yj_number = 0; $jp6->save(); } //奖品7 $jp7 = AwardModel::where('id',7)->find(); if($jp7['yj_number']>=$jp7['jp_number']){ $prizedraw_id = 7; $jp7->yj_number = 0; $jp7->save(); } //奖品8 $jp8 = AwardModel::where('id',8)->find(); if($jp8['yj_number']>=$jp8['jp_number']){ $prizedraw_id = 8; $jp8->yj_number = 0; $jp8->save(); } if($prizedraw_id==1){ $jp1 = AwardModel::where('id',1)->find(); $jp1_yj_number = $jp1->yj_number + 1; if(($jp1['yj_number']+1)>=$jp1['jp_number']){ $jp1_yj_number = 0; $prizedraw_array = [2,3,4]; shuffle($prizedraw_array); $prizedraw_id = $prizedraw_array[0]; } $jp1->yj_number = $jp1_yj_number; $jp1->save(); } //插入抽奖记录 $prizedraw_info = AwardModel::where('id',$prizedraw_id)->find(); $res = AwardWinningsModel::create([ 'uid'=>$this->user_id, 'award_id'=>$prizedraw_id, 'award_title'=>$prizedraw_info['title'], 'award_thumb'=>$prizedraw_info['thumb'], 'usegoldcoin'=>$cjjb_num, 'create_time'=>time(), 'update_time'=>time(), ]); if($res){ $prizedraw_info->open_num = $prizedraw_info->open_num+1; $prizedraw_info->save(); apiReturn('200', '抽奖成功',['prizedraw_id'=>$prizedraw_id]); }else{ apiReturn('500', '服务器繁忙,请稍后再试'); } } //抽奖活动 - 我的包 public function prizedrawlogs(){ $where = []; $where[] = ['uid','eq',$this->user_id]; $where[] = ['award_id','neq',1]; $where[] = ['address','eq',null]; $list = AwardWinningsModel::where([$where])->field('id,award_title,award_thumb,create_time')->order('create_time asc')->select()->toArray(); if(!empty($list)){ foreach ($list as $k=>$v){ $list[$k]['award_thumb'] = $this->getFileUrl($v['award_thumb']); $list[$k]['create_time'] = date('Y-m-d H:i',$v['create_time']); } } apiReturn('200', '查询成功',$list); } //提交邮寄地址 public function addmailingaddress(){ //传参数据 $data_list = $this->params; if (!isset($data_list['id']) || empty($data_list['id'])) { return json(['code' => 500, 'msg' => 'id不能为空']); } if (!isset($data_list['name']) || empty($data_list['name'])) { return json(['code' => 500, 'msg' => '姓名不能为空']); } if (!isset($data_list['phone']) || empty($data_list['phone'])) { return json(['code' => 500, 'msg' => '联系电话不能为空']); } if (!isset($data_list['address']) || empty($data_list['address'])) { return json(['code' => 500, 'msg' => '邮寄地址不能为空']); } $id = intval($data_list['id']); $name = trim($data_list['name']); $phone = trim($data_list['phone']); $address = trim($data_list['address']); if($this->illegalcharacters($phone) || $this->illegalcharacters($name) || $this->illegalcharacters($address)){ apiReturn('500', '非法参数'); } $res = AwardWinningsModel::where(['id'=>$id,'uid'=>$this->user_id])->update([ 'name'=>$name, 'phone'=>$phone, 'address'=>$address ]); if ($res) { apiReturn('200', '提交成功'); } else { apiReturn('500', '服务器繁忙,请稍后再试'); } } //漂流瓶 - 捡一个 public function pickupdriftbottle(){ $driftbottle = Db::name('member_driftbottle')->orderRaw('rand()')->find(); if(!empty($driftbottle)){ $userinfo = MemberModel::where('id',$driftbottle['uid'])->find(); apiReturn('200', '捡到漂流瓶',[ 'nickname'=>$userinfo['nickname'], 'headimg'=>$this->getFileUrl($userinfo['headimg']), 'message'=>$driftbottle['message'], 'create_time'=>date('Y-m-d H:i:s',$driftbottle['create_time']), ]); }else{ apiReturn('500', '你的运气不好,没有捡到任何漂流瓶'); } } //漂流瓶 - 扔一个 public function throwdriftbottle(){ //传参数据 $data_list = $this->params; if (!isset($data_list['message']) || empty($data_list['message'])) { return json(['code' => 500, 'msg' => '漂流瓶内容不能为空']); } $message = trim($data_list['message']); if($this->illegalcharacters($message)){ apiReturn('500', '非法参数'); } $res = DriftBottleModel::create([ 'uid'=>$this->user_id, 'message'=>$message, 'create_time'=>time(), ]); if ($res) { apiReturn('200', '提交成功'); } else { apiReturn('500', '服务器繁忙,请稍后再试'); } } /** * 写真 * @param $groupid 群id * @author loomis<2477365162@qq.com> */ public function portraitphotography(){ $info = MemberServiceModel::where(['id'=>12])->find(); if(empty($info)){ apiReturn('500', '未查询到相关写真信息'); } $type=1; $box_url = ''; $box_psw = ''; if(!empty(MemberServiceOrderModel::where(['service_id'=>12,'uid'=>$this->user_id,'status'=>2])->count())){ $type = 2; $box_url = $info['box_url']; $box_psw = $info['box_psw']; } $strs = 'https://'.$_SERVER['HTTP_HOST'].'/uploads/'; $message = str_replace("/uploads/", $strs, $info['message']); $info->browse = $info->browse+1; $info->save(); apiReturn('200', '查询成功',[ 'id'=>12, 'type'=>$type, 'box_url'=>$box_url, 'box_psw'=>$box_psw, 'title'=>$info['title'], 'thumb'=>$this->getFileUrl($info['thumb']), 'create_time'=>date('Y-m-d H:i:s',$info['create_time']), 'summary'=>$info['summary'], 'message'=>$message, ]); } }