ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/dto/TbillSaveDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java
@@ -3,7 +3,9 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.dto.TbillSaveDto; import com.ruoyi.system.model.TBill; import com.ruoyi.system.query.TBillQuery; import com.ruoyi.system.service.TBillService; @@ -36,10 +38,13 @@ } @PostMapping("add") public R<PageInfo<TBillDto>> add(@Validated @RequestBody TBill bill){ tBillService.save(bill); public R<PageInfo<TBillDto>> add(@Validated @RequestBody TbillSaveDto bill){ tBillService.saveBill(bill); return R.ok(); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java
@@ -1,11 +1,15 @@ 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; @@ -17,6 +21,9 @@ 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 @@ -30,6 +37,10 @@ @Autowired TBillService tBillService; @Autowired TBillConfirmService tBillConfirmService; @ApiOperation(value = "创建支付订单") @PostMapping("makeOrder") public R<MakeOrderResp> makeOrder(@Validated @RequestBody MakeOrderDto dto){ @@ -47,8 +58,13 @@ save.setPayFeesType(2); save.setVoucher(dto.getVoucher()); save.setPayFeesStatus("2"); tBillService.checkAndUpdate(save); tBillService.lockAndUpdateInfo(save); } 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); return R.ok(); } ruoyi-system/src/main/java/com/ruoyi/system/dto/TbillSaveDto.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.system.dto; import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TBillDetail; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.util.List; @Data public class TbillSaveDto extends TBill implements Serializable { @ApiModelProperty(value = "水单费列表") private List<TBillDetail> details; } ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java
@@ -8,6 +8,7 @@ import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; import java.util.List; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseModel; @@ -16,6 +17,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.springframework.data.annotation.Transient; /** * <p> ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.dto.TbillSaveDto; import com.ruoyi.system.model.TBill; import com.ruoyi.system.query.TBillQuery; @@ -18,5 +19,7 @@ PageInfo<TBillDto> queryPage(TBillQuery query); Boolean checkAndUpdate(TBill save); Boolean lockAndUpdateInfo(TBill save); void saveBill(TbillSaveDto bill); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
@@ -7,16 +7,20 @@ import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.dto.TbillSaveDto; import com.ruoyi.system.mapper.TBillMapper; import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TBillDetail; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.THouse; import com.ruoyi.system.query.TBillQuery; import com.ruoyi.system.service.TBillDetailService; import com.ruoyi.system.service.TBillService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import io.jsonwebtoken.lang.Assert; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; @@ -37,6 +41,9 @@ @Autowired TBillMapper tBillMapper; @Autowired TBillDetailService tBillDetailService; public PageInfo<TBillDto> queryPage(TBillQuery query){ PageInfo<TBill> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); @@ -50,15 +57,27 @@ * @param tBill * @return */ public Boolean checkAndUpdate(TBill tBill){ public Boolean lockAndUpdateInfo(TBill tBill){ if (StringUtils.isEmpty(tBill.getId())){ throw new ServiceException("账单主键ID不能为空"); } return true; } @Override @Transactional(rollbackFor = Exception.class) public void saveBill(TbillSaveDto bill) { save(bill); if (bill.getBillType().equals("3")){ if (bill.getDetails()==null || bill.getDetails().size()==0){ throw new ServiceException("生活费用列表不能为空"); } for (TBillDetail detail : bill.getDetails()) { detail.setBillId(bill.getId()); tBillDetailService.save(detail); } } } }