| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.ydtech.modules.inv.service.impl;
- import cn.hutool.core.date.DateTime;
- 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.admin.model.SysUser;
- import com.ydtech.modules.base.controller.BaseController;
- 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.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- 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);
- SysUser user = BaseController.getUser();
- InvSource invSource = new InvSource();
- invSource.setRevenueName(String.valueOf(user));
- DateTime dateTime = new DateTime();
- invSource.setRevenueTime(String.valueOf(dateTime));
- boolean result = invSourceService.saveOrUpdateBatchWithConditions(invSources);
- return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
- }
- @Override
- public boolean save(InvSource invSource) {
- return invSourceService.save(invSource);
- }
- /**
- * 导入InsSource 处理重复导入
- * @param invSourceList
- * @return
- */
- @Override
- @Transactional
- public boolean saveOrUpdateBatchWithConditions(List<InvSource> invSourceList) {
- 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())
- .eq(InvSource::getRevenueTime,invSource.getRevenueTime()));
- if (one != null) {
- invSource.setId(one.getId());
- baseMapper.updateById(invSource);
- } else {
- baseMapper.insert(invSource);
- }
- }
- return true;
- }
- }
|