policy

package
v0.0.0-...-2022bb5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Format

func Format(s string) (string, error)

Format 格式化 json 数据

Types

type Black

type Black struct {
	BlackOpen bool
	// 多少天内不允许预约
	BlackDay int
	// 多少次违约后加入黑名单
	BlackCount int
	// 清零周期,单位天
	BlackCycle int
}

Black 黑名单

type Holiday

type Holiday struct {
	// 开始时间
	StartDate string
	// 结束时间
	EndDate string
}

Holiday 节假日策略

type Leave

type Leave struct {
	LeaveOpen bool
	// 暂离配置
	LeaveConf []LeaveConf
}

Leave 暂离模式

type LeaveConf

type LeaveConf struct {
	// 暂离名称,如午休
	LeaveName string
	// 暂离时长,单位分钟
	LeaveTime int
	// 暂离次数
	LeaveCount int
	// 开启时间,例如 08:00
	LeaveStart string
	// 关闭时间,例如 18:00
	LeaveEnd string
}

type Mark

type Mark struct {
	MarkOpen bool
	// 空座率大于多少时,允许标记
	MarkRate int
	// 标记类型
	MarkType MarkType
	// 允许回签的时间,单位分钟
	MarkBack int
	// 限制每个人标记的次数/天
	MarkLimit int
}

Mark 标记模式,监督占座

type MarkType

type MarkType int
const (
	// MarkTypeRelease 释放座位
	MarkTypeRelease MarkType = iota + 1
	// MarkTypeGet 获取座位
	MarkTypeGet
)

type Policy

type Policy struct {
	// 黑名单策略
	Black Black
	// 暂离策略
	Leave Leave
	// 标记策略
	Mark Mark
	// 续时策略
	Renew Renew
	// 预约策略
	Reserve Reserve
	// 时间策略
	Time Time
}

Policy 策略

func New

func New(s string) (*Policy, error)

New 从 json 字符串创建一个 Policy 对象

func (*Policy) String

func (p *Policy) String() (string, error)

String 转换为 json 字符串

type Renew

type Renew struct {
	RenewOpen bool
	// 续时周期,单位分钟
	RenewCycle int
}

Renew 续时模式

type Reserve

type Reserve struct {
	// 闭馆前多少分钟不允许预约
	ReserveCloseMinute int
	// 多少分钟内只能预约一次
	ReserveMinute int
	// 闭馆前多少分钟通知
	ReserveNoticeMinute int
}

Reserve 当天预约

type ReservePrepare

type ReservePrepare struct {
	ReservePrepareOpen bool
	// 允许多少天提前预约
	ReservePrepareDay int
	// 允许预约的比例
	ReservePrepareRate int
}

ReservePrepare 提前预约,意思是提前多少天可以预约

type Time

type Time struct {
	// 时间策略
	PolicyTimeConf map[Week]TimeConf
	// 提前预约时间,以开馆时间做为标准
	ReservePrepareMinute int
	// 保留座位的时间
	ReserveKeepMinute int
	// 节假日策略
	Holiday []Holiday
}

Time 时间策略

type TimeConf

type TimeConf struct {
	// 开馆时间,例如:08:00
	OpenTime string
	// 闭馆时间,例如:18:00
	CloseTime string
}

TimeConf 时间策略配置

type Week

type Week int

Week 按week为周期管理开闭关时间

const (
	Sun Week = iota
	Mon
	Tue
	Wed
	Thu
	Fri
	Sat
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL