123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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
- }
|