|
@@ -2,14 +2,21 @@ package com.gis.cms.service.impl;
|
|
|
|
|
|
import com.gis.cms.entity.dto.DonateDto;
|
|
|
import com.gis.cms.entity.po.DonateEntity;
|
|
|
+import com.gis.cms.entity.vo.BarrageVoExcel;
|
|
|
+import com.gis.cms.entity.vo.DonateVoExcel;
|
|
|
import com.gis.cms.mapper.DonateMapper;
|
|
|
+import com.gis.common.base.entity.dto.DateDto;
|
|
|
import com.gis.common.base.entity.dto.PageDateDto;
|
|
|
+import com.gis.common.base.exception.BaseRuntimeException;
|
|
|
import com.gis.common.base.mapper.IBaseMapper;
|
|
|
import com.gis.common.base.service.impl.IBaseServiceImpl;
|
|
|
+import com.gis.common.util.ExcelUtils;
|
|
|
+import com.gis.common.util.MyStrUtil;
|
|
|
import com.gis.common.util.Result;
|
|
|
import com.gis.cms.service.FileService;
|
|
|
import com.gis.cms.service.DonateService;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
+import io.swagger.annotations.ApiModelProperty;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -18,6 +25,8 @@ import org.springframework.stereotype.Service;
|
|
|
import tk.mybatis.mapper.entity.Condition;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -38,6 +47,51 @@ public class DonateServiceImpl extends IBaseServiceImpl<DonateEntity, Long> impl
|
|
|
return this.entityMapper;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Result exportExcel(DateDto param) {
|
|
|
+ List<DonateVoExcel> rows = findByDate(param);
|
|
|
+
|
|
|
+ // 保存地址
|
|
|
+ String filePath = "/excel/" + MyStrUtil.getTimeStr() + ".xlsx";
|
|
|
+ String savePath = configConstant.serverBasePath + filePath;
|
|
|
+
|
|
|
+
|
|
|
+ HashMap<String, String> rowTitle = new HashMap<>();
|
|
|
+ rowTitle.put("createTime", "提交时间");
|
|
|
+ rowTitle.put("name", "名称");
|
|
|
+ rowTitle.put("phone", "电话");
|
|
|
+ rowTitle.put("description", "描述");
|
|
|
+
|
|
|
+ ExcelUtils.createExcel(rows, savePath, rowTitle);
|
|
|
+ HashMap<String, Object> result = new HashMap<>();
|
|
|
+ result.put("size", rows.size());
|
|
|
+ result.put("path", filePath);
|
|
|
+
|
|
|
+
|
|
|
+ return Result.success(result);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private List<DonateVoExcel> findByDate(DateDto param){
|
|
|
+
|
|
|
+ String startTime = param.getStartTime();
|
|
|
+ String endTime = param.getEndTime();
|
|
|
+ if (StringUtils.isBlank(startTime) || StringUtils.isBlank(endTime)){
|
|
|
+ throw new BaseRuntimeException("日期不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ StringBuffer sql = new StringBuffer();
|
|
|
+ sql.append("select * from tb_donate where is_delete=0 ");
|
|
|
+ sql.append(" and create_time >= ").append("'").append(startTime).append("'");
|
|
|
+ sql.append(" and create_time <= ").append("'").append(endTime).append("'");
|
|
|
+ sql.append(" order by create_time desc");
|
|
|
+ String sqlStr = sql.toString();
|
|
|
+ log.info("sql: {}", sqlStr);
|
|
|
+ return entityMapper.expertSql(sqlStr);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Result<DonateEntity> search(PageDateDto param, Integer display) {
|
|
|
startPage(param);
|