| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379 |
- <?php
- namespace App\Http\Controllers\Admins;
- use App\Http\Controllers\Controller;
- use App\Modes\AccountLog;
- use App\Modes\AdminArea;
- use App\Modes\Advertising;
- use App\Modes\AdverActivityLog;
- use App\Modes\Area;
- use App\Modes\MsgTemplate;
- use App\Modes\Order;
- use App\Modes\Proxy;
- use App\Modes\Config;
- use App\Modes\Industry;
- use App\Modes\ProxyArea;
- use App\Modes\Upgrade;
- use App\Modes\User;
- use App\Modes\UserMsg;
- use App\Service\AdverService;
- use App\Service\UpgradeService;
- use Carbon\Carbon;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Storage;
- use function PHPSTORM_META\type;
- class AdverController extends Controller
- {
- protected $adverService;
- public function __construct(AdverService $adverService)
- {
- $this->adverService = $adverService;
- }
- /*
- * 对赌广告审核列表
- * wsl
- * 2019-07-24
- * */
- public function guaranteeAuditList(Request $request)
- {
- }
- /**
- * 广告列表
- * @param Request $request
- * @description
- * 查询:广告标题、广告主姓名、电话
- * 显示:发布者ID、广告标题、姓名、电话、企业名、所在行业、投放城区、费用、当时单价、总展示量、剩余量、投放时间段
- * @author lyh
- * @date 2019/4/10
- * @modify_author lyh
- * @modify_time 2019-4-26 14:31:29
- * @modify 确认已区分系统管理员与地区管理员权限
- */
- public function index(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'title' => 'string',
- 'nick_name' => 'string',
- //'mobile' => 'integer'
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $fields=[
- 'main.id',
- 'main.uid',
- 'main.title',
- 'u.real_name',
- 'u.nick_name',
- 'u.mobile',
- 'main.total_price',
- 'main.company_name',
- 'main.company_industry',
- 'main.province',
- 'main.city',
- 'main.district',
- 'main.price',
- 'main.total_num',
- 'main.residue_num',
- 'main.start_time',
- 'main.end_time',
- 'main.created_at',
- 'main.status',
- 'main.redirect',
- 'main.industry'
- ];
- $user = \DB::table('advertising as main')
- ->join('user as u', 'u.id', '=', 'main.uid')
- ->orderByDesc('id');
- //审核状态
- if (!empty($param['status'])) {
- if ($param['status'] == 9) {
- $user->where('main.end_time', '<', date('Y-m-d H:i:s'))->where('main.status', '=', 3);
- } elseif ($param['status'] == 4 || $param['status'] == 5) {
- $user->where('main.status', '=', $param['status']);
- } elseif(in_array($param['status'],[100,101,102])){
- //特意留空
- }else
- $user->where('main.status', '=', $param['status'])->where('main.end_time', '>', date('Y-m-d H:i:s'));
- } else {
- $user->whereIn('main.status', [3, 4, 5, 9]);
- }
- if (!empty($param['guarantee']) && $param['guarantee'] == 1) {
- $user->where('main.guarantee', '=', 1);
- $user->whereIn('main.bet_status', [0,3, 5, 6]);
- $user->leftJoin('advertising_bet as ab','main.id','=','ab.advertising_id');
- $betfields=['is_win'];
- $fields=array_merge($fields,$betfields);
- if(!empty($param['status']) && in_array($param['status'],[100,101,102])){
- if($param['status']==100) $is_win=0;
- if($param['status']==101) $is_win=2;
- if($param['status']==102) $is_win=1;
- $user->where('ab.is_win',$is_win);
- }
- } else {
- $user->where('main.guarantee', '=', 0);
- }
- $user->select($fields);
- //省市区查询
- if (!empty($param['province'])) {
- $user->where('main.province', '=', $param['province']);
- }
- if (!empty($param['city'])) {
- $user->where('main.city', '=', $param['city']);
- }
- if (!empty($param['district'])) {
- $user->where('main.district', '=', $param['district']);
- }
- //行业查询
- if (!empty($param['industry'])) {
- $user->where('main.industry', '=', $param['industry']);
- }
- //额度以上查询
- if (!empty($param['total_price'])) {
- $user->where('main.total_price', '>=', $param['total_price']);
- }
- // 如果是地区管理员,则不显示同等级的用户信息
- if (\Auth::user()->is_super == 3) {
- $user = $user->whereIn('u.id', getIds());
- }
- //管理员查看对应的代理
- $district = AdminArea::getAdminArea();
- if (!empty($district)) {
- if (!empty($district['city'])) {
- $user->where('main.city', '=', $district['city']);
- } else {
- $user->where('main.district', '=', $district['district']);
- }
- }
- // 广告标题
- if (!empty($param['title'])) {
- $user->where('main.title', 'like', "%{$param['title']}%");
- }
- // 广告主姓名
- if (!empty($param['real_name'])) {
- $user->where('u.real_name', 'like', "%{$param['real_name']}%");
- }
- // 手机号码
- if (!empty($param['mobile'])) {
- $user->where('u.mobile', 'like', "%{$param['mobile']}%");
- }
- //echo $user->toSql();exit;
- $res = $user->paginate(perPage());
- if ($res->isNotEmpty()) {
- collect($res->items())->each(function ($item, $key) {
- $item->area = trim(Area::getName($item->province) . ' ' . Area::getName($item->city) . ' ' . Area::getName($item->district));
- $item->companyIndustryMsg = Industry::find($item->company_industry)->content ?? '';
- if ($item->industry != 'all') {
- $industry = Industry::whereIn('id', explode(',', $item->industry))->get();
- foreach ($industry as $ind) {
- $arr[] = $ind['content'];
- }
- $item->industryArr = $arr;
- }
- });
- }
- return showJsonSucc(1001, $res);
- }
- /**
- * 广告列表-查看
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- * @author lyh
- * @date 2019/4/10
- * @modify_author lyh
- * @modify_time 2019-4-26 14:31:18
- * @modify 确认已区分系统管理员与地区管理员权限
- */
- public function show(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'id' => 'required|exists:advertising,id',
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $res = Advertising::whereId($param['id'])
- ->first();
- // 区分系统管理员与地区管理员数据
- if (\Auth::user()->is_super == 3 && !in_array($res->uid, getIds())) {
- return showJsonErr('抱歉,该用户信息您没有权限查看');
- }
- /*if(!empty($res)&& $res->industry!='all'){
- $industry=explode(',',$res->industry);
- $industryarr=Industry::whereIn('id',$industry)->select('content')->get();
- $arr=[];
- if(!empty($industryarr)){
- foreach ($industryarr as $item){
- $arr[]=$item->content;
- }
- $res->industry=$arr;
- }
- }*/
- if ($res->guarantee == 1) {
- $res->bet = DB::table('advertising_bet')->where('advertising_id', '=', $res->id)->first();
- }
- $res->image_group = explode(',', $res->image_group);
- return showJsonSucc(1001, $res);
- }
- /**
- * 广告列表-屏蔽
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- * @author lyh
- * @date 2019/4/10
- * @modify_author lyh
- * @modify_time 2019-4-26 14:45:13
- * @modify 确认已区分系统管理员与地区管理员权限
- */
- public function shield(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'id' => 'required|exists:advertising,id',
- 'status' => 'required|integer|in:3,4'
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $adver = Advertising::find($param['id']);
- if (in_array($adver->status, [1, 2, 5, 9])) {
- return showJsonErr('抱歉,该广告不能修改');
- }
- // 区分系统管理员与地区管理员数据
- if (\Auth::user()->is_super == 3 && !in_array($adver->uid, getIds())) {
- return showJsonErr('抱歉,您没有权限查看');
- }
- if ($adver->residue_num <= 0 && $adver->end_time < Carbon::now()) {
- return showJsonErr('该广告不可操作');
- }
- $data = ['status' => $param['status']];
- if ($param['status'] == 4) {
- $data['before_status'] = $adver->status;
- }
- if ($param['status'] == 3) {
- //取消屏蔽
- $data['status'] = $adver->before_status;
- }
- $result = Advertising::whereId($param['id'])->update($data);
- if (!$result) {
- return showJsonErr('修改状态失败');
- }
- return showJsonSucc($resMsg ?? '修改状态成功');
- }
- /**
- * 广告审核列表
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- * 查询:广告标题、广告主、是否对赌
- * 显示:发布者ID、广告标题、姓名、电话、企业名、行业、投放城区、费用(元)、当前单价、总展示量、是否对赌
- * @author lyh
- * @date 2019/4/10
- * @modify_author lyh
- * @modify_time 2019-4-26 14:36:09
- * @modify 确认已区分系统管理员与地区管理员权限
- */
- public function getListByAudit(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'title' => 'string',
- 'nick_name' => 'string',
- 'guarantee' => 'integer|in:0,1' // 是否平台担保:0-否 1-是
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $user = \DB::table('advertising as main')
- ->join('user as u', 'u.id', '=', 'main.uid')
- ->leftjoin('order as o', 'o.order_no', '=', 'main.order_no')
- ->select([
- 'main.id',
- 'main.uid',
- 'main.title',
- 'u.real_name',
- 'u.nick_name',
- 'u.mobile',
- 'main.company_name',
- 'main.company_industry',
- 'main.province',
- 'main.city',
- 'main.district',
- 'main.total_price',
- 'main.price',
- 'main.total_num',
- 'main.guarantee',
- 'main.guarantee_url',
- 'main.redirect',
- 'main.status',
- 'main.bet_status',
- 'main.industry',
- 'main.created_at',
- 'main.is_company'
- ])
- ->where(function ($q) {
- $q->whereOr('main.bet_status', '=', 3);
- $q->whereOr('main.bet_status', '=', 0);
- })
- ->where('main.status', '=', 2)
- ->whereOr('o.is_pay', '=', 1)
- ->whereOr('main.total_price', '=', 0)
- ->orderByDesc('id');
- // 区分系统管理员与地区管理员数据
- if (\Auth::user()->is_super == 3) {
- $user->whereIn('u.id', getIds());
- }
- // 地区过滤查询
- // $user = whereArea($user, $param);
- //管理员查看对应的代理
- $district = AdminArea::getAdminArea();
- if (!empty($district)) {
- if (!empty($district['city'])) {
- $user->where('main.city', '=', $district['city']);
- } else {
- $user->where('main.district', '=', $district['district']);
- }
- }
- // 广告标题
- if (!empty($param['title'])) {
- $user->where('main.title', 'like', "%{$param['title']}%");
- }
- // 广告主姓名
- if (!empty($param['nick_name'])) {
- $user->where(\DB::raw('concat(real_name,nick_name,mobile)'), 'like', "%{$param['nick_name']}%");
- }
- // 是否是对赌
- if (isset($param['guarantee'])) {
- $user->where('main.guarantee', '=', $param['guarantee']);
- }
- //省市区查询
- if (!empty($param['province'])) {
- $user->where('main.province', '=', $param['province']);
- }
- if (!empty($param['city'])) {
- $user->where('main.city', '=', $param['city']);
- }
- if (!empty($param['district'])) {
- $user->where('main.district', '=', $param['district']);
- }
- //行业查询
- if (!empty($param['industry'])) {
- $user->where('main.industry', '=', $param['industry']);
- }
- //额度以上查询
- if (!empty($param['total_price'])) {
- $param['total_price'] = floatval($param['total_price']);
- $user->where('main.total_price', '>=', $param['total_price']);
- }
- $res = $user->paginate(perPage());
- if ($res->isNotEmpty()) {
- collect($res->items())->each(function ($item, $key) {
- $item->area = trim(Area::getName($item->province) . ' ' . Area::getName($item->city) . ' ' . Area::getName($item->district));
- $item->companyIndustryMsg = Industry::find($item->company_industry)->content ?? '';
- /* 对赌广告状态不同 */
- if ($item->guarantee == 1) {
- $item->bet = DB::table('advertising_bet')->where('advertising_id', '=', $item->id)->first();
- }
- if ($item->industry != 'all') {
- $industry = Industry::whereIn('id', explode(',', $item->industry))->get();
- foreach ($industry as $ind) {
- $arr[] = $ind['content'];
- }
- $item->industryArr = $arr;
- }
- });
- }
- return showJsonSucc(1001, $res);
- }
- /*
- * 判断输赢 wsl 20190806
- * */
- public function judge(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'id' => 'required|exists:advertising,id',
- 'user_guarantee_url' => 'required|string',
- 'user_achievement_url' => 'required|string',
- 'is_win' => 'integer|in:1,2',
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $adver = Advertising::whereId($param['id'])->first();
- $betadver = DB::table('advertising_bet')->where('advertising_id', '=', $param['id'])->first();
- if (empty($betadver)) {
- return showJsonErr('对赌广告数据错误');
- }
- if (empty($betadver->user_achievement_url) && empty($param['user_achievement_url'])) {
- return showJsonErr('用户未上传业务数据,不能判定输赢');
- }
- if ($betadver->is_win > 0) {
- return showJsonErr('已经做过判定了,请勿重复判定');
- }
- $data = [
- 'user_guarantee_url' => $param['user_guarantee_url'],
- 'user_achievement_url' => $param['user_achievement_url'],
- 'is_win' => $param['is_win'],
- 'finish_time' => date('Y-m-d H:i:s'),
- 'do_id' => Admin()->id,
- ];
- //用户输了,没有佣金发放
- //“2019年7月17日提交的编号为xxx标题为“xxxx”的对赌广告,您所交的yyy元广告费将被桃典广告正式收取,若有任何意见,请致电桃典广告:0772-2998804。”
- //
- //1、对赌赢:
- \DB::beginTransaction();
- try {
- $msg_content = MsgTemplate::getTemplateContent(6, ['date' => $adver->created_at, 'adverid' => $adver->id, 'title' => $adver->title, 'totalprice' => $adver->total_price]);
- //您的对赌广告输了
- $msgarr = ['title' => '对赌判定通知', 'uid' => $adver->uid, 'type' => 16, 'content' => $msg_content];
- //用户赢了,退款给用户,无分佣
- if ($param['is_win'] == 1) {
- //退款操作
- if ($adver->total_price != '0.000' && $adver->total_price > 0) {
- $order = Order::where('order_no', '=', $adver->order_no)
- ->select('order_no', 'pay_no', 'price', 'pay_type')
- ->first();
- if (empty($order)) return showJsonErr('当前订单数据不完整无法原路退款!');
- $remark = '退款异常';
- if ($order->pay_type == 2 && $adver->status == 3) {
- $pay = \App::make('aliPay');
- $r = $pay->getReturnInfo($order->order_no, $order->pay_no, $order->price);
- if ($r->code == 10000) {
- $remark = '您发布的对赌广告-' . $adver->title . '-赢了!资金已原路退回支付宝';
- } else return showJsonErr('支付宝退款失败');
- } elseif ($order->pay_type == 3 && $adver->status == 3) {
- //微信退款
- $pay = \App::make('wechat');
- $r = $pay->getReturnInfo($order->order_no, $order->pay_no, $order->price, $order->price);
- if ($r->return_code == 'SUCCESS') {
- $remark = '您发布的对赌广告-' . $adver->title . '-赢了,资金已原路退回微信账户';
- } else return showJsonErr('微信退款失败');
- }
- AccountLog::saveDataByPost($adver->uid, 46, $order->price, User::whereId($adver->uid)->value('balance'), 2, 1, $remark);
- }
- $msg_content = MsgTemplate::getTemplateContent(5, ['date' => $adver->created_at, 'adverid' => $adver->id, 'title' => $adver->title, 'totalprice' => $adver->total_price]);
- //'您的对赌广告赢了!资金已原路退回'
- $msgarr = ['title' => '对赌判定通知', 'uid' => $adver->uid, 'type' => 16, 'content' => $msg_content];
- } else {
- //用户输了,广告费不退,并发放佣金
- //分佣
- Order::UserFenYong($adver->total_price, $adver->uid, 2);
- }
- UserMsg::SendGetui($msgarr);
- DB::table('advertising_bet')->where('advertising_id', '=', $param['id'])->update($data);
- \DB::commit();
- return showJsonSucc('判定成功');
- } catch (Exception $e) {
- \DB::rollBack();
- return showJsonErr($e->getMessage(), [
- 'file' => $e->getFile(),
- 'line' => $e->getLine(),
- 'messge' => $e->getMessage(),
- ]);
- }
- }
- /**
- * 广告审核列表-查看资质(企业信息)
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- * @author lyh
- * @date 2019/4/10
- * @modify_author lyh
- * @modify_time 2019-4-26 14:40:47
- * @modify 确认已区分系统管理员与地区管理员权限
- */
- public function showCompany(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'id' => 'required|exists:advertising,id',
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $res = Advertising::whereId($param['id'])
- ->select([
- 'company_name', //企业名称
- 'company_industry', //行业
- 'license_number', //营业执照号码
- 'license', //营业执照图片
- 'real_name', //投放人姓名
- 'idcard_front', //身份证正面照
- 'idcard_reverse', //s身份证国徽照
- 'idcard_number', // 身份证号码
- 'is_company', // 判断广告类型: 1-个人 2-企业
- ])
- ->first();
-
- // 区分系统管理员与地区管理员数据
- if (\Auth::user()->is_super == 3 && !in_array($res->uid, getIds())) {
- return showJsonErr('抱歉,您没有权限查看');
- }
- if($res&&$res->is_company == 1){
- $res->company_industry = Industry::find($res->company_industry)->content ?? '';
- }
- return showJsonSucc(1001, $res);
- }
- /**
- * 广告审核列表-审核
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- * @author lyh
- * @date 2019/4/10
- * @modify_author lyh
- * @modify_time 2019-4-26 14:42:24
- * @modify 确认已区分系统管理员与地区管理员权限
- */
- public function Audit(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'ids' => 'required|array',
- 'status' => 'required|integer|in:3,5' // 3-通过 5-拒绝
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- \DB::beginTransaction();
- try {
- foreach ($param['ids'] as $id) {
- $adver = Advertising::find($id);
- if ($adver->guarantee == 1) {
- $betadver = DB::table('advertising_bet')->where('advertising_id', '=', $adver->id)->first();//担保广告数据
- }
- if (empty($adver)) {
- return showJsonErr("抱歉,【id:{$id}】不存在");
- }
- // 区分系统管理员与地区管理员数据
- if (\Auth::user()->is_super == 3 && !in_array($adver->uid, getIds())) {
- \DB::rollBack();
- return showJsonErr('抱歉,您没有权限查看');
- }
- if ($adver->status != 2) {
- \DB::rollBack();
- return showJsonErr("抱歉,广告【id:{$id}】不是待审核状态");
- }
- $curtime = time();
- $auditendtime = strtotime($adver->created_at) + 3600 * 24 * 3;//上级超过3天未确认上级才能操作
- $shengyu = $auditendtime - $curtime;
- if ($adver->bet_status == 0 && $shengyu > 0) {
- $sday = floatval($shengyu / (24 * 3600));
- if ($sday >= 2) $shengyu = '3天';
- if ($sday >= 1 && $sday < 2) $shengyu = '2天';
- if ($sday < 1) $shengyu = ceil($shengyu / 3600) . '小时';
- return showJsonErr("抱歉,上级用户未审核,请您".$shengyu."后再操作");
- }
- if (empty($adver->guarantee_url) && $param['status'] == 3 && $adver->guarantee == 1) {
- return showJsonErr("抱歉,用户未上传担保协议,您不能进行此项操作");
- }
- //退款操作wsl 20190628
- if ($param['status'] == 5 && $adver->total_price != '0.000' && $adver->total_price > 0) {
- $order = Order::where('order_no', '=', $adver->order_no)
- ->select('order_no', 'pay_no', 'price', 'pay_type')
- ->first();
- if (empty($order)) return showJsonErr('当前订单数据不完整无法原路退款!');
- $remark = '原路退款异常';
- if (in_array($order->pay_type,[2,21]) && $adver->status != 5) {
- $pay = \App::make('aliPay');
- $r = $pay->getReturnInfo($order->order_no, $order->pay_no, $order->price);
- if ($r->code == 10000) {
- $remark = '您发布的广告-' . $adver->title . '-审核不通过,资金原路退回支付宝';
- }
- } elseif (in_array($order->pay_type,[3,31]) && $adver->status != 5) {
- //微信退款
- $pay = \App::make('wechat');
- $r = $pay->getReturnInfo($order->order_no, $order->pay_no, $order->price, $order->price);
- if ($r->return_code == 'SUCCESS') {
- $remark = '您发布的广告-' . $adver->title . '-审核不通过,资金原路退回微信账户';
- }
- }
- AccountLog::saveDataByPost($adver->uid, 44, $order->price, User::whereId($adver->uid)->value('balance'), 2, 1, $remark);
- }
- // 修改广告状态
- $updata=[
- 'status'=> $param['status']
- ];
- $auitFailsendMsg = '';
- if($param['status'] == 5 && !empty($param['auitFailsendMsg'])){
- $auitFailsendMsg = $updata['auitFailsendMsg'] = trim($param['auitFailsendMsg']);
- }
- Advertising::whereId($id)->update($updata);
- //修改记录状态
- AdverActivityLog::whereId($adver->activity_id)->update(['status' => $param['status'] == 3 ? 3 : 4]);
- // $msg_content = MsgTemplate::getTemplateContent(8);
- $msg_content = MsgTemplate::getTemplateContent(8, ['date' => $adver->created_at,'adverid' => $adver->id, 'title' => $adver->title, 'totalprice' => $adver->total_price,'reason'=>$auitFailsendMsg]);
- // var_dump($msg_content);exit;
- $msgarr = ['title' => '广告审核通知', 'uid' => $adver->uid, 'type' => 12, 'content' => $msg_content];
- if ($param['status'] == 3) {
- // 交费升级添加账号流水
- /*发布的时候有加过一次记录了
- $remark = "用户【id:{$adver->uid}】发布广告,交费¥{$adver->total_price}成功";
- $result = AccountLog::insert([
- 'uid' => $adver->uid,
- 'type' => 6,
- 'money_type' => 2,
- 'money' => -(abs($adver->total_price)),
- 'current_money' => User::find($adver->uid)->balance,
- 'remark' => $remark
- ]);
- if (empty($result)) {
- \DB::rollBack();
- return showJsonErr('添加账号流水失败');
- }*/
- $msg_content = MsgTemplate::getTemplateContent(7, ['date' => $adver->created_at,'adverid' => $adver->id, 'title' => $adver->title]);
- $msgarr = ['title' => '广告审核通知', 'uid' => $adver->uid, 'type' => 12, 'content' => $msg_content];
- // 广告分佣addbywsl,编辑的不需要参与分佣,对赌广告不参与分佣 20190628
- //不用lyh的$this->adverService->commission($adver->uid, $adver->total_price);
- if (!empty($adver->total_price) && empty($adver->is_update) && $adver->guarantee == 0) {
- Order::UserFenYong($adver->total_price, $adver->uid, 2);
- }
- // zch 累加用户发布ad_num
- UpgradeService::incUserAccount($adver->uid,'ad_num',1);
- // zch 累加用户发布广告总额
- UpgradeService::incUserAccount($adver->uid,'ad_all_money',abs($adver->total_price));
- }
- UserMsg::SendGetui($msgarr);
- }
- \DB::commit();
- return showJsonSucc('审核成功');
- } catch (\Exception $e) {
- \DB::rollBack();
- return showJsonErr($e->getMessage(), [
- 'file' => $e->getFile(),
- 'line' => $e->getLine(),
- 'messge' => $e->getMessage(),
- ]);
- }
- }
- //add by wsl
- public function StatBrowse(Request $request)
- {
- $param = $request->all();
- if (@$param['timeType'] == 2) {
- //yue
- $starttime = date('Y-m-01 00:00');
- $endtime = date('Y-m-d 23:59:59', strtotime(date('Y-m-01', strtotime($starttime)) . ' +1 month') - 3600 * 24);;
- } elseif (@$param['timeType'] == 3) {
- //nian
- $starttime = date('Y-01-01 00:00');
- $endtime = date('Y-m-d 23:59:59', strtotime(date('Y-m-d', strtotime($starttime)) . ' +1 year') - 3600 * 24);
- } else {
- //zhou
- // $starttime=date('Y-m-d 00:00');
- // $endtime=date('Y-m-d 23:59');
- $starttime = date("Y-m-d 00:00:00", strtotime("this week"));
- $endtime = date("Y-m-d 23:59:59", strtotime("this week") + 7 * 24 * 3600);
- }
- $proxy = Proxy::select(['id', 'province', 'city', 'district', 'status', 'user_level'])
- ->where('province', '!=', 0);
- //后台管理员管理的区域展示
- $district = AdminArea::getAdminArea();
- if (!empty($district)) {
- if (!empty($district['city'])) {
- $proxy->whereCity($district['city']);
- if (!empty($param['district'])) {
- $proxy->whereDistrict($param['district']);
- }
- } else {
- $proxy->whereDistrict($district['district']);
- }
- }
- $res = $proxy->groupBy(['province', 'city', 'district'])->orderByDesc('created_at')->paginate(perPage());
- if ($res->isNotEmpty()) {
- collect($res->items())->each(function ($item, $key) use ($starttime, $endtime) {
- $item->area = Area::getName($item->province) . ' ' . Area::getName($item->city) . Area::getName($item->district);
- $item->browse_num = 0;
- $item->click_num = 0;
- $item->start = [$starttime, 'timezone_type' => 3, 'timezone' => 'Asia/Shanghai'];
- $item->end = [$endtime, 'timezone_type' => 3, 'timezone' => 'Asia/Shanghai'];
- unset($item->user_level);
- unset($item->status);
- unset($item->city);
- unset($item->district);
- unset($item->province);
- });
- }
- return showJsonSucc(1001, $res);
- }
- //add by wsl 20190809 后台确认并发送通知
- public function BetComfirm(Request $request)
- {
- $param = $request->all();
- if (empty($param['id'])) return showJsonErr('广告id不能为空');
- if (empty($param['name'])) return showJsonErr('业务经理不能为空');
- $adver = Advertising::whereId($param['id'])->first();
- if (empty($adver) || $adver->guarantee == 0) {
- return showJsonErr('当前广告不是对赌广告');
- }
- $betadver = \DB::table('advertising_bet')->where('advertising_id', '=', $adver->id)->first();
- $user = User::whereId($param['name'])->orWhere('mobile', '=', $param['name'])->first();
- $betuser = User::whereId($adver->uid)->first();
- if (empty($user)) {
- return showJsonErr('业务经理不存在');
- }
- if (empty($betadver)) {
- return showJsonErr('对赌广告数据错误');
- }
- if (in_array($adver->status, [1, 3, 4, 5, 9])) {
- return showJsonErr('抱歉,当前广告状态不能做此操作');
- }
- if ($betuser->id == $user->id) {
- return showJsonErr('抱歉,业务经理和对赌用户重复');
- }
- \DB::beginTransaction();
- try {
- $betdata = [
- 'bet_state' => 1
- ];
- $c = empty($betadver->bet_city) ? '' : Area::whereId($betadver->bet_city)->value('name');
- $d = empty($betadver->bet_district) ? '' : Area::whereId($betadver->bet_district)->value('name');
- Advertising::whereId($adver->id)->update(['bet_status' => 3]);//改成上级已确认
- \DB::table('advertising_bet')->where('id', '=', $betadver->id)->update($betdata);
- if ($betadver->bet_state != 1) {//用户不需重复发送
- $usermsg = MsgTemplate::getTemplateContent(1);
- UserMsg::SendGetui(['title' => '对赌确认通知', 'uid' => $betuser->id, 'type' => 17, 'content' => $usermsg]);
- }
- $managemsg = MsgTemplate::getTemplateContent(2, ['usermobile' => $betuser->mobile, 'nickname' => $betuser->nick_name, 'useraddress' => $c . $d . $betadver->bet_address]);
- UserMsg::SendGetui(['title' => '对赌确认通知', 'uid' => $user->id, 'type' => 17, 'content' => $managemsg]);
- \DB::commit();
- return showJsonSucc('操作成功,通知成功发送');
- } catch (\Exception $e) {
- \DB::rollBack();
- return showJsonErr($e->getMessage(), [
- 'file' => $e->getFile(),
- 'line' => $e->getLine(),
- 'messge' => $e->getMessage(),
- ]);
- }
- }
- /**
- * 广告浏览量监控数据统计
- * @author lyh 此处不知lyh是怎么计算的,editby wsl
- * @date 2019/4/8
- * @modify_author lyh
- * @modify 2019-4-26 11:23:14-确认已区分系统管理员与地区管理员权限
- * @description
- * 默认按周统计,显示最近一周的数据统计
- * 统计时间根据所选条件不同显示(周,年,月)
- * 显示信息:
- * 序号
- * 城区 当前登录用户的所在地区
- * 浏览量
- * 点击量
- * 统计时间
- */
- public function StatBrowselyh(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'timeType' => 'required|integer|between:1,3', // 1-按周 2-按月 3-按年
- 'perPage' => 'required|integer',
- 'page' => 'required|integer'
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- // 获取时间数组
- // 每个时间段的开始、结束时间
- $start = (($param['page'] - 1) * $param['perPage']);
- $end = $start + $param['perPage'];
- switch ($param['timeType']) {
- case 2:
- $timeArray = self::getMonthArray($start, $end);
- break;
- case 3:
- $timeArray = self::getYearArray($start, $end);
- break;
- default;
- $timeArray = self::getWeekArray($start, $end);
- }
- $res = [];
- foreach ($timeArray as $item) {
- $adver = Advertising::whereBetween('created_at', [$item['start'], $item['end']])->select([
- \DB::raw('sum(browse_num) browse_num'),
- \DB::raw('sum(click_num) click_num'),
- ]);
- // 区分系统管理员与地区管理员的数据
- if (Admin()->is_super == 3) {
- $adver = $adver->whereIn('uid', getIds());
- $str = Area::getArea(Admin()->province, Admin()->city, Admin()->district);
- }
- $stat = $adver->first();
- $res[] = [
- 'area' => $str ?? '',
- 'browse_num' => $stat->browse_num ?? 0,
- 'click_num' => $stat->click_num ?? 0,
- 'start' => $item['start'],
- 'end' => $item['end']
- ];
- }
- return showJsonSucc(1001, $res);
- }
- /**
- * 城区业绩量统计
- * author wsl
- * 2019.7.9
- *
- *
- *
- **/
- public function StatArea(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'province' => 'exists:area,id',
- 'city' => 'exists:area,id',
- 'district' => 'exists:area,id',
- 'start' => 'date',
- 'end' => 'date',
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- // 如果当前管理员是地区管理员
- if (Admin()->is_super == 3) {
- if (isset($param['district'])) {
- if (Admin()->level == 6 && $param['district'] != Admin()->district) {
- return showJsonErr('抱歉,您不能查看该地区的信息');
- }
- }
- if (isset($param['city'])) {
- if (Admin()->level == 7 && $param['city'] != Admin()->city) {
- return showJsonErr('抱歉,您不能查看该城市的信息');
- }
- }
- }
- //查找已开放的区域
- $proxy = Proxy::select(['id', 'province', 'city', 'district', 'status', 'user_level'])
- ->where('province', '!=', 0);
- //管理员查看对应的代理
- $district = AdminArea::getAdminArea();
- if (!empty($district)) {
- if (!empty($district['city'])) {
- $proxy->whereCity($district['city']);
- if (!empty($param['district'])) {
- $proxy->whereDistrict($param['district']);
- }
- } else {
- $proxy->whereDistrict($district['district']);
- }
- } else {
- // 地区查询
- if (isset($param['province']) && isset($param['province'])) {
- $proxy->where('province', '=', $param['province']);
- }
- if (isset($param['city']) && isset($param['city'])) {
- $proxy->where('city', '=', $param['city']);
- }
- if (isset($param['district']) && isset($param['district'])) {
- $proxy->where('district', '=', $param['district']);
- }
- }
- $res = $proxy->groupBy(['province', 'city', 'district'])->orderByDesc('created_at')->paginate(perPage());
- if ($res->isNotEmpty()) {
- collect($res->items())->each(function ($item, $key) use ($param) {
- $item->str = Area::getName($item->province) . ' ' . Area::getName($item->city) . ' ' . Area::getName($item->district);
- $adver = Advertising::whereIn('status', [3, 4, 9])->select([
- \DB::raw('count(id) count'), // 广告总笔数
- \DB::raw('sum(total_price) totalPrice'), // 广告业绩总额
- ]);
- $adver = $adver->whereProvince($item->province)->whereCity($item->city);
- $user = User::whereProvince($item->province)->whereCity($item->city);
- $upgrade = Upgrade::whereStatus(3)->whereProvince($item->province)->whereCity($item->city);
- $proxyarea = DB::table('proxy_area as pa')->join('order as o', 'o.id', '=', 'pa.order_id')
- ->select(\DB::raw('sum(price) totalprice'))->where('pa.status', '=', 3)
- ->where('pa.province', '=', $item->province)
- ->where('pa.city', '=', $item->city)
- ->where('pa.district', '=', $item->district);
- if (!empty($item->district)) {
- $adver->whereDistrict($item->district);
- $user->whereDistrict($item->district);
- $upgrade->whereDistrict($item->district);
- $proxyarea->whereDistrict($item->district);
- }
- if (isset($param['start']) && isset($param['end'])) {
- $adver->whereBetween('created_at', [$param['start'], $param['end']]);
- $upgrade->whereBetween('created_at', [$param['start'], $param['end']]);
- $proxyarea->whereBetween('created_at', [$param['start'], $param['end']]);
- }
- $adverres = $adver->first();
- $proxyareares = $proxyarea->first();
- $item->count = $adverres->count;//广告总笔数
- $item->proxyTotal = round($upgrade->sum('money') + $proxyareares->totalprice, 3);//代理费总额
- $item->totalPrice = round($adverres->totalPrice, 3);//广告业绩总额
- $item->proxynum = $user->count();//代理数量
- $item->allprice = round($item->proxyTotal + $item->totalPrice, 3);//代理数量
- });
- }
- return showJsonSucc(1001, $res);
- }
- /**
- * 城区业绩量统计,感觉不对,
- * @author lyh
- * @date 2019/4/8
- * @modify_author lyh
- * @modify 2019-4-26 11:25:25-确认已区分系统管理员与地区管理员权限
- * @description
- * 查询:地区(省市区)、时间(开始结束时间)
- * 城区
- * 代理数量
- * 代理费总额(元)
- * 广告总比数
- * 广告业绩总额(元)
- * 实付总额
- * todo 待定
- */
- public function StatAreaLyh(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'province' => 'exists:area,id',
- 'city' => 'exists:area,id',
- 'district' => 'exists:area,id',
- 'start' => 'date',
- 'end' => 'date',
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- // 如果当前管理员是地区管理员
- if (Admin()->is_super == 3) {
- if (isset($param['district'])) {
- if (Admin()->level == 6 && $param['district'] != Admin()->district) {
- return showJsonErr('抱歉,您不能查看该地区的信息');
- }
- }
- if (isset($param['city'])) {
- if (Admin()->level == 7 && $param['city'] != Admin()->city) {
- return showJsonErr('抱歉,您不能查看该城市的信息');
- }
- }
- }
- $adver = Advertising::whereIn('status', [3, 4, 9])->select([
- \DB::raw('count(id) count'), // 广告总笔数
- \DB::raw('sum(total_price) totalPrice'), // 广告业绩总额
- 'province',
- 'city',
- 'district'
- ]);
- // 区分系统管理员与地区管理员数据
- if (\Auth::user()->is_super == 3) {
- $adver = $adver->whereIn('uid', getIds());
- }
- if (isset($param['start']) && isset($param['end'])) {
- $adver->whereBetween('created_at', [$param['start'], $param['end']]);
- }
- if (isset($param['province']) && isset($param['province'])) {
- $adver->where('province', '=', $param['province']);
- }
- if (isset($param['city']) && isset($param['city'])) {
- $adver->where('city', '=', $param['city']);
- }
- if (isset($param['district']) && isset($param['district'])) {
- $adver->where('district', '=', $param['district']);
- }
- $group = 'city';
- if (!empty($param['city'])) {
- $group = 'district';
- }
- $statAdver = $adver->groupBy($group)->paginate(perPage());
- if ($statAdver->isNotEmpty()) {
- foreach ($statAdver->items() as $item) {
- $user = Upgrade::whereStatus(3)->whereUpgradeWay(1)->select([
- \DB::raw('count(id) proxynum'), // 代理数量
- \DB::raw('sum(money) proxyTotal') // 代理费总额
- ]);
- if ($item->province) {
- $user->whereProvince($item->province);
- }
- if ($item->city) {
- $user->whereCity($item->city);
- }
- if ($item->district) {
- $user->whereDistrict($item->district);
- }
- if (isset($param['start']) && isset($param['end'])) {
- $user->whereBetween('created_at', [$param['start'], $param['end']]);
- }
- $statUser = $user->first();
- $item->proxynum = $statUser->proxynum;
- $item->proxyTotal = $statUser->proxyTotal;
- $item->str = Area::getName($item->province) . ' ' . Area::getName($item->city) . ' ' . Area::getName($item->district);
- }
- }
- return showJsonSucc(1001, $statAdver);
- }
- /**
- * 担保协议上传
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- * @author lyh
- * @modify_author lyh
- * @modify_time 2019-4-26 14:43:54
- * @modify 确认已区分系统管理员与地区管理员权限
- * @date 2019/4/11
- */
- public function procotolUpload(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'id' => 'required|integer|exists:advertising,id',
- 'file' => 'required'
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $adver = Advertising::find($param['id']);
- if ($adver->guarantee == 0) {
- return showJsonErr('抱歉,该广告没有担保');
- }
- // 区分系统管理员与地区管理员数据
- if (\Auth::user()->is_super == 3 && !in_array($adver->uid, getIds())) {
- return showJsonErr('抱歉,您没有权限查看');
- }
- if ($adver->guarantee_url) {
- return showJsonErr('抱歉,该广告已经上传担保协议');
- }
- $res = Advertising::whereId($param['id'])->update(['guarantee_url' => $param['file']]);
- if (empty($res)) {
- return showJsonErr('上传失败');
- }
- return showJsonSucc('上传成功', [
- 'url' => $param['file']
- ]);
- }
- /**
- * 设置开通担保协议
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- * @author lyh
- * @date 2019/4/15
- */
- public function guarantee(Request $request)
- {
- $res = Config::getValue('GUARANTEE');
- Config::where('key', '=', 'GUARANTEE')->update(['content' => $res == 1 ? 0 : 1]);
- return showJsonSucc(1001, $res);
- }
- //审核中的编辑广告
- public function modify(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'id' => 'required|exists:advertising,id',
- 'title' => 'required|string',
- 'content' => 'required|string',
- 'scene' => 'between:1,3',
- 'image' => 'string',
- // 'content' => '',
- 'industry' => 'required|string',
- 'province' => 'required|exists:area,id',
- 'city' => 'required|exists:area,id',
- 'district' => 'required|exists:area,id'
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $adver = Advertising::find($param['id']);
- if ($adver->status != 2) {
- return showJsonErr('抱歉,当前广告不是待审核状态不能编辑');
- }
- if (!empty($param['image'])) {
- $param['image_group'] = $param['image'];
- $param['image'] = explode(',', $param['image_group'])[0];
- }
- $result = Advertising::whereId($param['id'])->update($param);
- if (!$result) {
- return showJsonErr('编辑广告失败');
- }
- return showJsonSucc('编辑广告成功');
- }
- /**
- * 更新广告剩余量、投放时间
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- */
- public function modifyMore(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'id' => 'required|exists:advertising,id',
- 'residue_num' => 'integer',
- 'start_time' => 'date',
- 'end_time' => 'date|required_with:start_time'
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $adver = Advertising::find($param['id']);
- // 区分系统管理员与地区管理员数据
- if (\Auth::user()->is_super == 3 && !in_array($adver->uid, getIds())) {
- return showJsonErr('抱歉,您没有权限查看');
- }
- if (!in_array($adver->status, [3, 4])) {
- return showJsonErr('抱歉,当前广告不能更新信息');
- }
- if (isset($param['start_time']) && $param['start_time'] > $param['end_time']) {
- return showJsonErr('抱歉,投放开始时间不能大于结束时间');
- }
- if(!empty($param['residue_num'])){
- $param['total_num']=$param['residue_num']>$adver->total_num?$param['residue_num']:$adver->total_num;
- }
- $result = Advertising::whereId($param['id'])->update($param);
- if (!$result) {
- return showJsonErr('抱歉,修改失败');
- }
- return showJsonSucc('修改成功', Advertising::whereId($param['id'])->select(['id', 'residue_num', 'start_time', 'end_time'])->first());
- }
- /**
- * 获取月份数组
- * @param int $perPage
- * @description
- * @author lyh
- * @date 2019/4/8
- */
- private static function getMonthArray($start, $end)
- {
- $array = [];
- for ($i = $start; $i <= $end; $i++) {
- $array[] = [
- 'start' => Carbon::now()->subMonth($i)->startOfMonth(),
- 'end' => Carbon::now()->subMonth($i)->endOfMonth()
- ];
- }
- return $array;
- }
- /**
- * 获取月份数组
- * @param int $perPage
- * @description
- * @author lyh
- * @date 2019/4/8
- */
- private static function getYearArray($start, $end)
- {
- $array = [];
- for ($i = $start; $i <= $end; $i++) {
- $array[] = [
- 'start' => Carbon::now()->subYear($i)->startOfYear(),
- 'end' => Carbon::now()->subYear($i)->endOfYear()
- ];
- }
- return $array;
- }
- /**
- * 获取月份数组
- * @param int $perPage
- * @description
- * @author lyh
- * @date 2019/4/8
- */
- private static function getWeekArray($start, $end)
- {
- $array = [];
- for ($i = $start; $i <= $end; $i++) {
- $array[] = [
- 'start' => Carbon::now()->subWeek($i)->startOfWeek(),
- 'end' => Carbon::now()->subWeek($i)->endOfWeek()
- ];
- }
- return $array;
- }
- //2021/6/21 lzj新增,某代理的广告列表
- public function oneAdList(Request $request)
- {
- $validator = \Validator::make($param = array_filter($request->all()), [
- 'id' => 'required|exists:user,id',
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
-
- $fields=[
- 'main.id',
- 'main.uid',
- 'main.title',
- 'u.real_name',
- 'u.nick_name',
- 'u.mobile',
- 'main.total_price',
- 'main.company_name',
- 'main.company_industry',
- 'main.province',
- 'main.city',
- 'main.district',
- 'main.price',
- 'main.total_num',
- 'main.residue_num',
- 'main.start_time',
- 'main.end_time',
- 'main.created_at',
- 'main.status',
- 'main.redirect',
- 'main.industry'
- ];
- $user = \DB::table('advertising as main')
- ->join('user as u', 'u.id', '=', 'main.uid')
- ->orderByDesc('id')
- ->where('main.uid','=',$param['id'])
- ->select($fields);
- $res = $user->paginate(perPage());
- if ($res->isNotEmpty()) {
- collect($res->items())->each(function ($item, $key) {
- $item->area = trim(Area::getName($item->province) . ' ' . Area::getName($item->city) . ' ' . Area::getName($item->district));
- $item->companyIndustryMsg = Industry::find($item->company_industry)->content ?? '';
- if ($item->industry != 'all') {
- $industry = Industry::whereIn('id', explode(',', $item->industry))->get();
- foreach ($industry as $ind) {
- $arr[] = $ind['content'];
- }
- $item->industryArr = $arr;
- }
- });
- }
- return showJsonSucc(1001, $res);
- }
- //调整等级 2021/6/22
- public function editAdver(Request $request)
- {
- $validator = \Validator::make($param = array_filter($request->all()), [
- 'id' => 'required|exists:user,id',
- 'level'=>'required|between:1,8',
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- if (\Auth::user()->is_super !== 1 ) {
- return showJsonErr('抱歉,您没有权限调整等级');
- }
- $users = User::find($param['id']);
-
- if(!$users){
- return showJsonErr('用户不存在');
- }
- if($param['level'] == $users->level){
- return showJsonErr('不能调整为用户当前的等级');
- }
- $users->level = $param['level'];
- if(!$users->save()){
- return showJsonErr('调整等级失败!');
- }
- return showJsonSucc('调整成功!');
- }
- }
|