fix printer bug

This commit is contained in:
Jack 2024-11-21 16:16:20 +08:00
parent 6de92e38fc
commit 50643690f1

View File

@ -115,11 +115,14 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
Integer userId = user.getId() == null ? 0 : user.getId();
record.setStore_id(Integer.parseInt(user.getStore_id()));
// 默认不向厂家绑定打印机
record.setStatus(ConstantError.Disable2);
record.setFlag(record.getStatus());
record.setCreated_by(userId);
record.setUpdated_by(userId);
if (record.getStatus() == null) {
record.setStatus(ConstantError.Enable);
}
// if (record.getStatus() == null) {
// record.setStatus(ConstantError.Enable);
// }
// 判断打票机是否已经存在
@ -129,46 +132,46 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
ShopStorePrinter existRecord = getOne(queryWrapper);
if (existRecord != null && existRecord.getPrinter_id() > 0) {
// 打印机已经存在的情况
if (existRecord.getFlag() == ConstantError.Disable2) {
// 打印机没有绑定飞鹅平台
UpdateWrapper<ShopStorePrinter> updateWrapper = new UpdateWrapper<ShopStorePrinter>();
updateWrapper.eq("printer_id", existRecord.getPrinter_id());
updateWrapper.set("updated_by", userId);
updateWrapper.set("updated_at", new Date());
// 往厂商添加打印机
// "922441475#r6ZXPvHH#核销柜台";
boolean success = feieUtil.addPrinter(String.format("%s#%s#%s", existRecord.getPrinter_sn(), existRecord.getPrinter_key(), existRecord.getPrinter_name()));
if (success) {
updateWrapper.set("flag", ConstantError.Enable);
}
update(updateWrapper);
String msg = "添加成功";
if (!success) {
msg = msg + ",但未绑定成功,请检查打印机编号和密钥是否正确。";
}
return CommonResult.success(null, msg);
}
// if (existRecord.getFlag() == ConstantError.Disable2) {
// // 打印机没有绑定飞鹅平台
// UpdateWrapper<ShopStorePrinter> updateWrapper = new UpdateWrapper<ShopStorePrinter>();
// updateWrapper.eq("printer_id", existRecord.getPrinter_id());
// updateWrapper.set("updated_by", userId);
// updateWrapper.set("updated_at", new Date());
//
// // 往厂商添加打印机
// // "922441475#r6ZXPvHH#核销柜台";
// boolean success = feieUtil.addPrinter(String.format("%s#%s#%s", existRecord.getPrinter_sn(), existRecord.getPrinter_key(), existRecord.getPrinter_name()));
// if (success) {
// updateWrapper.set("flag", ConstantError.Enable);
// }
//
// update(updateWrapper);
// String msg = "添加成功";
// if (!success) {
// msg = msg + ",但未绑定成功,请检查打印机编号和密钥是否正确。";
// }
//
// return CommonResult.success(null, msg);
// }
return CommonResult.success(null, "打票机已添加,请勿重复操作");
}
String msg = "添加成功";
// String msg = "添加成功";
// 往厂商添加打印机
// "922441475#r6ZXPvHH#核销柜台";
boolean success = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
if (success) {
if (!success) {
msg = msg + ",但打印机绑定未成功,请检查打印机编号和密钥是否正确。";
}
record.setFlag(ConstantError.Enable);
}
// boolean success = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
// if (success) {
//
// if (!success) {
// msg = msg + ",但打印机绑定未成功,请检查打印机编号和密钥是否正确。";
// }
// record.setFlag(ConstantError.Enable);
// }
if (add(record)) {
return CommonResult.success(null, msg);
return CommonResult.success(null, "添加成功");
}
return CommonResult.failed("添加失败!");
@ -207,26 +210,30 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
updateWrapper.set("region_id", record.getRegion_id());
updateWrapper.set("paper_with", record.getPaper_with());
updateWrapper.set("website_url", record.getWebsite_url());
if (record.getStatus() == null) {
if (existRecord.getStatus() == null || !ConstantError.Enable.equals(existRecord.getStatus())) {
updateWrapper.set("status", ConstantError.Disable2);
}else {
updateWrapper.set("status", ConstantError.Enable);
}
updateWrapper.set("updated_at", new Date());
updateWrapper.set("updated_by", userId);
String msg = "修改成功";
if (existRecord.getPrinter_sn().equals(record.getPrinter_sn())) {
// sn 没有变化不更新 sn
if (existRecord.getFlag() == ConstantError.Disable2) {
// 往厂商添加打印机
boolean success = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
if (success) {
updateWrapper.set("flag", ConstantError.Enable);
} else {
msg = msg + ",但打印机绑定未成功,请检查打印机编号和密钥是否正确。";
}
}
} else {
// if (existRecord.getPrinter_sn().equals(record.getPrinter_sn())) {
// // sn 没有变化不更新 sn
// if (ConstantError.Disable2.equals(existRecord.getFlag())) {
// // 往厂商添加打印机
// boolean success = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
// if (success) {
// updateWrapper.set("flag", ConstantError.Enable);
// } else {
// msg = msg + ",但打印机绑定未成功,请检查打印机编号和密钥是否正确。";
// }
// }
// } else {
if (!existRecord.getPrinter_sn().equals(record.getPrinter_sn())) {
// 更改了 sn并且 sn 从未添加过打票机不在门店内的
QueryWrapper<ShopStorePrinter> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("store_id", record.getStore_id());
@ -238,14 +245,23 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
boolean success = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
if (success) {
updateWrapper.set("flag", ConstantError.Enable);
updateWrapper.set("status",ConstantError.Enable);
} else {
msg = msg + ",但打印机绑定未成功,请检查打印机编号和密钥是否正确。";
updateWrapper.set("flag", ConstantError.Disable2);
updateWrapper.set("status",ConstantError.Disable2);
}
// 解绑之前的打印机
feieUtil.delPrinter(existRecord.getPrinter_sn());
} else {
// 打印机编号已被使用
return CommonResult.success(null, "打票机已添加,请勿重复操作");
}
}
boolean addSuccess = update(updateWrapper);
if (addSuccess) {
boolean success = update(updateWrapper);
if (success) {
return CommonResult.success(null, msg);
}
@ -253,6 +269,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
}
@Override
public CommonResult updateShopStorePrinterStatus(Long printerId, Integer status) {
@ -267,26 +284,35 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
return CommonResult.failed("打票机不存在,无法操作!");
}
boolean success;
if (ConstantError.Enable.equals(status)) {
// 向厂家新增打印机
// 格式"922441475#r6ZXPvHH#核销柜台";
feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
success = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
if (!success) {
return CommonResult.failed("打印机绑定未成功,操作失败。");
}
} else {
// 向厂家删除打印机
feieUtil.delPrinter(record.getPrinter_sn());
status = ConstantError.Disable2;
// 向厂家解绑打印机
success = feieUtil.delPrinter(record.getPrinter_sn());
if (!success) {
return CommonResult.failed("打印机解绑定未成功,操作失败。");
}
}
// 更改的状态和现有的状态一样直接
if (status.equals(record.getStatus())) {
return CommonResult.success();
return CommonResult.success(null,"已操作成功!");
}
UpdateWrapper<ShopStorePrinter> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("printer_id", printerId);
updateWrapper.set("status", status);
updateWrapper.set("flag", status);
boolean success = update(updateWrapper);
if (success) {
return CommonResult.success();
if (update(updateWrapper)) {
return CommonResult.success(null,"操作成功!");
}
return CommonResult.failed("操作失败!");
@ -308,6 +334,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
//通知厂家删除设备成功再删除本地数据否则只删除本地记录
if (StrUtil.isNotBlank(record.getPrinter_sn())) {
// 向厂家解绑打印机
feieUtil.delPrinter(record.getPrinter_sn());
}