| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package com.ydtech.modules.inv.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- 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.InvSourceMapper;
- import com.ydtech.modules.inv.model.excel.InvSourceExcel;
- import com.ydtech.modules.inv.model.po.InvSource;
- import com.ydtech.modules.inv.service.InvSourceService;
- import com.ydtech.modules.inv.utils.EasyExcelUtils;
- import org.springframework.beans.BeanUtils;
- 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.util.ArrayList;
- import java.util.List;
- /**
- * @author Administrator
- * @description 针对表【inv_source(来源表)】的数据库操作Service实现
- * @createDate 2024-01-20 10:28:34
- */
- @Service
- public class InvSourceServiceImpl extends ServiceImpl<InvSourceMapper, InvSource>
- implements InvSourceService {
- @Value("${upload.file.path}")
- String uploadFilePath;
- @Autowired
- InvSourceService invSourceService;
- @Override
- public HttpResult readExcel(String file) {
- List<InvSourceExcel> invSourceExcels = EasyExcelUtils.readInvSourceExcel(uploadFilePath + file, InvSourceExcel.class);
- List<InvSource> invSources = JSON.parseArray(JSONArray.toJSONString(invSourceExcels), InvSource.class);
- boolean result = invSourceService.saveOrUpdateBatchWithConditions(invSources);
- return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
- }
- /**
- * 导入InsSource 处理重复导入
- * @param invSourceList
- * @return
- */
- @Override
- @Transactional
- public boolean saveOrUpdateBatchWithConditions(List<InvSource> invSourceList) {
- try {
- for (InvSource invSource : invSourceList) {
- InvSource one = baseMapper.selectOne(new LambdaQueryWrapper<InvSource>()
- .eq(InvSource::getLicenseno, invSource.getLicenseno())
- .eq(InvSource::getJqPolicyId, invSource.getJqPolicyId())
- .eq(InvSource::getSyPolicyId, invSource.getSyPolicyId())
- .eq(InvSource::getNonCarPolicyId, invSource.getNonCarPolicyId()));
- if (one != null) {
- invSource.setId(one.getId());
- baseMapper.updateById(invSource);
- } else {
- baseMapper.insert(invSource);
- }
- }
- }catch(Exception e){
- return false;
- }
- return true;
- }
- }
|