'timestamp' ]; /** * 获取有效期展示文案 * @date 2022-10-17 */ public function getValidityTextAttr($value, $data) { if ($data['validity_type'] == 1) { return date('Y.m.d', $data['start_time']) . '~' . date('Y.m.d', $data['end_time']) . '可用'; } else if ($data['validity_type'] == 2) { return '自领取' . $data['validity_days'] . '天可用'; } else if ($data['validity_type'] == 3) { return '永久可用'; } } /** * 获取优惠券列表(分页) * @param array $where 查询条件 * @param int $page 第X页 * @param string $field 字段 * @param string $order 排序 * @date 2022-10-17 */ public function listCouponWithPage($where, $page, $field = '*', $order = '') { // 排序 if (empty($order)) { $order = 'id desc'; } return $this->field($field)->where($where)->where(function ($query) { // 没有过期的 $query->whereOr([['end_time', '=', 0]])->whereOr([['end_time', '>', time()]]); })->order($order)->paginate(['list_rows' => 50, 'page' => $page], false) ->each(function ($item, $key) { // 有效期显示文案 $item['validity_text'] = $item->validity_text; // 价钱,根据情况显示整数或1位小数 if ($item['price'] == round($item['price'])) { $item['price'] = (string)round($item['price']); } return $item; }); } /** * 获取优惠券列表 * @date 2022-10-17 */ public function listCoupon($where, $field = '*', $order = '') { // 排序 if (empty($order)) { $order = 'id desc'; } return $this->field($field)->where($where)->where(function ($query) { $query->whereOr([['end_time', '=', 0]])->whereOr([['end_time', '>', time()]]); })->order($order)->select(); } }