reward_rule.go 1.4 KB
package domain

import "time"

// RewardStandard 奖惩规则
type RewardRule struct {
	Id           int    `json:"id"`        //奖惩规则id
	CompanyId    int    `json:"companyId"` //企业id
	OrgId        int    `json:"orgId"`     //组织ID
	RewardTag    string `json:"rewardTag"`
	RewardNum    int    `json:"rewardNum"`
	RewardAmount string `json:"rewardAmount"`
	FaultTag     string `json:"faultTag"`
	FaultNum     int    `json:"faultNum"`
	FaultAmount  string `json:"faultAmount"`
	Remark       string `json:"remark"`
	IsBackup     int    `json:"IsBackup"` //是否作为备份遗留的 0 否 1 是
	CreatedAt    time.Time
	UpdatedAt    time.Time
}

type RewardRuleRepository interface {
	Save(param *RewardRule) (*RewardRule, error)
	FindOne(queryOptions map[string]interface{}) (*RewardRule, error)
	Find(queryOptions map[string]interface{}) (int64, []*RewardRule, error)
}

func (m *RewardRule) ValidRewardTag() bool {
	switch m.FaultTag {
	case ">":
	default:
		return false
	}
	return true
}

func (m *RewardRule) ValidFaultTag() bool {
	switch m.FaultTag {
	case ">":
	default:
		return false
	}
	return true
}

// 编辑 奖惩标准时 ,是否需要将旧数据做备份处理
func (m *RewardRule) NeedMakeBackup() bool {
	// 当前时间与 数据最后更新的时间 不是同一天时
	// 备份数据
	updateAt := m.UpdatedAt.Local().Format("2006-01-02")
	nowDate := time.Now().Format("2006-01-02")
	return !(updateAt == nowDate)
}