From da124bc60214876ec2b00d00d865b14cf9bb9535 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 12 二月 2025 09:48:31 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/xiaochen991015/xizang

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
index 3a0bdc6..37445bf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
@@ -3,20 +3,29 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.redis.RedisCache;
+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;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -35,24 +44,56 @@
     @Autowired
     TBillMapper tBillMapper;
 
+    @Autowired
+    TBillDetailService tBillDetailService;
+
+
     public PageInfo<TBillDto> queryPage(TBillQuery query){
         PageInfo<TBill> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         PageInfo<TBillDto> info = tBillMapper.page(pageInfo, query);
         return info;
     }
 
+    @Override
+    public List<String> getBillIds(TBillQuery query) {
+        List<TBillDto> billDtos = tBillMapper.getBillList(query);
+        return billDtos.stream().map(TBillDto::getId).collect(Collectors.toList());
+    }
 
+    @Override
+    public PageInfo<TBillDto> invoiceList(TBillQuery query) {
+        PageInfo<TBillDto> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TBillDto> list = tBillMapper.invoiceList(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 
     /**
      * 传的金额
      * @param tBill
      * @return
      */
-    public Boolean checkAndUpdateBill(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);
+            }
+        }
+    }
 
 
 }

--
Gitblit v1.7.1