本文整理汇总了Golang中github.com/eaciit/toolkit.M.Set方法的典型用法代码示例。如果您正苦于以下问题:Golang M.Set方法的具体用法?Golang M.Set怎么用?Golang M.Set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/eaciit/toolkit.M
的用法示例。
在下文中一共展示了M.Set方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Initiate
func (c *ValueEquationController) Initiate(k *knot.WebContext) interface{} {
k.Config.OutputType = knot.OutputJson
var e error
csr, e := c.Ctx.Find(new(PlantModel), tk.M{}.Set("skip", 0).Set("limit", 0))
defer csr.Close()
PlantList := make([]PlantModel, 0)
e = csr.Fetch(&PlantList, 0, false)
if e != nil {
return e.Error()
}
csr, e = c.Ctx.Find(new(PhaseModel), tk.M{}.Set("skip", 0).Set("limit", 0))
PhaseList := make([]PhaseModel, 0)
e = csr.Fetch(&PhaseList, 0, false)
if e != nil {
return e.Error()
}
csr, e = c.Ctx.Find(new(UnitModel), tk.M{}.Set("skip", 0).Set("limit", 0))
UnitList := make([]UnitModel, 0)
e = csr.Fetch(&UnitList, 0, false)
if e != nil {
return e.Error()
}
result := tk.M{}
result.Set("PlantList", PlantList)
result.Set("PhaseList", PhaseList)
result.Set("UnitList", UnitList)
return ResultInfo(result, e)
}
示例2: ResultFromDatabase
func (g *GetDatabase) ResultFromDatabase(dataSettingId string, out interface{}) error {
c, e := dbox.NewConnection(g.desttype, &g.ConnectionInfo)
if e != nil {
return e
}
e = c.Connect()
if e != nil {
return e
}
defer c.Close()
iQ := c.NewQuery()
if g.CollectionSettings[dataSettingId].Collection != "" {
iQ.From(g.CollectionSettings[dataSettingId].Collection)
}
for _, val := range g.CollectionSettings[dataSettingId].MapsColumns {
iQ.Select(val.Source)
}
if len(g.CollectionSettings[dataSettingId].FilterCond) > 0 {
iQ.Where(g.CollectionSettings[dataSettingId].filterDbox)
}
csr, e := iQ.Cursor(nil)
if e != nil {
return e
}
if csr == nil {
return e
}
defer csr.Close()
results := make([]toolkit.M, 0)
e = csr.Fetch(&results, 0, false)
if e != nil {
return e
}
ms := []toolkit.M{}
for _, val := range results {
m := toolkit.M{}
for _, column := range g.CollectionSettings[dataSettingId].MapsColumns {
m.Set(column.Source, "")
if val.Has(column.Destination) {
m.Set(column.Source, val[column.Destination])
}
}
ms = append(ms, m)
}
if edecode := toolkit.Unjson(toolkit.Jsonify(ms), out); edecode != nil {
return edecode
}
return nil
}
示例3: FindUserLdap
func (a *GroupController) FindUserLdap(r *knot.WebContext) interface{} {
r.Config.OutputType = knot.OutputJson
payload := map[string]interface{}{}
err := r.GetPayload(&payload)
if err != nil {
return helper.CreateResult(false, nil, err.Error())
}
addr := payload["Address"].(string)
basedn := payload["BaseDN"].(string)
filter := payload["Filter"].(string)
username := payload["Username"].(string)
password := payload["Password"].(string)
var attr []string
err = toolkit.Serde(payload["Attribute"], &attr, "json")
if err != nil {
return helper.CreateResult(false, err, "error")
}
param := toolkit.M{}
param.Set("username", username)
param.Set("password", password)
param.Set("attributes", attr)
arrm, err := acl.FindDataLdap(addr, basedn, filter, param)
if err != nil {
return helper.CreateResult(false, err, "error")
}
return helper.CreateResult(true, arrm, "success")
}
示例4: Finds
func Finds(o orm.IModel, param toolkit.M) (dbox.ICursor, error) {
var filters []*dbox.Filter
params := toolkit.M{}
params.Set("where", filters)
if qe := param.Get("order", nil); qe != nil {
params.Set("order", qe.([]string))
}
if qe := param.Get("skip", nil); qe != nil {
params.Set("skip", qe.(int))
}
if qe := param.Get("take", nil); qe != nil {
params.Set("limit", qe.(int))
}
if qe := param.Get("where", nil); qe != nil {
filters = append(filters, qe.(*dbox.Filter))
params.Set("where", filters)
}
c, e := ctx().Find(o, params)
if e != nil {
return nil, errors.New("Core.Find: " + e.Error())
}
return c, nil
}
示例5: Fetch
func (c *Cursor) Fetch(result interface{}) (bool, error) {
if !c.rows.Next() {
return false, nil
}
e := c.rows.Scan(c.rowMemory...)
if e != nil {
return false, createError("Fetch", e.Error())
}
rowData := toolkit.M{}
for i, each := range c.rowDataRaw {
value := "NULL"
if each != nil {
value = string(each)
}
rowData.Set(c.columns[i], value)
}
*(result.(*toolkit.M)) = rowData
return true, nil
}
示例6: Initiate
func (s *ScenarioSimulation) Initiate(k *knot.WebContext) interface{} {
k.Config.OutputType = knot.OutputJson
//csr, e := s.DB().Find(new(PlantModel), tk.M{}.Set("skip", 0).Set("limit", 0))
csr, e := s.DB().Connection.NewQuery().Select("Plant").From("MasterPlant").Cursor(nil)
PlantList := make([]PlantModel, 0)
e = csr.Fetch(&PlantList, 0, true)
if e != nil {
return e.Error()
}
//csr, e = s.DB().Find(new(UnitModel), tk.M{}.Set("skip", 0).Set("limit", 0))
csr, e = s.DB().Connection.NewQuery().Select("Unit").From("MasterUnit").Cursor(nil)
UnitList := make([]UnitModel, 0)
e = csr.Fetch(&UnitList, 0, true)
if e != nil {
return e.Error()
}
defer csr.Close()
result := tk.M{}
result.Set("PlantList", PlantList)
result.Set("UnitList", UnitList)
return ResultInfo(result, e)
}
示例7: saverechistory
func saverechistory(key string, dt toolkit.M) (err error) {
err = nil
fullfilename := filepath.Join(toolkit.ToString(histConf.Get("recpath", "")), mapRecHistory[key])
if EC_DATA_PATH != "" {
fullfilename = filepath.Join(EC_DATA_PATH, "datagrabber", "historyrec", mapRecHistory[key])
}
// fmt.Println(fullfilename, " - Key - ", key, " - filename - ", mapRecHistory)
cconfig := toolkit.M{"newfile": true, "useheader": true, "delimiter": ","}
conn, err := prepareconnection("csv", fullfilename, "", "", "", cconfig)
if err != nil {
return
}
q := conn.NewQuery().SetConfig("multiexec", true).Insert()
for k, v := range dt {
if toolkit.TypeName(v) == "toolkit.M" {
dt.Set(k, fmt.Sprintf("%v", v))
}
}
err = q.Exec(toolkit.M{}.Set("data", dt))
conn.Close()
return
}
示例8: LoadWidgetPageData
func (p *PageController) LoadWidgetPageData(r *knot.WebContext) interface{} {
r.Config.OutputType = knot.OutputJson
payload := []toolkit.M{}
if err := r.GetPayload(&payload); err != nil {
return helper.CreateResult(false, nil, err.Error())
}
result := toolkit.M{}
for _, each := range payload {
filter := each.GetString("filter")
namespace := each.GetString("namespace")
fields := strings.Split(each.Get("fields").(string), ",")
dsID := each.GetString("value")
opt := toolkit.M{"fields": fields, "value": filter}
data, err := helper.FetchDataFromDSWithFilter(dsID, 0, opt)
if err != nil {
return helper.CreateResult(false, nil, err.Error())
}
result.Set(namespace, data)
}
return helper.CreateResult(true, result, "")
}
示例9: generateIndex
func (q *Query) generateIndex(filters []*dbox.Filter) (output []int, e error) {
var n int = 0
for {
tdread, e := q.reader.Read()
if e != nil && e != io.EOF {
break
}
n++
tm := toolkit.M{}
for i, v := range tdread {
tolower := strings.ToLower(q.headerColumn[i].name)
tm.Set(tolower, v)
if q.headerColumn[i].dataType == "int" {
tm[tolower] = cast.ToInt(v, cast.RoundingAuto)
} else if q.headerColumn[i].dataType == "float" {
tm[tolower] = cast.ToF64(v, (len(v) - (strings.IndexAny(v, "."))), cast.RoundingAuto)
}
}
match := dbox.MatchM(tm, filters)
if (len(filters) == 0 || match) && len(tm) > 0 {
output = append(output, n)
}
if e == io.EOF {
break
}
}
e = q.resetReader()
return
}
示例10: TestFindUserLdap
func (a *UserController) TestFindUserLdap(r *knot.WebContext) interface{} {
r.Config.OutputType = knot.OutputJson
payload := map[string]interface{}{}
err := r.GetPayload(&payload)
if err != nil {
return helper.CreateResult(false, nil, err.Error())
}
addr := toolkit.ToString(payload["Address"]) //192.168.0.200:389
basedn := toolkit.ToString(payload["BaseDN"]) //DC=eaciit,DC=local
filter := toolkit.ToString(payload["Filter"]) //(&(objectclass=person)(objectclass=organizationalPerson)(cn=*))
var attr []string
err = toolkit.Serde(payload["Attribute"], &attr, "json")
if err != nil {
return helper.CreateResult(true, err, "error")
}
param := toolkit.M{}
param.Set("username", toolkit.ToString(payload["Username"])) //Alip Sidik
param.Set("password", toolkit.ToString(payload["Password"])) //Password.1
// param.Set("attributes", []string{"cn", "givenName"})
param.Set("attributes", attr)
arrtkm, err := acl.FindDataLdap(addr, basedn, filter, param)
if err != nil {
return helper.CreateResult(true, err, "error")
}
return helper.CreateResult(true, arrtkm, "sukses")
}
示例11: getresultobj
func getresultobj(strsplits []string, tval interface{}, val toolkit.M) interface{} {
var xval interface{}
if val == nil {
val = toolkit.M{}
}
switch {
case len(strsplits) == 1:
xval = tval
case len(strsplits) > 1:
tm := toolkit.M{}
if val.Has(strsplits[1]) {
tm, _ = toolkit.ToM(val[strsplits[1]])
}
xval = val.Set(strsplits[1], getresultobj(strsplits[1:], tval, tm))
}
return xval
// if {
// val = tval
// } else {
// val = val.Set(k, v)
// if val == nil {
// } else {
// }
// val = getresultobj(strsplits[1:], tval)
// }
// return val
}
示例12: GetDataSimulation
func (s *ScenarioSimulation) GetDataSimulation(k *knot.WebContext) interface{} {
k.Config.OutputType = knot.OutputJson
result, status, msg := tk.M{}, "", ""
simDataTmp := []tk.M{}
filter := tk.M{}
filter.Set("name", "GetAllScenarioSimulation")
csr, err := s.DB().Connection.NewQuery().Command("procedure", filter).Cursor(nil)
defer csr.Close()
err = csr.Fetch(&simDataTmp, 0, true)
if err != nil {
msg = err.Error()
status = "NOK"
} else {
status = "OK"
}
SimulationDatas := constructScenarionSimulation(simDataTmp)
result.Set("Status", status)
result.Set("Message", msg)
result.Set("Data", SimulationDatas)
return result
}
示例13: decodeTSV
func decodeTSV(file []byte) (retVal interface{}, e error) {
reader := csv.NewReader(strings.NewReader(string(file)))
reader.Comma = '\t'
records, e := reader.ReadAll()
if e != nil {
return
}
var list []interface{}
for _, row := range records {
line := toolkit.M{}
for idx, val := range row {
line.Set(toolkit.ToString(idx), val)
}
list = append(list, line)
}
if len(list) > 0 {
retVal = list[0]
}
return
}
示例14: execQueryPartUpdate
func (q *Query) execQueryPartUpdate(dt toolkit.M, Cond QueryCondition) error {
if len(dt) == 0 {
return errorlib.Error(packageName, "Query", modQuery, "data to update is not found")
}
writer := q.Connection().(*Connection).writer
reader := q.Connection().(*Connection).reader
tempHeader := []string{}
for _, val := range q.Connection().(*Connection).headerColumn {
tempHeader = append(tempHeader, val.name)
}
for {
foundChange := false
recData := toolkit.M{}
dataTemp, e := reader.Read()
for i, val := range dataTemp {
recData.Set(tempHeader[i], val)
}
if len(Cond.Find) > 0 || (len(Cond.Find) == 0 && toolkit.IdField(dt) == "") {
foundChange = Cond.getCondition(recData)
}
// Check ID IF Condition Not Found
if nameid := toolkit.IdField(dt); nameid != "" && !foundChange {
if recData.Has(nameid) && dt[nameid] == recData[nameid] {
foundChange = true
}
}
if foundChange && len(dataTemp) > 0 {
for n, v := range tempHeader {
if dt.Has(v) {
dataTemp[n] = cast.ToString(dt[v])
}
}
}
if e == io.EOF {
if dataTemp != nil {
writer.Write(dataTemp)
writer.Flush()
}
break
} else if e != nil {
return errorlib.Error(packageName, modQuery, "Update", e.Error())
}
if dataTemp != nil {
writer.Write(dataTemp)
writer.Flush()
}
}
return nil
}
示例15: foundCondition
func foundCondition(dataCheck toolkit.M, cond toolkit.M) bool {
resBool := true
for key, val := range cond {
if key == "$and" || key == "$or" {
for i, sVal := range val.([]interface{}) {
rVal := sVal.(map[string]interface{})
mVal := toolkit.M{}
for rKey, mapVal := range rVal {
mVal.Set(rKey, mapVal)
}
xResBool := foundCondition(dataCheck, mVal)
if key == "$and" {
resBool = resBool && xResBool
} else {
if i == 0 {
resBool = xResBool
} else {
resBool = resBool || xResBool
}
}
}
} else {
if reflect.ValueOf(val).Kind() == reflect.Map {
mVal := val.(map[string]interface{})
tomVal, _ := toolkit.ToM(mVal)
switch {
case tomVal.Has("$ne"):
if tomVal["$ne"].(string) == dataCheck.Get(key, "").(string) {
resBool = false
}
case tomVal.Has("$regex"):
resBool, _ = regexp.MatchString(tomVal["$regex"].(string), dataCheck.Get(key, "").(string))
case tomVal.Has("$gt"):
if tomVal["$gt"].(string) >= dataCheck.Get(key, "").(string) {
resBool = false
}
case tomVal.Has("$gte"):
if tomVal["$gte"].(string) > dataCheck.Get(key, "").(string) {
resBool = false
}
case tomVal.Has("$lt"):
if tomVal["$lt"].(string) <= dataCheck.Get(key, "").(string) {
resBool = false
}
case tomVal.Has("$lte"):
if tomVal["$lte"].(string) < dataCheck.Get(key, "").(string) {
resBool = false
}
}
} else if reflect.ValueOf(val).Kind() == reflect.String && val != dataCheck.Get(key, "").(string) {
resBool = false
}
}
}
return resBool
}