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