yupeng
2025-02-11 44116ce7d351478477871a796c0eaab0acb11e4e
feat:更新账单列表
1个文件已添加
5个文件已修改
76 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/TbillSaveDto.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | 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);
            }
        }
    }
}