青羊经侦大队-数据平台
11
baizonghao
2023-05-25 7ea5eece501c98a91555a5358931367e78e9d23b
src/main/java/com/example/jz/service/impl/PublicityServiceImpl.java
@@ -1,18 +1,31 @@
package com.example.jz.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.jz.dao.PublicityDao;
import com.example.jz.dao.UserDao;
import com.example.jz.modle.PageParam;
import com.example.jz.modle.dto.CauseLoadDto;
import com.example.jz.modle.dto.PublicityDto;
import com.example.jz.modle.dto.PublicityLoadDto;
import com.example.jz.modle.entity.Publicity;
import com.example.jz.modle.entity.User;
import com.example.jz.service.PublicityService;
import lombok.SneakyThrows;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
/**
 * 公共宣传表(Publicity)表服务实现类
@@ -25,6 +38,9 @@
    @Resource
    private PublicityDao publicityDao;
    @Resource
    private UserDao userDao;
    @Override
    public Boolean undercarriage(Serializable id) {
@@ -51,4 +67,30 @@
    public IPage<PublicityDto> findByPage(PageParam<PublicityDto> page, QueryWrapper<PublicityDto> publicityDtoQueryWrapper) {
        return publicityDao.findByPage(page, publicityDtoQueryWrapper);
    }
    @Override
    @SneakyThrows
    public void loadFile(MultipartFile multipartFile) {
        EasyExcel.read(multipartFile.getInputStream(), PublicityLoadDto.class, new AnalysisEventListener<PublicityLoadDto>(){
            @Override
            public void invoke(PublicityLoadDto data, AnalysisContext context) {
                if (StringUtils.isNotBlank(data.getPublicityTitle()) && StringUtils.isNotBlank(data.getUserName())) {
                    Publicity publicity = new Publicity();
                        publicity.setStatus(0);
                    BeanUtils.copyProperties(data,publicity);
                    publicity.setCtime(new Date());
                    publicity.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("real_name",data.getUserName())).getId());
                    publicityDao.insert(publicity);
                }
            }
            @Override
            public void doAfterAllAnalysed(AnalysisContext context) {
            }
        }) .autoCloseStream(true)
                .doReadAll();
    }
}