|
|
@@ -170,6 +170,17 @@ public class WxPayServiceImpl implements WxPayService { |
|
|
|
boolean stocksetlock = redisLock.lock("carPayOrderLock_"+orderId, timeStr); |
|
|
|
if (stocksetlock) { |
|
|
|
try { |
|
|
|
WxCUser wxCUser = wxCUserMapper.selectById(cUserId, tenantId); |
|
|
|
if (null == wxCUser) { |
|
|
|
throw new MallinkException(ErrorCode.SERVER_ERROR.getCode(),"支付更新失败,用户不存在"+cUserId); |
|
|
|
} |
|
|
|
Date curr = new Date(); |
|
|
|
|
|
|
|
//用户当前是否已过期 |
|
|
|
boolean isExpired = false; |
|
|
|
if (null != wxCUser.getValidEndTime() && wxCUser.getValidEndTime().before(curr)) { |
|
|
|
isExpired = true; |
|
|
|
} |
|
|
|
//创建停车支付订单记录 |
|
|
|
final IdWorker idworker = IdWorker.get(); |
|
|
|
payOrder = new WxPayOrder(); |
|
|
@@ -182,13 +193,20 @@ public class WxPayServiceImpl implements WxPayService { |
|
|
|
payOrder.setTransactionId(transcationId); |
|
|
|
payOrder.setcUserPhone(userPhone); |
|
|
|
SysConfig config = sysConfigService.getByKey(SysConfigConstant.expired_days, payOrder); |
|
|
|
Date curr = new Date(); |
|
|
|
payOrder.setCreateTime(curr); |
|
|
|
payOrder.setUpdateTime(curr); |
|
|
|
payOrder.setValidStartTime(curr); |
|
|
|
Date endtime = DateUtils.getTimeAfterDays(Integer.parseInt(config.getConfigItemValue()), curr); |
|
|
|
Date endtime = null; |
|
|
|
if (isExpired) { |
|
|
|
endtime = DateUtils.getTimeAfterDays(Integer.parseInt(config.getConfigItemValue()), curr); |
|
|
|
payOrder.setRemark("过期缴费"); |
|
|
|
}else { |
|
|
|
endtime = DateUtils.getTimeAfterDays(Integer.parseInt(config.getConfigItemValue()), wxCUser.getValidEndTime()); |
|
|
|
payOrder.setRemark("未过期续费"); |
|
|
|
} |
|
|
|
payOrder.setValidEndTime(endtime); |
|
|
|
wxPayOrderMapper.insert(payOrder); |
|
|
|
|
|
|
|
wxCUserMapper.updateValidTime(cUserId, tenantId, curr, endtime); |
|
|
|
}catch(Exception e) { |
|
|
|
logger.error("handlePaidSuccess fail.",e); |
|
|
|