diff --git a/controllers/app/print_setting.go b/controllers/app/print_setting.go new file mode 100644 index 0000000..336862b --- /dev/null +++ b/controllers/app/print_setting.go @@ -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 + }) +} diff --git a/controllers/app/wx_print.go b/controllers/app/wx_print.go index 17f76d6..b47199b 100644 --- a/controllers/app/wx_print.go +++ b/controllers/app/wx_print.go @@ -3,8 +3,9 @@ package app import ( "git.rosy.net.cn/jx-print/controllers" "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" + 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" ) @@ -25,8 +26,9 @@ func (p *Print) AddPrinters(c *gin.Context) { var ( err error tokenInfo *model.TokenInfo - param = print.AddPrintReq{} + param = printModel.AddPrintReq{} printInfo []*model.PrintInfo + setting = printServer.PrintSettingInfoServer ) 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) { - 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 ( err error tokenInfo *model.TokenInfo - param = print.QueryPrintReq{} + param = printModel.QueryPrintReq{} ) if err = c.ShouldBind(¶m); err != nil { controllers.BuildErrJson(c, err) @@ -86,10 +95,12 @@ func (p *Print) GetPrinters(c *gin.Context) { // @router /delPrinters [post] func (p *Print) DelPrinters(c *gin.Context) { var ( - err error - tokenInfo *model.TokenInfo - param = print.DeletePrintReq{} - printNos []string + err error + tokenInfo *model.TokenInfo + param = printModel.DeletePrintReq{} + printNos []string + tempServer = printServer.TempServer{} + settingServer = printServer.PrintSettingServer{} ) if err = c.ShouldBind(¶m); err != nil { controllers.BuildErrJson(c, err) @@ -103,7 +114,16 @@ func (p *Print) DelPrinters(c *gin.Context) { return } 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 }) } @@ -120,7 +140,7 @@ func (p *Print) UpdatePrinter(c *gin.Context) { var ( err error tokenInfo *model.TokenInfo - param = print.UpdatePrintReq{} + param = printModel.UpdatePrintReq{} ) if err = c.ShouldBind(¶m); err != nil { controllers.BuildErrJson(c, err) @@ -150,7 +170,7 @@ func (p *Print) TestPrint(c *gin.Context) { var ( err error tokenInfo *model.TokenInfo - param = print.TestPrintReq{} + param = printModel.TestPrintReq{} ) if err = c.ShouldBind(¶m); err != nil { controllers.BuildErrJson(c, err) @@ -177,7 +197,7 @@ func (p *Print) GetPrintMessages(c *gin.Context) { var ( err error tokenInfo *model.TokenInfo - param = print.GetPrintMsg{} + param = printModel.GetPrintMsg{} ) if err = c.ShouldBind(¶m); err != nil { controllers.BuildErrJson(c, err) diff --git a/controllers/print_controller.go b/controllers/print_controller.go index 38958ba..d2cc026 100644 --- a/controllers/print_controller.go +++ b/controllers/print_controller.go @@ -137,7 +137,7 @@ func TestPrint(c *gin.Context) { param = &struct { AppID int `json:"app_id" form:"app_id" 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"` //打印内容 }{} ) diff --git a/dao/print_dao.go b/dao/print_dao.go index 56d3dec..0bda8cc 100644 --- a/dao/print_dao.go +++ b/dao/print_dao.go @@ -1,7 +1,9 @@ package dao import ( + "errors" "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-print/globals" "git.rosy.net.cn/jx-print/model" "github.com/jmoiron/sqlx" "time" @@ -225,3 +227,22 @@ func GetPrinter(db *sqlx.DB, printNo, iccID string) (printer *model.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 +} diff --git a/dao/print_setting.go b/dao/print_setting.go new file mode 100644 index 0000000..d6182b0 --- /dev/null +++ b/dao/print_setting.go @@ -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 +} diff --git a/dao/temp_dao.go b/dao/temp_dao.go index 806cb54..2380c0f 100644 --- a/dao/temp_dao.go +++ b/dao/temp_dao.go @@ -39,7 +39,7 @@ func UpdateOtherTempStatus(userId string) error { return err } -// UpdateTemp 删除模板数据 +// UpdateTemp 修改模板数据 func UpdateTemp(param *app_model.SystemTemp, fields []string) error { return Update(globals.GetDB(), param, fields...) } @@ -50,6 +50,12 @@ func DeleteTemp(id int, userId string) error { 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 查询用户模板 func SelectUserTemp(userId string) ([]*app_model.SystemTemp, error) { var result []*app_model.SystemTemp @@ -62,7 +68,7 @@ func SelectUserTemp(userId string) ([]*app_model.SystemTemp, error) { // QuerySystemTemp 查询系统模板 func QuerySystemTemp() ([]*app_model.SystemTemp, error) { 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 result, nil diff --git a/deploy/ansible.yml b/deploy/ansible.yml index 79de909..50542e1 100644 --- a/deploy/ansible.yml +++ b/deploy/ansible.yml @@ -18,4 +18,4 @@ mode: 0755 backup: no - name: shell - shell: sudo systemctl restart jx-callback-print + shell: sudo systemctl restart jx-print diff --git a/model/app_model/app_print.go b/model/app_model/app_print.go index 0fd6da1..8fff33f 100644 --- a/model/app_model/app_print.go +++ b/model/app_model/app_print.go @@ -31,7 +31,7 @@ type UpdatePrintReq struct { type TestPrintReq struct { AppID int `json:"app_id" form:"app_id" 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"` //打印内容 } diff --git a/model/app_model/print_setting.go b/model/app_model/print_setting.go new file mode 100644 index 0000000..63f6b8f --- /dev/null +++ b/model/app_model/print_setting.go @@ -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"` +} diff --git a/model/app_model/print_setting_static.go b/model/app_model/print_setting_static.go new file mode 100644 index 0000000..7af64c5 --- /dev/null +++ b/model/app_model/print_setting_static.go @@ -0,0 +1,6 @@ +package app_model + +const ( + SettingOpen = 1 // 开启 + SettingClose = -1 // 关闭 +) diff --git a/model/app_model/print_temp.go b/model/app_model/print_temp.go deleted file mode 100644 index 8b49b80..0000000 --- a/model/app_model/print_temp.go +++ /dev/null @@ -1 +0,0 @@ -package app_model diff --git a/model/model.go b/model/model.go index 97bf3e0..2cc059a 100644 --- a/model/model.go +++ b/model/model.go @@ -199,7 +199,7 @@ type PrintMsg struct { DeletedAt *time.Time `json:"deleted_at" db:"deleted_at"` MsgID string `json:"msg_id" db:"msg_id"` //消息ID 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"` //订单内容 Status int `json:"status"` //打印状态 Comment string `json:"comment"` //失败原因 diff --git a/routers/router.go b/routers/router.go index b048b02..d86fee7 100644 --- a/routers/router.go +++ b/routers/router.go @@ -14,8 +14,10 @@ func Init(r *gin.Engine) { InitV1System(r.Group("v1")) // app端不需要token + InitV3App(r.Group("/v1")) // app端需要token + InitV4App(r.Group("/v2")) //自动路由 r.Any("/callback/*path", router.AutoRoute(&controllers.CallbackController{})) diff --git a/routers/v4_app_router.go b/routers/v4_app_router.go index eac212d..bfa5818 100644 --- a/routers/v4_app_router.go +++ b/routers/v4_app_router.go @@ -25,4 +25,7 @@ func InitV4App(v2 *gin.RouterGroup) { temp.GET("/getUserTempList", app.PrinterTempController.GetUserTempList) // 获取用户模板,模板不足时填充系统模板 temp.GET("/switchTemp", app.PrinterTempController.SwitchTemp) // 切换模板打印模板 + // 打印机设置 + setting := v2.Group("/setting") + setting.POST("updatePrintSetting", app.PrintSettingController.UpdatePrintSetting) // 打印机设置修改 } diff --git a/services/print_server/app_server/print_setting.go b/services/print_server/app_server/print_setting.go new file mode 100644 index 0000000..de06782 --- /dev/null +++ b/services/print_server/app_server/print_setting.go @@ -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 +} diff --git a/services/print_server/app_server/setting_test.go b/services/print_server/app_server/setting_test.go new file mode 100644 index 0000000..2f93ddc --- /dev/null +++ b/services/print_server/app_server/setting_test.go @@ -0,0 +1,11 @@ +package app_server + +import ( + "fmt" + "testing" +) + +func TestBinding(t *testing.T) { + err := PrintSettingInfoServer.SystemInitPrintSetting("199308263974") + fmt.Println(err) +} diff --git a/services/print_server/app_server/temp.go b/services/print_server/app_server/temp.go index 2d132da..cbea837 100644 --- a/services/print_server/app_server/temp.go +++ b/services/print_server/app_server/temp.go @@ -204,3 +204,8 @@ func (t *TempServer) QuerySystemTemp() ([]*tempModel.SystemTemp, error) { func (t *TempServer) SwitchTemp(userId string, tempId int) error { return dao.SwitchTemp2User(tempId, userId) } + +// DeleteAllTemp 删除所有用户打印机模板 +func (t *TempServer) DeleteAllTemp(userId string, printNo []string) error { + return dao.DeleteAllTemp(userId, printNo) +} diff --git a/services/print_server/app_server/temp_config.go b/services/print_server/app_server/temp_config.go index 26b1e49..501f5e2 100644 --- a/services/print_server/app_server/temp_config.go +++ b/services/print_server/app_server/temp_config.go @@ -18,6 +18,10 @@ func init() { globals.SugarLogger.Debug("query system temp err :", err) 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) for _, v := range sysTempList { temp[v.TempSize] = v diff --git a/services/print_server/app_server/wx_print.go b/services/print_server/app_server/wx_print.go index 78567c5..63aab28 100644 --- a/services/print_server/app_server/wx_print.go +++ b/services/print_server/app_server/wx_print.go @@ -145,7 +145,7 @@ func UpdatePrinter(appID int, tokenInfo *model.TokenInfo, printNo, name, sound s } // 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 ( db = globals.GetDB() now = time.Now() diff --git a/services/print_server/print.go b/services/print_server/print.go index 38362f2..163fa78 100644 --- a/services/print_server/print.go +++ b/services/print_server/print.go @@ -147,7 +147,7 @@ func UpdatePrinter(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printN 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 ( db = globals.GetDB() now = time.Now() @@ -242,3 +242,8 @@ func GetPrinterReport(c *gin.Context, tokenInfo *model.TokenInfo) (getPrinterRep getPrinterReportResult.PaperPrinterCount = paperC return getPrinterReportResult, err } + +// DeletePrintMsg 删除打印机打印消息 +func DeletePrintMsg(printNos []string) error { + return dao.DeletePrinterMsg(printNos) +}