item_medicine.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. var ItemMedicine = &itemMedicineConfig{}
  4. func init() {
  5. _allList = append(_allList, ItemMedicine)
  6. }
  7. type (
  8. ItemMedicineRow struct {
  9. MedicineID int32 `json:"MedicineID"` // 药品ID
  10. UseType int32 `json:"UseType"` // 药品类型
  11. DayUseNumLimit int32 `json:"DayUseNumLimit"` // 使用次数上限
  12. Value int32 `json:"Value"` // 恢复值
  13. }
  14. itemMedicineConfig struct {
  15. baseConfig
  16. list []*ItemMedicineRow // all list
  17. medicineIDUniMaps map[int32]*ItemMedicineRow // key:medicineID
  18. }
  19. )
  20. func (p *itemMedicineConfig) Name() string {
  21. return "item_medicine"
  22. }
  23. func (p *itemMedicineConfig) Init() {
  24. p.medicineIDUniMaps = map[int32]*ItemMedicineRow{}
  25. }
  26. func (p *itemMedicineConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  27. if reload && p.denyLoad {
  28. return 0, nil
  29. }
  30. var list []*ItemMedicineRow
  31. if err := DecodeData(maps, &list); err != nil {
  32. return 0, err
  33. }
  34. p.list = list
  35. medicineIDUniMaps := map[int32]*ItemMedicineRow{}
  36. for _, row := range list {
  37. medicineIDUniMaps[row.MedicineID] = row
  38. }
  39. p.medicineIDUniMaps = medicineIDUniMaps
  40. return len(list), nil
  41. }
  42. // func (p *itemMedicineConfig) OnAfterLoad(_ bool) {
  43. // }
  44. func (p *itemMedicineConfig) List() []*ItemMedicineRow {
  45. return p.list
  46. }
  47. func (p *itemMedicineConfig) GetByMedicineID(medicineID int32) (*ItemMedicineRow, bool) {
  48. value, found := p.medicineIDUniMaps[medicineID]
  49. return value, found
  50. }
  51. func (p *itemMedicineConfig) ContainMedicineID(medicineID int32) bool {
  52. _, found := p.medicineIDUniMaps[medicineID]
  53. return found
  54. }