update print, del print

This commit is contained in:
suyl
2021-07-08 15:24:02 +08:00
parent 9be410cec6
commit 986005d40e
4 changed files with 143 additions and 18 deletions

View File

@@ -11,7 +11,7 @@ import (
"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 (
db = globals.GetDB()
errs []error
@@ -20,7 +20,7 @@ func AddPrinters(c *gin.Context, userID string, appID int, printInfos []*model.P
if len(printInfos) > 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)
}
for _, v := range printInfos {
@@ -30,15 +30,16 @@ func AddPrinters(c *gin.Context, userID string, appID int, printInfos []*model.P
continue
}
printer := &model.Printer{
CreatedAt: &now,
UpdatedAt: &now,
DeletedAt: &utils.DefaultTimeValue,
AppID: appID,
PrintNo: v.PrintNo,
Name: v.Name,
SIM: v.SIM,
Status: model.PrinterStatusNormal,
IsOnline: model.PrinterOffline,
CreatedAt: &now,
UpdatedAt: &now,
DeletedAt: &utils.DefaultTimeValue,
LastOperator: tokenInfo.User.Name,
AppID: appID,
PrintNo: v.PrintNo,
Name: v.Name,
SIM: v.SIM,
Status: model.PrinterStatusNormal,
IsOnline: model.PrinterOffline,
}
if err = dao.Insert(db, printer); err != nil {
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) {
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
}