update print, del print
This commit is contained in:
@@ -32,7 +32,7 @@ func AddPrinters(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||||
err = services.AddPrinters(c, tokenInfo.User.UserID, param.AppID, printInfos)
|
err = services.AddPrinters(c, tokenInfo, param.AppID, printInfos)
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
}) {
|
}) {
|
||||||
return
|
return
|
||||||
@@ -51,7 +51,7 @@ func GetPrinters(c *gin.Context) {
|
|||||||
Name string `json:"name" form:"name"` //打印机备注,模糊
|
Name string `json:"name" form:"name"` //打印机备注,模糊
|
||||||
Status int `json:"status" form:"status"` //打印机状态。正常还是缺纸
|
Status int `json:"status" form:"status"` //打印机状态。正常还是缺纸
|
||||||
IsOnline int `json:"is_online" form:"is_online"` //在线状态。1在线,0离线
|
IsOnline int `json:"is_online" form:"is_online"` //在线状态。1在线,0离线
|
||||||
Offset int `json:"offset" form:"offset" binding:"required"`
|
Offset int `json:"offset" form:"offset"`
|
||||||
PageSize int `json:"page_size" form:"page_size" binding:"required"`
|
PageSize int `json:"page_size" form:"page_size" binding:"required"`
|
||||||
}{}
|
}{}
|
||||||
)
|
)
|
||||||
@@ -71,3 +71,64 @@ func GetPrinters(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//删除打印机 POST
|
||||||
|
func DelPrinters(c *gin.Context) {
|
||||||
|
var (
|
||||||
|
err error
|
||||||
|
tokenInfo *model.TokenInfo
|
||||||
|
param = &struct {
|
||||||
|
AppID int `json:"app_id" form:"app_id" binding:"required"`
|
||||||
|
PrintNos string `json:"print_nos" form:"print_nos" binding:"required"` //打印机编号s
|
||||||
|
}{}
|
||||||
|
printNos []string
|
||||||
|
)
|
||||||
|
globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP())
|
||||||
|
if err = c.Bind(¶m); err != nil {
|
||||||
|
buildErrJson(c, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if tokenInfo = checkToken(c); tokenInfo == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err = utils.UnmarshalUseNumber([]byte(param.PrintNos), &printNos); err != nil {
|
||||||
|
buildErrJson(c, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||||
|
err = services.DelPrinters(c, param.AppID, tokenInfo, printNos)
|
||||||
|
return retVal, "", err
|
||||||
|
}) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//更新打印机 POST
|
||||||
|
func UpdatePrinter(c *gin.Context) {
|
||||||
|
var (
|
||||||
|
err error
|
||||||
|
tokenInfo *model.TokenInfo
|
||||||
|
param = &struct {
|
||||||
|
AppID int `json:"app_id" form:"app_id" binding:"required"`
|
||||||
|
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
|
||||||
|
Name string `json:"name" form:"name"` //打印机备注,模糊
|
||||||
|
SIM string `json:"sim" form:"sim"` //sim卡
|
||||||
|
}{}
|
||||||
|
)
|
||||||
|
globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP())
|
||||||
|
if err = c.Bind(¶m); err != nil {
|
||||||
|
buildErrJson(c, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if tokenInfo = checkToken(c); tokenInfo == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||||
|
err = services.UpdatePrinter(c, param.AppID, tokenInfo, param.PrintNo, param.Name, param.SIM)
|
||||||
|
return retVal, "", err
|
||||||
|
}) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|||||||
@@ -30,9 +30,7 @@ func GetPrinters(db *sqlx.DB, appID int, printNo string) (printers []*model.Prin
|
|||||||
func GetPrintersPage(db *sqlx.DB, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
|
func GetPrintersPage(db *sqlx.DB, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
|
||||||
var (
|
var (
|
||||||
printers []*model.Printer
|
printers []*model.Printer
|
||||||
count = &struct {
|
count int
|
||||||
Count int `json:"count"`
|
|
||||||
}{}
|
|
||||||
)
|
)
|
||||||
sqlCount := `
|
sqlCount := `
|
||||||
SELECT COUNT(*) count
|
SELECT COUNT(*) count
|
||||||
@@ -67,14 +65,14 @@ func GetPrintersPage(db *sqlx.DB, appID int, printNo, name string, status, isOnl
|
|||||||
}
|
}
|
||||||
//查总数
|
//查总数
|
||||||
row := db.DB.QueryRow(sqlCount+sqlOhter, sqlParams...)
|
row := db.DB.QueryRow(sqlCount+sqlOhter, sqlParams...)
|
||||||
if err = row.Scan(count.Count); err != nil {
|
if err = row.Scan(&count); err != nil {
|
||||||
return page, err
|
return page, err
|
||||||
}
|
}
|
||||||
sqlOhter += " LIMIT ? OFFSET ?"
|
sqlOhter += " LIMIT ? OFFSET ?"
|
||||||
sqlParams = append(sqlParams, pageSize, offset)
|
sqlParams = append(sqlParams, pageSize, offset)
|
||||||
if err = db.Select(&printers, sql+sqlOhter, sqlParams...); err == nil {
|
if err = db.Select(&printers, sql+sqlOhter, sqlParams...); err == nil {
|
||||||
return &model.PagedInfo{
|
return &model.PagedInfo{
|
||||||
TotalCount: count.Count,
|
TotalCount: count,
|
||||||
Data: printers,
|
Data: printers,
|
||||||
}, err
|
}, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ func Init(r *gin.Engine) {
|
|||||||
print := v2.Group("/print")
|
print := v2.Group("/print")
|
||||||
print.GET("/addPrinters", controllers.AddPrinters)
|
print.GET("/addPrinters", controllers.AddPrinters)
|
||||||
print.GET("/getPrinters", controllers.GetPrinters)
|
print.GET("/getPrinters", controllers.GetPrinters)
|
||||||
|
print.GET("/delPrinters", controllers.DelPrinters)
|
||||||
|
print.GET("/updatePrinter", controllers.UpdatePrinter)
|
||||||
|
|
||||||
//v1是不需要token的
|
//v1是不需要token的
|
||||||
v1 := r.Group("v1")
|
v1 := r.Group("v1")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func AddPrinters(c *gin.Context, userID string, appID int, printInfos []*model.PrintInfo) (err error) {
|
func AddPrinters(c *gin.Context, tokenInfo *model.TokenInfo, appID int, printInfos []*model.PrintInfo) (err error) {
|
||||||
var (
|
var (
|
||||||
db = globals.GetDB()
|
db = globals.GetDB()
|
||||||
errs []error
|
errs []error
|
||||||
@@ -20,7 +20,7 @@ func AddPrinters(c *gin.Context, userID string, appID int, printInfos []*model.P
|
|||||||
if len(printInfos) > 50 {
|
if len(printInfos) > 50 {
|
||||||
return fmt.Errorf("每次最多添加50台!")
|
return fmt.Errorf("每次最多添加50台!")
|
||||||
}
|
}
|
||||||
if apps, _ := dao.GetApps(db, appID, userID, ""); len(apps) == 0 {
|
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||||
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||||
}
|
}
|
||||||
for _, v := range printInfos {
|
for _, v := range printInfos {
|
||||||
@@ -30,15 +30,16 @@ func AddPrinters(c *gin.Context, userID string, appID int, printInfos []*model.P
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
printer := &model.Printer{
|
printer := &model.Printer{
|
||||||
CreatedAt: &now,
|
CreatedAt: &now,
|
||||||
UpdatedAt: &now,
|
UpdatedAt: &now,
|
||||||
DeletedAt: &utils.DefaultTimeValue,
|
DeletedAt: &utils.DefaultTimeValue,
|
||||||
AppID: appID,
|
LastOperator: tokenInfo.User.Name,
|
||||||
PrintNo: v.PrintNo,
|
AppID: appID,
|
||||||
Name: v.Name,
|
PrintNo: v.PrintNo,
|
||||||
SIM: v.SIM,
|
Name: v.Name,
|
||||||
Status: model.PrinterStatusNormal,
|
SIM: v.SIM,
|
||||||
IsOnline: model.PrinterOffline,
|
Status: model.PrinterStatusNormal,
|
||||||
|
IsOnline: model.PrinterOffline,
|
||||||
}
|
}
|
||||||
if err = dao.Insert(db, printer); err != nil {
|
if err = dao.Insert(db, printer); err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
@@ -53,3 +54,66 @@ func AddPrinters(c *gin.Context, userID string, appID int, printInfos []*model.P
|
|||||||
func GetPrinters(c *gin.Context, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
|
func GetPrinters(c *gin.Context, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
|
||||||
return dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize)
|
return dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DelPrinters(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNos []string) (err error) {
|
||||||
|
var (
|
||||||
|
db = globals.GetDB()
|
||||||
|
errs []error
|
||||||
|
now = time.Now()
|
||||||
|
)
|
||||||
|
if len(printNos) > 50 {
|
||||||
|
return fmt.Errorf("每次最多删除50台!")
|
||||||
|
}
|
||||||
|
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||||
|
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||||
|
}
|
||||||
|
for _, v := range printNos {
|
||||||
|
printers, _ := dao.GetPrinters(db, appID, v)
|
||||||
|
if len(printers) == 0 {
|
||||||
|
errs = append(errs, fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, v))
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
printer := printers[0]
|
||||||
|
printer.DeletedAt = &now
|
||||||
|
printer.LastOperator = tokenInfo.User.Name
|
||||||
|
if err = dao.Update(db, printer, model.FieldDeletedAt, model.FieldLastOperator); err != nil {
|
||||||
|
errs = append(errs, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(errs) > 0 {
|
||||||
|
err = putils.BuildErr(errs)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func UpdatePrinter(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNo, name, sim string) (err error) {
|
||||||
|
var (
|
||||||
|
db = globals.GetDB()
|
||||||
|
now = time.Now()
|
||||||
|
fields []string
|
||||||
|
)
|
||||||
|
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||||
|
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||||
|
}
|
||||||
|
|
||||||
|
printers, _ := dao.GetPrinters(db, appID, printNo)
|
||||||
|
if len(printers) == 0 {
|
||||||
|
return fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNo)
|
||||||
|
}
|
||||||
|
printer := printers[0]
|
||||||
|
if name != printer.Name {
|
||||||
|
printer.Name = name
|
||||||
|
fields = append(fields, "name")
|
||||||
|
}
|
||||||
|
if sim != printer.SIM {
|
||||||
|
printer.SIM = sim
|
||||||
|
fields = append(fields, "sim")
|
||||||
|
}
|
||||||
|
printer.DeletedAt = &now
|
||||||
|
printer.LastOperator = tokenInfo.User.Name
|
||||||
|
fields = append(fields, model.FieldLastOperator, model.FieldDeletedAt)
|
||||||
|
if err = dao.Update(db, printer, fields...); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user