| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- <?php
- namespace App\Modes;
- use Illuminate\Database\Eloquent\Model;
- /**
- * App\Modes\Advertising
- *
- * @property int $id
- * @property int $uid 用户id
- * @property string $order_no 订单号
- * @property string $title 广告标题
- * @property string|null $image 主图
- * @property int $scene 投放形式 1-三分之一屏幕 2-半屏幕 3-全屏
- * @property string|null $image_group 图组
- * @property int $industry 行业
- * @property int $shop_cate 商家类型
- * @property string|null $content 内容
- * @property string $redirect 重定向url
- * @property int $province 省份(area.id)
- * @property int $city 市(area.id)
- * @property int $district 区(area.id)
- * @property string|null $start_time 有效时间段-开始
- * @property string|null $end_time 有效时间段-结束
- * @property string $area 区域范围
- * @property int $total_num 总展现次数
- * @property int $residue_num 剩余展现次数
- * @property float $price 单价
- * @property float $total_price 总价
- * @property int $status 广告状态 1-待支付 2-待审核 3-发布中 4-屏蔽 5-拒绝 9-过期
- * @property string $rejuse_remark 拒绝备注
- * @property int $pay_type 支付方式 0-未支付 1-现金 2-支付宝 3-微信 4-银行转账 5-桃牛支付
- * @property int $guarantee 是否平台担保:0-否 1-是
- * @property string|null $guarantee_content 担保内容
- * @property int $protocol_status 是否面签担保协议 0-否 1-已签
- * @property int $bet_status 对赌状态 0-提交上级确认 1-通过 2-拒绝 3-城区运行商审核通过 4-城区运营商审核不通过 5-对赌生效 6-对赌失效 (审核通过才能通过给后台审核支付)
- * @property string $bet_rejuse_remark 对赌拒绝备注
- * @property int $bet_uid 对赌人
- * @property float $bet_money 对赌金额
- * @property string|null $bet_start_time 对赌开始时间
- * @property string|null $bet_end_time 对赌结束时间
- * @property int $is_company 是否企业广告 1-个人 2-企业
- * @property string $company_name 企业名称
- * @property string $compny_industry 行业
- * @property string $license 营业执照
- * @property string $license_number 营业执照号
- * @property int $click_num 点击量
- * @property int $show_num 展现次数
- * @property int $browse_num 浏览量
- * @property \Illuminate\Support\Carbon $created_at
- * @property \Illuminate\Support\Carbon $updated_at
- * @property-read \App\Modes\User $User
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising newQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising query()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereArea($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereBetEndTime($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereBetMoney($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereBetRejuseRemark($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereBetStartTime($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereBetStatus($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereBetUid($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereBrowseNum($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereCity($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereClickNum($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereCompanyName($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereCompnyIndustry($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereContent($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereDistrict($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereEndTime($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereGuarantee($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereGuaranteeContent($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereImage($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereImageGroup($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereIndustry($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereIsCompany($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereLicense($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereLicenseNumber($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereOrderNo($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising wherePayType($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising wherePrice($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereProtocolStatus($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereProvince($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereRedirect($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereRejuseRemark($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereResidueNum($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereScene($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereShopCate($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereShowNum($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereStartTime($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereStatus($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereTitle($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereTotalNum($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereTotalPrice($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereUid($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereUpdatedAt($value)
- * @mixin \Eloquent
- * @property string $guarantee_url 担保协议文件路径
- * @property string $company_industry 行业
- * @property-read \App\Modes\Industry $Industry
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereCompanyIndustry($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereGuaranteeUrl($value)
- * @property int $activity_id 活动id 0-没有参加活动 n-zx_adver_activity.id
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereActivityId($value)
- * @property int $is_update 是否更新 0-否 1-是
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\Advertising whereIsUpdate($value)
- */
- class Advertising extends Model
- {
- protected $table = 'advertising';
- public static function getList($where = [], $field = [], $userField = [], $param = [])
- {
- // 合并查询字段
- $select = ['id', 'uid', 'title', 'image', 'content', 'bet_status', 'guarantee', 'status', 'created_at','end_time','province','city','district'];
- $select = array_merge($select, $field);
- // 合并查询字段
- $userSelect = ['id', 'nick_name'];
- $userSelect = array_merge($userSelect, $userField);
- $res = Advertising::where($where)
- ->with(['User' => function ($query) use ($userSelect) {
- $query->select($userSelect);
- }])
- ->orderByDesc('id')
- ->groupBy('id')
- ->select($select);
- if (!empty($param['type'])) {
- if($param['type']==4){
- $res->whereIn('status',[2,3,4,5,6,9]);
- $res->where('end_time','<',date('Y-m-d H:i:s'));
- }else{
- $res->where('status', $param['type']);
- $res->where('end_time','>',date('Y-m-d H:i:s'));
- }
- }else{
- $res->whereIn('status',[2,3,4,5,6,9]);
- }
- $r=$res->paginate(perPage());
- if($r->isNotEmpty()){
- collect($r->items())->each(function ($item, $key) {
- if($item->end_time<date('Y-m-d H:i:S')){
- $item->status=9;
- }
- $allowarea=Proxy::whereProvince($item->province)->whereUid(0)->where('city',$item->city)->where('district',$item->district)->whereStatus(1)->count();
- $item->allowdArea=$allowarea;//0地区冻结 >0未冻结
- if($item->guarantee==1){
- $item->bet=\DB::table('advertising_bet')->where('advertising_id','=',$item->id)->first();
- }
- });
- }
- return $r;
- }
- /**
- * 更新广告位状态
- * @author lyh
- * @date 2019/3/22
- * @date 2019/3/22
- * @param $out_trade_no
- * @param $price
- * @param $status
- * @param $payType
- * @description
- */
- public static function updateAdver($out_trade_no)
- {
- $adver = Advertising::whereOrderNo($out_trade_no)->first();
- if (empty($adver)) {
- ErrorLog::saveMsg("广告位订单号[{$out_trade_no}]不存在");
- }
- /* if ($adver->status!=1) {
- return;
- }*/
- $adverUpdate = Advertising::whereOrderNo($out_trade_no)->update([
- 'status' => 2
- ]);
- // 生成流水日志
- AccountLog::saveData(6, '-'.$adver->total_price, 0, 2, 0, "购买广告位花费".$adver->total_price.'元');
- if (empty($adverUpdate)) {
- ErrorLog::saveMsg("广告位订单号[{$out_trade_no}]状态更新为待审核失败");
- }
- // 修改活动记录状态
- if ($adver->activity_id) {
- AdverActivityLog::whereId($adver->activity_id)->update(['status' => 2]);
- }
- }
- /**
- * @author lyh
- * @date 2019/3/21
- * @description
- */
- public function User()
- {
- return $this->hasOne('App\Modes\User', 'id', 'uid');
- }
- public function Industry()
- {
- return $this->hasOne('App\Modes\Industry', 'id', 'company_industry');
- }
- }
|