用户充值接口修改

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 @Data
public class RechargecardUser { public class RechargecardUser {
private String cardnumber; private Integer cardNumber;//卡号
private BigDecimal number; private BigDecimal amount;//充值金额
private Integer status; private Integer type;//充值方式
private String areacode; private Integer areaCode;//区域码
private String deviceNumber;//设备码
private Integer water;//充值水量
} }

View File

@ -1,10 +1,17 @@
package com.fastbee.rechargecard.service.impl; package com.fastbee.rechargecard.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.UUID;
import cn.hutool.core.lang.Console; 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.common.utils.DateUtils;
import com.fastbee.mqttclient.PubMqttClient;
import com.fastbee.rechargecard.domain.NgUserRechargeRecords; import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
import com.fastbee.rechargecard.domain.UserConsumptionDetails; import com.fastbee.rechargecard.domain.UserConsumptionDetails;
import com.fastbee.rechargecard.domain.dto.RechargecardUser; import com.fastbee.rechargecard.domain.dto.RechargecardUser;
@ -25,8 +32,9 @@ import com.fastbee.rechargecard.service.IUserRechargeCardsService;
@Service @Service
public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
{ {
/*@Autowired @Autowired
private UserRechargeCardsMapper userRechargeCardsMapper;*/ private PubMqttClient pubMqttClient;
@Autowired @Autowired
private UserRechargeCardsMapper userRechargeCardsMapper; private UserRechargeCardsMapper userRechargeCardsMapper;
@Autowired @Autowired
@ -124,22 +132,24 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
public int updateUserRecharge(RechargecardUser rechargecardUser){ public int updateUserRecharge(RechargecardUser rechargecardUser){
// 根据id查询用户充值卡信息 // 根据id查询用户充值卡信息
UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(rechargecardUser.getCardnumber()); // UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(rechargecardUser.getCardNumber()));
if (info == null) { // if (info == null) {
// 如果没有找到对应的记录返回0或者一个错误码 // // 如果没有找到对应的记录返回0或者一个错误码
return 0; // throw new ServiceException("卡号不存在!");
} // }
UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails(); UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails();
userConsumptionDetails.setUserId(info.getUserId()); // userConsumptionDetails.setUserId(info.getUserId());
userConsumptionDetails.setCardNumber(info.getCardNumber()); // userConsumptionDetails.setCardNumber(info.getCardNumber());
userConsumptionDetails.setCardNumber(String.valueOf(rechargecardUser.getCardNumber()));
userConsumptionDetails.setBillingType(0); userConsumptionDetails.setBillingType(0);
userConsumptionDetails.setAmountDue(rechargecardUser.getNumber()); userConsumptionDetails.setAmountDue(rechargecardUser.getAmount());
userConsumptionDetails.setBillingDate(DateUtils.getNowDate()); userConsumptionDetails.setBillingDate(DateUtils.getNowDate());
userConsumptionDetails.setPaymentStatus(2); userConsumptionDetails.setPaymentStatus(2);
userConsumptionDetails.setPaymentMethod(rechargecardUser.getStatus()); userConsumptionDetails.setPaymentMethod(rechargecardUser.getType());
userConsumptionDetails.setPaymentTime(DateUtils.getNowDate()); userConsumptionDetails.setPaymentTime(DateUtils.getNowDate());
userConsumptionDetails.setStatus(0); userConsumptionDetails.setStatus(0);
userConsumptionDetails.setAreaCode(rechargecardUser.getAreacode()); userConsumptionDetails.setAreaCode(String.valueOf(rechargecardUser.getAreaCode()));
userConsumptionDetails.setCreateTime(DateUtils.getNowDate()); userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
/*UserConsumptionDetails userConsumptionDetails = UserConsumptionDetails.builder() /*UserConsumptionDetails userConsumptionDetails = UserConsumptionDetails.builder()
.userId(info.getUserId()) .userId(info.getUserId())
@ -154,20 +164,20 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
.areaCode(rechargecardUser.getAreacode()) // 假设 getAreacode() 方法返回区域代码 .areaCode(rechargecardUser.getAreacode()) // 假设 getAreacode() 方法返回区域代码
.build();*/ .build();*/
NgUserRechargeRecords ngUserRechargeRecords=new NgUserRechargeRecords(); NgUserRechargeRecords ngUserRechargeRecords=new NgUserRechargeRecords();
ngUserRechargeRecords.setUserId(info.getUserId()); // ngUserRechargeRecords.setUserId(info.getUserId());
ngUserRechargeRecords.setUserName(info.getUserName()); // ngUserRechargeRecords.setUserName(info.getUserName());
ngUserRechargeRecords.setCardNumber(info.getCardNumber()); // ngUserRechargeRecords.setCardNumber(info.getCardNumber());
ngUserRechargeRecords.setAreaCode(rechargecardUser.getAreacode()); ngUserRechargeRecords.setCardNumber(String.valueOf(rechargecardUser.getCardNumber()));
ngUserRechargeRecords.setType(rechargecardUser.getStatus()); ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreaCode()));
ngUserRechargeRecords.setAmount(rechargecardUser.getNumber()); ngUserRechargeRecords.setType(rechargecardUser.getType());
ngUserRechargeRecords.setBalance(info.getBalance()); ngUserRechargeRecords.setAmount(rechargecardUser.getAmount());
// ngUserRechargeRecords.setBalance(info.getBalance());
ngUserRechargeRecords.setBalance(rechargecardUser.getAmount());
ngUserRechargeRecords.setRechargeTime(DateUtils.getNowDate()); ngUserRechargeRecords.setRechargeTime(DateUtils.getNowDate());
ngUserRechargeRecords.setStatus(0); 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()); /* userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
NgUserRechargeRecords ngUserRechargeRecords = NgUserRechargeRecords.builder() NgUserRechargeRecords ngUserRechargeRecords = NgUserRechargeRecords.builder()
@ -182,9 +192,26 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
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(rechargecardUser.getAreacode()); // info.setAreaCode(String.valueOf(rechargecardUser.getAreaCode()));
return userRechargeCardsMapper.updateUserRechargeCards(info);
//构建主题
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;
} }
} }