149 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			149 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | |||
|  | // +----------------------------------------------------------------------
 | |||
|  | // | likeshop开源商城系统
 | |||
|  | // +----------------------------------------------------------------------
 | |||
|  | // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
 | |||
|  | // | gitee下载:https://gitee.com/likeshop_gitee
 | |||
|  | // | github下载:https://github.com/likeshop-github
 | |||
|  | // | 访问官网:https://www.likeshop.cn
 | |||
|  | // | 访问社区:https://home.likeshop.cn
 | |||
|  | // | 访问手册:http://doc.likeshop.cn
 | |||
|  | // | 微信公众号:likeshop技术社区
 | |||
|  | // | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
 | |||
|  | // |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
 | |||
|  | // | 禁止对系统程序代码以任何目的,任何形式的再发布
 | |||
|  | // | likeshop团队版权所有并拥有最终解释权
 | |||
|  | // +----------------------------------------------------------------------
 | |||
|  | // | author: likeshop.cn.team
 | |||
|  | // +----------------------------------------------------------------------
 | |||
|  | namespace app\common\model\coupon; | |||
|  | 
 | |||
|  | use app\common\basics\Models; | |||
|  | use app\common\model\coupon\CouponList; | |||
|  | use app\common\model\shop\Shop; | |||
|  | 
 | |||
|  | class Coupon extends Models{ | |||
|  |     // 使用场景
 | |||
|  |     public function getUseGoodsTypeDescAttr($value,$data){ | |||
|  |         switch ($value){ | |||
|  |             case 1: | |||
|  |                 return '全店通用'; | |||
|  |             case 2: | |||
|  |                 return '部分商品可用'; | |||
|  |             case 3: | |||
|  |                 return '部分商品不可用'; | |||
|  |             default: | |||
|  |                 return ''; | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     // 优惠金额
 | |||
|  |     public function getConditionTypeDescAttr($value,$data){ | |||
|  |         if($value == 1){ | |||
|  |             return '无门槛,减'.$data['money'].'元'; | |||
|  |         } | |||
|  |         if($value == 2){ | |||
|  |             return '订单满'.$data['condition_money'].'元,减'.$data['money'].'元'; | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     // 使用门槛
 | |||
|  |     public function getConditionTypeDescTwoAttr($value,$data){ | |||
|  |         if($value == 1){ | |||
|  |             return '无门槛'; | |||
|  |         } | |||
|  |         if($value == 2){ | |||
|  |             return '订单满'.$data['condition_money'].'元可用'; | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     // 已领取/剩余
 | |||
|  |     public static function getSendTotalTypeDescAttr($value,$data){ | |||
|  |         $send_total = CouponList::where(['coupon_id'=>$data['id']])->count(); | |||
|  |         $tips = $send_total; | |||
|  |         if($data['send_total_type'] == 1){ | |||
|  |             $tips .= '/不限'; | |||
|  |         }else{ | |||
|  |             $residue = $data['send_total'] - $send_total; | |||
|  |             $tips .= '/'.$residue; | |||
|  |         } | |||
|  |         return $tips; | |||
|  |     } | |||
|  | 
 | |||
|  |     // 发放情况
 | |||
|  |     public function getSendInfoAttr($value, $data) | |||
|  |     { | |||
|  |         switch($value) { | |||
|  |             case 1: // 不限制
 | |||
|  |                 $already_issue = CouponList::where(['coupon_id'=>$data['id']])->count(); | |||
|  |                 $wait_issue = '不限量'; | |||
|  |                 $total_issue = '不限量'; | |||
|  |                 break; | |||
|  |             case 2: // 限制数量
 | |||
|  |                 $already_issue = CouponList::where(['coupon_id'=>$data['id']])->count(); | |||
|  |                 $wait_issue = $data['send_total'] - $already_issue; | |||
|  |                 $total_issue = $data['send_total']; | |||
|  |                 break; | |||
|  |         } | |||
|  |         $info = <<<EOD | |||
|  | 已发放:{$already_issue} <br /> | |||
|  | 待发放:{$wait_issue} <br /> | |||
|  | 发放总量:{$total_issue} <br /> | |||
|  | EOD; | |||
|  |         return $info; | |||
|  |     } | |||
|  | 
 | |||
|  |     //领取方式
 | |||
|  |     public function getGetTypeDescAttr($value,$data){ | |||
|  |         switch ($value){ | |||
|  |             case 1: | |||
|  |                 return '直接领取'; | |||
|  |             case 2: | |||
|  |                 return '商家赠送'; | |||
|  |             default: | |||
|  |                 return ''; | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     // 状态
 | |||
|  |     public function getStatusDescAttr($value){ | |||
|  |         $desc = [0=>'已下架', 1=>'上架中']; | |||
|  |         return $desc[$value]; | |||
|  |     } | |||
|  | 
 | |||
|  |     // 发放时间
 | |||
|  |     public function getSendTimeAttr($value, $data) | |||
|  |     { | |||
|  |         $start_time = date('Y-m-d H:i:s', $data['send_time_start']); | |||
|  |         $end_time = date('Y-m-d H:i:s', $data['send_time_end']); | |||
|  |         return $start_time.' 至 '.$end_time; | |||
|  |     } | |||
|  | 
 | |||
|  |     //用券时间
 | |||
|  |     public function getUseTimeDescAttr($value,$data){ | |||
|  |         if($data['use_time_type'] == 1){ // 固定时间
 | |||
|  |             return date('Y-m-d H:i:s',$data['use_time_start']).' 至 ' .date('Y-m-d H:i:s',$data['use_time_end']); | |||
|  |         } | |||
|  |         if($data['use_time_type'] == 2){ | |||
|  |             return '领取当天起'.$data['use_time'].'天内可用'; | |||
|  |         } | |||
|  |         if($data['use_time_type'] == 3){ | |||
|  |             return '领取次日起'.$data['use_time'].'天内可用'; | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     // 创建时间
 | |||
|  | //    public function getCreateTimeAttr($value, $data)
 | |||
|  | //    {
 | |||
|  | //        return date('Y-m-d H:i:s', $value);
 | |||
|  | //    }
 | |||
|  | 
 | |||
|  |     /** | |||
|  |      * 关联模型 | |||
|  |      */ | |||
|  |     public function shop() | |||
|  |     { | |||
|  |         return $this->hasOne(Shop::class, 'id', 'shop_id') | |||
|  |             ->field('id,name'); | |||
|  |     } | |||
|  | } |