无关风月
2025-04-10 099ea14bba367fd86f0dde37d908f07cc04c3d39
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java
@@ -3,27 +3,39 @@
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.dto.*;
import com.ruoyi.system.model.TBill;
import com.ruoyi.system.dto.BillStatisticsDto;
import com.ruoyi.system.dto.CachPayDto;
import com.ruoyi.system.dto.OfflinePayCheckDto;
import com.ruoyi.system.dto.SmsByBillDto;
import com.ruoyi.system.dto.TBillDto;
import com.ruoyi.system.dto.TbillSaveDto;
import com.ruoyi.system.model.TBillConfirm;
import com.ruoyi.system.model.TBillDetail;
import com.ruoyi.system.model.TContract;
import com.ruoyi.system.query.TBillQuery;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.query.TContractQuery;
import com.ruoyi.system.service.TBillConfirmService;
import com.ruoyi.system.service.TBillDetailService;
import com.ruoyi.system.service.TBillService;
import com.ruoyi.system.service.TContractService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
/**
 * <p>
@@ -47,6 +59,9 @@
    @Autowired
    TBillConfirmService tBillConfirmService;
    @Autowired
    TContractService contractService;
    @PreAuthorize("@ss.hasPermi('bill:list')")
    @PostMapping("list")
    @ApiOperation("分页查询账单列表")
@@ -56,12 +71,51 @@
        return R.ok(pageInfo);
    }
    @ApiOperation("统计")
    @PostMapping("statistics")
    public R<BillStatisticsDto> statistics(@RequestBody TBillQuery query){
        query.setBusinessDeptId(SecurityUtils.getBusinessDeptId());
        BillStatisticsDto dto = tBillService.statistics(query);
        return R.ok(dto);
    }
    @ApiOperation(value = "获取合同分页列表")
    @PostMapping(value = "/contractList")
    public R<PageInfo<TContract>> contractList(@RequestBody TContractQuery query) {
        query.setBusinessDeptId(SecurityUtils.getBusinessDeptId());
        return R.ok(contractService.queryPage(query));
    }
    @PreAuthorize("@ss.hasPermi('bill:list:addRent')")
    @PostMapping("add")
    @ApiOperation("新增账单")
    public R<PageInfo<TBillDto>> add(@Validated @RequestBody TbillSaveDto bill){
        bill.setBusinessDeptId(SecurityUtils.getBusinessDeptId());
        String businessDeptId = SecurityUtils.getBusinessDeptId();
        if (SecurityUtils.getBusinessDeptId().equals("0")) {
            TContract contract = contractService.getById(bill.getContractId());
            if (Objects.nonNull(contract)) {
                businessDeptId = contract.getBusinessDeptId();
            }
        }
        bill.setBusinessDeptId(businessDeptId);
        tBillService.saveBill(bill);
        return R.ok();
    }
    @PreAuthorize("@ss.hasPermi('bill:list:editAmount')")
    @PostMapping("editAmount")
    @ApiOperation("修改账单金额")
    public R editAmount(@Validated @RequestBody TbillSaveDto bill){
        if (StringUtils.isEmpty(bill.getId())){
            return R.fail("参数错误");
        }
        if (bill.getEditAmount().compareTo(BigDecimal.ZERO)==0){
            return R.fail("调整金额不能为0");
        }
        tBillService.editAmount(bill);
        return R.ok();
    }
@@ -124,12 +178,7 @@
    }
    @ApiOperation("统计")
    @GetMapping("statistics")
    public R<BillStatisticsDto> statistics(){
        BillStatisticsDto dto = tBillService.statistics(SecurityUtils.getBusinessDeptId());
        return R.ok(dto);
    }