diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index 17f9f97f..f1b6ff73 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -121,7 +121,7 @@ public class OrderMasterController extends BaseController { * 修改详细订单 */ @GetMapping("/payQrcode/{orderId}") - public String payQrcode(@PathVariable("orderId") Long orderId, ModelMap mmap) { + public String payQrcode(@PathVariable("orderId") String orderId, ModelMap mmap) { mmap.put("orderId", orderId); return "/order/master-qrcode"; } diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/pay/AlipayController.java b/ghy-admin/src/main/java/com/ghy/web/controller/pay/AlipayController.java index bb95953c..846fb1d8 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/pay/AlipayController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/pay/AlipayController.java @@ -7,6 +7,7 @@ import com.ghy.common.core.controller.BaseController; import com.ghy.common.core.domain.AjaxResult; import com.ghy.common.enums.PayStatus; import com.ghy.common.enums.PayTypeEnum; +import com.ghy.common.utils.MoneyUtil; import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderMaster; import com.ghy.order.service.OrderDetailService; @@ -24,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Map; import java.util.Objects; @@ -76,9 +78,11 @@ public class AlipayController extends BaseController { } @PostMapping("/addMasterQr") - public AjaxResult addMasterQrPay(@RequestBody Long orderId) { + public AjaxResult addMasterQrPay(@RequestBody String orderId) { + // 不知道为啥参数可能会带上双引号 这里去掉再转Long + Long orderMasterId = Long.valueOf(orderId.replace("\"", "")); BigDecimal payMoney = BigDecimal.ZERO; - OrderMaster orderMaster = orderMasterService.selectById(orderId); + OrderMaster orderMaster = orderMasterService.selectById(orderMasterId); if (orderMaster == null) { return AjaxResult.error("主订单不存在!"); } @@ -93,28 +97,13 @@ public class AlipayController extends BaseController { payMoney = payMoney.add(fm.getPayMoney()); } - // 查询关联的加价单 - FinancialChangeRecord financialChangeRecord = null; -// FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(orderDetailId); -// if (financialChangeRecord != null) { -// payMoney = payMoney.add(financialChangeRecord.getChangeMoney()); -// } -// -// if (BigDecimal.ZERO.compareTo(payMoney) > -1) { -// return AjaxResult.error("不需要支付"); -// } + if (MoneyUtil.lte0(payMoney)) { + return AjaxResult.error("不需要支付"); + } // 付款 - PayParam payParam; - if (financialChangeRecord == null) { - payParam = PayParam.delayPayParam(orderMaster.getCode() + "_" + System.currentTimeMillis(), - payMoney.setScale(2, BigDecimal.ROUND_UNNECESSARY).toString(), - "订单支付", "叮咚到家服务"); - } else { - payParam = PayParam.delayPayParam(orderMaster.getCode() + "_" + financialChangeRecord.getId() + "_" + System.currentTimeMillis(), - payMoney.setScale(2, BigDecimal.ROUND_UNNECESSARY).toString(), - "加价付款", "叮咚到家服务"); - } + PayParam payParam = PayParam.delayPayParam(orderMaster.getCode() + "_" + System.currentTimeMillis(), + payMoney.setScale(2, RoundingMode.UNNECESSARY).toString(), "订单支付", "叮咚到家服务"); JSONObject response; try { @@ -137,12 +126,6 @@ public class AlipayController extends BaseController { fm2update.setPayType(PayTypeEnum.ALIPAY_QR.getCode()); financialMasterService.updateFinancialMaster(fm2update); } - if (financialChangeRecord != null) { - FinancialChangeRecord fcr2update = new FinancialChangeRecord(); - fcr2update.setId(financialChangeRecord.getId()); - fcr2update.setPaymentId(paymentId); - financialChangeRecordService.update(fcr2update); - } return AjaxResult.success(response); } @@ -174,7 +157,7 @@ public class AlipayController extends BaseController { payMoney = payMoney.add(financialChangeRecord.getChangeMoney()); } - if (BigDecimal.ZERO.compareTo(payMoney) > -1) { + if (MoneyUtil.lte0(payMoney)) { return AjaxResult.error("不需要支付"); } diff --git a/ghy-admin/src/main/resources/templates/order/pc-master.html b/ghy-admin/src/main/resources/templates/order/pc-master.html index 1b849590..d72168e5 100644 --- a/ghy-admin/src/main/resources/templates/order/pc-master.html +++ b/ghy-admin/src/main/resources/templates/order/pc-master.html @@ -278,6 +278,10 @@ shiro:hasPermission="order:order:export"> 导出 + + + 付款 + @@ -561,6 +565,16 @@ }); } + function mergePay() { + table.set(); + var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId); + if (rows.length === 0) { + $.modal.alertWarning("请至少选择一条记录"); + return; + } + showPayQrcode(rows.join()); + } +