package model import ( "fmt" "strings" ) const ( ELECTRICITY_CATE_TWO_PART int16 = iota ELECTRICITY_CATE_UNITARY_PV ELECTRICITY_CATE_FULL_PV ) const ( METER_TYPE_UNITARY int16 = iota METER_TYPE_PV ) const ( METER_INSTALLATION_TENEMENT int16 = iota METER_INSTALLATION_PARK METER_INSTALLATION_POOLING ) func ParseMeterInstallationType(s string) (int16, error) { switch { case strings.Contains(s, "商户"): return METER_INSTALLATION_TENEMENT, nil case strings.Contains(s, "公共"): return METER_INSTALLATION_PARK, nil case strings.Contains(s, "楼道"): return METER_INSTALLATION_POOLING, nil default: return -1, fmt.Errorf("提供了一个无法识别的表计类型: %s", s) } } const ( PRICING_POLICY_CONSUMPTION int16 = iota PRICING_POLICY_ALL ) const ( POOLING_MODE_NONE int16 = iota POOLING_MODE_CONSUMPTION POOLING_MODE_AREA ) const ( PAYMENT_CASH int16 = iota PAYMENT_BANK_CARD PAYMENT_ALIPAY PAYMENT_WECHAT PAYMENT_UNION_PAY PAYMENT_OTHER int16 = 99 ) const ( METER_TELEMETER_HYBRID int16 = iota METER_TELEMETER_AUTOMATIC METER_TELEMETER_MANUAL ) const ( RETRY_INTERVAL_ALGORITHM_EXPONENTIAL_BACKOFF int16 = iota RETRY_INTERVAL_ALGORITHM_DOUBLE_LINEAR_BACKOFF RETRY_INTERVAL_ALGORITHM_TRIPLE_LINEAR_BACKOFF RETRY_INTERVAL_ALGORITHM_FIXED ) const ( TAX_METHOD_INCLUSIVE int16 = iota TAX_METHOD_EXCLUSIVE ) const ( REPORT_CALCULATE_TASK_STATUS_PENDING int16 = iota REPORT_CALCULATE_TASK_STATUS_SUCCESS REPORT_CALCULATE_TASK_STATUS_INSUFICIENT_DATA REPORT_CALCULATE_TASK_STATUS_SUSPENDED REPORT_CALCULATE_TASK_STATUS_UNKNOWN_ERROR REPORT_CALCULATE_TASK_STATUS_UNEXISTS = 99 ) const ( REPORT_WITHDRAW_NON int16 = iota REPORT_WITHDRAW_APPLYING REPORT_WITHDRAW_DENIED REPORT_WITHDRAW_GRANTED )