Exemple #1
0
//解析搜索条件内容
func ParseSearchContent(search string) *models.Deviceinfo {
	beego.Debug("searchCondition=", search)

	searchInfo := make(map[string]string)
	searchs := strings.Split(search, "&&")
	for _, item := range searchs {
		if item == "" {
			continue
		} else {
			info := strings.Split(item, "=")
			searchInfo[info[0]] = info[1]
		}
	}
	beego.Debug("searchInfo=", searchInfo)

	ds_flag := false

	var device models.Deviceinfo
	for key, value := range searchInfo {
		//去掉所有空格
		key = strings.Replace(key, " ", "", -1)
		value = strings.Replace(value, " ", "", -1)
		beego.Debug("key=", key, "value=", value)

		switch key {
		case "mac":
			device.Mac = value
		case "ip":
			device.IpAddress = value
		case "dsn":
			device.HostSn = value
		case "lc":
			device.IpLocation = value
		case "fr":
			if value != "" {
				t, err := time.Parse(TimeFormat, value)
				if err != nil {
					beego.Error(err)
				}
				device.FirstRegistrationTime = t
			}
		case "lr":
			if value != "" {
				t, err := time.Parse(TimeFormat, value)
				if err != nil {
					beego.Error(err)
				}
				device.LastRegistrationTime = t
			}
		case "fw":
			device.FirmwareVersion = value
		case "ds":
			ds_flag = true
			device.State, _ = strconv.Atoi(value)
		default:
		}
	}
	if !ds_flag {
		device.State = -1
	}
	return &device
}