|
@@ -19,7 +19,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
-import com.qmrb.parking.fee.ParkingFeeCalculator;
|
|
|
import com.qmrb.system.converter.PayOrderConverter;
|
|
|
import com.qmrb.system.mapper.CouponMapper;
|
|
|
import com.qmrb.system.mapper.OrderMapper;
|
|
@@ -27,7 +26,6 @@ import com.qmrb.system.pojo.entity.*;
|
|
|
import com.qmrb.system.pojo.form.BarnRecordForm;
|
|
|
import com.qmrb.system.pojo.form.PayOrderForm;
|
|
|
import com.qmrb.system.pojo.query.PayOrderQuery;
|
|
|
-import com.qmrb.system.pojo.vo.BarnRecordVO;
|
|
|
import com.qmrb.system.pojo.vo.PayOrderVO;
|
|
|
import com.qmrb.system.pojo.vo.ReCreateOrderVO;
|
|
|
import com.qmrb.system.pojo.vo.ToCreateOrderVO;
|
|
@@ -60,8 +58,6 @@ import java.math.BigDecimal;
|
|
|
import java.net.URISyntaxException;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.security.PrivateKey;
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.time.format.DateTimeFormatter;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
@@ -288,6 +284,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
wrapper.set("pay_status",status).eq("id",pkId);
|
|
|
update(wrapper);
|
|
|
}
|
|
|
+ // 更新订单实付金额
|
|
|
+ void updateAmountActuallyPaid(BigDecimal amountsPayable, String orderNo) {
|
|
|
+ UpdateWrapper<Order> wrapper = new UpdateWrapper<>();
|
|
|
+ wrapper.set("amount_actually_paid",amountsPayable).eq("id",orderNo);
|
|
|
+ update(wrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新退款实付金额为0 退款时间赋值当前时间
|
|
|
+ void updateRefundOrderAmountActuallyPaid(BigDecimal amountsPayable, String orderNo) {
|
|
|
+ UpdateWrapper<Order> wrapper = new UpdateWrapper<>();
|
|
|
+ wrapper.set("amount_actually_paid", amountsPayable)
|
|
|
+ .set("refund_time", new Date())
|
|
|
+ .eq("id", orderNo);
|
|
|
+ update(wrapper);
|
|
|
+ }
|
|
|
|
|
|
Integer getStatus(String pkId) {
|
|
|
QueryWrapper<Order> wrapper = new QueryWrapper<>();
|
|
@@ -315,13 +326,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (StrUtil.equals(WXOrderConstant.WX_BACK_OK, tradeState)) {
|
|
|
//1.查询数据库 对比支付金额
|
|
|
if(WxPayUtil.verifyMoney(node, queryAmountByOrderNo(orderNo))) {
|
|
|
- //2.对比成功 账单状态 已支付
|
|
|
+ //2.对比成功 账单状态 已支付 更新实付金额
|
|
|
updateStatus(SystemConstant.NUM_ONE,orderNo);
|
|
|
+
|
|
|
// 更新计费金额,已收金额
|
|
|
BarnRecordForm barnRecordForm = barnRecordService.chargingByBarnId(Long.parseLong(orderNo));
|
|
|
Order order = this.getById(orderNo);
|
|
|
// 支付金额
|
|
|
- BigDecimal amountsPayable = new BigDecimal(order.getAmountsPayable()).divide(new BigDecimal(100));
|
|
|
+ BigDecimal amountsPayable = new BigDecimal(order.getAmountsPayable()).divide(new BigDecimal(100));
|
|
|
+ // 更新订单实付金额
|
|
|
+ updateAmountActuallyPaid(amountsPayable,orderNo);
|
|
|
barnRecordForm.setReceivedAmount(barnRecordForm.getReceivedAmount().add(amountsPayable));
|
|
|
barnRecordForm.setBillingStartTime(new Date());
|
|
|
// 查询优惠券
|
|
@@ -458,6 +472,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
log.info("微信退款回调 退款订单编号(系统生成)============{}===========订单状态======{}", outRefundNo, refundStatus);
|
|
|
//1.退款表状态修改 微信退款id(微信生成) 退款 调起退款则给用户退款 不根据本系统回调反馈 所以修改状态不成功 依旧返回true
|
|
|
updateStatus(statusCode,outRefundNo);
|
|
|
+ //2.更新实付金额为0,并且更新退款时间
|
|
|
+ updateRefundOrderAmountActuallyPaid(BigDecimal.ZERO, outRefundNo);
|
|
|
return true;
|
|
|
}
|
|
|
} catch (Exception e) {
|