From b16c3907d39020e16603b2b45a20a68b6acb2ca7 Mon Sep 17 00:00:00 2001 From: zhouyl <583641232@qq.com> Date: Wed, 9 Oct 2024 14:43:40 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E7=BB=88=E7=AB=AF=E5=88=97?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E6=A1=86=E6=9E=B6=E5=88=97=E8=A1=A8=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysDictDataController.java | 48 +++++++++++++++++ .../system/domain/vo/TerminalListVo.java | 54 +++++++++++++++++++ .../system/service/ISysDictDataService.java | 2 + .../service/impl/SysDictDataServiceImpl.java | 7 +++ 4 files changed, 111 insertions(+) create mode 100644 tp-system/src/main/java/com/inscloudtech/system/domain/vo/TerminalListVo.java diff --git a/tp-admin/src/main/java/com/inscloudtech/web/controller/system/SysDictDataController.java b/tp-admin/src/main/java/com/inscloudtech/web/controller/system/SysDictDataController.java index 8ca8534..d72a410 100644 --- a/tp-admin/src/main/java/com/inscloudtech/web/controller/system/SysDictDataController.java +++ b/tp-admin/src/main/java/com/inscloudtech/web/controller/system/SysDictDataController.java @@ -9,12 +9,18 @@ import com.inscloudtech.common.core.domain.R; import com.inscloudtech.common.core.domain.entity.SysDictData; import com.inscloudtech.common.core.page.TableDataInfo; import com.inscloudtech.common.enums.BusinessType; +import com.inscloudtech.common.excel.ExcelResult; import com.inscloudtech.common.utils.poi.ExcelUtil; +import com.inscloudtech.system.domain.vo.SysUserImportVo; +import com.inscloudtech.system.domain.vo.TerminalListVo; +import com.inscloudtech.system.listener.SysUserImportListener; import com.inscloudtech.system.service.ISysDictDataService; import com.inscloudtech.system.service.ISysDictTypeService; import lombok.RequiredArgsConstructor; +import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; @@ -113,4 +119,46 @@ public class SysDictDataController extends BaseController { dictDataService.deleteDictDataByIds(dictCodes); return R.ok(); } + + + /** + * 导入终端列表 + */ + @PostMapping(value = "/uploadTerminalList", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public R importData(@RequestPart("file") MultipartFile file) throws Exception { + ExcelResult result = ExcelUtil.importExcel(file.getInputStream(), TerminalListVo.class, true); + List list = result.getList(); + if(list.size() > 0){ + dictDataService.deleteDictDataByDictType("terminal_list"); + for (TerminalListVo vo : list) { + SysDictData sysDictData = new SysDictData(); + sysDictData.setDictType("terminal_list"); + String s = vo.getZdpp() + "-" + vo.getZdmc() + "-" + vo.getXtbb(); + sysDictData.setDictLabel(s); + sysDictData.setDictValue(s); + dictDataService.insertDictData(sysDictData); + } + } + return R.ok("终端列表更新完成!"); + } + + /** + * 导入框架列表 + */ + @PostMapping(value = "/uploadFrameworkList", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public R importFrameworkList(@RequestPart("file") MultipartFile file) throws Exception { + ExcelResult result = ExcelUtil.importExcel(file.getInputStream(), TerminalListVo.class, true); + List list = result.getList(); + if(list.size() > 0){ + dictDataService.deleteDictDataByDictType("framework_list"); + for (TerminalListVo vo : list) { + SysDictData sysDictData = new SysDictData(); + sysDictData.setDictType("framework_list"); + sysDictData.setDictLabel(vo.getKjmc()); + sysDictData.setDictValue(vo.getKjmc()); + dictDataService.insertDictData(sysDictData); + } + } + return R.ok("框架列表更新完成!"); + } } diff --git a/tp-system/src/main/java/com/inscloudtech/system/domain/vo/TerminalListVo.java b/tp-system/src/main/java/com/inscloudtech/system/domain/vo/TerminalListVo.java new file mode 100644 index 0000000..d37e050 --- /dev/null +++ b/tp-system/src/main/java/com/inscloudtech/system/domain/vo/TerminalListVo.java @@ -0,0 +1,54 @@ +package com.inscloudtech.system.domain.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.inscloudtech.common.annotation.ExcelDictFormat; +import com.inscloudtech.common.convert.ExcelDictConvert; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * 终端列表导入VO + * + * @author inscloudtech + */ + +@Data +@NoArgsConstructor +// @Accessors(chain = true) // 导入不允许使用 会找不到set方法 +public class TerminalListVo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + @ExcelProperty(value = "编号") + private String bh; + + /** + * 终端品牌 + */ + @ExcelProperty(value = "终端品牌") + private String zdpp; + + /** + * 终端名称 + */ + @ExcelProperty(value = "终端名称") + private String zdmc; + + /** + * 系统版本 + */ + @ExcelProperty(value = "系统版本") + private String xtbb; + + /** + * 框架名称 + */ + @ExcelProperty(value = "框架名称") + private String kjmc; + + +} diff --git a/tp-system/src/main/java/com/inscloudtech/system/service/ISysDictDataService.java b/tp-system/src/main/java/com/inscloudtech/system/service/ISysDictDataService.java index 27e4361..6943e95 100644 --- a/tp-system/src/main/java/com/inscloudtech/system/service/ISysDictDataService.java +++ b/tp-system/src/main/java/com/inscloudtech/system/service/ISysDictDataService.java @@ -63,4 +63,6 @@ public interface ISysDictDataService { * @return 结果 */ List updateDictData(SysDictData dictData); + + void deleteDictDataByDictType(String framework_list); } diff --git a/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysDictDataServiceImpl.java b/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysDictDataServiceImpl.java index d1aec7b..688790b 100644 --- a/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysDictDataServiceImpl.java +++ b/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysDictDataServiceImpl.java @@ -127,4 +127,11 @@ public class SysDictDataServiceImpl implements ISysDictDataService { throw new ServiceException("操作失败"); } + @Override + public void deleteDictDataByDictType(String dictType) { + CacheUtils.evict(CacheNames.SYS_DICT, dictType); + baseMapper.delete(new LambdaQueryWrapper().eq(SysDictData::getDictType, dictType)); + + } + }