From 22715c3d34653fa378299e5047e7af7a93825fc6 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Wed, 24 Apr 2024 12:22:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E7=89=88=E4=B8=8B=E8=BD=BD=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kqapi/admin/controller/MatterController.java | 14 ++--- .../kqapi/admin/manage/AdminMatterManage.java | 70 ++++++++++++--------- .../admin/model/dto/GovServiceMatterImportDTO.java | 52 --------------- .../kqapi/admin/model/dto/MatterImportDTO.java | 66 +++++++++++++++++++ .../kqapi/zzsfw/enumeration/ItemTypeEnum.java | 17 ++++- .../kqapi/zzsfw/manage/MatterManage.java | 1 + .../template/增值服务事项配置模板.xlsx | Bin 0 -> 10268 bytes .../template/政务服务事项配置模板.xlsx | Bin 0 -> 10258 bytes .../template/政策服务事项配置模板.xlsx | Bin 9775 -> 0 bytes 9 files changed, 129 insertions(+), 91 deletions(-) delete mode 100644 kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/model/dto/GovServiceMatterImportDTO.java create mode 100644 kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/model/dto/MatterImportDTO.java create mode 100644 kq-vas-api/src/main/resources/template/增值服务事项配置模板.xlsx create mode 100644 kq-vas-api/src/main/resources/template/政务服务事项配置模板.xlsx delete mode 100644 kq-vas-api/src/main/resources/template/政策服务事项配置模板.xlsx diff --git a/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/controller/MatterController.java b/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/controller/MatterController.java index 14f3304..7f5029f 100644 --- a/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/controller/MatterController.java +++ b/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/controller/MatterController.java @@ -59,19 +59,19 @@ public class MatterController { matterManage.saveOrUpdate(req); } - @PostMapping("/importGovServiceMatter") - @WebLog("导入政务服务事项") - @ApiOperation("导入政务服务事项") + @PostMapping("/importMatter") + @WebLog("导入服务事项") + @ApiOperation("导入服务事项") public void importMatter(@RequestParam("file") MultipartFile file, - @RequestParam("matterType") Integer matterType) { + @RequestParam("matterType") Integer matterType) { matterManage.importMatter(file, matterType); } - @GetMapping("/downloadGovServiceMatterTemplate") + @GetMapping("/downloadMatterImportTemplate/{matterType}") @WebLog("下载政策服务事项配置模板") @ApiOperation("下载政策服务事项配置模板") - public void downloadMatterTemplate(HttpServletResponse response) { - matterManage.downloadGovServiceMatterTemplate(response); + public void downloadMatterImportTemplate(HttpServletResponse response, @PathVariable Integer matterType) { + matterManage.downloadMatterImportTemplate(response, matterType); } } diff --git a/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/manage/AdminMatterManage.java b/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/manage/AdminMatterManage.java index b864eff..0789541 100644 --- a/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/manage/AdminMatterManage.java +++ b/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/manage/AdminMatterManage.java @@ -16,7 +16,7 @@ import com.ningdatech.basic.model.PageVo; import com.ningdatech.basic.util.CollUtils; import com.ningdatech.basic.util.ValidUtil; import com.ningdatech.kqapi.admin.mapper.ZoneMapper; -import com.ningdatech.kqapi.admin.model.dto.GovServiceMatterImportDTO; +import com.ningdatech.kqapi.admin.model.dto.MatterImportDTO; import com.ningdatech.kqapi.admin.model.entity.Window; import com.ningdatech.kqapi.admin.model.entity.Zone; import com.ningdatech.kqapi.admin.model.enumerization.HandleChannelEnum; @@ -156,34 +156,14 @@ public class AdminMatterManage { ItemTypeEnum type = IEnum.getNoNull(ItemTypeEnum.class, matterType); Assert.isTrue(!type.equals(ItemTypeEnum.SPECIAL), "不支持的导入类型"); try (InputStream is = file.getInputStream()) { - List imports = EasyExcel.read(is, - new AnalysisEventListener() { - @Override - public void invoke(GovServiceMatterImportDTO data, AnalysisContext context) { - String errMsg = ValidUtil.validFast(data); - if (errMsg != null) { - throw BizException.wrap(errMsg); - } - Optional handleChannel = IEnum.getByDesc(HandleChannelEnum.class, data.getHandleChannel()); - if (handleChannel.isPresent()) { - data.setHandleChannelEnum(handleChannel.get()); - } else { - throw BizException.wrap("不支持的办理渠道"); - } - } - - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - // do nothing - } - }) + List imports = EasyExcel.read(is, buildImportEventListener(type)) .headRowNumber(1) - .head(GovServiceMatterImportDTO.class) + .head(MatterImportDTO.class) .excelType(ExcelTypeEnum.XLSX) .ignoreEmptyRow(true) .autoCloseStream(true) .doReadAllSync(); - Map> mattersByZone = CollUtils.group(imports, GovServiceMatterImportDTO::getZoneName); + Map> mattersByZone = CollUtils.group(imports, MatterImportDTO::getZoneName); Wrapper zoneQuery = Wrappers.lambdaQuery(Zone.class) .in(Zone::getZoneName, mattersByZone.keySet()); List zones = zoneMapper.selectList(zoneQuery); @@ -195,7 +175,7 @@ public class AdminMatterManage { mattersByZone.forEach((zoneName, matters) -> { Zone zone = zoneMap.get(zoneName); Assert.notNull(zone, "服务专区不存在"); - Map> mattersByWin = CollUtils.group(matters, GovServiceMatterImportDTO::getWindowName); + Map> mattersByWin = CollUtils.group(matters, MatterImportDTO::getWindowName); Wrapper windowQuery = Wrappers.lambdaQuery(Window.class) .eq(Window::getZoneId, zone.getId()) .in(Window::getWindowName, mattersByWin.keySet()); @@ -204,7 +184,7 @@ public class AdminMatterManage { throw BizException.wrap("导入失败:服务窗口不存在"); } Map windowMap = CollUtils.listToMap(windows, Window::getWindowName); - for (GovServiceMatterImportDTO matter : matters) { + for (MatterImportDTO matter : matters) { Window window = windowMap.get(matter.getWindowName()); Assert.notNull(window, "服务窗口不存在"); KqZzsfwMenu menu = new KqZzsfwMenu(); @@ -216,6 +196,9 @@ public class AdminMatterManage { menu.setZoneName(zone.getZoneName()); menu.setDepartment(matter.getDepartment()); menu.setHandleChannel(matter.getHandleChannelEnum().getCode()); + menu.setServiceContent(matter.getServiceContent()); + menu.setServiceProcess(matter.getServiceProcess()); + menu.setTelephone(matter.getTelephone()); menu.setSort(99); menu.setType(type.getCode()); newMatters.add(menu); @@ -228,8 +211,37 @@ public class AdminMatterManage { } } - public void downloadGovServiceMatterTemplate(HttpServletResponse response) { - final ClassPathResource resource = new ClassPathResource("/template/政策服务事项配置模板.xlsx"); + private static AnalysisEventListener buildImportEventListener(ItemTypeEnum type) { + return new AnalysisEventListener() { + @Override + public void invoke(MatterImportDTO data, AnalysisContext context) { + String errMsg = ValidUtil.validFast(data, type.getParamValidGroup()); + if (errMsg != null) { + throw BizException.wrap(errMsg); + } + if (StrUtil.isNotBlank(data.getHandleChannel())) { + Optional channel = IEnum.getByDesc(HandleChannelEnum.class, data.getHandleChannel()); + if (channel.isPresent()) { + data.setHandleChannelEnum(channel.get()); + } else { + throw BizException.wrap("不支持的办理渠道"); + } + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // do nothing + } + }; + } + + public void downloadMatterImportTemplate(HttpServletResponse response, Integer matterType) { + ItemTypeEnum matterTypeEnum = ItemTypeEnum.match(matterType); + Assert.notNull(matterTypeEnum, "参数缺失"); + String templatePath = matterTypeEnum.getImportTemplatePath(); + Assert.notEmpty(templatePath, "不支持的事项模版类型"); + ClassPathResource resource = new ClassPathResource(templatePath); try (ServletOutputStream os = response.getOutputStream()) { response.setContentType(ExcelUtil.XLSX_CONTENT_TYPE); String fileName = URLEncoder.encode(resource.getName(), "UTF-8"); @@ -238,7 +250,7 @@ public class AdminMatterManage { os.flush(); } catch (IOException e) { log.error("下载失败:", e); - throw BizException.wrap("政策服务事项配置模板下载失败"); + throw BizException.wrap("事项配置模板下载失败"); } } diff --git a/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/model/dto/GovServiceMatterImportDTO.java b/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/model/dto/GovServiceMatterImportDTO.java deleted file mode 100644 index dfdc14b..0000000 --- a/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/model/dto/GovServiceMatterImportDTO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.ningdatech.kqapi.admin.model.dto; - -import com.alibaba.excel.annotation.ExcelIgnore; -import com.alibaba.excel.annotation.ExcelProperty; -import com.ningdatech.kqapi.admin.model.enumerization.HandleChannelEnum; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -/** - *

- * GovServiceMatterImportDTO - *

- * - * @author WendyYang - * @since 15:27 2024/4/23 - */ -@Data -public class GovServiceMatterImportDTO { - - @ExcelProperty(value = "序号") - @ExcelIgnore - private Integer rowNo; - - @ExcelProperty(value = "服务专区") - @NotBlank(message = "服务专区不能为空") - private String zoneName; - - @ExcelProperty(value = "服务窗口") - @NotBlank(message = "服务窗口不能为空") - private String windowName; - - @ExcelProperty(value = "服务事项名称") - @NotBlank(message = "服务事项名称不能为空") - private String matterName; - - @ExcelProperty(value = "办理渠道") - @NotBlank(message = "办理渠道不能为空") - private String handleChannel; - - @ExcelProperty(value = "政务服务链接") - @NotBlank(message = "政务服务链接不能为空") - private String webApplyUrl; - - @ExcelProperty(value = "牵头部门") - @NotBlank(message = "牵头部门不能为空") - private String department; - - @ExcelIgnore - private HandleChannelEnum handleChannelEnum; - -} diff --git a/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/model/dto/MatterImportDTO.java b/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/model/dto/MatterImportDTO.java new file mode 100644 index 0000000..6282715 --- /dev/null +++ b/kq-vas-api/src/main/java/com/ningdatech/kqapi/admin/model/dto/MatterImportDTO.java @@ -0,0 +1,66 @@ +package com.ningdatech.kqapi.admin.model.dto; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.ningdatech.kqapi.admin.model.enumerization.HandleChannelEnum; +import com.ningdatech.kqapi.zzsfw.enumeration.ItemTypeEnum.AddedService; +import com.ningdatech.kqapi.zzsfw.enumeration.ItemTypeEnum.GovService; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + *

+ * GovServiceMatterImportDTO + *

+ * + * @author WendyYang + * @since 15:27 2024/4/23 + */ +@Data +public class MatterImportDTO { + + @ExcelProperty(value = "序号") + @ExcelIgnore + private Integer rowNo; + + @ExcelProperty(value = "服务专区") + @NotBlank(message = "服务专区不能为空", groups = {GovService.class, AddedService.class}) + private String zoneName; + + @ExcelProperty(value = "服务窗口") + @NotBlank(message = "服务窗口不能为空", groups = {GovService.class, AddedService.class}) + private String windowName; + + @ExcelProperty(value = "服务事项名称") + @NotBlank(message = "服务事项名称不能为空", groups = {GovService.class, AddedService.class}) + private String matterName; + + @ExcelProperty(value = "办理渠道") + @NotBlank(message = "办理渠道不能为空", groups = GovService.class) + private String handleChannel; + + @ExcelProperty(value = "政务服务链接") + @NotBlank(message = "政务服务链接不能为空", groups = GovService.class) + private String webApplyUrl; + + @ExcelProperty(value = "牵头部门") + @NotBlank(message = "牵头部门不能为空", groups = {GovService.class, AddedService.class}) + private String department; + + @ExcelProperty(value = "服务内容") + @NotBlank(message = "服务内容不能为空", groups = AddedService.class) + private String serviceContent; + + @ExcelProperty(value = "服务流程") + @NotBlank(message = "服务流程不能为空", groups = AddedService.class) + private String serviceProcess; + + @ExcelProperty(value = "咨询电话") + @NotBlank(message = "咨询电话不能为空", groups = AddedService.class) + private String telephone; + + @ExcelIgnore + private HandleChannelEnum handleChannelEnum; + +} diff --git a/kq-vas-api/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java b/kq-vas-api/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java index a52d90a..7091379 100644 --- a/kq-vas-api/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java +++ b/kq-vas-api/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java @@ -22,15 +22,26 @@ public enum ItemTypeEnum implements IEnum { /** * 事项类型 枚举 */ - GOV(1, "政府服务"), - ADDED(2, "增值服务"), - SPECIAL(3, "特殊服务"); + GOV(1, "政府服务", GovService.class, "/template/政务服务事项配置模板.xlsx"), + ADDED(2, "增值服务", AddedService.class, "/template/增值服务事项配置模板.xlsx"), + SPECIAL(3, "特殊服务", SpecialService.class, ""); private final Integer code; private final String desc; + private final Class paramValidGroup; + private final String importTemplatePath; public static ItemTypeEnum match(Integer code) { return IEnum.getByCode(ItemTypeEnum.class, code).orElse(null); } + public interface GovService { + } + + public interface AddedService { + } + + public interface SpecialService { + } + } diff --git a/kq-vas-api/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java b/kq-vas-api/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java index ecc6ff4..9ea3f2b 100644 --- a/kq-vas-api/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java +++ b/kq-vas-api/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java @@ -229,6 +229,7 @@ public class MatterManage { .map(m -> { WebMatterDetailVO build = new WebMatterDetailVO(); build.setId(m.getId()); + build.setHandleChannel(m.getHandleChannel()); build.setMatterName(m.getItemName()); build.setMatterType(m.getType()); build.setWindowName(m.getWindow()); diff --git a/kq-vas-api/src/main/resources/template/增值服务事项配置模板.xlsx b/kq-vas-api/src/main/resources/template/增值服务事项配置模板.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..20f660d5348a1c61a35fb8960a9d5a2dc15ace5c GIT binary patch literal 10268 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 literal 0 HcmV?d00001 diff --git a/kq-vas-api/src/main/resources/template/政务服务事项配置模板.xlsx b/kq-vas-api/src/main/resources/template/政务服务事项配置模板.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1fc011c4a48c54a681e907a7a5b485584a9af7ef GIT binary patch literal 10258 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 X#wg0b{#>jW;4(9Ku-rN26Yl>2VkOuU literal 0 HcmV?d00001 diff --git a/kq-vas-api/src/main/resources/template/政策服务事项配置模板.xlsx b/kq-vas-api/src/main/resources/template/政策服务事项配置模板.xlsx deleted file mode 100644 index db33d10b5df2ad35758a5749e558184182b7b42f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9775 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