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)表服务实现类
|
*
|
* @author makejava
|
* @since 2022-07-11 16:35:57
|
*/
|
@Service("publicityService")
|
public class PublicityServiceImpl extends ServiceImpl<PublicityDao, Publicity> implements PublicityService {
|
|
@Resource
|
private PublicityDao publicityDao;
|
|
@Resource
|
private UserDao userDao;
|
|
@Override
|
public Boolean undercarriage(Serializable id) {
|
Publicity publicity = publicityDao.selectById(id);
|
publicity.setStatus(2);
|
if (publicityDao.updateById(publicity) == 1) {
|
return true;
|
}
|
return false;
|
}
|
|
@Override
|
public Boolean grounding(Serializable id) {
|
Publicity publicity = publicityDao.selectById(id);
|
publicity.setStatus(1);
|
publicity.setReleaseTime(new Date());
|
if (publicityDao.updateById(publicity) == 1) {
|
return true;
|
}
|
return false;
|
}
|
|
@Override
|
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();
|
}
|
}
|