1
This commit is contained in:
@@ -41,7 +41,7 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
func AddPrinter(appID int, printers []*model.Printer) (err error) {
|
||||
func AddPrinter(appID int, printers []*model.AddPrinterParam) (err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
errs []error
|
||||
@@ -55,26 +55,27 @@ func AddPrinter(appID int, printers []*model.Printer) (err error) {
|
||||
continue
|
||||
}
|
||||
//验证
|
||||
if err = checkPrinterInfo(v.PrintNo, v.Name, v.Sound, v.IccID, v.Volume); err != nil {
|
||||
if err = checkPrinterInfo(v.PrintNo, v.Name, "", "", 0); err != nil {
|
||||
errs = append(errs, err)
|
||||
continue
|
||||
}
|
||||
|
||||
printer := &model.Printer{
|
||||
AppID: appID,
|
||||
PrintNo: v.PrintNo,
|
||||
Name: v.Name,
|
||||
IccID: v.IccID,
|
||||
Status: model.PrinterStatusOffline,
|
||||
Sound: v.Sound,
|
||||
}
|
||||
if v.Volume == 0 {
|
||||
printer.Volume = 4
|
||||
}
|
||||
if v.UserId == "" {
|
||||
printer.UserId = "system"
|
||||
} else {
|
||||
printer.UserId = v.UserId
|
||||
AppID: appID,
|
||||
PrintNo: v.PrintNo,
|
||||
Name: v.Name,
|
||||
IccID: "",
|
||||
Status: model.PrinterStatusOffline,
|
||||
Sound: "sounda",
|
||||
PrintKey: v.SIM,
|
||||
IsOnline: 0,
|
||||
Volume: 1,
|
||||
FlowFlag: 0,
|
||||
OfflineCount: 0,
|
||||
UserId: "system",
|
||||
}
|
||||
|
||||
// 创建打印机
|
||||
dao.WrapAddIDCULDEntity(printer, "")
|
||||
if err = dao.CreateEntity(db, printer); err != nil {
|
||||
errs = append(errs, err)
|
||||
@@ -87,6 +88,119 @@ func AddPrinter(appID int, printers []*model.Printer) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
func InitPrint(printer *model.Printer) error {
|
||||
txDb, _ := dao.Begin(dao.GetDB())
|
||||
// 创建打印机
|
||||
dao.WrapAddIDCULDEntity(printer, "")
|
||||
if err := dao.CreateEntityTx(txDb, printer); err != nil {
|
||||
txDb.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
// 打印机标号唯一,判断打印机是否存在设置
|
||||
var setting *model.PrintSetting
|
||||
if err := dao.GetRowTx(txDb, &setting, `SELECT * FROM print_setting WHERE print_no = ?`, []interface{}{printer.PrintNo}...); err != nil {
|
||||
txDb.Rollback()
|
||||
return err
|
||||
}
|
||||
if setting != nil {
|
||||
txDb.Rollback()
|
||||
return fmt.Errorf("此打印机已经被绑定过了")
|
||||
}
|
||||
|
||||
// 赋予打印机默认配置
|
||||
day := time.Now()
|
||||
param, err := MarshalJson2String(&model.PrintSetting{
|
||||
CreatedAt: day,
|
||||
UpdatedAt: day,
|
||||
DeletedAt: utils.DefaultTimeValue,
|
||||
PrintNo: printer.PrintNo,
|
||||
CallNameSetting: 64,
|
||||
SystemVoice: 1,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dao.CreateEntityTx(txDb, ¶m)
|
||||
}
|
||||
|
||||
// MarshalJson2String 工具类
|
||||
func MarshalJson2String(param *model.PrintSetting) (*model.PrintSetting, error) {
|
||||
// 打印机提示语音设置
|
||||
printVoiceSetting := &model.PrintVoice{
|
||||
TimeVoice: model.SettingClose,
|
||||
PaperShortageVoice: model.SettingOpen,
|
||||
DisconnectVoice: model.SettingOpen,
|
||||
LoseAuthorization: model.SettingOpen,
|
||||
}
|
||||
printVoiceSettingByte, err := json.Marshal(printVoiceSetting)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
param.PrintVoiceSetting = string(printVoiceSettingByte)
|
||||
|
||||
// 订单提示设置
|
||||
orderVoiceSetting := &model.OrderVoice{
|
||||
PrintOrder: model.SettingOpen,
|
||||
OrderNotice: model.SettingOpen,
|
||||
UserOrderCancel: model.SettingClose,
|
||||
UserOrderCancelVoice: model.SettingOpen,
|
||||
RefundOrder: model.SettingOpen,
|
||||
RefundOrderVoice: model.SettingOpen,
|
||||
BusinessOrderCancel: model.SettingClose,
|
||||
BusinessOrderCancelVoice: model.SettingOpen,
|
||||
}
|
||||
orderVoiceSettingByte, err := json.Marshal(orderVoiceSetting)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
param.OrderVoiceSetting = string(orderVoiceSettingByte)
|
||||
|
||||
// 送达设置
|
||||
riderVoiceSetting := &model.RiderVoice{
|
||||
RiderTakeOrder: model.SettingOpen,
|
||||
RiderTakeOrderVoice: model.SettingOpen,
|
||||
RiderServiceVoice: model.SettingOpen,
|
||||
RiderReminderVoice: model.SettingOpen,
|
||||
}
|
||||
riderVoiceSettingByte, err := json.Marshal(riderVoiceSetting)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
param.RiderVoiceSetting = string(riderVoiceSettingByte)
|
||||
|
||||
// 客户收货语音设置
|
||||
customerVoiceSetting := &model.CustomerReceivingGoods{
|
||||
CustomerRejectionPrint: model.SettingClose,
|
||||
CustomerRejectionVoice: model.SettingOpen,
|
||||
CustcareRefundPrint: model.SettingClose,
|
||||
CustcareRefundVoice: model.SettingOpen,
|
||||
ConsultingPrint: model.SettingClose,
|
||||
ConsultingVoice: model.SettingClose,
|
||||
}
|
||||
customerVoiceSettingByte, err := json.Marshal(customerVoiceSetting)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
param.CustomerVoiceSetting = string(customerVoiceSettingByte)
|
||||
|
||||
// 拣货设置
|
||||
pickingSetting := &model.ShopPickingVoice{
|
||||
BusinessOffLine: model.SettingClose,
|
||||
BusinessOffLineVoice: model.SettingOpen,
|
||||
WaitOrderPrint: model.SettingClose,
|
||||
WaitOrderVoice: model.SettingOpen,
|
||||
WaitPickingPrint: model.SettingClose,
|
||||
WaitPickingVoice: model.SettingOpen,
|
||||
}
|
||||
pickingSettingByte, err := json.Marshal(pickingSetting)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
param.PickingSetting = string(pickingSettingByte)
|
||||
return param, nil
|
||||
}
|
||||
|
||||
func checkPrinterInfo(printNo, name, sound, sim string, volume int) (err error) {
|
||||
if printNo != "" {
|
||||
|
||||
|
||||
@@ -14,6 +14,12 @@ const (
|
||||
PrintMsgAll = -9
|
||||
)
|
||||
|
||||
type AddPrinterParam struct {
|
||||
PrintNo string `json:"print_no"` //打印机编号
|
||||
Name string `json:"name"` //打印机备注名
|
||||
SIM string `json:"sim"` //sim卡号
|
||||
}
|
||||
|
||||
type Printer struct {
|
||||
ModelIDCULD
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ end:
|
||||
//添加打印机,一次最多50条
|
||||
func (c *ApiController) AddPrinter(dataMap map[string]interface{}) (data, errCode string, err error) {
|
||||
var (
|
||||
printers []*model.Printer
|
||||
printers []*model.AddPrinterParam
|
||||
printersStr string
|
||||
appID int
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user