用户充值接口修改

This commit is contained in:
mi9688 2024-12-20 16:14:18 +08:00
parent 3188472787
commit c925f0ea99
2 changed files with 60 additions and 31 deletions

View File

@ -6,8 +6,10 @@ import java.math.BigDecimal;
@Data
public class RechargecardUser {
private String cardnumber;
private BigDecimal number;
private Integer status;
private String areacode;
private Integer cardNumber;//卡号
private BigDecimal amount;//充值金额
private Integer type;//充值方式
private Integer areaCode;//区域码
private String deviceNumber;//设备码
private Integer water;//充值水量
}

View File

@ -1,10 +1,17 @@
package com.fastbee.rechargecard.service.impl;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import cn.hutool.core.lang.Console;
import cn.hutool.json.JSONUtil;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.mqttclient.PubMqttClient;
import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
import com.fastbee.rechargecard.domain.UserConsumptionDetails;
import com.fastbee.rechargecard.domain.dto.RechargecardUser;
@ -25,8 +32,9 @@ import com.fastbee.rechargecard.service.IUserRechargeCardsService;
@Service
public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
{
/*@Autowired
private UserRechargeCardsMapper userRechargeCardsMapper;*/
@Autowired
private PubMqttClient pubMqttClient;
@Autowired
private UserRechargeCardsMapper userRechargeCardsMapper;
@Autowired
@ -124,22 +132,24 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
public int updateUserRecharge(RechargecardUser rechargecardUser){
// 根据id查询用户充值卡信息
UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(rechargecardUser.getCardnumber());
if (info == null) {
// 如果没有找到对应的记录返回0或者一个错误码
return 0;
}
// UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(rechargecardUser.getCardNumber()));
// if (info == null) {
// // 如果没有找到对应的记录返回0或者一个错误码
// throw new ServiceException("卡号不存在!");
// }
UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails();
userConsumptionDetails.setUserId(info.getUserId());
userConsumptionDetails.setCardNumber(info.getCardNumber());
// userConsumptionDetails.setUserId(info.getUserId());
// userConsumptionDetails.setCardNumber(info.getCardNumber());
userConsumptionDetails.setCardNumber(String.valueOf(rechargecardUser.getCardNumber()));
userConsumptionDetails.setBillingType(0);
userConsumptionDetails.setAmountDue(rechargecardUser.getNumber());
userConsumptionDetails.setAmountDue(rechargecardUser.getAmount());
userConsumptionDetails.setBillingDate(DateUtils.getNowDate());
userConsumptionDetails.setPaymentStatus(2);
userConsumptionDetails.setPaymentMethod(rechargecardUser.getStatus());
userConsumptionDetails.setPaymentMethod(rechargecardUser.getType());
userConsumptionDetails.setPaymentTime(DateUtils.getNowDate());
userConsumptionDetails.setStatus(0);
userConsumptionDetails.setAreaCode(rechargecardUser.getAreacode());
userConsumptionDetails.setAreaCode(String.valueOf(rechargecardUser.getAreaCode()));
userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
/*UserConsumptionDetails userConsumptionDetails = UserConsumptionDetails.builder()
.userId(info.getUserId())
@ -154,20 +164,20 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
.areaCode(rechargecardUser.getAreacode()) // 假设 getAreacode() 方法返回区域代码
.build();*/
NgUserRechargeRecords ngUserRechargeRecords=new NgUserRechargeRecords();
ngUserRechargeRecords.setUserId(info.getUserId());
ngUserRechargeRecords.setUserName(info.getUserName());
ngUserRechargeRecords.setCardNumber(info.getCardNumber());
ngUserRechargeRecords.setAreaCode(rechargecardUser.getAreacode());
ngUserRechargeRecords.setType(rechargecardUser.getStatus());
ngUserRechargeRecords.setAmount(rechargecardUser.getNumber());
ngUserRechargeRecords.setBalance(info.getBalance());
// ngUserRechargeRecords.setUserId(info.getUserId());
// ngUserRechargeRecords.setUserName(info.getUserName());
// ngUserRechargeRecords.setCardNumber(info.getCardNumber());
ngUserRechargeRecords.setCardNumber(String.valueOf(rechargecardUser.getCardNumber()));
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreaCode()));
ngUserRechargeRecords.setType(rechargecardUser.getType());
ngUserRechargeRecords.setAmount(rechargecardUser.getAmount());
// ngUserRechargeRecords.setBalance(info.getBalance());
ngUserRechargeRecords.setBalance(rechargecardUser.getAmount());
ngUserRechargeRecords.setRechargeTime(DateUtils.getNowDate());
ngUserRechargeRecords.setStatus(0);
ngUserRechargeRecords.setAreaCode(rechargecardUser.getAreacode());
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreaCode()));
// 计算新的余额
BigDecimal newBalance = rechargecardUser.getNumber().add(info.getBalance());
// BigDecimal newBalance = rechargecardUser.getAmount().add(info.getBalance());
/* userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
NgUserRechargeRecords ngUserRechargeRecords = NgUserRechargeRecords.builder()
@ -182,9 +192,26 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
userRechargeRecordsMapper.insertNgUserRechargeRecords(ngUserRechargeRecords);
userConsumptionDetailsMapper.insertUserConsumptionDetails(userConsumptionDetails);
// 更新用户充值卡信息包括新的余额
info.setBalance(newBalance);
info.setUpdateTime(DateUtils.getNowDate());
info.setAreaCode(rechargecardUser.getAreacode());
return userRechargeCardsMapper.updateUserRechargeCards(info);
// info.setBalance(newBalance);
// info.setUpdateTime(DateUtils.getNowDate());
// info.setAreaCode(String.valueOf(rechargecardUser.getAreaCode()));
//构建主题
String topic ="hzlink/147/"+rechargecardUser.getDeviceNumber()+"/cmd/down";
//构建消息
Map<String,Object> param = new HashMap<>();
//远程阀控
param.put("cmd",1000);
Map<String,Object> data = new HashMap<>();
data.put("orderNum", ngUserRechargeRecords.getId());
data.put("cardNum",rechargecardUser.getCardNumber());
data.put("areaCode",rechargecardUser.getAreaCode());
data.put("investBalance",rechargecardUser.getAmount().doubleValue());
data.put("investWater",rechargecardUser.getWater());
param.put("data",data);
pubMqttClient.publish(1,true,topic, JSONUtil.toJsonStr(param));
// int i = userRechargeCardsMapper.updateUserRechargeCards(info);
return 1;
}
}