From 193945d70b561bc96bb608b47b9b2e4dba3b45b2 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 07 三月 2025 11:40:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java | 61 ++++++++++++++++++++++++++++-- 1 files changed, 57 insertions(+), 4 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java index cfd55df..bf1c494 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java @@ -1,25 +1,78 @@ package com.ruoyi.web.controller.api; +import cn.hutool.core.collection.CollectionUtil; +import com.ruoyi.common.constant.AmountConstant; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.system.dto.MakeOrderDto; +import com.ruoyi.system.dto.MakeOrderResp; +import com.ruoyi.system.dto.OfflinePayDto; +import com.ruoyi.system.model.TBill; +import com.ruoyi.system.model.TBillConfirm; +import com.ruoyi.system.service.TBillConfirmService; +import com.ruoyi.system.service.TBillService; +import com.ruoyi.system.service.TPayOrderService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Collections; +import java.util.List; + +@Api(value = "支付订单") @RestController @RequestMapping("/t-pay") public class PayController { + @Autowired + TPayOrderService tPayOrderService; + @Autowired + TBillService tBillService; + @Autowired + TBillConfirmService tBillConfirmService; + + @ApiOperation(value = "创建支付订单") @PostMapping("makeOrder") - public AjaxResult makeOrder(){ - - return null; + public R<MakeOrderResp> makeOrder(@Validated @RequestBody MakeOrderDto dto){ + MakeOrderResp resp = tPayOrderService.makeOrder(dto); + return R.ok(resp); } + @ApiOperation(value = "线下支付") + @PostMapping("offlinePay") + @Transactional(rollbackFor = Exception.class) + public R offlinePay(@Validated @RequestBody OfflinePayDto dto){ + List<TBill> tBills = tBillService.listByIds(dto.getBillIds()); + TBillConfirm confirm = new TBillConfirm(); + confirm.setBillId(CollectionUtil.join(dto.getBillIds(),",")); + confirm.setVoucher(dto.getVoucher()); + confirm.setPayFeesMoney(new BigDecimal(dto.getAmount()).divide(AmountConstant.b100).setScale(2, RoundingMode.HALF_DOWN).doubleValue()); + confirm.setPayTime(dto.getPayTime()); + tBillConfirmService.save(confirm); + for (TBill tBill : tBills) { + TBill save = new TBill(); + save.setId(tBill.getId()); + save.setPayFeesType(2); + save.setVoucher(dto.getVoucher()); + save.setPayFeesStatus("2"); + save.setConfirmId(confirm.getId()); + tBillService.lockAndUpdateInfo(save,1); + } - + return R.ok(); + } } -- Gitblit v1.7.1