| | |
| | | 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.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; |
| | | |
| | | @RestController |
| | | @RequestMapping("/t-pay") |
| | |
| | | |
| | | |
| | | |
| | | @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()); |
| | | 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(); |
| | | } |
| | | |
| | | } |