object_list - meetbill/chi GitHub Wiki

// 获取db 中的 deploysetid 信息
func List(ctx context.Context, req ghttp.Request) ghttp.Response {
	response := &types.Response{
		Stat: "OK",
        Logid: req.LogID(),
	}
	data := map[string]interface{}{}

	ctx = mysql.ContextWithTableName(ctx, "vm_deploysetid")

	var deploysetids []dao.Deploysetid

    pool, _ := req.Query("pool")
    zone, _ := req.Query("zone")

	session := resource.OrmClient.WithContext(ctx)
	// 其它查询方式, 可参考 http://www.topgoer.com/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C/gorm/CRUD%E6%8E%A5%E5%8F%A3/%E6%9F%A5%E8%AF%A2.html
    if pool != "" {
	    session = session.Where("pool = ?", pool)
	    //queryRes := session.Where("pool = ?", pool).Find(&users)
    }
    if zone != "" {
	    session = session.Where("zone = ?", zone)
    }

    queryRes := session.Find(&deploysetids)
	if queryRes.Error != nil {
		response.Stat = "ERR_GET_DATA_FAILED"
		response.Msg = queryRes.Error.Error()
		return ghttp.NewJSONResponse(http.StatusOK, response)
	} else if queryRes.RowsAffected < 1 {
		response.Stat = "ERR_GET_DATA_FAILED"
		response.Msg = "query row fail , RowsAffected<1"
		return ghttp.NewJSONResponse(http.StatusOK, response)
	}

    data["list"] = deploysetids
    data["count"] = len(deploysetids)
	response.Data = data
	return ghttp.NewJSONResponse(http.StatusOK, response)
}