| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- package com.ydtech.modules.protocol.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageResult;
- import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsSaveDto;
- import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
- import com.ydtech.modules.protocol.entity.dto.PtlAgreementUnderwritingRulesSaveDto;
- import com.ydtech.modules.protocol.entity.po.PtlAgreement;
- import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
- import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
- import com.ydtech.modules.protocol.entity.vo.PtlAgreementPageVo;
- import com.ydtech.modules.protocol.entity.vo.PtlAgreementSaveVo;
- import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
- import com.ydtech.modules.protocol.service.PtlAgreementService;
- import com.ydtech.modules.protocol.dao.PtlAgreementMapper;
- import com.ydtech.modules.protocol.service.PtlAgreementUnderwritingRulesService;
- import org.apache.commons.lang3.ObjectUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.time.LocalDateTime;
- import java.util.List;
- /**
- * @author Administrator
- * @description 针对表【ptl_agreement(协议信息表)】的数据库操作Service实现
- * @createDate 2023-06-05 17:59:52
- */
- @Service
- public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, PtlAgreement>
- implements PtlAgreementService {
- private final PtlAgreementProductCostsService ptlAgreementProductCostsService;
- private final PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService;
- public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService) {
- this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
- this.ptlAgreementUnderwritingRulesService = ptlAgreementUnderwritingRulesService;
- }
- @Override
- @Transactional
- public HttpResult saveAgreement(PtlAgreementSaveVo agreement, String userName) {
- PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
- PtlAgreement ptlAgreement = new PtlAgreement();
- BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
- ptlAgreement.setCreator(userName);
- ptlAgreement.setCreateTime(LocalDateTime.now());
- save(ptlAgreement);
- // 产品费用
- List<PtlAgreementProductCostsSaveDto> productCosts = agreement.getProductCosts();
- Integer agreementId = ptlAgreement.getId();
- List<PtlAgreementProductCosts> ptlAgreementProductCostsList = PtlAgreementProductCostsSaveDto.toPtlAgreementProductCosts(agreementId, productCosts);
- ptlAgreementProductCostsService.saveBatch(ptlAgreementProductCostsList);
- // 承包规则
- List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules = agreement.getUnderwritingRules();
- List<PtlAgreementUnderwritingRules> ptlAgreementUnderwritingRulesList = PtlAgreementUnderwritingRulesSaveDto.toPtlAgreementUnderwritingRules(agreementId, underwritingRules);
- ptlAgreementUnderwritingRulesService.saveBatch(ptlAgreementUnderwritingRulesList);
- return HttpResult.ok();
- }
- @Override
- public HttpResult pageAgreement(PtlAgreementPageVo ptlAgreementPageVo) {
- int pageNum = ptlAgreementPageVo.getPageNum();
- int pageSize = ptlAgreementPageVo.getPageSize();
- Page<PtlAgreement> ptlAgreementPage = new Page<>(pageNum, pageSize);
- LambdaQueryWrapper<PtlAgreement> wrapper = new LambdaQueryWrapper<>();
- // 审核状态
- wrapper.eq(!ObjectUtils.isEmpty(ptlAgreementPageVo.getAuditStatus()), PtlAgreement::getAuditStatus, ptlAgreementPageVo.getAuditStatus())
- // 保险公司
- .eq(!ObjectUtils.isEmpty(ptlAgreementPageVo.getInsuranceCompany()), PtlAgreement::getInsuranceCompany, ptlAgreementPageVo.getInsuranceCompany())
- // 录入时间
- .between(!ObjectUtils.isEmpty(ptlAgreementPageVo.getStartDate()) && ObjectUtils.isEmpty(ptlAgreementPageVo.getEndDate()), PtlAgreement::getCreateTime, ptlAgreementPageVo.getStartDate(), ptlAgreementPageVo.getEndDate());
- Page<PtlAgreement> agreementPage = page(ptlAgreementPage, wrapper);
- PageResult<PtlAgreement> ptlAgreementPageResult = new PageResult<>(pageNum, pageSize, (int) agreementPage.getTotal(), agreementPage.getRecords());
- return HttpResult.ok(ptlAgreementPageResult);
- }
- @Override
- public HttpResult getByAgreementId(String agreementId) {
- LambdaQueryWrapper<PtlAgreementProductCosts> costsLambdaQueryWrapper = new LambdaQueryWrapper<>();
- costsLambdaQueryWrapper.eq(PtlAgreementProductCosts::getAgreementId, agreementId);
- ptlAgreementProductCostsService.list();
- LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId);
- List<PtlAgreementUnderwritingRules> list = ptlAgreementUnderwritingRulesService.list(wrapper);
- return HttpResult.ok();
- }
- @Override
- @Transactional
- public HttpResult deleteAgreement(String agreementId) {
- removeById(agreementId);
- // 删除产品费用
- ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
- // 删除承包规则
- ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
- return HttpResult.ok();
- }
- }
|