付款二维码接口参数改为String,以便后续支持多个订单ID传参

This commit is contained in:
Hawking 2023-05-29 15:44:40 +08:00
parent 36aa346c2a
commit 842793a74e
3 changed files with 27 additions and 30 deletions

View File

@ -121,7 +121,7 @@ public class OrderMasterController extends BaseController {
* 修改详细订单 * 修改详细订单
*/ */
@GetMapping("/payQrcode/{orderId}") @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); mmap.put("orderId", orderId);
return "/order/master-qrcode"; return "/order/master-qrcode";
} }

View File

@ -7,6 +7,7 @@ import com.ghy.common.core.controller.BaseController;
import com.ghy.common.core.domain.AjaxResult; import com.ghy.common.core.domain.AjaxResult;
import com.ghy.common.enums.PayStatus; import com.ghy.common.enums.PayStatus;
import com.ghy.common.enums.PayTypeEnum; import com.ghy.common.enums.PayTypeEnum;
import com.ghy.common.utils.MoneyUtil;
import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderDetail;
import com.ghy.order.domain.OrderMaster; import com.ghy.order.domain.OrderMaster;
import com.ghy.order.service.OrderDetailService; import com.ghy.order.service.OrderDetailService;
@ -24,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -76,9 +78,11 @@ public class AlipayController extends BaseController {
} }
@PostMapping("/addMasterQr") @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; BigDecimal payMoney = BigDecimal.ZERO;
OrderMaster orderMaster = orderMasterService.selectById(orderId); OrderMaster orderMaster = orderMasterService.selectById(orderMasterId);
if (orderMaster == null) { if (orderMaster == null) {
return AjaxResult.error("主订单不存在!"); return AjaxResult.error("主订单不存在!");
} }
@ -93,28 +97,13 @@ public class AlipayController extends BaseController {
payMoney = payMoney.add(fm.getPayMoney()); payMoney = payMoney.add(fm.getPayMoney());
} }
// 查询关联的加价单 if (MoneyUtil.lte0(payMoney)) {
FinancialChangeRecord financialChangeRecord = null; return AjaxResult.error("不需要支付");
// FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(orderDetailId); }
// if (financialChangeRecord != null) {
// payMoney = payMoney.add(financialChangeRecord.getChangeMoney());
// }
//
// if (BigDecimal.ZERO.compareTo(payMoney) > -1) {
// return AjaxResult.error("不需要支付");
// }
// 付款 // 付款
PayParam payParam; PayParam payParam = PayParam.delayPayParam(orderMaster.getCode() + "_" + System.currentTimeMillis(),
if (financialChangeRecord == null) { payMoney.setScale(2, RoundingMode.UNNECESSARY).toString(), "订单支付", "叮咚到家服务");
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(),
"加价付款", "叮咚到家服务");
}
JSONObject response; JSONObject response;
try { try {
@ -137,12 +126,6 @@ public class AlipayController extends BaseController {
fm2update.setPayType(PayTypeEnum.ALIPAY_QR.getCode()); fm2update.setPayType(PayTypeEnum.ALIPAY_QR.getCode());
financialMasterService.updateFinancialMaster(fm2update); financialMasterService.updateFinancialMaster(fm2update);
} }
if (financialChangeRecord != null) {
FinancialChangeRecord fcr2update = new FinancialChangeRecord();
fcr2update.setId(financialChangeRecord.getId());
fcr2update.setPaymentId(paymentId);
financialChangeRecordService.update(fcr2update);
}
return AjaxResult.success(response); return AjaxResult.success(response);
} }
@ -174,7 +157,7 @@ public class AlipayController extends BaseController {
payMoney = payMoney.add(financialChangeRecord.getChangeMoney()); payMoney = payMoney.add(financialChangeRecord.getChangeMoney());
} }
if (BigDecimal.ZERO.compareTo(payMoney) > -1) { if (MoneyUtil.lte0(payMoney)) {
return AjaxResult.error("不需要支付"); return AjaxResult.error("不需要支付");
} }

View File

@ -278,6 +278,10 @@
shiro:hasPermission="order:order:export"> shiro:hasPermission="order:order:export">
<i class="fa fa-download"></i> 导出 <i class="fa fa-download"></i> 导出
</a> </a>
<a class="btn btn-default" onclick="mergePay()">
<i class="fa fa-money"></i> 付款
</a>
</div> </div>
</div> </div>
@ -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());
}
</script> </script>
</body> </body>