打印机
This commit is contained in:
38
controllers/app/print_setting.go
Normal file
38
controllers/app/print_setting.go
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
package app
|
||||||
|
|
||||||
|
import (
|
||||||
|
"git.rosy.net.cn/jx-print/controllers"
|
||||||
|
"git.rosy.net.cn/jx-print/model"
|
||||||
|
tempModel "git.rosy.net.cn/jx-print/model/app_model"
|
||||||
|
"git.rosy.net.cn/jx-print/services/print_server/app_server"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PrintSetting struct{}
|
||||||
|
|
||||||
|
var PrintSettingController = new(PrintSetting)
|
||||||
|
|
||||||
|
// UpdatePrintSetting 修改打印机打印设置
|
||||||
|
// @Title 修改打印机打印设置
|
||||||
|
// @Description 修改打印机打印设置
|
||||||
|
// @Param token cookie string true "用户登录token"
|
||||||
|
// @Param data body app_model.UpdatePrintSetting true "请求参数"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /updatePrintSetting [post]
|
||||||
|
func (p *PrintSetting) UpdatePrintSetting(c *gin.Context) {
|
||||||
|
var (
|
||||||
|
err error
|
||||||
|
tokenInfo *model.TokenInfo
|
||||||
|
param = &tempModel.UpdatePrintSetting{}
|
||||||
|
server = app_server.PrintSettingInfoServer
|
||||||
|
)
|
||||||
|
if err = c.ShouldBind(param); err != nil {
|
||||||
|
controllers.BuildErrJson(c, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||||
|
err = server.UpdatePrintSetting(tokenInfo.User.UserID, param)
|
||||||
|
return "", "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -3,8 +3,9 @@ package app
|
|||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/jx-print/controllers"
|
"git.rosy.net.cn/jx-print/controllers"
|
||||||
"git.rosy.net.cn/jx-print/model"
|
"git.rosy.net.cn/jx-print/model"
|
||||||
print "git.rosy.net.cn/jx-print/model/app_model"
|
printModel "git.rosy.net.cn/jx-print/model/app_model"
|
||||||
"git.rosy.net.cn/jx-print/putils"
|
"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"
|
printServer "git.rosy.net.cn/jx-print/services/print_server/app_server"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
@@ -25,8 +26,9 @@ func (p *Print) AddPrinters(c *gin.Context) {
|
|||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
tokenInfo *model.TokenInfo
|
tokenInfo *model.TokenInfo
|
||||||
param = print.AddPrintReq{}
|
param = printModel.AddPrintReq{}
|
||||||
printInfo []*model.PrintInfo
|
printInfo []*model.PrintInfo
|
||||||
|
setting = printServer.PrintSettingInfoServer
|
||||||
)
|
)
|
||||||
|
|
||||||
if err = c.ShouldBind(¶m); err != nil {
|
if err = c.ShouldBind(¶m); err != nil {
|
||||||
@@ -42,8 +44,15 @@ func (p *Print) AddPrinters(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||||
err = printServer.AddPrinters(tokenInfo, param.AppID, printInfo)
|
// 添加打印机
|
||||||
return retVal, "", err
|
if err := printServer.AddPrinters(tokenInfo, param.AppID, printInfo); err != nil {
|
||||||
|
return nil, "", err
|
||||||
|
}
|
||||||
|
// 赋予默认配置
|
||||||
|
if err := setting.SystemInitPrintSetting(printInfo[0].PrintNo); err != nil {
|
||||||
|
return nil, "", err
|
||||||
|
}
|
||||||
|
return "", "", nil
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -60,7 +69,7 @@ func (p *Print) GetPrinters(c *gin.Context) {
|
|||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
tokenInfo *model.TokenInfo
|
tokenInfo *model.TokenInfo
|
||||||
param = print.QueryPrintReq{}
|
param = printModel.QueryPrintReq{}
|
||||||
)
|
)
|
||||||
if err = c.ShouldBind(¶m); err != nil {
|
if err = c.ShouldBind(¶m); err != nil {
|
||||||
controllers.BuildErrJson(c, err)
|
controllers.BuildErrJson(c, err)
|
||||||
@@ -86,10 +95,12 @@ func (p *Print) GetPrinters(c *gin.Context) {
|
|||||||
// @router /delPrinters [post]
|
// @router /delPrinters [post]
|
||||||
func (p *Print) DelPrinters(c *gin.Context) {
|
func (p *Print) DelPrinters(c *gin.Context) {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
tokenInfo *model.TokenInfo
|
tokenInfo *model.TokenInfo
|
||||||
param = print.DeletePrintReq{}
|
param = printModel.DeletePrintReq{}
|
||||||
printNos []string
|
printNos []string
|
||||||
|
tempServer = printServer.TempServer{}
|
||||||
|
settingServer = printServer.PrintSettingServer{}
|
||||||
)
|
)
|
||||||
if err = c.ShouldBind(¶m); err != nil {
|
if err = c.ShouldBind(¶m); err != nil {
|
||||||
controllers.BuildErrJson(c, err)
|
controllers.BuildErrJson(c, err)
|
||||||
@@ -103,7 +114,16 @@ func (p *Print) DelPrinters(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||||
err = printServer.DelPrinters(param.AppID, tokenInfo, printNos)
|
// 删除打印机
|
||||||
|
if err := printServer.DelPrinters(param.AppID, tokenInfo, printNos); err != nil {
|
||||||
|
return nil, "", err
|
||||||
|
}
|
||||||
|
// 删除模板
|
||||||
|
err = tempServer.DeleteAllTemp(tokenInfo.User.UserID, printNos)
|
||||||
|
// 删除设置
|
||||||
|
err = settingServer.DeletePrintSetting(printNos)
|
||||||
|
// 删除打印消息
|
||||||
|
err = print.DeletePrintMsg(printNos)
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -120,7 +140,7 @@ func (p *Print) UpdatePrinter(c *gin.Context) {
|
|||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
tokenInfo *model.TokenInfo
|
tokenInfo *model.TokenInfo
|
||||||
param = print.UpdatePrintReq{}
|
param = printModel.UpdatePrintReq{}
|
||||||
)
|
)
|
||||||
if err = c.ShouldBind(¶m); err != nil {
|
if err = c.ShouldBind(¶m); err != nil {
|
||||||
controllers.BuildErrJson(c, err)
|
controllers.BuildErrJson(c, err)
|
||||||
@@ -150,7 +170,7 @@ func (p *Print) TestPrint(c *gin.Context) {
|
|||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
tokenInfo *model.TokenInfo
|
tokenInfo *model.TokenInfo
|
||||||
param = print.TestPrintReq{}
|
param = printModel.TestPrintReq{}
|
||||||
)
|
)
|
||||||
if err = c.ShouldBind(¶m); err != nil {
|
if err = c.ShouldBind(¶m); err != nil {
|
||||||
controllers.BuildErrJson(c, err)
|
controllers.BuildErrJson(c, err)
|
||||||
@@ -177,7 +197,7 @@ func (p *Print) GetPrintMessages(c *gin.Context) {
|
|||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
tokenInfo *model.TokenInfo
|
tokenInfo *model.TokenInfo
|
||||||
param = print.GetPrintMsg{}
|
param = printModel.GetPrintMsg{}
|
||||||
)
|
)
|
||||||
if err = c.ShouldBind(¶m); err != nil {
|
if err = c.ShouldBind(¶m); err != nil {
|
||||||
controllers.BuildErrJson(c, err)
|
controllers.BuildErrJson(c, err)
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ func TestPrint(c *gin.Context) {
|
|||||||
param = &struct {
|
param = &struct {
|
||||||
AppID int `json:"app_id" form:"app_id" binding:"required"`
|
AppID int `json:"app_id" form:"app_id" binding:"required"`
|
||||||
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
|
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
|
||||||
OrderNo string `json:"order_no" form:"order_no" binding:"required"` //订单序号
|
OrderNo int64 `json:"order_no" form:"order_no" binding:"required"` //订单序号
|
||||||
Content string `json:"content" form:"content"` //打印内容
|
Content string `json:"content" form:"content"` //打印内容
|
||||||
}{}
|
}{}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package dao
|
package dao
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"git.rosy.net.cn/jx-print/globals"
|
||||||
"git.rosy.net.cn/jx-print/model"
|
"git.rosy.net.cn/jx-print/model"
|
||||||
"github.com/jmoiron/sqlx"
|
"github.com/jmoiron/sqlx"
|
||||||
"time"
|
"time"
|
||||||
@@ -225,3 +227,22 @@ func GetPrinter(db *sqlx.DB, printNo, iccID string) (printer *model.Printer, err
|
|||||||
}
|
}
|
||||||
return printer, err
|
return printer, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetPrintById 根据用户id和打印机编号获取打印机
|
||||||
|
func GetPrintById(userId, printNo string) (bool, error) {
|
||||||
|
var printer []*model.Printer
|
||||||
|
sql := `SELECT * FROM printer WHERE print_no = ? AND user_id = ? AND deleted_at = ?`
|
||||||
|
if err := globals.GetDB().Select(&printer, sql, []interface{}{printNo, userId, utils.DefaultTimeValue}...); err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
if len(printer) != 1 {
|
||||||
|
return false, errors.New("用户打印机数据异常,联系管理员") // 打印机编号唯一
|
||||||
|
}
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeletePrinterMsg 删除打印机消息
|
||||||
|
func DeletePrinterMsg(printNos []string) error {
|
||||||
|
_, err := globals.GetDB().Exec(`DELETE FROM print_msg WHERE print_no IN (?) `, []interface{}{printNos}...)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
77
dao/print_setting.go
Normal file
77
dao/print_setting.go
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
package dao
|
||||||
|
|
||||||
|
import (
|
||||||
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"git.rosy.net.cn/jx-print/globals"
|
||||||
|
settingModel "git.rosy.net.cn/jx-print/model/app_model"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PrintSettingDao struct{}
|
||||||
|
|
||||||
|
var PrintSettingInfoDao = new(PrintSettingDao)
|
||||||
|
|
||||||
|
// QueryPrintNoIsExit 查询打印机绑定设置是否存在
|
||||||
|
func (p *PrintSettingDao) QueryPrintNoIsExit(printNo string) (bool, error) {
|
||||||
|
sql := `SELECT COUNT(print_no) count FROM print_setting WHERE deleted_at = ? and print_no = ?`
|
||||||
|
//查总数
|
||||||
|
count := 0
|
||||||
|
row := globals.GetDB().DB.QueryRow(sql, []interface{}{utils.DefaultTimeValue, printNo}...)
|
||||||
|
if err := row.Scan(&count); err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
if count != 0 {
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// InsertPrintSetting 插入打印机设置
|
||||||
|
func (p *PrintSettingDao) InsertPrintSetting(param *settingModel.PrintSetting) error {
|
||||||
|
return Insert(globals.GetDB(), param)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UpdatePrinterSetting 修改打印机配置
|
||||||
|
func (p *PrintSettingDao) UpdatePrinterSetting(param *settingModel.UpdatePrintSetting) error {
|
||||||
|
db := globals.GetDB()
|
||||||
|
sql := `UPDATE print_setting SET `
|
||||||
|
var param2 []interface{}
|
||||||
|
|
||||||
|
if param.CallNameSetting != 0 {
|
||||||
|
sql += ` call_name_setting = ? `
|
||||||
|
param2 = append(param2, param.CallNameSetting)
|
||||||
|
}
|
||||||
|
if param.SystemVoice != 0 {
|
||||||
|
sql += ` system_voice = ? `
|
||||||
|
param2 = append(param2, param.SystemVoice)
|
||||||
|
}
|
||||||
|
if param.PrintVoiceSetting != "" {
|
||||||
|
sql += ` print_voice_setting = ? `
|
||||||
|
param2 = append(param2, param.PrintVoiceSetting)
|
||||||
|
}
|
||||||
|
if param.OrderVoiceSetting != "" {
|
||||||
|
sql += ` order_voice_setting = ? `
|
||||||
|
param2 = append(param2, param.OrderVoiceSetting)
|
||||||
|
}
|
||||||
|
if param.RiderVoiceSetting != "" {
|
||||||
|
sql += ` rider_voice_setting = ? `
|
||||||
|
param2 = append(param2, param.RiderVoiceSetting)
|
||||||
|
}
|
||||||
|
if param.CustomerVoiceSetting != "" {
|
||||||
|
sql += ` customer_voice_setting = ? `
|
||||||
|
param2 = append(param2, param.CustomerVoiceSetting)
|
||||||
|
}
|
||||||
|
if param.PickingSetting != "" {
|
||||||
|
sql += ` picking_setting = ? `
|
||||||
|
param2 = append(param2, param.PickingSetting)
|
||||||
|
}
|
||||||
|
sql += ` WHERE print_no = ? `
|
||||||
|
|
||||||
|
_, err := db.Exec(sql, param2...)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteSetting 删除打印机设置
|
||||||
|
func (p *PrintSettingDao) DeleteSetting(printNo []string) error {
|
||||||
|
_, err := globals.GetDB().Exec(`DELETE FROM print_setting WHERE print_no in (?)`, []interface{}{printNo}...)
|
||||||
|
return err
|
||||||
|
}
|
||||||
@@ -39,7 +39,7 @@ func UpdateOtherTempStatus(userId string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdateTemp 删除模板数据
|
// UpdateTemp 修改模板数据
|
||||||
func UpdateTemp(param *app_model.SystemTemp, fields []string) error {
|
func UpdateTemp(param *app_model.SystemTemp, fields []string) error {
|
||||||
return Update(globals.GetDB(), param, fields...)
|
return Update(globals.GetDB(), param, fields...)
|
||||||
}
|
}
|
||||||
@@ -50,6 +50,12 @@ func DeleteTemp(id int, userId string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteAllTemp 删除用户所属打印机所有模板
|
||||||
|
func DeleteAllTemp(userId string, printNo []string) error {
|
||||||
|
_, err := globals.GetDB().Exec(`DELETE FROM system_temp WHERE user_id = ? AND print_sn IN (?)`, []interface{}{userId, printNo}...)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// SelectUserTemp 查询用户模板
|
// SelectUserTemp 查询用户模板
|
||||||
func SelectUserTemp(userId string) ([]*app_model.SystemTemp, error) {
|
func SelectUserTemp(userId string) ([]*app_model.SystemTemp, error) {
|
||||||
var result []*app_model.SystemTemp
|
var result []*app_model.SystemTemp
|
||||||
@@ -62,7 +68,7 @@ func SelectUserTemp(userId string) ([]*app_model.SystemTemp, error) {
|
|||||||
// QuerySystemTemp 查询系统模板
|
// QuerySystemTemp 查询系统模板
|
||||||
func QuerySystemTemp() ([]*app_model.SystemTemp, error) {
|
func QuerySystemTemp() ([]*app_model.SystemTemp, error) {
|
||||||
var result []*app_model.SystemTemp
|
var result []*app_model.SystemTemp
|
||||||
if err := globals.GetDB().Select(&result, `SELECT * FROM system_temp WHERE user_id = 'system_user' ORDER BY created_at desc `, ""); err != nil {
|
if err := globals.GetDB().Select(&result, `SELECT * FROM system_temp WHERE user_id = ? ORDER BY created_at desc `, []interface{}{"system_user"}...); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return result, nil
|
return result, nil
|
||||||
|
|||||||
@@ -18,4 +18,4 @@
|
|||||||
mode: 0755
|
mode: 0755
|
||||||
backup: no
|
backup: no
|
||||||
- name: shell
|
- name: shell
|
||||||
shell: sudo systemctl restart jx-callback-print
|
shell: sudo systemctl restart jx-print
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ type UpdatePrintReq struct {
|
|||||||
type TestPrintReq struct {
|
type TestPrintReq struct {
|
||||||
AppID int `json:"app_id" form:"app_id" binding:"required"`
|
AppID int `json:"app_id" form:"app_id" binding:"required"`
|
||||||
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
|
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
|
||||||
OrderNo string `json:"order_no" form:"order_no" binding:"required"` //订单序号
|
OrderNo int64 `json:"order_no" form:"order_no" binding:"required"` //订单序号
|
||||||
Content string `json:"content" form:"content"` //打印内容
|
Content string `json:"content" form:"content"` //打印内容
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
80
model/app_model/print_setting.go
Normal file
80
model/app_model/print_setting.go
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
package app_model
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// PrintSetting 打印机设置
|
||||||
|
type PrintSetting struct {
|
||||||
|
ID int `json:"id" db:"id"`
|
||||||
|
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
||||||
|
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
|
||||||
|
DeletedAt time.Time `json:"deleted_at" db:"deleted_at"`
|
||||||
|
PrintNo string `orm:"type(varchar);size(32)" json:"print_no" db:"print_no"` // 打印机编号
|
||||||
|
CallNameSetting int `orm:"type(int);size(4);default(64)" json:"call_name_setting" db:"call_name_setting"` // 称谓设置 [64-默认老板]
|
||||||
|
SystemVoice int `orm:"type(tinyint);size(2);default(1)" json:"system_voice" db:"system_voice"` // 平台语音开关[1打开]
|
||||||
|
|
||||||
|
PrintVoiceSetting string `orm:"type(varchar);size(255)" json:"print_voice_setting" db:"print_voice_setting"` // 打印机提示语音设置
|
||||||
|
OrderVoiceSetting string `orm:"type(varchar);size(255)" json:"order_voice_setting" db:"order_voice_setting"` // 订单提示设置
|
||||||
|
RiderVoiceSetting string `orm:"type(varchar);size(255)" json:"rider_voice_setting" db:"rider_voice_setting"` // 骑手动态提示设置
|
||||||
|
CustomerVoiceSetting string `orm:"type(varchar);size(255)" json:"customer_voice_setting" db:"customer_voice_setting"` // 客户收货提示设置
|
||||||
|
PickingSetting string `orm:"type(varchar);size(255)" json:"picking_setting" db:"picking_setting"` // 拣货语音设置
|
||||||
|
}
|
||||||
|
|
||||||
|
// PrintVoice 打印机提示语音设置
|
||||||
|
type PrintVoice struct {
|
||||||
|
TimeVoice int `json:"time_voice"` // 平台语音开关[1打开]
|
||||||
|
PaperShortageVoice int `json:"paper_shortage_voice"` // 缺纸语音开关[1打开]
|
||||||
|
DisconnectVoice int `json:"disconnect_voice"` // 打印机断开连接提示[1打开]
|
||||||
|
LoseAuthorization int `json:"lose_authorization"` // 失去授权语音提示[1打开]
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderVoice 订单提示设置
|
||||||
|
type OrderVoice struct {
|
||||||
|
PrintOrder int `json:"print_order"` // 打印订单[1打开]必须
|
||||||
|
OrderNotice int `json:"order_notice"` // 订单通知[1打开]必须
|
||||||
|
UserOrderCancel int `json:"user_order_cancel"` // 用户取消订单打印[1打开]
|
||||||
|
UserOrderCancelVoice int `json:"user_order_cancel_voice"` // 用户取消订单订单语音提示[1打开]
|
||||||
|
RefundOrder int `json:"refund_order"` // 退款打印[1打开]
|
||||||
|
RefundOrderVoice int `json:"refund_order_voice"` // 退款提示语音[1打开]
|
||||||
|
BusinessOrderCancel int `json:"business_order_cancel"` // 商家取消打印[1打开]
|
||||||
|
BusinessOrderCancelVoice int `json:"business_order_cancel_voice"` // 商家取消订单语音提示[1打开]
|
||||||
|
}
|
||||||
|
|
||||||
|
// RiderVoice 骑手动态语音提示
|
||||||
|
type RiderVoice struct {
|
||||||
|
RiderTakeOrder int `json:"rider_take_order"` // 骑手接单打印[1打开]
|
||||||
|
RiderTakeOrderVoice int `json:"rider_take_order_voice"` // 骑手接单语音[1打开]
|
||||||
|
RiderServiceVoice int `json:"rider_service_voice"` // 骑手送达语音[1打开]
|
||||||
|
RiderReminderVoice int `json:"rider_reminder_voice"` // 骑手催单语音[1打开]
|
||||||
|
}
|
||||||
|
|
||||||
|
// CustomerReceivingGoods 客户收货语音提示
|
||||||
|
type CustomerReceivingGoods struct {
|
||||||
|
CustomerRejectionPrint int `json:"customer_rejection_print"` // 客户拒收打印[1打开]
|
||||||
|
CustomerRejectionVoice int `json:"customer_rejection_voice"` // 客户拒收语音[1打开]
|
||||||
|
CustcareRefundPrint int `json:"custcare_refund_print"` // 客服退款打印[1打开]
|
||||||
|
CustcareRefundVoice int `json:"custcare_refund_voice"` // 客服退款语音[1打开]
|
||||||
|
ConsultingPrint int `json:"consulting_print"` // 进店咨询打印[1打开]
|
||||||
|
ConsultingVoice int `json:"consulting_voice"` // 进店咨询语音[1打开]
|
||||||
|
}
|
||||||
|
|
||||||
|
// ShopPickingVoice 店铺拣货语音提示
|
||||||
|
type ShopPickingVoice struct {
|
||||||
|
BusinessOffLine int `json:"business_off_line"` // 店铺离线打印[1打开]
|
||||||
|
BusinessOffLineVoice int `json:"business_off_line_voice"` // 店铺离线语音[1打开]
|
||||||
|
WaitOrderPrint int `json:"wait_order_print"` // 待接单打印[1打开]
|
||||||
|
WaitOrderVoice int `json:"wait_order_voice"` // 待接单语音[1打开]
|
||||||
|
WaitPickingPrint int `json:"wait_picking_print"` // 待接单打印[1打开]
|
||||||
|
WaitPickingVoice int `json:"wait_picking_voice"` // 待接单语音[1打开]
|
||||||
|
}
|
||||||
|
|
||||||
|
// UpdatePrintSetting 打印机设置添加
|
||||||
|
type UpdatePrintSetting struct {
|
||||||
|
PrintNo string `json:"print_no" form:"print_no" binding:"required"`
|
||||||
|
CallNameSetting int `json:"call_name_setting" form:"call_name_setting"`
|
||||||
|
SystemVoice int `json:"system_voice" form:"system_voice"`
|
||||||
|
PrintVoiceSetting string `json:"print_voice_setting" form:"print_voice_setting"`
|
||||||
|
OrderVoiceSetting string `json:"order_voice_setting" form:"order_voice_setting"`
|
||||||
|
RiderVoiceSetting string `json:"rider_voice_setting" form:"rider_voice_setting"`
|
||||||
|
CustomerVoiceSetting string `json:"customer_voice_setting" form:"customer_voice_setting"`
|
||||||
|
PickingSetting string `json:"picking_setting" form:"picking_setting"`
|
||||||
|
}
|
||||||
6
model/app_model/print_setting_static.go
Normal file
6
model/app_model/print_setting_static.go
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
package app_model
|
||||||
|
|
||||||
|
const (
|
||||||
|
SettingOpen = 1 // 开启
|
||||||
|
SettingClose = -1 // 关闭
|
||||||
|
)
|
||||||
@@ -1 +0,0 @@
|
|||||||
package app_model
|
|
||||||
@@ -199,7 +199,7 @@ type PrintMsg struct {
|
|||||||
DeletedAt *time.Time `json:"deleted_at" db:"deleted_at"`
|
DeletedAt *time.Time `json:"deleted_at" db:"deleted_at"`
|
||||||
MsgID string `json:"msg_id" db:"msg_id"` //消息ID
|
MsgID string `json:"msg_id" db:"msg_id"` //消息ID
|
||||||
PrintNo string `json:"print_no" db:"print_no"` //打印机编号
|
PrintNo string `json:"print_no" db:"print_no"` //打印机编号
|
||||||
OrderNo string `json:"order_no" db:"order_no"` //订单序号
|
OrderNo int64 `json:"order_no" db:"order_no"` //订单序号
|
||||||
Content string `json:"content"` //订单内容
|
Content string `json:"content"` //订单内容
|
||||||
Status int `json:"status"` //打印状态
|
Status int `json:"status"` //打印状态
|
||||||
Comment string `json:"comment"` //失败原因
|
Comment string `json:"comment"` //失败原因
|
||||||
|
|||||||
@@ -14,8 +14,10 @@ func Init(r *gin.Engine) {
|
|||||||
InitV1System(r.Group("v1"))
|
InitV1System(r.Group("v1"))
|
||||||
|
|
||||||
// app端不需要token
|
// app端不需要token
|
||||||
|
InitV3App(r.Group("/v1"))
|
||||||
|
|
||||||
// app端需要token
|
// app端需要token
|
||||||
|
InitV4App(r.Group("/v2"))
|
||||||
|
|
||||||
//自动路由
|
//自动路由
|
||||||
r.Any("/callback/*path", router.AutoRoute(&controllers.CallbackController{}))
|
r.Any("/callback/*path", router.AutoRoute(&controllers.CallbackController{}))
|
||||||
|
|||||||
@@ -25,4 +25,7 @@ func InitV4App(v2 *gin.RouterGroup) {
|
|||||||
temp.GET("/getUserTempList", app.PrinterTempController.GetUserTempList) // 获取用户模板,模板不足时填充系统模板
|
temp.GET("/getUserTempList", app.PrinterTempController.GetUserTempList) // 获取用户模板,模板不足时填充系统模板
|
||||||
temp.GET("/switchTemp", app.PrinterTempController.SwitchTemp) // 切换模板打印模板
|
temp.GET("/switchTemp", app.PrinterTempController.SwitchTemp) // 切换模板打印模板
|
||||||
|
|
||||||
|
// 打印机设置
|
||||||
|
setting := v2.Group("/setting")
|
||||||
|
setting.POST("updatePrintSetting", app.PrintSettingController.UpdatePrintSetting) // 打印机设置修改
|
||||||
}
|
}
|
||||||
|
|||||||
136
services/print_server/app_server/print_setting.go
Normal file
136
services/print_server/app_server/print_setting.go
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
package app_server
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"git.rosy.net.cn/jx-print/dao"
|
||||||
|
settingModel "git.rosy.net.cn/jx-print/model/app_model"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type PrintSettingServer struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
var PrintSettingInfoServer = new(PrintSettingServer)
|
||||||
|
|
||||||
|
// UpdatePrintSetting 修改打印机绑定信息
|
||||||
|
func (p *PrintSettingServer) UpdatePrintSetting(userId string, param *settingModel.UpdatePrintSetting) error {
|
||||||
|
// 判断打印机和用户是否匹配
|
||||||
|
isTrue, err := dao.GetPrintById(userId, param.PrintNo)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !isTrue {
|
||||||
|
return errors.New("此打印机不属于该用户")
|
||||||
|
}
|
||||||
|
return dao.PrintSettingInfoDao.UpdatePrinterSetting(param)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SystemInitPrintSetting 绑定打印机时初始化一个打印机设置
|
||||||
|
func (p *PrintSettingServer) SystemInitPrintSetting(printNo string) error {
|
||||||
|
// 打印机标号唯一,判断打印机是否存在设置
|
||||||
|
isHave, err := dao.PrintSettingInfoDao.QueryPrintNoIsExit(printNo)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !isHave {
|
||||||
|
return errors.New("已经存在绑定的打印机设置,联系管理员")
|
||||||
|
}
|
||||||
|
day := time.Now()
|
||||||
|
|
||||||
|
param, err := MarshalJson2String(&settingModel.PrintSetting{
|
||||||
|
CreatedAt: day,
|
||||||
|
UpdatedAt: day,
|
||||||
|
DeletedAt: utils.DefaultTimeValue,
|
||||||
|
PrintNo: printNo,
|
||||||
|
CallNameSetting: 64,
|
||||||
|
SystemVoice: 1,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return dao.PrintSettingInfoDao.InsertPrintSetting(param)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeletePrintSetting 删除打印机设置
|
||||||
|
func (p *PrintSettingServer) DeletePrintSetting(printNo []string) error {
|
||||||
|
return dao.PrintSettingInfoDao.DeleteSetting(printNo)
|
||||||
|
}
|
||||||
|
|
||||||
|
func MarshalJson2String(param *settingModel.PrintSetting) (*settingModel.PrintSetting, error) {
|
||||||
|
// 打印机提示语音设置
|
||||||
|
printVoiceSetting := &settingModel.PrintVoice{
|
||||||
|
TimeVoice: settingModel.SettingClose,
|
||||||
|
PaperShortageVoice: settingModel.SettingOpen,
|
||||||
|
DisconnectVoice: settingModel.SettingOpen,
|
||||||
|
LoseAuthorization: settingModel.SettingOpen,
|
||||||
|
}
|
||||||
|
printVoiceSettingByte, err := json.Marshal(printVoiceSetting)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
param.PrintVoiceSetting = string(printVoiceSettingByte)
|
||||||
|
|
||||||
|
// 订单提示设置
|
||||||
|
orderVoiceSetting := &settingModel.OrderVoice{
|
||||||
|
PrintOrder: settingModel.SettingOpen,
|
||||||
|
OrderNotice: settingModel.SettingOpen,
|
||||||
|
UserOrderCancel: settingModel.SettingClose,
|
||||||
|
UserOrderCancelVoice: settingModel.SettingOpen,
|
||||||
|
RefundOrder: settingModel.SettingOpen,
|
||||||
|
RefundOrderVoice: settingModel.SettingOpen,
|
||||||
|
BusinessOrderCancel: settingModel.SettingClose,
|
||||||
|
BusinessOrderCancelVoice: settingModel.SettingOpen,
|
||||||
|
}
|
||||||
|
orderVoiceSettingByte, err := json.Marshal(orderVoiceSetting)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
param.OrderVoiceSetting = string(orderVoiceSettingByte)
|
||||||
|
|
||||||
|
// 送达设置
|
||||||
|
riderVoiceSetting := &settingModel.RiderVoice{
|
||||||
|
RiderTakeOrder: settingModel.SettingOpen,
|
||||||
|
RiderTakeOrderVoice: settingModel.SettingOpen,
|
||||||
|
RiderServiceVoice: settingModel.SettingOpen,
|
||||||
|
RiderReminderVoice: settingModel.SettingOpen,
|
||||||
|
}
|
||||||
|
riderVoiceSettingByte, err := json.Marshal(riderVoiceSetting)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
param.RiderVoiceSetting = string(riderVoiceSettingByte)
|
||||||
|
|
||||||
|
// 客户收货语音设置
|
||||||
|
customerVoiceSetting := &settingModel.CustomerReceivingGoods{
|
||||||
|
CustomerRejectionPrint: settingModel.SettingClose,
|
||||||
|
CustomerRejectionVoice: settingModel.SettingOpen,
|
||||||
|
CustcareRefundPrint: settingModel.SettingClose,
|
||||||
|
CustcareRefundVoice: settingModel.SettingOpen,
|
||||||
|
ConsultingPrint: settingModel.SettingClose,
|
||||||
|
ConsultingVoice: settingModel.SettingClose,
|
||||||
|
}
|
||||||
|
customerVoiceSettingByte, err := json.Marshal(customerVoiceSetting)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
param.CustomerVoiceSetting = string(customerVoiceSettingByte)
|
||||||
|
|
||||||
|
// 拣货设置
|
||||||
|
pickingSetting := &settingModel.ShopPickingVoice{
|
||||||
|
BusinessOffLine: settingModel.SettingClose,
|
||||||
|
BusinessOffLineVoice: settingModel.SettingOpen,
|
||||||
|
WaitOrderPrint: settingModel.SettingClose,
|
||||||
|
WaitOrderVoice: settingModel.SettingOpen,
|
||||||
|
WaitPickingPrint: settingModel.SettingClose,
|
||||||
|
WaitPickingVoice: settingModel.SettingOpen,
|
||||||
|
}
|
||||||
|
pickingSettingByte, err := json.Marshal(pickingSetting)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
param.PickingSetting = string(pickingSettingByte)
|
||||||
|
return param, nil
|
||||||
|
}
|
||||||
11
services/print_server/app_server/setting_test.go
Normal file
11
services/print_server/app_server/setting_test.go
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package app_server
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestBinding(t *testing.T) {
|
||||||
|
err := PrintSettingInfoServer.SystemInitPrintSetting("199308263974")
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
@@ -204,3 +204,8 @@ func (t *TempServer) QuerySystemTemp() ([]*tempModel.SystemTemp, error) {
|
|||||||
func (t *TempServer) SwitchTemp(userId string, tempId int) error {
|
func (t *TempServer) SwitchTemp(userId string, tempId int) error {
|
||||||
return dao.SwitchTemp2User(tempId, userId)
|
return dao.SwitchTemp2User(tempId, userId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteAllTemp 删除所有用户打印机模板
|
||||||
|
func (t *TempServer) DeleteAllTemp(userId string, printNo []string) error {
|
||||||
|
return dao.DeleteAllTemp(userId, printNo)
|
||||||
|
}
|
||||||
|
|||||||
@@ -18,6 +18,10 @@ func init() {
|
|||||||
globals.SugarLogger.Debug("query system temp err :", err)
|
globals.SugarLogger.Debug("query system temp err :", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if len(sysTempList) <= 0 {
|
||||||
|
globals.SugarLogger.Debug("query system temp err :", "system temp don't have")
|
||||||
|
return
|
||||||
|
}
|
||||||
temp := make(map[string]*tempModel.SystemTemp, 0)
|
temp := make(map[string]*tempModel.SystemTemp, 0)
|
||||||
for _, v := range sysTempList {
|
for _, v := range sysTempList {
|
||||||
temp[v.TempSize] = v
|
temp[v.TempSize] = v
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ func UpdatePrinter(appID int, tokenInfo *model.TokenInfo, printNo, name, sound s
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TestPrint 测试打印
|
// TestPrint 测试打印
|
||||||
func TestPrint(appID int, tokenInfo *model.TokenInfo, printNo string, orderNo string, content string) (msgID string, err error) {
|
func TestPrint(appID int, tokenInfo *model.TokenInfo, printNo string, orderNo int64, content string) (msgID string, err error) {
|
||||||
var (
|
var (
|
||||||
db = globals.GetDB()
|
db = globals.GetDB()
|
||||||
now = time.Now()
|
now = time.Now()
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ func UpdatePrinter(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printN
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPrint(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNo string, orderNo string, content string) (msgID string, err error) {
|
func TestPrint(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNo string, orderNo int64, content string) (msgID string, err error) {
|
||||||
var (
|
var (
|
||||||
db = globals.GetDB()
|
db = globals.GetDB()
|
||||||
now = time.Now()
|
now = time.Now()
|
||||||
@@ -242,3 +242,8 @@ func GetPrinterReport(c *gin.Context, tokenInfo *model.TokenInfo) (getPrinterRep
|
|||||||
getPrinterReportResult.PaperPrinterCount = paperC
|
getPrinterReportResult.PaperPrinterCount = paperC
|
||||||
return getPrinterReportResult, err
|
return getPrinterReportResult, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeletePrintMsg 删除打印机打印消息
|
||||||
|
func DeletePrintMsg(printNos []string) error {
|
||||||
|
return dao.DeletePrinterMsg(printNos)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user