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.domain.cabinet.cell.model.CabinetCellModel;
|
||||
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.model.CabinetCellOperationModel;
|
||||
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModelFactory;
|
||||
|
@ -36,6 +38,7 @@ public class CabinetCellController {
|
|||
private final CabinetCellModelFactory cabinetCellModelFactory;
|
||||
private final GoodsModelFactory goodsModelFactory;
|
||||
private final SmartCabinetModelFactory smartCabinetModelFactory;
|
||||
private final CabinetMainboardModelFactory cabinetMainboardModelFactory;
|
||||
|
||||
@GetMapping("/detail")
|
||||
public ResponseDTO<List<CabinetDetailDTO>> getCabinetDetail() {
|
||||
|
@ -54,7 +57,11 @@ public class CabinetCellController {
|
|||
CabinetCellOperationModel cellOperationModel = cabinetCellOperationModelFactory.create();
|
||||
|
||||
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";
|
||||
mqttDate += String.format("%02X", lockControlNo);
|
||||
|
@ -72,7 +79,6 @@ public class CabinetCellController {
|
|||
if (operationCommand.getCellId() == null) {
|
||||
log.error("openCabinet 格口ID为空");
|
||||
} else {
|
||||
CabinetCellModel cabinetCellModel = cabinetCellModelFactory.loadById(operationCommand.getCellId());
|
||||
operationCommand.setGoodsId(cabinetCellModel.getGoodsId());
|
||||
operationCommand.setGoodsName("");
|
||||
|
||||
|
|
|
@ -35,6 +35,10 @@ public class CabinetCellEntity extends BaseEntity<CabinetCellEntity> {
|
|||
@TableField("cabinet_id")
|
||||
private Long cabinetId;
|
||||
|
||||
@ApiModelProperty("关联主板ID")
|
||||
@TableField("mainboard_id")
|
||||
private Long mainboardId;
|
||||
|
||||
@ApiModelProperty("格口号")
|
||||
@TableField("cell_no")
|
||||
private Integer cellNo;
|
||||
|
|
|
@ -37,6 +37,9 @@ public class CabinetCellDTO {
|
|||
@ExcelColumn(name = "关联柜机ID")
|
||||
private Long cabinetId;
|
||||
|
||||
@ExcelColumn(name = "关联主板ID")
|
||||
private Long mainboardId;
|
||||
|
||||
@ExcelColumn(name = "格口号")
|
||||
private Integer cellNo;
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ import com.agileboot.common.exception.ApiException;
|
|||
import com.agileboot.common.exception.error.ErrorCode;
|
||||
import com.agileboot.domain.cabinet.cell.db.CabinetCellEntity;
|
||||
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.model.CabinetCellOperationModel;
|
||||
import com.agileboot.domain.cabinet.operation.model.CabinetCellOperationModelFactory;
|
||||
|
@ -75,6 +79,7 @@ public class OrderApplicationService {
|
|||
private final QyUserModelFactory qyUserModelFactory;
|
||||
private final CabinetCellOperationModelFactory cabinetCellOperationModelFactory;
|
||||
private final PaymentOperationLogApplicationService paymentOperationLogApplicationService;
|
||||
private final CabinetMainboardService cabinetMainboardService;
|
||||
|
||||
public PageDTO<OrderWithGoodsDTO> getOrderList(SearchShopOrderQuery<OrderWithGoodsDTO> query) {
|
||||
Page<OrderWithGoodsDTO> page = orderService.getOrderList(query);
|
||||
|
@ -111,6 +116,8 @@ public class OrderApplicationService {
|
|||
throw new ApiException(ErrorCode.Client.COMMON_FORBIDDEN_TO_CALL, "柜子不存在");
|
||||
}
|
||||
|
||||
CabinetMainboardEntity cabinetMainboard = cabinetMainboardService.getById(cabinetCellEntity.getMainboardId());
|
||||
|
||||
operationCommand.setCellId(goodsEntity.getCellId());
|
||||
operationCommand.setGoodsId(goodsEntity.getGoodsId());
|
||||
operationCommand.setGoodsName(goodsEntity.getGoodsName());
|
||||
|
@ -120,7 +127,7 @@ public class OrderApplicationService {
|
|||
// 构造MQTT开柜指令:
|
||||
// 指令格式:8A + 锁控编号(2位HEX) + 引脚号(2位HEX) + 操作码11
|
||||
String mqttDate = "8A";
|
||||
mqttDate += String.format("%02X", smartCabinet.getLockControlNo());
|
||||
mqttDate += String.format("%02X", cabinetMainboard.getLockControlNo());
|
||||
mqttDate += String.format("%02X", cabinetCellEntity.getPinNo());
|
||||
mqttDate += "11";
|
||||
try {
|
||||
|
|
Loading…
Reference in New Issue