mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
codex/fix: recheck and fix purchase receive failed and farm stock not shown on recording
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"slices"
|
||||
"strings"
|
||||
|
||||
approvalutils "gitlab.com/mbugroup/lti-api.git/internal/utils/approvals"
|
||||
@@ -129,10 +130,23 @@ var productSubFlagToFlag = func() map[FlagType]FlagType {
|
||||
}()
|
||||
|
||||
var productAllowWithoutSubFlagByFlag = map[FlagType]bool{
|
||||
FlagAyam: true,
|
||||
FlagPakan: false,
|
||||
FlagOVK: false,
|
||||
FlagTelur: false,
|
||||
FlagAyam: true,
|
||||
FlagPakan: false,
|
||||
FlagOVK: false,
|
||||
FlagTelur: false,
|
||||
}
|
||||
|
||||
var legacyProductCategoryFlagsByCode = map[string][]FlagType{
|
||||
"DOC": {FlagAyam, FlagDOC},
|
||||
"PLT": {FlagAyam, FlagPullet},
|
||||
"EGG": {FlagTelur},
|
||||
"RAW": {FlagPakan},
|
||||
"PST": {FlagPakan, FlagPreStarter},
|
||||
"STR": {FlagPakan, FlagStarter},
|
||||
"FSR": {FlagPakan, FlagFinisher},
|
||||
"OBT": {FlagOVK, FlagObat},
|
||||
"VTM": {FlagOVK, FlagVitamin},
|
||||
"KMA": {FlagOVK, FlagKimia},
|
||||
}
|
||||
|
||||
var legacyFlagTypeAliases = map[FlagType]FlagType{
|
||||
@@ -228,6 +242,52 @@ func ProductFlagAllowWithoutSubFlag(flag FlagType) bool {
|
||||
return allow
|
||||
}
|
||||
|
||||
func LegacyProductCategoryCodesForFlags(flags []string) []string {
|
||||
if len(flags) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
requested := make(map[FlagType]struct{}, len(flags))
|
||||
for _, flag := range flags {
|
||||
canonical := CanonicalFlagType(flag)
|
||||
if canonical == "" {
|
||||
continue
|
||||
}
|
||||
requested[canonical] = struct{}{}
|
||||
}
|
||||
if len(requested) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
codes := make([]string, 0, len(legacyProductCategoryFlagsByCode))
|
||||
for code, supportedFlags := range legacyProductCategoryFlagsByCode {
|
||||
for _, supportedFlag := range supportedFlags {
|
||||
if _, ok := requested[canonicalizeFlagType(supportedFlag)]; ok {
|
||||
codes = append(codes, code)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
slices.Sort(codes)
|
||||
return codes
|
||||
}
|
||||
|
||||
func LegacyFlagGroupCodeByProductCategoryCode(code string) string {
|
||||
switch strings.ToUpper(strings.TrimSpace(code)) {
|
||||
case "DOC", "PLT":
|
||||
return "AYAM"
|
||||
case "EGG":
|
||||
return "TELUR"
|
||||
case "RAW", "PST", "STR", "FSR":
|
||||
return "PAKAN"
|
||||
case "OBT", "VTM", "KMA":
|
||||
return "OVK"
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
func IsProductMainFlag(flag FlagType) bool {
|
||||
canonical := canonicalizeFlagType(flag)
|
||||
for _, f := range productMainFlags {
|
||||
|
||||
Reference in New Issue
Block a user