修改微信支付逻辑为不登陆输入卡号和区域号也可以支付;修改根据卡号查询卡信息的地方为根据卡号加区域号;开关阀添加刷卡记录

This commit is contained in:
2025-01-06 16:03:23 +08:00
parent 8572ff63e7
commit 9eb126eea0
7 changed files with 113 additions and 20 deletions

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.fastbee.rechargecard.domain.UserRechargeCards;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
@ -16,12 +17,25 @@ import org.springframework.stereotype.Repository;
@Mapper
public interface UserRechargeCardsMapper extends MPJBaseMapper<UserRechargeCards>
{
/**
* 测试方法
* @param id
* @return
*/
public Long test(Long id);
/**
* 根据卡号和区域号查询
* @param cardNumber
* @param areaCode
* @return
*/
@Select("select * from user_recharge_cards where card_number=#{cardNumber} and area_code=#{areaCode}")
public UserRechargeCards selectUserRechargeCardsByCardNumberAndAreaCode(
@Param("cardNumber") String cardNumber,
@Param("areaCode") String areaCode
);
/**
* 查询用户充值卡
*

View File

@ -103,8 +103,10 @@ public class NgUserRechargeRecordsServiceImpl implements INgUserRechargeRecordsS
@Override
public int insertNgUserRechargeRecordsWeChat(WeChatRecharge rechargecardUser) {
// 根据id查询用户充值卡信息
UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(rechargecardUser.getCardnumber()));
//查询用户充值卡信息
String cardNumber=String.valueOf(rechargecardUser.getCardnumber());
String areaCode=String.valueOf(rechargecardUser.getAreacode());
UserRechargeCards info=userRechargeCardsMapper.selectUserRechargeCardsByCardNumberAndAreaCode(cardNumber,areaCode);
/*if (info == null) {
// 如果没有找到对应的记录返回0或者一个错误码
throw new ServiceException("卡号不存在!");

View File

@ -3,6 +3,7 @@ package com.fastbee.rechargecard.service.impl;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
@ -213,8 +214,15 @@ public class UserConsumptionDetailsServiceImpl implements IUserConsumptionDetail
public int insertUserConsumptionDetailsWechat(WeChatRecharge recharge) {
UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails();
userConsumptionDetails.setCardNumber(String.valueOf(recharge.getCardnumber()));
// 根据id查询用户充值卡信息
UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(recharge.getCardnumber()));
// 查询用户充值卡信息
/*QueryWrapper queryWrapper=new QueryWrapper<>(userRechargeCardsMapper);
queryWrapper.eq("card_number",recharge.getCardnumber());
queryWrapper.eq("area_code",recharge.getAreacode());
UserRechargeCards info=userRechargeCardsMapper.selectOne(queryWrapper);*/
String cardNumber=String.valueOf(recharge.getCardnumber());
String areaCode=String.valueOf(recharge.getAreacode());
UserRechargeCards info=userRechargeCardsMapper.selectUserRechargeCardsByCardNumberAndAreaCode(cardNumber,areaCode);
/*if (info == null) {
// 如果没有找到对应的记录返回0或者一个错误码
throw new ServiceException("卡号不存在!");

View File

@ -132,13 +132,14 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
//用户充值卡中的余额更改
String cardNumber=ngUserRechargeRecords.getCardNumber();//卡号
BigDecimal balance=ngUserRechargeRecords.getAmount();//充值金额
String areaCode=ngUserRechargeRecords.getAreaCode();
if(!cardNumber.isEmpty())
{
if(userRechargeCardsMapper.selectUserRechargeCardsByCardNumber(cardNumber)==null)
if(userRechargeCardsMapper.selectUserRechargeCardsByCardNumberAndAreaCode(cardNumber,areaCode)==null)
{
throw new Exception("用户信息不存在");
}
UserRechargeCards rechargeCards=userRechargeCardsMapper.selectUserRechargeCardsByCardNumber(ngUserRechargeRecords.getCardNumber());
UserRechargeCards rechargeCards=userRechargeCardsMapper.selectUserRechargeCardsByCardNumberAndAreaCode(cardNumber,areaCode);
BigDecimal newBalance = rechargeCards.getBalance().add(balance);
System.out.println(cardNumber+"的余额从"+rechargeCards.getBalance()+"变成了"+newBalance);
rechargeCards.setBalance(newBalance);
@ -159,11 +160,10 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
userConsumptionDetails.setPaymentStatus(2);//账单状态更改为已支付
String areaCode=ngUserRechargeRecords.getAreaCode();
if(ngUserRechargeRecords.getSerialNumber()==null){
//String areaCode=ngUserRechargeRecords.getAreaCode();
/*if(ngUserRechargeRecords.getSerialNumber()==null){
throw new ServiceException("充值机编码为空!!!");
}
}*/
//构建主题
// String topic ="hzlink/147/"+ngUserRechargeRecords.getSerialNumber()+"/cmd/down";
//构建消息
@ -228,7 +228,9 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
// 如果没有找到对应的记录返回0或者一个错误码
throw new ServiceException("卡号不存在!");
}*/
UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(rechargecardUser.getCardnumber()));
String cardNumber=String.valueOf(rechargecardUser.getCardnumber());
String areaCode=String.valueOf(rechargecardUser.getAreacode());
UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardNumberAndAreaCode(cardNumber,areaCode);
if (info == null) {
// 如果没有找到对应的记录返回0或者一个错误码
//throw new ServiceException("卡号不存在!");
@ -236,7 +238,7 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
userRechargeCards.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
userRechargeCards.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
userRechargeCardsMapper.insertUserRechargeCards(userRechargeCards);//如果没有该卡号则新建一条
info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(rechargecardUser.getCardnumber()));
info = userRechargeCardsMapper.selectUserRechargeCardsByCardNumberAndAreaCode(cardNumber,areaCode);
}
// UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails();

View File

@ -58,9 +58,9 @@ public class UserWechatPayServiceImpl implements IUserWechatPayService {
// public static String platformCertificatePath="fastbee-common/src/main/java/com/fastbee/common/utils/pay/damogang_platformCertificate.pem";
//支付结果回调地址
// public static String notify_url="https://3ffb1c5f.r3.cpolar.cn/pay/getresult";//https://3ffb1c5f.r3.cpolar.cn
public static String notify_url="https://1f647120.r3.cpolar.cn/pay/getresult";//https://1f647120.r3.cpolar.cn
//TODO 生产环境支付结果异步通知地址
public static String notify_url="https://farmh5.hze2.com/prod-api/pay/getresult";
//public static String notify_url="https://farmh5.hze2.com/prod-api/pay/getresult";
//https://5f655ed0.r3.cpolar.cn
//微信小程序appid
public static String appId="wx308612d2a8423311";
@ -76,7 +76,7 @@ public class UserWechatPayServiceImpl implements IUserWechatPayService {
*/
public Map<String, String> CreateOrder(WeChatRecharge recharge) throws Exception {
QueryWrapper queryWrapper=new QueryWrapper();
queryWrapper.eq("dept_id",recharge.getDeptId());
queryWrapper.eq("area_code",recharge.getAreacode());
NgMerchants ngMerchants = ngMerchantsMapper.selectOne(queryWrapper);
if (ngMerchants==null){
return null;