修改充值查询报文处理,以及充值机充值逻辑
This commit is contained in:
parent
745bde18ec
commit
882190f4e9
@ -252,6 +252,7 @@ public class DeviceOtherMsgConsumer {
|
|||||||
if("startPump".equals(JSONUtil.parseObj(data1).get("action")))
|
if("startPump".equals(JSONUtil.parseObj(data1).get("action")))
|
||||||
{
|
{
|
||||||
System.err.println("开阀");
|
System.err.println("开阀");
|
||||||
|
log.info("设备{}开阀",serialNumber);
|
||||||
//开阀-添加灌溉记录
|
//开阀-添加灌溉记录
|
||||||
UserIrrigationRecord userIrrigationRecord=new UserIrrigationRecord();
|
UserIrrigationRecord userIrrigationRecord=new UserIrrigationRecord();
|
||||||
userIrrigationRecord.setDeviceNumber(serialNumber);//设备编码
|
userIrrigationRecord.setDeviceNumber(serialNumber);//设备编码
|
||||||
@ -319,8 +320,9 @@ public class DeviceOtherMsgConsumer {
|
|||||||
System.err.println("充值卡金额同步失败");
|
System.err.println("充值卡金额同步失败");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else if("stopPump".equals(JSONUtil.parseObj(data1).get("action"))){
|
||||||
System.err.println("关阀");
|
System.err.println("关阀");
|
||||||
|
log.info("设备{}关",serialNumber);
|
||||||
//关阀-修改灌溉记录,修改结束时间、灌溉用水量(做差 关阀-开阀用户总累计流量。)查卡号最新一条记录
|
//关阀-修改灌溉记录,修改结束时间、灌溉用水量(做差 关阀-开阀用户总累计流量。)查卡号最新一条记录
|
||||||
String cardNumber=dataJson.getStr("cardId");//解析cardId
|
String cardNumber=dataJson.getStr("cardId");//解析cardId
|
||||||
//根据设备编码和卡号获取当前状态为灌溉中的灌溉记录
|
//根据设备编码和卡号获取当前状态为灌溉中的灌溉记录
|
||||||
@ -378,7 +380,7 @@ public class DeviceOtherMsgConsumer {
|
|||||||
}
|
}
|
||||||
//如果是设备刷卡上报的查询报文
|
//如果是设备刷卡上报的查询报文
|
||||||
if(data1.getStr("action")!=null&& "askMsg".equals(data1.getStr("action"))){
|
if(data1.getStr("action")!=null&& "askMsg".equals(data1.getStr("action"))){
|
||||||
cardReportHandler(productId,serialNumber,data1);
|
cardReportHandler(productId,serialNumber,jsonObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -501,37 +503,57 @@ public class DeviceOtherMsgConsumer {
|
|||||||
* 处理刷卡上报查询报文
|
* 处理刷卡上报查询报文
|
||||||
*/
|
*/
|
||||||
private void cardReportHandler(Long productId,String serialNumber,JSONObject dataObj){
|
private void cardReportHandler(Long productId,String serialNumber,JSONObject dataObj){
|
||||||
|
JSONObject data = dataObj.getJSONObject("data");
|
||||||
//解析消息
|
//解析消息
|
||||||
String cardId=dataObj.getStr("cardId");//卡号
|
String cardId=data.getStr("cardId");//卡号
|
||||||
String areaCode=dataObj.getStr("areaCode");//区域码
|
String areaCode=data.getStr("areaCode");//区域码
|
||||||
//查询是否有未下发的指令
|
//先回应代表平台收到了来自设备的查询报文
|
||||||
|
Map<String,Object> reply=new HashMap<>();
|
||||||
|
reply.put("pakSn",dataObj.getInt("pakSn"));
|
||||||
|
//默认没有充值的订单
|
||||||
|
reply.put("cmd",400);
|
||||||
|
Map<String,Object> dataValue=new HashMap<>();
|
||||||
|
// dataValue.put("cmd",1000);
|
||||||
|
// data.put("orderNum",item.getId());//订单号
|
||||||
|
// dataValue.put("cardId",cardId);//卡号
|
||||||
|
// dataValue.put("areaCode",areaCode);//区域码
|
||||||
|
// data.put("investBalance",item.getAmount().doubleValue()*100);
|
||||||
|
// data.put("investWater",rechargecardUser.getWater()*100);
|
||||||
|
|
||||||
|
reply.put("msg","");
|
||||||
|
|
||||||
|
|
||||||
|
//查询是否待充值的订单
|
||||||
List<NgUserRechargeRecords> list = new LambdaQueryChainWrapper<>(ngUserRechargeRecordsMapper)
|
List<NgUserRechargeRecords> list = new LambdaQueryChainWrapper<>(ngUserRechargeRecordsMapper)
|
||||||
.select(NgUserRechargeRecords::getId, NgUserRechargeRecords::getStatus,NgUserRechargeRecords::getAmount)
|
.select(NgUserRechargeRecords::getId, NgUserRechargeRecords::getStatus,NgUserRechargeRecords::getAmount)
|
||||||
.eq(NgUserRechargeRecords::getCardNumber,cardId)
|
.eq(NgUserRechargeRecords::getCardNumber,cardId)
|
||||||
.eq(NgUserRechargeRecords::getStatus,1)
|
.eq(NgUserRechargeRecords::getStatus,1)
|
||||||
.list();
|
.list();
|
||||||
|
//如果有待充值的订单
|
||||||
|
if(!list.isEmpty()){
|
||||||
|
reply.put("cmd",410);
|
||||||
|
dataValue.put("orderNum",list.get(0).getId());//订单号
|
||||||
|
reply.put("data",dataValue);
|
||||||
|
pubMqttClient.publish(1,true,"hzlink/"+productId+"/"+serialNumber+"/info/reply", JSONUtil.toJsonStr(reply));
|
||||||
|
}
|
||||||
|
|
||||||
//如果订单已经支付但并未下发
|
//如果订单已经支付但并未下发
|
||||||
list.forEach(item->{
|
list.forEach(item->{
|
||||||
//下发指令
|
//下发指令
|
||||||
// 构建回应
|
// 构建回应
|
||||||
Map<String,Object> reply=new HashMap<>();
|
Map<String,Object> recharge=new HashMap<>();
|
||||||
reply.put("cmd",5300);
|
recharge.put("cmd",1000);
|
||||||
Map<String,Object> data=new HashMap<>();
|
Map<String,Object> data1=new HashMap<>();
|
||||||
data.put("cmd",1000);
|
|
||||||
data.put("orderNum",item.getId());//订单号
|
data.put("orderNum",item.getId());//订单号
|
||||||
data.put("cardId",cardId);//卡号
|
data.put("cardNum",cardId);//卡号
|
||||||
data.put("areaCode",areaCode);//区域码
|
data.put("areaCode",areaCode);//区域码
|
||||||
data.put("investBalance",item.getAmount().doubleValue()*100);
|
data.put("investBalance",item.getAmount().doubleValue()*100);
|
||||||
// data.put("investWater",rechargecardUser.getWater()*100);
|
data.put("investWater",1*100);
|
||||||
reply.put("data",data);
|
reply.put("data",data);
|
||||||
//发送回应
|
//发送回应
|
||||||
issueInstructionsProducer.receiveDataReportResponse(productId.toString(),serialNumber,JSONUtil.toJsonStr(reply));
|
pubMqttClient.publish(1,true,"hzlink/"+productId+"/"+serialNumber+"/cmd/down", JSONUtil.toJsonStr(recharge));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
@ -223,38 +223,26 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
|
|||||||
public int updateUserRecharge(RechargecardUser rechargecardUser){
|
public int updateUserRecharge(RechargecardUser rechargecardUser){
|
||||||
|
|
||||||
// 根据id查询用户充值卡信息
|
// 根据id查询用户充值卡信息
|
||||||
UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(rechargecardUser.getCardnumber()));
|
// UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(rechargecardUser.getCardnumber()));
|
||||||
if (info == null) {
|
/*if (info == null) {
|
||||||
// 如果没有找到对应的记录,返回0或者一个错误码
|
// 如果没有找到对应的记录,返回0或者一个错误码
|
||||||
//throw new ServiceException("卡号不存在!");
|
throw new ServiceException("卡号不存在!");
|
||||||
UserRechargeCards userRechargeCards=new UserRechargeCards();
|
}*/
|
||||||
userRechargeCards.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
|
||||||
userRechargeCards.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
|
||||||
userRechargeCardsMapper.insertUserRechargeCards(userRechargeCards);//如果没有该卡号则新建一条
|
|
||||||
info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(rechargecardUser.getCardnumber()));
|
|
||||||
}
|
|
||||||
|
|
||||||
UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails();
|
// UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails();
|
||||||
if(info.getUserId()!=null)
|
// userConsumptionDetails.setUserId(info.getUserId());
|
||||||
{
|
|
||||||
userConsumptionDetails.setUserId(info.getUserId());
|
|
||||||
}
|
|
||||||
// userConsumptionDetails.setCardNumber(info.getCardNumber());
|
// userConsumptionDetails.setCardNumber(info.getCardNumber());
|
||||||
userConsumptionDetails.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
// userConsumptionDetails.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
||||||
userConsumptionDetails.setBillingType(0);
|
// userConsumptionDetails.setBillingType(0);
|
||||||
userConsumptionDetails.setAmountDue(rechargecardUser.getAmount());
|
// userConsumptionDetails.setAmountDue(rechargecardUser.getAmount());
|
||||||
userConsumptionDetails.setBillingDate(DateUtils.getNowDate());
|
// userConsumptionDetails.setBillingDate(DateUtils.getNowDate());
|
||||||
userConsumptionDetails.setPaymentStatus(2);
|
// userConsumptionDetails.setPaymentStatus(2);
|
||||||
userConsumptionDetails.setPaymentMethod(rechargecardUser.getType());
|
// userConsumptionDetails.setPaymentMethod(rechargecardUser.getType());
|
||||||
userConsumptionDetails.setPaymentTime(DateUtils.getNowDate());
|
// userConsumptionDetails.setPaymentTime(DateUtils.getNowDate());
|
||||||
userConsumptionDetails.setStatus(0);
|
// userConsumptionDetails.setStatus(0);
|
||||||
userConsumptionDetails.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
// userConsumptionDetails.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||||
userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
// userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
||||||
if(info.getDeptId()!=null)
|
// userConsumptionDetails.setDeptId(info.getDeptId());
|
||||||
{
|
|
||||||
userConsumptionDetails.setDeptId(info.getDeptId());
|
|
||||||
}
|
|
||||||
|
|
||||||
/*UserConsumptionDetails userConsumptionDetails = UserConsumptionDetails.builder()
|
/*UserConsumptionDetails userConsumptionDetails = UserConsumptionDetails.builder()
|
||||||
.userId(info.getUserId())
|
.userId(info.getUserId())
|
||||||
.cardNumber(info.getCardNumber())
|
.cardNumber(info.getCardNumber())
|
||||||
@ -268,32 +256,22 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
|
|||||||
.areaCode(rechargecardUser.getAreacode()) // 假设 getAreacode() 方法返回区域代码
|
.areaCode(rechargecardUser.getAreacode()) // 假设 getAreacode() 方法返回区域代码
|
||||||
.build();*/
|
.build();*/
|
||||||
NgUserRechargeRecords ngUserRechargeRecords=new NgUserRechargeRecords();
|
NgUserRechargeRecords ngUserRechargeRecords=new NgUserRechargeRecords();
|
||||||
if(info.getUserId()!=null)
|
// ngUserRechargeRecords.setUserId(info.getUserId());
|
||||||
{
|
// ngUserRechargeRecords.setUserName(info.getUserName());
|
||||||
ngUserRechargeRecords.setUserId(info.getUserId());
|
// ngUserRechargeRecords.setCardNumber(info.getCardNumber());
|
||||||
}
|
|
||||||
if(info.getUserName()!=null)
|
|
||||||
{
|
|
||||||
ngUserRechargeRecords.setUserName(info.getUserName());
|
|
||||||
}
|
|
||||||
/* ngUserRechargeRecords.setCardNumber(info.getCardNumber());*/
|
|
||||||
ngUserRechargeRecords.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
ngUserRechargeRecords.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
||||||
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||||
ngUserRechargeRecords.setType(rechargecardUser.getType());
|
ngUserRechargeRecords.setType(rechargecardUser.getType());
|
||||||
ngUserRechargeRecords.setAmount(rechargecardUser.getAmount());
|
ngUserRechargeRecords.setAmount(rechargecardUser.getAmount());
|
||||||
ngUserRechargeRecords.setBalance(info.getBalance());
|
// ngUserRechargeRecords.setBalance(info.getBalance());
|
||||||
ngUserRechargeRecords.setBalance(rechargecardUser.getAmount());
|
ngUserRechargeRecords.setBalance(rechargecardUser.getAmount());
|
||||||
ngUserRechargeRecords.setRechargeTime(DateUtils.getNowDate());
|
ngUserRechargeRecords.setRechargeTime(DateUtils.getNowDate());
|
||||||
ngUserRechargeRecords.setStatus(0);
|
ngUserRechargeRecords.setStatus(1);
|
||||||
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||||
ngUserRechargeRecords.setSerialNumber(rechargecardUser.getDeviceNumber());
|
ngUserRechargeRecords.setSerialNumber(rechargecardUser.getDeviceNumber());
|
||||||
if(info.getDeptId()!=null)
|
// ngUserRechargeRecords.setDeptId(info.getDeptId());
|
||||||
{
|
|
||||||
ngUserRechargeRecords.setDeptId(info.getDeptId());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 计算新的余额
|
// 计算新的余额
|
||||||
BigDecimal newBalance = rechargecardUser.getAmount().add(info.getBalance());
|
// BigDecimal newBalance = rechargecardUser.getAmount().add(info.getBalance());
|
||||||
|
|
||||||
/* userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
/* userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
||||||
NgUserRechargeRecords ngUserRechargeRecords = NgUserRechargeRecords.builder()
|
NgUserRechargeRecords ngUserRechargeRecords = NgUserRechargeRecords.builder()
|
||||||
@ -306,28 +284,28 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
|
|||||||
.areaCode(rechargecardUser.getAreacode())
|
.areaCode(rechargecardUser.getAreacode())
|
||||||
.build();*/
|
.build();*/
|
||||||
userRechargeRecordsMapper.insertNgUserRechargeRecords(ngUserRechargeRecords);
|
userRechargeRecordsMapper.insertNgUserRechargeRecords(ngUserRechargeRecords);
|
||||||
userConsumptionDetailsMapper.insertUserConsumptionDetails(userConsumptionDetails);
|
// userConsumptionDetailsMapper.insertUserConsumptionDetails(userConsumptionDetails);
|
||||||
// 更新用户充值卡信息,包括新的余额
|
// // 更新用户充值卡信息,包括新的余额
|
||||||
info.setBalance(newBalance);
|
// info.setBalance(newBalance);
|
||||||
info.setUpdateTime(DateUtils.getNowDate());
|
// info.setUpdateTime(DateUtils.getNowDate());
|
||||||
info.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
// info.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||||
|
|
||||||
//构建主题
|
// //构建主题
|
||||||
String topic ="hzlink/147/"+rechargecardUser.getDeviceNumber()+"/cmd/down";
|
// String topic ="hzlink/147/"+rechargecardUser.getDeviceNumber()+"/cmd/down";
|
||||||
//构建消息
|
// //构建消息
|
||||||
Map<String,Object> param = new HashMap<>();
|
// Map<String,Object> param = new HashMap<>();
|
||||||
//远程阀控
|
// //远程阀控
|
||||||
param.put("cmd",1000);
|
// param.put("cmd",1000);
|
||||||
Map<String,Object> data = new HashMap<>();
|
// Map<String,Object> data = new HashMap<>();
|
||||||
data.put("orderNum", ngUserRechargeRecords.getId());
|
// data.put("orderNum", ngUserRechargeRecords.getId());
|
||||||
data.put("cardNum",rechargecardUser.getCardnumber());
|
// data.put("cardNum",rechargecardUser.getCardnumber());
|
||||||
data.put("areaCode",rechargecardUser.getAreacode());
|
// data.put("areaCode",rechargecardUser.getAreacode());
|
||||||
data.put("investBalance",rechargecardUser.getAmount().doubleValue()*100);
|
// data.put("investBalance",rechargecardUser.getAmount().doubleValue()*100);
|
||||||
data.put("investWater",rechargecardUser.getWater()*100);
|
// data.put("investWater",rechargecardUser.getWater()*100);
|
||||||
|
//
|
||||||
param.put("data",data);
|
// param.put("data",data);
|
||||||
pubMqttClient.publish(1,true,topic, JSONUtil.toJsonStr(param));
|
// pubMqttClient.publish(1,true,topic, JSONUtil.toJsonStr(param));
|
||||||
int i = userRechargeCardsMapper.updateUserRechargeCards(info);
|
// int i = userRechargeCardsMapper.updateUserRechargeCards(info);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user