admin/app/model/newModel/member/MemberLevel.php

73 lines
2.4 KiB
PHP

<?php
/** ZJMall商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2022-2032 四川正今科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.zjphp.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道官方颁发授权证书,无纸质授权凭证书视为侵权行为。
* =========================================================
*/
namespace app\model\newModel\member;
use app\model\NewBaseModel;
class MemberLevel extends NewBaseModel{
protected $pk = 'level_id'; // 默认主键id
protected $name = 'member_level';
protected $autoWriteTimestamp = false; // 开启自动时间戳
protected $deleteTime = false; // 软删除字段
private $levelName = [
'week' => '周',
'month' => '月',
'quarter' => '季',
'year' => '年',
];
/**
* Common: 获取会员卡详细信息
* Author: wu-hui
* Time: 2022/12/13 17:27
* @param $id
* @param $index
* @return MemberLevel|array|mixed|\think\Model|null
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function getDetails($id,$index){
$info = $this
->field('level_id,level_name,charge_rule')
->where('level_id',$id)
->find();
if($info) $info = $info->toArray();
$info['current_rule'] = json_decode($info['charge_rule'],true)[$index];
return $info;
}
/**
* Common: 获取某个会员卡的规格
* Author: wu-hui
* Time: 2022/12/23 17:20
* @param $levelId
* @return array
*/
public function getChargeRule($levelId){
$chargeRule = $this->where('level_id',$levelId)->value('charge_rule');
if(!$chargeRule) return [];
$levelName = $this->levelName;
return array_map(function($item) use ($levelName){
$item['unit'] = $levelName[$item['date-cycle']];
$item['title'] = $item['date-num'].$levelName[$item['date-cycle']].'卡';
return $item;
},json_decode($chargeRule,TRUE));
}
}