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 (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
errs []error
|
errs []error
|
||||||
@@ -55,26 +55,27 @@ func AddPrinter(appID int, printers []*model.Printer) (err error) {
|
|||||||
continue
|
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)
|
errs = append(errs, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
printer := &model.Printer{
|
printer := &model.Printer{
|
||||||
AppID: appID,
|
AppID: appID,
|
||||||
PrintNo: v.PrintNo,
|
PrintNo: v.PrintNo,
|
||||||
Name: v.Name,
|
Name: v.Name,
|
||||||
IccID: v.IccID,
|
IccID: "",
|
||||||
Status: model.PrinterStatusOffline,
|
Status: model.PrinterStatusOffline,
|
||||||
Sound: v.Sound,
|
Sound: "sounda",
|
||||||
}
|
PrintKey: v.SIM,
|
||||||
if v.Volume == 0 {
|
IsOnline: 0,
|
||||||
printer.Volume = 4
|
Volume: 1,
|
||||||
}
|
FlowFlag: 0,
|
||||||
if v.UserId == "" {
|
OfflineCount: 0,
|
||||||
printer.UserId = "system"
|
UserId: "system",
|
||||||
} else {
|
|
||||||
printer.UserId = v.UserId
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 创建打印机
|
||||||
dao.WrapAddIDCULDEntity(printer, "")
|
dao.WrapAddIDCULDEntity(printer, "")
|
||||||
if err = dao.CreateEntity(db, printer); err != nil {
|
if err = dao.CreateEntity(db, printer); err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
@@ -87,6 +88,119 @@ func AddPrinter(appID int, printers []*model.Printer) (err error) {
|
|||||||
return err
|
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) {
|
func checkPrinterInfo(printNo, name, sound, sim string, volume int) (err error) {
|
||||||
if printNo != "" {
|
if printNo != "" {
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,12 @@ const (
|
|||||||
PrintMsgAll = -9
|
PrintMsgAll = -9
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type AddPrinterParam struct {
|
||||||
|
PrintNo string `json:"print_no"` //打印机编号
|
||||||
|
Name string `json:"name"` //打印机备注名
|
||||||
|
SIM string `json:"sim"` //sim卡号
|
||||||
|
}
|
||||||
|
|
||||||
type Printer struct {
|
type Printer struct {
|
||||||
ModelIDCULD
|
ModelIDCULD
|
||||||
|
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ end:
|
|||||||
//添加打印机,一次最多50条
|
//添加打印机,一次最多50条
|
||||||
func (c *ApiController) AddPrinter(dataMap map[string]interface{}) (data, errCode string, err error) {
|
func (c *ApiController) AddPrinter(dataMap map[string]interface{}) (data, errCode string, err error) {
|
||||||
var (
|
var (
|
||||||
printers []*model.Printer
|
printers []*model.AddPrinterParam
|
||||||
printersStr string
|
printersStr string
|
||||||
appID int
|
appID int
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user