打印机

This commit is contained in:
邹宗楠
2022-08-03 09:04:28 +08:00
parent 3ede3efd61
commit e552efc2ad
20 changed files with 435 additions and 22 deletions

View 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
}

View File

@@ -0,0 +1,11 @@
package app_server
import (
"fmt"
"testing"
)
func TestBinding(t *testing.T) {
err := PrintSettingInfoServer.SystemInitPrintSetting("199308263974")
fmt.Println(err)
}

View File

@@ -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)
}

View File

@@ -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

View File

@@ -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()

View File

@@ -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)
}