1
This commit is contained in:
@@ -2,13 +2,16 @@ package app
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-print/controllers"
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
"git.rosy.net.cn/jx-print/model"
|
||||
printModel "git.rosy.net.cn/jx-print/model/app_model"
|
||||
"git.rosy.net.cn/jx-print/putils"
|
||||
print "git.rosy.net.cn/jx-print/services/print_server"
|
||||
printServer "git.rosy.net.cn/jx-print/services/print_server/app_server"
|
||||
"github.com/gin-gonic/gin"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Print struct{}
|
||||
@@ -30,6 +33,8 @@ func (p *Print) AddPrinters(c *gin.Context) {
|
||||
param = printModel.AddPrintReq{}
|
||||
printInfo []*model.PrintInfo
|
||||
setting = printServer.PrintSettingInfoServer
|
||||
bill = printServer.PrintBillServer
|
||||
txDB = globals.GetTxDb()
|
||||
)
|
||||
|
||||
if err = c.ShouldBind(¶m); err != nil {
|
||||
@@ -45,18 +50,48 @@ func (p *Print) AddPrinters(c *gin.Context) {
|
||||
}
|
||||
|
||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
// 校验打印机绑定用户
|
||||
if err := printServer.QueryPrintKeyIsExit(printInfo[0], param.Phone, param.BizId, param.Code, param.AppID); err != nil {
|
||||
// 查询打印机心跳,服务器接收到打印机心跳请求,才可以继续绑定!防止用户无休止绑定打印机!
|
||||
// 只有开机联网成功的打印机才可以绑定用户
|
||||
have, err := printServer.PrintActivationServer.QueryPrintHeard(printInfo[0].PrintNo)
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
if !have {
|
||||
return nil, "", fmt.Errorf("未检测到打印机心跳,请激活打印机,链接无线网络")
|
||||
}
|
||||
|
||||
// 添加打印机
|
||||
if err := printServer.AddPrinters(tokenInfo, param.AppID, printInfo); err != nil {
|
||||
if err := printServer.AddPrinters(txDB, tokenInfo, param.AppID, printInfo, param.Phone); err != nil {
|
||||
txDB.Rollback()
|
||||
return nil, "", err
|
||||
}
|
||||
|
||||
// 赋予默认配置
|
||||
if err := setting.SystemInitPrintSetting(printInfo[0].PrintNo); err != nil {
|
||||
if err := setting.SystemInitPrintSetting(txDB, printInfo[0].PrintNo); err != nil {
|
||||
txDB.Rollback()
|
||||
return nil, "", err
|
||||
}
|
||||
|
||||
// 初始化打印机账户
|
||||
if err := bill.InitPPrintBill(txDB, &printModel.PrintBill{
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
PrintNo: printInfo[0].PrintNo,
|
||||
PrintBalance: 20000,
|
||||
UserId: tokenInfo.User.UserID,
|
||||
}); err != nil {
|
||||
txDB.Rollback()
|
||||
return nil, "", err
|
||||
}
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
txDB.Rollback()
|
||||
} else {
|
||||
txDB.Commit()
|
||||
}
|
||||
}()
|
||||
|
||||
// 初始化打印机余额,如果打印机存在,如果打印机存在,不做修改!打印机不存在则初始化打印机余额
|
||||
return "", "", nil
|
||||
})
|
||||
|
||||
@@ -85,7 +120,30 @@ func (p *Print) GetPrinters(c *gin.Context) {
|
||||
}
|
||||
|
||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = printServer.GetPrinters(param.AppID, param.PrintNo, param.Name, param.Status, param.IsOnline, param.Offset, param.PageSize, "")
|
||||
retVal, err = printServer.GetPrinters(param.AppID, param.PrintNo, param.Name, param.Status, param.IsOnline, param.Offset, param.PageSize, tokenInfo.User.UserID)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// GetPrintIsUse 查询打印机是否被使用 GET
|
||||
// @Title 查询打印机是否被使用
|
||||
// @Description 查询打印机是否被使用
|
||||
// @Param token cookie string true "用户登录token"
|
||||
// @Param data body app_model.GetPrintIsUse true "请求参数"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /getPrintIsUse [get]
|
||||
func (p *Print) GetPrintIsUse(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
param = printModel.GetPrintIsUse{}
|
||||
)
|
||||
if err = c.ShouldBind(¶m); err != nil {
|
||||
controllers.BuildErrJson(c, err)
|
||||
return
|
||||
}
|
||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = printServer.GetPrintIsUse(param.PrintNo)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
@@ -103,7 +161,6 @@ func (p *Print) DelPrinters(c *gin.Context) {
|
||||
err error
|
||||
tokenInfo *model.TokenInfo
|
||||
param = printModel.DeletePrintReq{}
|
||||
printNos []string
|
||||
tempServer = printServer.TempServer{}
|
||||
settingServer = printServer.PrintSettingServer{}
|
||||
)
|
||||
@@ -114,21 +171,23 @@ func (p *Print) DelPrinters(c *gin.Context) {
|
||||
if tokenInfo = controllers.CheckToken(c); tokenInfo == nil {
|
||||
return
|
||||
}
|
||||
if err = putils.UnmarshalUseNumber([]byte(param.PrintNos), &printNos); err != nil {
|
||||
controllers.BuildErrJson(c, err)
|
||||
return
|
||||
}
|
||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
// 手机号验证
|
||||
if err := printServer.DeletePrintCheck(param.PrintNos, param.Phone, param.BizId, param.Code, param.AppID); err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
|
||||
// 删除打印机
|
||||
if err := printServer.DelPrinters(param.AppID, tokenInfo, printNos); err != nil {
|
||||
if err := printServer.DelPrinters(param.AppID, tokenInfo, param.PrintNos); err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
// 删除模板
|
||||
err = tempServer.DeleteAllTemp(tokenInfo.User.UserID, printNos)
|
||||
err = tempServer.DeleteAllTemp(tokenInfo.User.UserID, param.PrintNos)
|
||||
// 删除设置
|
||||
err = settingServer.DeletePrintSetting(printNos)
|
||||
err = settingServer.DeletePrintSetting(param.PrintNos)
|
||||
// 删除打印消息
|
||||
err = print.DeletePrintMsg(printNos)
|
||||
err = print.DeletePrintMsg(param.PrintNos)
|
||||
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
@@ -224,6 +283,35 @@ func (p *Print) GetPrintMessages(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// QueryPrintBill 查询打印机账户余额 get
|
||||
// @Title 获取打印机账户余额
|
||||
// @Description 获取打印机账户余额
|
||||
// @Param token cookie string true "用户登录token"
|
||||
// @Param data body app_model.QueryPrintBill true "请求参数"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /queryPrintBill [get]
|
||||
func (p *Print) QueryPrintBill(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
tokenInfo *model.TokenInfo
|
||||
param = printModel.QueryPrintBill{}
|
||||
server = printServer.PrintBillServer
|
||||
)
|
||||
if err = c.ShouldBind(¶m); err != nil {
|
||||
controllers.BuildErrJson(c, err)
|
||||
return
|
||||
}
|
||||
if tokenInfo = controllers.CheckToken(c); tokenInfo == nil {
|
||||
return
|
||||
}
|
||||
|
||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = server.QueryPrintBill(tokenInfo.User.UserID, param.PrintNo)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// StatPrinterReport 查询打印统计(首页) GET
|
||||
func (p *Print) StatPrinterReport(c *gin.Context) {
|
||||
var (
|
||||
|
||||
Reference in New Issue
Block a user