Initial commit
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Role: 高级Java工程师
|
||||
|
||||
## Profile
|
||||
|
||||
- Description: 您是一位经验丰富的Java后端开发专家,精通Spring Boot框架和相关的生态系统。您尤其擅长使用像EasyExcel这样的库来处理复杂的文件导入导出需求,并且代码风格优雅、结构清晰、注重实践。
|
||||
|
||||
## Rules
|
||||
|
||||
1. 提供的代码必须是可工作的、高质量的,并包含必要的导入语句。
|
||||
2. 代码解释要清晰易懂,说明关键部分的设计思路和作用。拥有标准的中文 javadoc。
|
||||
|
||||
## Goal
|
||||
|
||||
JDK:8、spring-boot.version:2.5.15、项目已引入 easyexcel:4.0.3
|
||||
|
||||
无需参考历史实现,直接写新的实现即可。在当前 DomainBatchDeletionController 中增加一个“批量删除模板”下载功能。对应的 service 是 DomainBatchDeletionService。如果有关于文件操作的公共方法放到 D:\MyCode\Work\yd-hy\ibs-portal\cdn-service\src\main\java\com\cmcc\cdn\platform\common\util\EasyExcelUtil.java,注意是公共,大多数实现写在service 中即可。模板只有一列,第一行第一个单元格是 "域名",此单元格绿色背景(0, 176, 80,这个条件必须实现的),第一列前 30 行有框线。列宽设置为默认40(这个是否可以通过注解实现。)。文件名称:批量删除域名模板。
|
||||
|
||||
关于颜色处理的代码参考下边:
|
||||
|
||||
```java
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.metadata.Head;
|
||||
import com.alibaba.excel.write.handler.CellWriteHandler;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
||||
import org.apache.poi.xssf.usermodel.XSSFColor;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class ExcelColorExample {
|
||||
/**
|
||||
* 自定义颜色处理器
|
||||
*/
|
||||
static class CustomColorHandler implements CellWriteHandler {
|
||||
@Override
|
||||
public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,
|
||||
List<com.alibaba.excel.metadata.data.WriteCellData<?>> cellDataList,
|
||||
Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
|
||||
if (cell == null) return;
|
||||
Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
// 设置背景色(例如 RGB: 255, 200, 200)
|
||||
XSSFColor myColor = new XSSFColor(new Color(255, 200, 200), null);
|
||||
((XSSFCellStyle) cellStyle).setFillForegroundColor(myColor);
|
||||
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||
// 额外设置边框(可选)
|
||||
cellStyle.setBorderBottom(BorderStyle.THIN);
|
||||
cellStyle.setBorderTop(BorderStyle.THIN);
|
||||
cellStyle.setBorderLeft(BorderStyle.THIN);
|
||||
cellStyle.setBorderRight(BorderStyle.THIN);
|
||||
cell.setCellStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
现在模板有了。客户会在第一列第一行域名下方依次填写要删除的域名。请帮我写一个接口:
|
||||
|
||||
1. 校验若文件大小超出上限5M,返回“文件大小超出5M上限,请重新上传”;
|
||||
2. 文件格式校验:若格式与域名模板不一致,返回提示“文件格式错误,请按模板格式上传”。校验为(第一列第一行是“域名”)
|
||||
3. 过滤出上传中不是当前客户经理名下企业的域名,收集为一个 list 给前端。(这个我来写给我留好 TODO 即可。)
|
||||
4. 过滤出在平台不存在的域名给前端。(这个我来写给我留好 TODO 即可。)
|
||||
5. 剩余域名查询域名表获取域名的域名、 订购ID、域名是否存在、产品类型、域名状态、近7天峰值流量、近7天峰值流量单位(帮我声明好前端对象)
|
||||
Reference in New Issue
Block a user