From cd35da82a0eed03de8a439462422f756fce1e9e6 Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Fri, 27 Dec 2024 15:57:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=BC=E5=85=A5=E8=B4=A6=E5=8D=95?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E4=B8=8B=E8=BD=BD=E6=A8=A1=E6=9D=BF;?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=B4=A6=E5=8D=95=E6=B7=BB=E5=8A=A0=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E7=B1=BB=E5=88=AB=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bunny/dao/dto/financial/bill/BillDto.java | 4 ++++ .../financial/bill/IncomeExpenseQueryDto.java | 1 + service/pom.xml | 5 +++++ .../bunny/services/factory/BillFactory.java | 10 ++++----- .../financial/impl/BillServiceImpl.java | 2 ++ .../service/system/impl/FilesServiceImpl.java | 10 +++++---- .../src/main/resources/application-dev.yml | 21 +++++++++++++----- .../src/main/resources/application-prod.yml | 9 ++++++++ service/src/main/resources/application.yml | 22 ++++++++----------- .../resources/mapper/financial/BillMapper.xml | 6 +++++ 10 files changed, 61 insertions(+), 29 deletions(-) diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillDto.java index 43ca3ee..70fd91e 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillDto.java @@ -9,6 +9,7 @@ import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.time.LocalDate; +import java.util.List; @Data @AllArgsConstructor @@ -23,6 +24,9 @@ public class BillDto { @Schema(name = "amount", title = "金额") private BigDecimal amount; + @Schema(name = "categoryIds", title = "类别分类") + private List categoryIds; + @Schema(name = "username", title = "类型:1 - 收入,-1 - 支出") private Byte type; diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/IncomeExpenseQueryDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/IncomeExpenseQueryDto.java index 161562d..d56446c 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/IncomeExpenseQueryDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/IncomeExpenseQueryDto.java @@ -32,4 +32,5 @@ public class IncomeExpenseQueryDto { @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd") @NotNull(message = "日期不能为空") private LocalDate endDate; + } diff --git a/service/pom.xml b/service/pom.xml index 2e3bc49..6e7f9fb 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -37,6 +37,11 @@ org.springframework.boot spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-mongodb + org.springframework.boot diff --git a/service/src/main/java/cn/bunny/services/factory/BillFactory.java b/service/src/main/java/cn/bunny/services/factory/BillFactory.java index ba1c759..0664cce 100644 --- a/service/src/main/java/cn/bunny/services/factory/BillFactory.java +++ b/service/src/main/java/cn/bunny/services/factory/BillFactory.java @@ -1,6 +1,5 @@ package cn.bunny.services.factory; -import cn.bunny.common.service.exception.AuthCustomerException; import cn.bunny.dao.dto.financial.bill.BillDto; import cn.bunny.dao.dto.financial.bill.IncomeExpenseQueryDto; import cn.bunny.dao.dto.financial.bill.excel.BillExportDto; @@ -9,7 +8,6 @@ import cn.bunny.dao.entity.system.EmailTemplate; import cn.bunny.dao.excel.BillExportExcelByUser; import cn.bunny.dao.pojo.constant.LocalDateTimeConstant; import cn.bunny.dao.pojo.enums.EmailTemplateEnums; -import cn.bunny.dao.pojo.result.ResultCodeEnum; import cn.bunny.dao.vo.financial.admin.BillVo; import cn.bunny.dao.vo.financial.user.expendAndIncome.ExpendWithIncome; import cn.bunny.services.mapper.email.EmailTemplateMapper; @@ -22,6 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Component; import java.math.BigDecimal; @@ -34,7 +33,6 @@ import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @@ -93,10 +91,10 @@ public class BillFactory { }).toList(); // 查找模板文件 - String filenameTemplate = Objects.requireNonNull(getClass().getResource("/static/bill-template.xlsx")).getFile(); - if (filenameTemplate == null) throw new AuthCustomerException(ResultCodeEnum.MISSING_TEMPLATE_FILES); + // InputStream filenameTemplate = getClass().getClassLoader().getResourceAsStream("static/bill-template.xlsx"); + ClassPathResource classPathResource = new ClassPathResource("static/bill-template.xlsx"); - try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(filenameTemplate).build()) { + try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(classPathResource.getInputStream()).build()) { // 填充数据 WriteSheet writeSheet = EasyExcel.writerSheet().build(); excelWriter.fill(excelList, writeSheet); diff --git a/service/src/main/java/cn/bunny/services/service/financial/impl/BillServiceImpl.java b/service/src/main/java/cn/bunny/services/service/financial/impl/BillServiceImpl.java index 1dcc53a..aeda011 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/impl/BillServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/financial/impl/BillServiceImpl.java @@ -76,8 +76,10 @@ public class BillServiceImpl extends ServiceImpl implements Bi @Autowired private MessageReceivedMapper messageReceivedMapper; + @Autowired private UserMapper userMapper; + @Autowired private EmailTemplateMapper emailTemplateMapper; diff --git a/service/src/main/java/cn/bunny/services/service/system/impl/FilesServiceImpl.java b/service/src/main/java/cn/bunny/services/service/system/impl/FilesServiceImpl.java index b2cfb92..0eef444 100644 --- a/service/src/main/java/cn/bunny/services/service/system/impl/FilesServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/system/impl/FilesServiceImpl.java @@ -33,6 +33,7 @@ import lombok.SneakyThrows; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.ClassPathResource; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -45,7 +46,6 @@ import java.io.IOException; import java.lang.reflect.Field; import java.util.HashSet; import java.util.List; -import java.util.Objects; import java.util.Set; /** @@ -303,6 +303,7 @@ public class FilesServiceImpl extends ServiceImpl implements /** * 获取添加账单模板文件 */ + @SneakyThrows @Override public void getAddBillTemplate(HttpServletResponse response) { // 设置数据库查询时间 @@ -312,10 +313,11 @@ public class FilesServiceImpl extends ServiceImpl implements LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery().eq(Category::getUserId, userId).or().eq(Category::getIsBuiltin, true); List categoryList = categoryMapper.selectList(queryWrapper); - String filenameTemplate = Objects.requireNonNull(getClass().getResource("/static/bill-add-template.xlsx")).getFile(); - if (filenameTemplate == null) throw new AuthCustomerException(ResultCodeEnum.MISSING_TEMPLATE_FILES); + // 从本地文件找到添加模板 + // InputStream filenameTemplate = getClass().getClassLoader().getResourceAsStream("static/bill-add-template.xlsx"); + ClassPathResource classPathResource = new ClassPathResource("static/bill-add-template.xlsx"); - try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(filenameTemplate).build()) { + try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(classPathResource.getInputStream()).build()) { // 填充数据,类型数据要填充的在第二个sheet WriteSheet writeSheet = EasyExcel.writerSheet(1).build(); excelWriter.fill(categoryList, writeSheet); diff --git a/service/src/main/resources/application-dev.yml b/service/src/main/resources/application-dev.yml index fcd67ad..88951bd 100644 --- a/service/src/main/resources/application-dev.yml +++ b/service/src/main/resources/application-dev.yml @@ -16,20 +16,29 @@ logging: bunny: master: - host: 192.168.3.129 - port: 3304 + host: 192.168.3.130 + port: 3306 database: family_financial username: root - password: "02120212" + password: "123456" + + mongodb: + database: financial + host: 192.168.3.130 + port: 27017 + username: admin + password: "123456" + authentication-database: admin + additional-hosts: 192.168.3.130 redis: - host: 192.168.3.129 + host: 192.168.3.130 port: 6379 - database: 6 + database: 0 password: "123456" minio: - endpointUrl: "http://192.168.3.129:9000" + endpointUrl: "http://192.168.3.130:9000" accessKey: bunny secretKey: "02120212" bucket-name: financial diff --git a/service/src/main/resources/application-prod.yml b/service/src/main/resources/application-prod.yml index 97512fa..5fa634f 100644 --- a/service/src/main/resources/application-prod.yml +++ b/service/src/main/resources/application-prod.yml @@ -29,6 +29,15 @@ bunny: username: family_financial_prod password: 0212family_financial + mongodb: + database: financial + host: 111.229.137.235 + port: 27017 + username: admin + password: "02120212" + authentication-database: admin + additional-hosts: 111.229.137.235 + redis: host: 47.120.65.66 port: 6379 diff --git a/service/src/main/resources/application.yml b/service/src/main/resources/application.yml index 692832b..10cd2b8 100644 --- a/service/src/main/resources/application.yml +++ b/service/src/main/resources/application.yml @@ -16,21 +16,17 @@ spring: url: jdbc:mysql://${bunny.master.host}:${bunny.master.port}/${bunny.master.database}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true username: ${bunny.master.username} password: ${bunny.master.password} - # dynamic: - # primary: master #设置默认的数据源或者数据源组,默认值即为master - # strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 - # grace-destroy: false #是否优雅关闭数据源,默认为false,设置为true时,关闭数据源时如果数据源中还存在活跃连接,至多等待10s后强制关闭 - # datasource: - # master: - # type: com.zaxxer.hikari.HikariDataSource - # driver-class-name: com.mysql.cj.jdbc.Driver - # url: jdbc:mysql://${bunny.master.host}:${bunny.master.port}/${bunny.master.database}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true - # username: ${bunny.master.username} - # password: ${bunny.master.password} - # aop: - # enabled: true data: + mongodb: + database: ${bunny.mongodb.database} + host: ${bunny.mongodb.host} + port: ${bunny.mongodb.port} + username: ${bunny.mongodb.username} + password: ${bunny.mongodb.password} + authentication-database: ${bunny.mongodb.authentication-database} + additional-hosts: ${bunny.mongodb.additional-hosts} + redis: host: ${bunny.redis.host} port: ${bunny.redis.port} diff --git a/service/src/main/resources/mapper/financial/BillMapper.xml b/service/src/main/resources/mapper/financial/BillMapper.xml index ed1d7ef..b0bd95b 100644 --- a/service/src/main/resources/mapper/financial/BillMapper.xml +++ b/service/src/main/resources/mapper/financial/BillMapper.xml @@ -41,6 +41,12 @@ and base.user_id = #{dto.userId} + + and base.category_id in + + #{id} + + and base.type = #{dto.type}