| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package com.ydtech.modules.inv.service.impl;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.modules.inv.dao.InvSettlementSourceMapper;
- import com.ydtech.modules.inv.model.excel.InvSettlementSourceExcel;
- import com.ydtech.modules.inv.model.po.InvSettlementSource;
- import com.ydtech.modules.inv.model.po.InvSource;
- import com.ydtech.modules.inv.service.InvSettlementSourceService;
- import com.ydtech.modules.inv.utils.EasyExcelUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.math.BigDecimal;
- import java.time.LocalDate;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * @author Administrator
- * @description 针对表【inv_settlement_source(结算来源表)】的数据库操作Service实现
- * @createDate 2024-01-20 10:28:34
- */
- @Service
- public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSourceMapper, InvSettlementSource>
- implements InvSettlementSourceService {
- @Autowired
- private InvSettlementSourceService invSettlementSourceService;
- @Value("${upload.file.path}")
- String uploadFilePath;
- @Override
- public HttpResult readInvSettlementSourceExcel(String file) {
- List<InvSettlementSourceExcel> invSettlementSourceExcels = EasyExcelUtils.readInvSettlementSourceExcelExcel(uploadFilePath + file, InvSettlementSourceExcel.class);
- List<InvSettlementSource> invSettlementSources = JSONArray.parseArray(JSONArray.toJSONString(invSettlementSourceExcels),InvSettlementSource.class);
- boolean result = invSettlementSourceService.saveOrUpdateBatchWithConditions(invSettlementSources);
- return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
- }
- /**
- * 导入InvSettlementSource 处理重复导入
- * @param invSettlementSources
- * @return
- */
- @Override
- @Transactional
- public boolean saveOrUpdateBatchWithConditions(List<InvSettlementSource> invSettlementSources) {
- try {
- for (InvSettlementSource invSettlementSource : invSettlementSources) {
- InvSettlementSource one = baseMapper.selectOne(new LambdaQueryWrapper<InvSettlementSource>()
- .eq(InvSettlementSource::getLicenseno, invSettlementSource.getLicenseno())
- .eq(InvSettlementSource::getJqPolicyId, invSettlementSource.getJqPolicyId())
- .eq(InvSettlementSource::getSyPolicyId, invSettlementSource.getSyPolicyId())
- .eq(InvSettlementSource::getNonCarPolicyId, invSettlementSource.getNonCarPolicyId()));
- if (one != null) {
- invSettlementSource.setId(one.getId());
- baseMapper.updateById(invSettlementSource);
- } else {
- baseMapper.insert(invSettlementSource);
- }
- }
- }catch(Exception e){
- return false;
- }
- return true;
- }
- }
|