添加订单状态已下发,已充值逻辑

This commit is contained in:
蒾酒
2024-12-31 13:45:02 +08:00
parent 84ee4f046f
commit 48b18a9e8b
3 changed files with 33 additions and 3 deletions

View File

@ -10,7 +10,9 @@ import com.fastbee.iot.mapper.DeviceReportInfoMapper;
import com.fastbee.mq.redischannel.producer.IssueInstructionsProducer;
import com.fastbee.mq.service.impl.DeviceOtherMsgHandler;
import com.fastbee.mqttclient.PubMqttClient;
import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
import com.fastbee.rechargecard.domain.NgWaterPumpUsageRecords;
import com.fastbee.rechargecard.mapper.NgUserRechargeRecordsMapper;
import com.fastbee.rechargecard.mapper.NgWaterPumpUsageRecordsMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -45,6 +47,9 @@ public class DeviceOtherMsgConsumer {
@Autowired
private NgWaterPumpUsageRecordsMapper ngWaterPumpUsageRecordsMapper;
@Autowired
private NgUserRechargeRecordsMapper ngUserRechargeRecordsMapper;
@Autowired
private StringRedisTemplate stringRedisTemplate;
@ -119,7 +124,7 @@ public class DeviceOtherMsgConsumer {
reportMsg.put("pakSn",jsonObject.getStr("pakSn"));
// reportMsg.put("data","heartBeat");
// jsonObject.set("code",100);
issueInstructionsProducer.receiveDataReportResponse(productId.toString(),serialNumber,JSONUtil.toJsonStr(jsonObject));
issueInstructionsProducer.receiveDataReportResponse(productId.toString(),serialNumber,JSONUtil.toJsonStr(reportMsg));
}
}
@ -140,6 +145,27 @@ public class DeviceOtherMsgConsumer {
//回应
} else if (topic.endsWith("/cmd/reply")) {
//收到充值结果指令
JSONObject jsonObject = JSONUtil.parseObj(new String(data));
if(jsonObject.getStr("type").equals("devCmdAck")){
JSONObject data1 = jsonObject.getJSONObject("data");
Long orderNum = data1.getLong("orderNum");
//修改订单状态为已充值
try {
new LambdaUpdateChainWrapper<>(ngUserRechargeRecordsMapper)
.set(NgUserRechargeRecords::getStatus,3)
.eq(NgUserRechargeRecords::getId,orderNum)
.update();
}catch (Exception e){
}
}
deviceCmdAckHandler(new String(data));
updateDeviceOnlineStatus( productId,serialNumber);
// updateDeviceOnlineStatusDb(serialNumber);