修改微信支付逻辑为不登陆输入卡号和区域号也可以支付;修改根据卡号查询卡信息的地方为根据卡号加区域号;开关阀添加刷卡记录
This commit is contained in:
parent
8572ff63e7
commit
9eb126eea0
@ -10,7 +10,9 @@ import com.fastbee.common.core.domain.entity.SysUser;
|
||||
import com.fastbee.common.core.mq.DeviceReportBo;
|
||||
import com.fastbee.common.utils.DateUtils;
|
||||
import com.fastbee.iot.domain.DeviceReportInfo;
|
||||
import com.fastbee.iot.domain.NgCardSwipeRecords;
|
||||
import com.fastbee.iot.mapper.DeviceReportInfoMapper;
|
||||
import com.fastbee.iot.mapper.NgCardSwipeRecordsMapper;
|
||||
import com.fastbee.mq.redischannel.producer.IssueInstructionsProducer;
|
||||
import com.fastbee.mq.service.impl.DeviceOtherMsgHandler;
|
||||
import com.fastbee.mqttclient.PubMqttClient;
|
||||
@ -69,6 +71,9 @@ public class DeviceOtherMsgConsumer {
|
||||
@Autowired
|
||||
private UserRechargeCardsMapper userRechargeCardsMapper;
|
||||
|
||||
@Autowired
|
||||
private NgCardSwipeRecordsMapper ngCardSwipeRecordsMapper;
|
||||
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
@ -253,7 +258,11 @@ public class DeviceOtherMsgConsumer {
|
||||
String cardNumber= String.valueOf(dataJson.getInt("cardId"));//解析cardId
|
||||
userIrrigationRecord.setCardNumber(cardNumber);//卡号
|
||||
|
||||
UserRechargeCards cardInfo=userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(cardNumber);
|
||||
String areaCode=dataJson.getStr("areaCode");
|
||||
userIrrigationRecord.setAreaCode(areaCode);//区域号
|
||||
System.err.println("areaCode"+areaCode);
|
||||
|
||||
UserRechargeCards cardInfo=userRechargeCardsMapper.selectUserRechargeCardsByCardNumberAndAreaCode(cardNumber,areaCode);
|
||||
//根据卡号查询用户所属机构
|
||||
List<UserRechargeCards> cardList = new LambdaQueryChainWrapper<>(userRechargeCardsMapper)
|
||||
.select(UserRechargeCards::getUserId,UserRechargeCards::getDeptId)
|
||||
@ -277,9 +286,7 @@ public class DeviceOtherMsgConsumer {
|
||||
userIrrigationRecord.setOpenCumFlow(openCumFlow);//用户开阀时使用水量
|
||||
System.err.println("openCumFlow"+openCumFlow);
|
||||
|
||||
String areaCode=dataJson.getStr("areaCode");
|
||||
userIrrigationRecord.setAreaCode(areaCode);//区域号
|
||||
System.err.println("areaCode"+areaCode);
|
||||
|
||||
|
||||
userIrrigationRecord.setStatus(1);//状态改为灌溉中
|
||||
|
||||
@ -293,6 +300,24 @@ public class DeviceOtherMsgConsumer {
|
||||
{
|
||||
log.error("设备{}灌溉记录添加失败",serialNumber);
|
||||
}
|
||||
//添加一条刷卡记录
|
||||
NgCardSwipeRecords ngCardSwipeRecords=new NgCardSwipeRecords();
|
||||
ngCardSwipeRecords.setCardNumber(cardNumber);//卡号
|
||||
ngCardSwipeRecords.setDeviceNumber(serialNumber);//设备编码
|
||||
ngCardSwipeRecords.setAreaCode(areaCode);//区域号
|
||||
ngCardSwipeRecords.setCardSwipeType(0);//开阀
|
||||
ngCardSwipeRecords.setCardSwipeTime(DateUtils.getNowDate());//刷卡时间
|
||||
if(cardInfo!=null && cardInfo.getUserId()!=null){
|
||||
ngCardSwipeRecords.setUserId(cardInfo.getUserId());//用户id
|
||||
}
|
||||
if(cardInfo!=null && cardInfo.getUserName()!=null){
|
||||
ngCardSwipeRecords.setUserName(cardInfo.getUserName());//用户名称
|
||||
}
|
||||
flag=ngCardSwipeRecordsMapper.insertNgCardSwipeRecords(ngCardSwipeRecords);
|
||||
if(flag<1)
|
||||
{
|
||||
log.error("设备{}开阀刷卡记录添加失败",serialNumber);
|
||||
}
|
||||
|
||||
}
|
||||
//处理关阀门报文
|
||||
@ -346,6 +371,29 @@ public class DeviceOtherMsgConsumer {
|
||||
{
|
||||
log.error("设备{}灌溉记录修改失败",serialNumber);
|
||||
}
|
||||
|
||||
//添加一条刷卡记录
|
||||
String areaCode=dataJson.getStr("areaCode");
|
||||
UserRechargeCards cardInfo=userRechargeCardsMapper.selectUserRechargeCardsByCardNumberAndAreaCode(cardNumber,areaCode);//查询卡号+区域号信息
|
||||
|
||||
NgCardSwipeRecords ngCardSwipeRecords=new NgCardSwipeRecords();
|
||||
ngCardSwipeRecords.setCardNumber(cardNumber);//卡号
|
||||
ngCardSwipeRecords.setDeviceNumber(serialNumber);//设备编码
|
||||
ngCardSwipeRecords.setAreaCode(areaCode);//区域号
|
||||
ngCardSwipeRecords.setCardSwipeType(1);//关阀
|
||||
ngCardSwipeRecords.setCardSwipeTime(DateUtils.getNowDate());//刷卡时间
|
||||
if(cardInfo!=null && cardInfo.getUserId()!=null){
|
||||
ngCardSwipeRecords.setUserId(cardInfo.getUserId());//用户id
|
||||
}
|
||||
if(cardInfo!=null && cardInfo.getUserName()!=null){
|
||||
ngCardSwipeRecords.setUserName(cardInfo.getUserName());//用户名称
|
||||
}
|
||||
flag=ngCardSwipeRecordsMapper.insertNgCardSwipeRecords(ngCardSwipeRecords);
|
||||
if(flag<1)
|
||||
{
|
||||
log.error("设备{}关阀刷卡记录添加失败",serialNumber);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,11 +12,13 @@ import com.fastbee.common.core.domain.AjaxResult;
|
||||
import com.fastbee.common.utils.pay.AesUtil;
|
||||
import com.fastbee.common.utils.pay.RSAUtil;
|
||||
import com.fastbee.rechargecard.domain.NgMerchants;
|
||||
import com.fastbee.rechargecard.domain.UserRechargeCards;
|
||||
import com.fastbee.rechargecard.domain.dto.WeChatPlatformCertificate;
|
||||
import com.fastbee.rechargecard.domain.dto.WeChatRecharge;
|
||||
import com.fastbee.rechargecard.domain.dto.WeChatRechargeBacktracking;
|
||||
import com.fastbee.rechargecard.mapper.NgIrrigationControllersMapper;
|
||||
import com.fastbee.rechargecard.mapper.NgMerchantsMapper;
|
||||
import com.fastbee.rechargecard.mapper.UserRechargeCardsMapper;
|
||||
import com.fastbee.rechargecard.service.INgUserRechargeRecordsService;
|
||||
import com.fastbee.rechargecard.service.IUserConsumptionDetailsService;
|
||||
import com.fastbee.rechargecard.service.IUserRechargeCardsService;
|
||||
@ -35,6 +37,7 @@ import org.apache.http.entity.StringEntity;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClientBuilder;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.h2.engine.User;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@ -78,6 +81,8 @@ public class WeChatPayController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private NgMerchantsMapper ngMerchantsMapper;
|
||||
@Autowired
|
||||
private UserRechargeCardsMapper userRechargeCardsMapper;
|
||||
/**
|
||||
* 获取平台证书
|
||||
* @return
|
||||
@ -135,6 +140,20 @@ public class WeChatPayController extends BaseController {
|
||||
public AjaxResult BuildOrder(@RequestBody WeChatRecharge recharge) throws Exception {
|
||||
|
||||
System.out.println("生成订单");
|
||||
int flag=0;
|
||||
UserRechargeCards userRechargeCards=new UserRechargeCards();
|
||||
userRechargeCards.setCardNumber(String.valueOf(recharge.getCardnumber()));
|
||||
userRechargeCards.setAreaCode(String.valueOf(recharge.getAreacode()));
|
||||
List<UserRechargeCards> list=userRechargeCardsMapper.selectUserRechargeCardsList(userRechargeCards);
|
||||
|
||||
if(list.size()==0)
|
||||
{
|
||||
flag=userRechargeCardsService.insertUserRechargeCards(userRechargeCards);//如果不存在该卡号+区域号,则插入卡信息
|
||||
if(flag!=1){
|
||||
return error("充值卡信息添加失败");
|
||||
}
|
||||
}
|
||||
|
||||
String out_trade_no=UUID.randomUUID().toString().replace("-", "");
|
||||
while(ngUserRechargeRecordsService.SelectRechargeRecodeByRechargeCode(out_trade_no) !=null)
|
||||
{
|
||||
@ -163,7 +182,7 @@ public class WeChatPayController extends BaseController {
|
||||
System.out.println("微信支付订单生成成功");
|
||||
|
||||
//订单生成成功
|
||||
int flag=ngUserRechargeRecordsService.insertNgUserRechargeRecordsWeChat(recharge);//插入用户充值记录表
|
||||
flag=ngUserRechargeRecordsService.insertNgUserRechargeRecordsWeChat(recharge);//插入用户充值记录表
|
||||
flag=userConsumptionDetailsService.insertUserConsumptionDetailsWechat(recharge);//插入用户消费明细表
|
||||
if(flag==1)
|
||||
{
|
||||
|
@ -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
|
||||
);
|
||||
/**
|
||||
* 查询用户充值卡
|
||||
*
|
||||
|
@ -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("卡号不存在!");
|
||||
|
@ -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("卡号不存在!");
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user