package main import ( "reflect" "strings" ) // getStr 根据 buyerclass 转换成行业 func getStr(b string) string { if b == "" { return "其它" } a1 := "(交通|运输物流|工信|农业|住建|城管|市政|出版广电|检察院|科技|民政|生态环境|市场监管|水利|应急管理|自然资源|财政|档案|党委办|组织|发改|宣传|政府办|政务中心|人大|政协|法院|公安|国资委|海关|机关事务|纪委|军队|人社|商务|审计税务|司法|体育|统计|统战|文旅|民宗|银保监|证监|气象|社会团体|公共资源交易)" a2 := "(卫健委|医疗)" a3 := "(教育|学校)" a4 := "(人行|金融业)" a5 := "(信息技术|电信行业|农林牧渔|建筑业|传媒|制造业|住宿餐饮|采矿业|能源化工|批发零售)" if strings.Contains(a1, b) { return "政府机构" } else if strings.Contains(a2, b) { return "医疗单位" } else if strings.Contains(a3, b) { return "教育单位" } else if strings.Contains(a4, b) { return "金融企业" } else if strings.Contains(a5, b) { return "商业公司" } else { return "其它" } } // structToMap 结构体转map func structToMap(obj interface{}) map[string]interface{} { result := make(map[string]interface{}) v := reflect.ValueOf(obj) t := reflect.TypeOf(obj) // Ensure the input is a struct if t.Kind() == reflect.Ptr { t = t.Elem() v = v.Elem() } if t.Kind() != reflect.Struct { return nil } for i := 0; i < t.NumField(); i++ { field := t.Field(i) value := v.Field(i) // Use the JSON tag if available tag := field.Tag.Get("json") if tag == "" { tag = field.Name } result[tag] = value.Interface() } return result }