From 0e0a5b4ffad3d148362871aa7590a2469853c84b Mon Sep 17 00:00:00 2001 From: xiaoCJ <406612557@qq.com> Date: Thu, 31 Oct 2024 09:55:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B4=A2=E5=8A=A1=E5=88=86?= =?UTF-8?q?=E6=9E=90=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=BC=96=E8=BE=91=E6=97=B6=E5=8D=95=E7=8B=AC=E5=A4=84?= =?UTF-8?q?=E7=90=86=E8=B4=A2=E5=8A=A1=E5=88=86=E6=9E=90=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E8=A1=A8=E7=9A=84=E7=B1=BB=E5=9E=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CaseController.java | 51 ++++++++++++- .../entity/dto/CaseFinanceDto.java | 31 ++++++++ .../service/impl/CaseServiceImpl.java | 74 ++++++------------- 3 files changed, 105 insertions(+), 51 deletions(-) create mode 100644 src/main/java/com/sztzjy/money_management/entity/dto/CaseFinanceDto.java diff --git a/src/main/java/com/sztzjy/money_management/controller/CaseController.java b/src/main/java/com/sztzjy/money_management/controller/CaseController.java index f0cfd61..67687a0 100644 --- a/src/main/java/com/sztzjy/money_management/controller/CaseController.java +++ b/src/main/java/com/sztzjy/money_management/controller/CaseController.java @@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo; import com.sztzjy.money_management.annotation.AnonymousAccess; import com.sztzjy.money_management.config.Constant; import com.sztzjy.money_management.entity.*; +import com.sztzjy.money_management.entity.dto.CaseFinanceDto; import com.sztzjy.money_management.entity.dto.CaseInvestmentPlanDto; import com.sztzjy.money_management.mapper.*; import com.sztzjy.money_management.service.CaseService; @@ -45,7 +46,14 @@ public class CaseController { private p2pDataMapper p2pDataMapper; @Autowired private SynthesisPlanClientMapper synthesisPlanClientMapper; - + @Autowired + private CaseFinanceLiabilityMapper caseFinanceLiabilityMapper; + @Autowired + private CaseIncomeAndExpensesMapper caseIncomeAndExpensesMapper; + @Autowired + private CaseCashFlowMapper caseCashFlowMapper; + @Autowired + private CaseFinancialRatiosMapper caseFinancialRatiosMapper; @PostMapping("/insertCase") @ApiOperation("新增/编辑案例,学生端新增传isAnswer为学生答案+userId") @@ -64,6 +72,47 @@ public class CaseController { } + @PostMapping("/getCaseFinance") + @ApiOperation("老师端/管理员端/查询财务分析四张表") + @AnonymousAccess + private ResultEntity getCaseFinance(@RequestParam String caseId) { + CaseFinanceDto caseFinanceDto = new CaseFinanceDto(); + + CaseFinanceLiabilityExample caseFinanceLiabilityExample = new CaseFinanceLiabilityExample(); + caseFinanceLiabilityExample.createCriteria().andCaseIdEqualTo(caseId).andUserIdIsNull().andIsAnswerEqualTo("题目答案"); + List caseFinanceLiabilities = caseFinanceLiabilityMapper.selectByExample(caseFinanceLiabilityExample); + if (caseFinanceLiabilities != null && !caseFinanceLiabilities.isEmpty()) { + CaseFinanceLiability caseFinanceLiability = caseFinanceLiabilities.get(0); + caseFinanceDto.setCaseFinanceLiability(caseFinanceLiability); + } + + CaseIncomeAndExpensesExample caseIncomeAndExpensesExample = new CaseIncomeAndExpensesExample(); + caseIncomeAndExpensesExample.createCriteria().andCaseidEqualTo(caseId).andUserIdIsNull().andIsAnswerEqualTo("题目答案"); + List caseIncomeAndExpenses = caseIncomeAndExpensesMapper.selectByExample(caseIncomeAndExpensesExample); + if (caseIncomeAndExpenses != null && !caseIncomeAndExpenses.isEmpty()) { + CaseIncomeAndExpenses caseIncomeAndExpenses1 = caseIncomeAndExpenses.get(0); + caseFinanceDto.setCaseIncomeAndExpenses(caseIncomeAndExpenses1); + } + + CaseCashFlowExample example = new CaseCashFlowExample(); + example.createCriteria().andCaseidEqualTo(caseId).andUserIdIsNull().andIsAnswerEqualTo("题目答案"); + List caseCashFlows = caseCashFlowMapper.selectByExample(example); + if (caseCashFlows != null && !caseCashFlows.isEmpty()) { + CaseCashFlow caseCashFlow = caseCashFlows.get(0); + caseFinanceDto.setCaseCashFlow(caseCashFlow); + } + + CaseFinancialRatiosExample caseFinancialRatiosExample = new CaseFinancialRatiosExample(); + caseFinancialRatiosExample.createCriteria().andCaseidEqualTo(caseId).andUserIdIsNull().andIsAnswerEqualTo("题目答案"); + List caseFinancialRatiosWithBLOBs = caseFinancialRatiosMapper.selectByExampleWithBLOBs(caseFinancialRatiosExample); + if (caseFinancialRatiosWithBLOBs != null && !caseFinancialRatiosWithBLOBs.isEmpty()) { + CaseFinancialRatiosWithBLOBs caseFinancialRatios = caseFinancialRatiosWithBLOBs.get(0); + caseFinanceDto.setCaseFinancialRatios(caseFinancialRatios); + } + return new ResultEntity(caseFinanceDto); + } + + @PostMapping("/getInsurancePro") @ApiOperation("查询保险规划产品名称") @AnonymousAccess diff --git a/src/main/java/com/sztzjy/money_management/entity/dto/CaseFinanceDto.java b/src/main/java/com/sztzjy/money_management/entity/dto/CaseFinanceDto.java new file mode 100644 index 0000000..14d85c2 --- /dev/null +++ b/src/main/java/com/sztzjy/money_management/entity/dto/CaseFinanceDto.java @@ -0,0 +1,31 @@ +package com.sztzjy.money_management.entity.dto; + +import com.sztzjy.money_management.entity.CaseCashFlow; +import com.sztzjy.money_management.entity.CaseFinanceLiability; +import com.sztzjy.money_management.entity.CaseFinancialRatiosWithBLOBs; +import com.sztzjy.money_management.entity.CaseIncomeAndExpenses; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author xcj + * @Date 2024/10/30 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CaseFinanceDto { + @ApiModelProperty("案例-财务分析-资产负债表") + private CaseFinanceLiability caseFinanceLiability; + + @ApiModelProperty("案例-财务分析-收支储蓄") + private CaseIncomeAndExpenses caseIncomeAndExpenses; + + @ApiModelProperty("案例财务分析-现金流量") + private CaseCashFlow caseCashFlow; + + @ApiModelProperty("财务比率分析表") + private CaseFinancialRatiosWithBLOBs caseFinancialRatios; +} diff --git a/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java b/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java index 8889e10..9169f43 100644 --- a/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java +++ b/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java @@ -529,54 +529,10 @@ public class CaseServiceImpl implements CaseService { example.createCriteria().andIdCardEqualTo(newCase.getIdCard()); List list = caseInfoMapper.selectByExampleWithBLOBs(example); -// //判断身份证号是否存在,不存在才新增 客户信息 和综合规划客户表 -// if (list == null || list.isEmpty()) { -// //前端没传主键ID为新增 -// newCase.setCaseid(IdUtil.randomUUID()); -// newCase.setAddTime(new Date()); -// caseInfoMapper.insert(newCase); -// //综合规划需要额外新增一张表 -// if (newCase.getModel().equals("综合规划")) { -// ComCase comCase = new ComCase(); -// comCase.setCaseid(newCase.getCaseid()); -// comCase.setComCaseId(IdUtil.randomUUID()); -// comCase.setManageMoneyMattersType(newCase.getManageMoneyMattersType()); -// comCaseMapper.insert(comCase); -// } -// insertSynthesisPlanClient(newCase); -// return newCase.getCaseid(); -// } else { -// //修改案例信息表 -// -// //传了相同的身份证,系统判定是编辑,但是没传CaseId,直接return -// if (StringUtils.isBlank(newCase.getCaseid())) { -// return "false"; -// } -// caseInfoMapper.updateByPrimaryKeySelective(newCase); -// -// //修改实训类型 -// if (newCase.getModel().equals("综合规划")) { -// ComCaseExample example1 = new ComCaseExample(); -// example1.createCriteria().andCaseidEqualTo(newCase.getCaseid()); -// List comCases = comCaseMapper.selectByExample(example1); -// ComCase comCase = comCases.get(0); -// comCase.setManageMoneyMattersType(newCase.getManageMoneyMattersType()); -// comCaseMapper.updateByPrimaryKeySelective(comCase); -// } -// -// //同时修改综合综合规划客户表 -// SynthesisPlanClient synthesisPlanClient = new SynthesisPlanClient(); -// synthesisPlanClient.setName(newCase.getCustomerName()); -// synthesisPlanClient.setIdcard(newCase.getIdCard()); -// synthesisPlanClient.setManageMoneyMattersType(newCase.getManageMoneyMattersType()); -// synthesisPlanClient.setAge(newCase.getAge()); -// synthesisPlanClientMapper.updateByPrimaryKeySelective(synthesisPlanClient); -// return newCase.getCaseid(); -// } -// } -// return null; -// } + String manageMoneyMattersType = newCase.getManageMoneyMattersType(); + //单独处理财务分析相关表的类型 + String type = getString(newCase, manageMoneyMattersType); //新增 if (StringUtils.isBlank(newCase.getCaseid())) { @@ -592,7 +548,7 @@ public class CaseServiceImpl implements CaseService { ComCase comCase = new ComCase(); comCase.setCaseid(newCase.getCaseid()); comCase.setComCaseId(IdUtil.randomUUID()); - comCase.setManageMoneyMattersType(newCase.getManageMoneyMattersType()); + comCase.setManageMoneyMattersType(type); comCaseMapper.insert(comCase); } insertSynthesisPlanClient(newCase); @@ -619,7 +575,7 @@ public class CaseServiceImpl implements CaseService { example1.createCriteria().andCaseidEqualTo(newCase.getCaseid()); List comCases = comCaseMapper.selectByExample(example1); ComCase comCase = comCases.get(0); - comCase.setManageMoneyMattersType(newCase.getManageMoneyMattersType()); + comCase.setManageMoneyMattersType(manageMoneyMattersType); comCaseMapper.updateByPrimaryKeySelective(comCase); } @@ -627,7 +583,7 @@ public class CaseServiceImpl implements CaseService { SynthesisPlanClient synthesisPlanClient = new SynthesisPlanClient(); synthesisPlanClient.setName(newCase.getCustomerName()); synthesisPlanClient.setIdcard(newCase.getIdCard()); - synthesisPlanClient.setManageMoneyMattersType(newCase.getManageMoneyMattersType()); + synthesisPlanClient.setManageMoneyMattersType(type); synthesisPlanClient.setAge(newCase.getAge()); synthesisPlanClientMapper.updateByPrimaryKeySelective(synthesisPlanClient); return newCase.getCaseid(); @@ -637,6 +593,24 @@ public class CaseServiceImpl implements CaseService { } + + //单独处理财务分析相关表的类型 + private String getString(CaseInfo newCase, String manageMoneyMattersType) { + String[] split = manageMoneyMattersType.split(","); + List list1 = Arrays.asList(split); + String type = ""; + for (String s : list1) { + if (s.equals("财务分析")) { + s = "财务分析-收支储蓄表,财务分析-资产负债表,财务分析-现金流量表,财务分析-财务比例分析"; + } + type += s + ","; + } + type = type.replaceAll(",$", ""); + newCase.setManageMoneyMattersType(type); + return type; + } + + //判断综合规划客户表是否存在,取status字段用于判断学生编辑综合规划使用 private ResultEntity getHttpStatusResultEntity(String caseid, String userId) { //提交过答案则直接返回