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');
|
|||
|
}
|
|||
|
}
|