| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386 |
- <?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 = $res->image? getUrl($res->image) : '';
- $image_group = explode(',', $res->image_group);
- if($image_group){
- foreach ($image_group as $k => $item){
- $image_group[$k] = getUrl($item);
- }
- }
- $res->image_group = $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('调整成功!');
- }
- }
|