feat: 添加柜格关联主板ID字段并更新相关逻辑
在CabinetCellDTO和CabinetCellEntity中添加mainboardId字段,用于关联柜格与主板。更新CabinetCellController和OrderApplicationService中的逻辑,使用主板ID获取锁控编号,确保开柜指令的正确生成。
This commit is contained in:
parent
63e2797ed9
commit
b11f1640a7
|
@ -7,6 +7,8 @@ import com.agileboot.common.exception.ApiException;
|
||||||
import com.agileboot.common.exception.error.ErrorCode;
|
import com.agileboot.common.exception.error.ErrorCode;
|
||||||
import com.agileboot.domain.cabinet.cell.model.CabinetCellModel;
|
import com.agileboot.domain.cabinet.cell.model.CabinetCellModel;
|
||||||
import com.agileboot.domain.cabinet.cell.model.CabinetCellModelFactory;
|
import com.agileboot.domain.cabinet.cell.model.CabinetCellModelFactory;
|
||||||
|
import com.agileboot.domain.cabinet.mainboard.model.CabinetMainboardModel;
|
||||||
|
import com.agileboot.domain.cabinet.mainboard.model.CabinetMainboardModelFactory;
|
||||||
import com.agileboot.domain.cabinet.operation.command.AddCabinetCellOperationCommand;
|
import com.agileboot.domain.cabinet.operation.command.AddCabinetCellOperationCommand;
|
||||||
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModel;
|
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModel;
|
||||||
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModelFactory;
|
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModelFactory;
|
||||||
|
@ -36,6 +38,7 @@ public class CabinetCellController {
|
||||||
private final CabinetCellModelFactory cabinetCellModelFactory;
|
private final CabinetCellModelFactory cabinetCellModelFactory;
|
||||||
private final GoodsModelFactory goodsModelFactory;
|
private final GoodsModelFactory goodsModelFactory;
|
||||||
private final SmartCabinetModelFactory smartCabinetModelFactory;
|
private final SmartCabinetModelFactory smartCabinetModelFactory;
|
||||||
|
private final CabinetMainboardModelFactory cabinetMainboardModelFactory;
|
||||||
|
|
||||||
@GetMapping("/detail")
|
@GetMapping("/detail")
|
||||||
public ResponseDTO<List<CabinetDetailDTO>> getCabinetDetail() {
|
public ResponseDTO<List<CabinetDetailDTO>> getCabinetDetail() {
|
||||||
|
@ -54,7 +57,11 @@ public class CabinetCellController {
|
||||||
CabinetCellOperationModel cellOperationModel = cabinetCellOperationModelFactory.create();
|
CabinetCellOperationModel cellOperationModel = cabinetCellOperationModelFactory.create();
|
||||||
|
|
||||||
SmartCabinetModel smartCabinetModel = smartCabinetModelFactory.loadById(cabinetId);
|
SmartCabinetModel smartCabinetModel = smartCabinetModelFactory.loadById(cabinetId);
|
||||||
Integer lockControlNo = smartCabinetModel.getLockControlNo();
|
|
||||||
|
CabinetCellModel cabinetCellModel = cabinetCellModelFactory.loadById(operationCommand.getCellId());
|
||||||
|
CabinetMainboardModel cabinetMainboardModel = cabinetMainboardModelFactory.loadById(cabinetCellModel.getMainboardId());
|
||||||
|
Integer lockControlNo = cabinetMainboardModel.getLockControlNo();
|
||||||
|
|
||||||
// 发送指令
|
// 发送指令
|
||||||
String mqttDate = "8A";
|
String mqttDate = "8A";
|
||||||
mqttDate += String.format("%02X", lockControlNo);
|
mqttDate += String.format("%02X", lockControlNo);
|
||||||
|
@ -72,7 +79,6 @@ public class CabinetCellController {
|
||||||
if (operationCommand.getCellId() == null) {
|
if (operationCommand.getCellId() == null) {
|
||||||
log.error("openCabinet 格口ID为空");
|
log.error("openCabinet 格口ID为空");
|
||||||
} else {
|
} else {
|
||||||
CabinetCellModel cabinetCellModel = cabinetCellModelFactory.loadById(operationCommand.getCellId());
|
|
||||||
operationCommand.setGoodsId(cabinetCellModel.getGoodsId());
|
operationCommand.setGoodsId(cabinetCellModel.getGoodsId());
|
||||||
operationCommand.setGoodsName("");
|
operationCommand.setGoodsName("");
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,10 @@ public class CabinetCellEntity extends BaseEntity<CabinetCellEntity> {
|
||||||
@TableField("cabinet_id")
|
@TableField("cabinet_id")
|
||||||
private Long cabinetId;
|
private Long cabinetId;
|
||||||
|
|
||||||
|
@ApiModelProperty("关联主板ID")
|
||||||
|
@TableField("mainboard_id")
|
||||||
|
private Long mainboardId;
|
||||||
|
|
||||||
@ApiModelProperty("格口号")
|
@ApiModelProperty("格口号")
|
||||||
@TableField("cell_no")
|
@TableField("cell_no")
|
||||||
private Integer cellNo;
|
private Integer cellNo;
|
||||||
|
|
|
@ -37,6 +37,9 @@ public class CabinetCellDTO {
|
||||||
@ExcelColumn(name = "关联柜机ID")
|
@ExcelColumn(name = "关联柜机ID")
|
||||||
private Long cabinetId;
|
private Long cabinetId;
|
||||||
|
|
||||||
|
@ExcelColumn(name = "关联主板ID")
|
||||||
|
private Long mainboardId;
|
||||||
|
|
||||||
@ExcelColumn(name = "格口号")
|
@ExcelColumn(name = "格口号")
|
||||||
private Integer cellNo;
|
private Integer cellNo;
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,10 @@ import com.agileboot.common.exception.ApiException;
|
||||||
import com.agileboot.common.exception.error.ErrorCode;
|
import com.agileboot.common.exception.error.ErrorCode;
|
||||||
import com.agileboot.domain.cabinet.cell.db.CabinetCellEntity;
|
import com.agileboot.domain.cabinet.cell.db.CabinetCellEntity;
|
||||||
import com.agileboot.domain.cabinet.cell.db.CabinetCellService;
|
import com.agileboot.domain.cabinet.cell.db.CabinetCellService;
|
||||||
|
import com.agileboot.domain.cabinet.mainboard.db.CabinetMainboardEntity;
|
||||||
|
import com.agileboot.domain.cabinet.mainboard.db.CabinetMainboardService;
|
||||||
|
import com.agileboot.domain.cabinet.mainboard.model.CabinetMainboardModel;
|
||||||
|
import com.agileboot.domain.cabinet.mainboard.model.CabinetMainboardModelFactory;
|
||||||
import com.agileboot.domain.cabinet.operation.command.AddCabinetCellOperationCommand;
|
import com.agileboot.domain.cabinet.operation.command.AddCabinetCellOperationCommand;
|
||||||
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModel;
|
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModel;
|
||||||
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModelFactory;
|
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModelFactory;
|
||||||
|
@ -75,6 +79,7 @@ public class OrderApplicationService {
|
||||||
private final QyUserModelFactory qyUserModelFactory;
|
private final QyUserModelFactory qyUserModelFactory;
|
||||||
private final CabinetCellOperationModelFactory cabinetCellOperationModelFactory;
|
private final CabinetCellOperationModelFactory cabinetCellOperationModelFactory;
|
||||||
private final PaymentOperationLogApplicationService paymentOperationLogApplicationService;
|
private final PaymentOperationLogApplicationService paymentOperationLogApplicationService;
|
||||||
|
private final CabinetMainboardService cabinetMainboardService;
|
||||||
|
|
||||||
public PageDTO<OrderWithGoodsDTO> getOrderList(SearchShopOrderQuery<OrderWithGoodsDTO> query) {
|
public PageDTO<OrderWithGoodsDTO> getOrderList(SearchShopOrderQuery<OrderWithGoodsDTO> query) {
|
||||||
Page<OrderWithGoodsDTO> page = orderService.getOrderList(query);
|
Page<OrderWithGoodsDTO> page = orderService.getOrderList(query);
|
||||||
|
@ -111,6 +116,8 @@ public class OrderApplicationService {
|
||||||
throw new ApiException(ErrorCode.Client.COMMON_FORBIDDEN_TO_CALL, "柜子不存在");
|
throw new ApiException(ErrorCode.Client.COMMON_FORBIDDEN_TO_CALL, "柜子不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CabinetMainboardEntity cabinetMainboard = cabinetMainboardService.getById(cabinetCellEntity.getMainboardId());
|
||||||
|
|
||||||
operationCommand.setCellId(goodsEntity.getCellId());
|
operationCommand.setCellId(goodsEntity.getCellId());
|
||||||
operationCommand.setGoodsId(goodsEntity.getGoodsId());
|
operationCommand.setGoodsId(goodsEntity.getGoodsId());
|
||||||
operationCommand.setGoodsName(goodsEntity.getGoodsName());
|
operationCommand.setGoodsName(goodsEntity.getGoodsName());
|
||||||
|
@ -120,7 +127,7 @@ public class OrderApplicationService {
|
||||||
// 构造MQTT开柜指令:
|
// 构造MQTT开柜指令:
|
||||||
// 指令格式:8A + 锁控编号(2位HEX) + 引脚号(2位HEX) + 操作码11
|
// 指令格式:8A + 锁控编号(2位HEX) + 引脚号(2位HEX) + 操作码11
|
||||||
String mqttDate = "8A";
|
String mqttDate = "8A";
|
||||||
mqttDate += String.format("%02X", smartCabinet.getLockControlNo());
|
mqttDate += String.format("%02X", cabinetMainboard.getLockControlNo());
|
||||||
mqttDate += String.format("%02X", cabinetCellEntity.getPinNo());
|
mqttDate += String.format("%02X", cabinetCellEntity.getPinNo());
|
||||||
mqttDate += "11";
|
mqttDate += "11";
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Reference in New Issue