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) { //提交过答案则直接返回