package entity

import (
	. "app.yhyue.com/moapp/jybase/common"
	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
)

var Base_goods_spec_power = base_goods_spec_power{}

//商品功能表
type base_goods_spec_power struct {
	Id                     int64
	Appid                  string
	Spec_id                int64  //商品规格表id
	Goods_code             string //商品代码
	Function_code          string //功能代码
	Cycle                  string //周期 d、m、y；比如：1d 7d 3m 1y
	Limit_strategy         string //限制频率；1d：1天 1m：1个月
	Strategy_count         int64  //频率数量
	Power_type             int64  //权益所属类型；1：个人 2：企业
	Use_count              int64  //使用数量
	Power_count            int64  //授权数量；-1：默认对企业下所有人授权 0：不授权
	Judge_repeat_mechanism int64  //判重机制；0：无 1：通用判重 2：应用判重
	Judge_repeat_scope     int64  //判重范围；1：个人 2：部门(上一级) 3：企业
	Judge_repeat_flag      string //判重标识；_id、projectid
	Judge_repeat_strategy  int64  //判重策略；0：无需判重 1：通用判重 2：应用自己判重
	Base_function          *base_function
}

//根据商品代码查找商品的功能明细
func (b *base_goods_spec_power) FindByGoodsCode(goods_spec_id int64, appid, goods_code string) *[]*base_goods_spec_power {
	list := Mysql_BaseService.SelectBySql(`select * from base_goods_spec_power where spec_id=? and appid=? and goods_code=?`, goods_spec_id, appid, goods_code)
	if list != nil && len(*list) > 0 {
		bgsps := JsonUnmarshal(list, &[]*base_goods_spec_power{}).(*[]*base_goods_spec_power)
		for _, v := range *bgsps {
			v.Base_function = Base_function.FindByCode(appid, v.Function_code)
		}
		return bgsps
	}
	return nil
}
