1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
 
namespace app\common\model\order;
use app\common\model\BaseModel;
/**
 * 虚拟商品核销信息记录模型
 */
class OrderVerify extends BaseModel
{
    protected $name = 'order_verify';
    protected $pk = 'id';
    protected $updateTime = false;
 
    /**
     * 追加字段
     * @var string[]
     */
    protected $append = [
        'verify_expire_text', //线下核销有效期状态 by lyzflash
        'verify_time_text' //核销有效时间
    ];
 
 
    /**
     * 核销有效状态文字描述
     * @param $value
     * @param $data
     * @return array
     */
    public function getVerifyExpireTextAttr($value, $data)
    {
        if($data['verify_type'] == 10) {
            if(empty($data['verify_day'])) {
                return ['text' => '', 'value' => 0];
            } else {
                if($data['verify_end_time'] > time()) {
                    return ['text' => '可使用', 'value' => 10];
                }
                if($data['verify_end_time'] < time()) {
                    return ['text' => '已过期', 'value' => 30];
                }
            }
        } else {
            if($data['verify_start_time'] > time()) {
                return ['text' => '未开始', 'value' => 20];
            }
            if($data['verify_end_time'] > time()) {
                return ['text' => '可使用', 'value' => 10];
            }
            if($data['verify_end_time'] < time()) {
                return ['text' => '已过期', 'value' => 30];
            }
        }
    }
 
    /**
     * 核销有效时间文字描述
     * @param $value
     * @param $data
     * @return array
     */
    public function getVerifyTimeTextAttr($value, $data)
    {
        if($data['verify_type'] == 10) {
            if(empty($data['verify_day'])) {
                return '不限';
            } else {
                return date('Y-m-d', $data['verify_start_time']) . '至' . date('Y-m-d', $data['verify_end_time']);
                //return date('Y-m-d', $data['pay_time']) . '至' . date('Y-m-d', $data['pay_time'] + $data['verify_day'] * 86400);
            }
        } else {
            return date('Y-m-d', $data['verify_start_time']) . '至' . date('Y-m-d', $data['verify_end_time']);
        }
    }
 
    /**
     * 详情
     */
    public static function getVerifyDetail($order_id)
    {
        return (new static())->where('order_id', '=', $order_id)->find();
    }
}