You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
230 lines
4.9 KiB
230 lines
4.9 KiB
package http |
|
|
|
import ( |
|
"strconv" |
|
"strings" |
|
"time" |
|
|
|
"go-common/app/admin/main/spy/model" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
) |
|
|
|
func factors(c *bm.Context) { |
|
var ( |
|
data []*model.Factors |
|
err error |
|
) |
|
data, err = spySrv.Factors(c) |
|
if err != nil { |
|
log.Error("spySrv.Factors error(%v)", err) |
|
c.JSON(data, err) |
|
return |
|
} |
|
c.JSON(data, err) |
|
} |
|
|
|
func updateFactor(c *bm.Context) { |
|
var ( |
|
params = c.Request.Form |
|
idsStr = params.Get("ids") |
|
name = params.Get("name") |
|
fs []*model.Factor |
|
err error |
|
) |
|
if name == "" { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
idsArr := strings.Split(idsStr, ",") |
|
for _, idStr := range idsArr { |
|
id, theErr := strconv.ParseInt(idStr, 10, 64) |
|
if theErr != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
factorVal, theErr := strconv.ParseFloat(params.Get("id_"+idStr), 32) |
|
if theErr != nil || factorVal < 0 || factorVal > 1 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
fs = append(fs, &model.Factor{ID: id, FactorVal: float32(factorVal)}) |
|
} |
|
err = spySrv.UpdateFactor(c, fs, name) |
|
if err != nil { |
|
log.Error("spySrv.UpdateFactor(%v) error(%v)", fs, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func addFactor(c *bm.Context) { |
|
var ( |
|
params = c.Request.Form |
|
nickname = params.Get("nick_name") |
|
serviceID int64 |
|
eventID int64 |
|
groupID int64 |
|
riskLevel int64 |
|
factorVal float64 |
|
categoryID int64 |
|
err error |
|
) |
|
if serviceID, err = strconv.ParseInt(params.Get("service_id"), 10, 64); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if eventID, err = strconv.ParseInt(params.Get("event_id"), 10, 64); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if groupID, err = strconv.ParseInt(params.Get("group_id"), 10, 64); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if riskLevel, err = strconv.ParseInt(params.Get("risk_level"), 10, 8); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if factorVal, err = strconv.ParseFloat(params.Get("factor_val"), 32); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if categoryID, err = strconv.ParseInt(params.Get("category_id"), 10, 8); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if factorVal > 1 || factorVal <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if riskLevel < 1 || riskLevel > 10 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
err = spySrv.AddFactor(c, &model.Factor{ |
|
NickName: nickname, |
|
ServiceID: serviceID, |
|
EventID: eventID, |
|
GroupID: groupID, |
|
RiskLevel: int8(riskLevel), |
|
FactorVal: float32(factorVal), |
|
CTime: time.Now(), |
|
CategoryID: int8(categoryID), |
|
}) |
|
if err != nil { |
|
log.Error("spySrv.AddFactor error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func addEvent(c *bm.Context) { |
|
var ( |
|
params = c.Request.Form |
|
name = params.Get("name") |
|
nickName = params.Get("nick_name") |
|
err error |
|
serviceID int64 |
|
status int64 |
|
) |
|
if serviceID, err = strconv.ParseInt(params.Get("service_id"), 10, 64); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if status, err = strconv.ParseInt(params.Get("status"), 10, 8); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
err = spySrv.AddEvent(c, &model.Event{ |
|
Name: name, |
|
NickName: nickName, |
|
ServiceID: serviceID, |
|
Status: int8(status), |
|
CTime: time.Now(), |
|
MTime: time.Now(), |
|
}) |
|
if err != nil { |
|
log.Error("spySrv.AddEvent error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func addService(c *bm.Context) { |
|
var ( |
|
params = c.Request.Form |
|
name = params.Get("name") |
|
nickName = params.Get("nick_name") |
|
err error |
|
status int64 |
|
) |
|
if status, err = strconv.ParseInt(params.Get("status"), 10, 8); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
err = spySrv.AddService(c, &model.Service{ |
|
Name: name, |
|
NickName: nickName, |
|
Status: int8(status), |
|
CTime: time.Now(), |
|
MTime: time.Now(), |
|
}) |
|
if err != nil { |
|
log.Error("spySrv.AddService error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func addGroup(c *bm.Context) { |
|
var ( |
|
params = c.Request.Form |
|
name = params.Get("name") |
|
err error |
|
) |
|
err = spySrv.AddGroup(c, &model.FactorGroup{ |
|
Name: name, |
|
CTime: time.Now(), |
|
}) |
|
if err != nil { |
|
log.Error("spySrv.AddGroup error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func updateEventName(c *bm.Context) { |
|
var ( |
|
params = c.Request.Form |
|
nickname string |
|
id int64 |
|
err error |
|
) |
|
nickname = params.Get("nickname") |
|
if err != nil || len(nickname) > model.MaxRemarkLen { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
id, err = strconv.ParseInt(params.Get("id"), 10, 64) |
|
if err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
err = spySrv.UpdateEventName(c, &model.Event{ |
|
ID: id, |
|
NickName: nickname, |
|
}) |
|
if err != nil { |
|
log.Error("spySrv.UpdateEventName error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
}
|
|
|