implements ProjectTraceS
msg.setMessageContent(projectStaffMessage);
msg.setReadFlag(ReadFlagConstant.UN_READ);
msg.setUserId(staff.getStaffId());
+
+ //21.09.10:记录消息类型和对应的业务id
+ msg.setTargetId(projectId);
+ msg.setMessageType(UserMessageTypeConstant.PROJECT_FROM_RESI_EVENT);
+
msgList.add(msg);
map.put(staff.getStaffId(),staff.getStaffId());
}
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/AttachmentDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/AttachmentDTO.java
new file mode 100644
index 0000000000..08fc2f7cc5
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/AttachmentDTO.java
@@ -0,0 +1,22 @@
+package com.epmet.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 16:21
+ */
+@Data
+public class AttachmentDTO implements Serializable {
+ private static final long serialVersionUID = 6505979559566901869L;
+ private String name;
+ private String format;
+ private String type;
+ private String url;
+ private Integer size;
+ private Integer duration;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/ExternalLinkDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/ExternalLinkDTO.java
new file mode 100644
index 0000000000..e298d31648
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/ExternalLinkDTO.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 指南外链表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class ExternalLinkDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 链接说明
+ */
+ private String description;
+
+ /**
+ * 外部链接
+ */
+ private String externalLink;
+
+ /**
+ * 外部链接
+ */
+ private Integer sort;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideAttachmentDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideAttachmentDTO.java
new file mode 100644
index 0000000000..212e9bc369
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideAttachmentDTO.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 办事指南附件
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class GuideAttachmentDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 唯一标识
+ */
+ private String id;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 办事指南ID
+ */
+ private String guideId;
+
+ /**
+ * 附件名
+ */
+ private String attachmentName;
+
+ /**
+ * 文件大小 单位byte
+ */
+ private Integer attachmentSize;
+
+ /**
+ * 文件格式 word、excel、pdf
+ */
+ private String attachmentFormat;
+
+ /**
+ * 类型
+ */
+ private String attachmentType;
+
+ /**
+ * 附件地址
+ */
+ private String attachmentUrl;
+
+ /**
+ * 语音或视频时长,秒
+ */
+ private Integer duration;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 删除标识 0.未删除 1.已删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideCategoryDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideCategoryDTO.java
new file mode 100644
index 0000000000..7d0ed1eef4
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideCategoryDTO.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 指南分类
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-08
+ */
+@Data
+public class GuideCategoryDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户id,产品默认配置此列存储default
+ */
+ private String customerId;
+
+ /**
+ * 分类名,客户内唯一
+ */
+ private String categoryName;
+
+ /**
+ * 分类编码:分类名的全拼; eg:gongjijin
+ */
+ private String categoryCode;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 状态 禁用disable 启用enable
+ */
+ private String status;
+
+ /**
+ * 删除标识 0未删除、1已删除
+ */
+ @JsonIgnore
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ @JsonIgnore
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ @JsonIgnore
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ @JsonIgnore
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ @JsonIgnore
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ @JsonIgnore
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideCollectionDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideCollectionDTO.java
new file mode 100644
index 0000000000..6b9dbfaeee
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideCollectionDTO.java
@@ -0,0 +1,91 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 指南收藏表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class GuideCollectionDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 指南ID
+ */
+ private String guideId;
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 用户所属客户端 居民端resi 工作端gov
+ */
+ private String app;
+
+ /**
+ * 删除标识 0未删除、1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideDTO.java
new file mode 100644
index 0000000000..f5fe57d143
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideDTO.java
@@ -0,0 +1,112 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 办事指南表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class GuideDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID 唯一标识
+ */
+ private String id;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 发布单位类型 机关agency 网格grid 部门dept
+ */
+ private String orgType;
+
+ /**
+ * 发布单位ID
+ */
+ private String orgId;
+
+ /**
+ * 发布单位名称
+ */
+ private String orgName;
+
+ /**
+ * 所属组织机构ID(customer_agency.id)
+ */
+ private String pid;
+
+ /**
+ * 所有上级组织ID,英文:隔开
+ */
+ private String pids;
+
+ /**
+ * 标题
+ */
+ private String title;
+
+ /**
+ * 分类ID
+ */
+ private String categoryCode;
+
+ /**
+ * 删除标识:0.未删除 1.已删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideExternalLinkDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideExternalLinkDTO.java
new file mode 100644
index 0000000000..39612bb4ff
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideExternalLinkDTO.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 指南外链表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class GuideExternalLinkDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 指南ID
+ */
+ private String guideId;
+
+ /**
+ * 链接说明
+ */
+ private String description;
+
+ /**
+ * 外部链接
+ */
+ private String externalLink;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 删除标识 0未删除、1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDTO.java
new file mode 100644
index 0000000000..40e4fed74e
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDTO.java
@@ -0,0 +1,91 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 指南模块关联表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class GuideModuleDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 指南ID
+ */
+ private String guideId;
+
+ /**
+ * 模块ID
+ */
+ private String moduleId;
+
+ /**
+ *
+ */
+ private String moduleContent;
+
+ /**
+ * 删除标识 0未删除、1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDictDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDictDTO.java
new file mode 100644
index 0000000000..938e7b211a
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDictDTO.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 指南模块字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class GuideModuleDictDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 模块key
+ */
+ private String moduleValue;
+
+ /**
+ * 模块名
+ */
+ private String moduleName;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 状态 禁用disable 启用enable
+ */
+ private String status;
+
+ /**
+ * 删除标识 0未删除、1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDictDefaultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDictDefaultDTO.java
new file mode 100644
index 0000000000..6c59d906f9
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideModuleDictDefaultDTO.java
@@ -0,0 +1,91 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 指南模块默认字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class GuideModuleDictDefaultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 模块key
+ */
+ private String moduleValue;
+
+ /**
+ * 模块名
+ */
+ private String moduleName;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 状态 禁用disable 启用enable
+ */
+ private String status;
+
+ /**
+ * 删除标识 0未删除、1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/ModuleDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/ModuleDTO.java
new file mode 100644
index 0000000000..548395fd96
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/ModuleDTO.java
@@ -0,0 +1,58 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 指南模块字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+public class ModuleDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ private String guideModuleId;
+ /**
+ * 主键
+ */
+ private String moduleId;
+
+ /**
+ * 模块key
+ */
+ private String moduleValue;
+
+ /**
+ * 模块名
+ */
+ private String moduleName;
+
+ /**
+ * 模块内容
+ */
+ private String moduleContent;
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/EditGuideCategoryFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/EditGuideCategoryFormDTO.java
new file mode 100644
index 0000000000..79286ba45f
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/EditGuideCategoryFormDTO.java
@@ -0,0 +1,49 @@
+package com.epmet.dto.form;
+
+import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 编辑、禁用、删除统一入参
+ * @Author yinzuomei
+ * @Date 2021/9/8 4:15 下午
+ */
+@Data
+public class EditGuideCategoryFormDTO implements Serializable {
+ private static final long serialVersionUID = -6853534660181580456L;
+
+ public interface AddUserInternalGroup {
+ }
+
+ public interface StatusGroup {
+ }
+
+ public interface UpdateInfoGroup extends CustomerClientShowGroup {
+ }
+ public interface SaveInfoGroup extends CustomerClientShowGroup {
+ }
+
+ public interface DelGroup {
+ }
+ @NotBlank(message = "当前操作人id不能为空", groups = AddUserInternalGroup.class)
+ private String staffId;
+
+ @NotBlank(message = "客户id不能为空",groups = {DelGroup.class,UpdateInfoGroup.class,SaveInfoGroup.class})
+ private String customerId;
+
+ @NotBlank(message = "id不能为空", groups = {StatusGroup.class,DelGroup.class,UpdateInfoGroup.class})
+ private String id;
+
+ @NotBlank(message = "status不能为空", groups = StatusGroup.class)
+ private String status;
+
+ @NotBlank(message = "分类名称不能为空不能为空", groups = {UpdateInfoGroup.class,SaveInfoGroup.class})
+ @Length(max = 10, message = "分类名称最多填入10个字", groups = {UpdateInfoGroup.class,SaveInfoGroup.class})
+ private String categoryName;
+
+}
+
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideAddFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideAddFormDTO.java
new file mode 100644
index 0000000000..dd74b3fac6
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideAddFormDTO.java
@@ -0,0 +1,61 @@
+package com.epmet.dto.form;
+
+import com.epmet.dto.AttachmentDTO;
+import com.epmet.dto.ExternalLinkDTO;
+import com.epmet.dto.ModuleDTO;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 10:24
+ */
+@NoArgsConstructor
+@Data
+public class GuideAddFormDTO implements Serializable {
+
+ private static final long serialVersionUID = -7750999102010191460L;
+ /**
+ * 标题
+ */
+ @NotBlank(message = "标题不能为空")
+ private String title;
+ /**
+ * 标题
+ */
+ @NotBlank(message = "分类不能为空")
+ private String categoryCode;
+ /**
+ * 机关类型 机关agency 网格grid 部门dept
+ */
+ @NotBlank(message = "所属机关类型不能为空")
+ private String orgType;
+ /**
+ * 所属机关
+ */
+ @NotBlank(message = "所属机关ID不能为空")
+ private String orgId;
+ /**
+ * 所属机关
+ */
+ @NotBlank(message = "所属机关名不能为空")
+ private String orgName;
+ /**
+ * 外部链接
+ */
+ private List externalLinks;
+ /**
+ * 内容模块
+ */
+ private List moduleList;
+ /**
+ * 附件
+ */
+ private List attachmentList;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCateOrderFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCateOrderFormDTO.java
new file mode 100644
index 0000000000..6b66e9f7c5
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCateOrderFormDTO.java
@@ -0,0 +1,56 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description 分类排序入参DTO
+ * @Author yinzuomei
+ * @Date 2021/9/8 4:03 下午
+ */
+@Data
+public class GuideCateOrderFormDTO implements Serializable {
+ private static final long serialVersionUID = 8671295475212569124L;
+
+ public interface AddUserInternalGroup {
+ }
+
+ @NotBlank(message = "当前操作人id不能为空", groups = AddUserInternalGroup.class)
+ private String staffId;
+
+
+ @NotEmpty(message = "顺序不能为空", groups = {AddUserInternalGroup.class})
+ private List orderList;
+
+ /**
+ * 排序索引号dto
+ */
+ public static class OrderIndexDTO {
+ private String id;
+ private Integer orderIndex;
+
+ public OrderIndexDTO() {
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Integer getOrderIndex() {
+ return orderIndex;
+ }
+
+ public void setOrderIndex(Integer orderIndex) {
+ this.orderIndex = orderIndex;
+ }
+ }
+}
+
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCategoryDropDownFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCategoryDropDownFormDTO.java
new file mode 100644
index 0000000000..a92e1c2e09
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCategoryDropDownFormDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 发布指南、编辑指南、查询指南列表 分类下拉框
+ * @Author yinzuomei
+ * @Date 2021/9/8 2:57 下午
+ */
+@Data
+public class GuideCategoryDropDownFormDTO implements Serializable {
+ private static final long serialVersionUID = 9122708701080412461L;
+ public interface AddUserInternalGroup {
+ }
+ /**
+ * 新增指南:saveorupdate;查询指南列表:query
+ */
+ @NotBlank(message = "新增指南:saveorupdate;查询指南列表:query",groups = AddUserInternalGroup.class)
+ private String queryOrigin;
+
+ @NotBlank(message = "当前工作人员所属客户id不能为空",groups = AddUserInternalGroup.class)
+ private String customerId;
+
+}
+
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCategoryPageFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCategoryPageFormDTO.java
new file mode 100644
index 0000000000..b67686e451
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideCategoryPageFormDTO.java
@@ -0,0 +1,21 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 工作端PC或者运营端分页
+ * @Author yinzuomei
+ * @Date 2021/9/8 1:35 下午
+ */
+@Data
+public class GuideCategoryPageFormDTO implements Serializable {
+ private static final long serialVersionUID = -7551388716349439643L;
+ public interface AddUserInternalGroup {
+ }
+ @NotBlank(message = "客户id不能为空,运营端传default", groups = AddUserInternalGroup.class)
+ private String customerId;
+}
+
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideEditFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideEditFormDTO.java
new file mode 100644
index 0000000000..a589c4c1ec
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideEditFormDTO.java
@@ -0,0 +1,70 @@
+package com.epmet.dto.form;
+
+import com.epmet.dto.AttachmentDTO;
+import com.epmet.dto.ExternalLinkDTO;
+import com.epmet.dto.ModuleDTO;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 10:24
+ */
+@NoArgsConstructor
+@Data
+public class GuideEditFormDTO implements Serializable {
+
+ private static final long serialVersionUID = -7750999102010191460L;
+ /**
+ * 工作人员ID
+ */
+ private String staffId;
+ /**
+ * 指南ID
+ */
+ @NotBlank(message = "指南id不能为空")
+ private String guideId;
+ /**
+ * 标题
+ */
+ @NotBlank(message = "标题不能为空")
+ private String title;
+ /**
+ * 标题
+ */
+ @NotBlank(message = "分类不能为空")
+ private String categoryCode;
+ /**
+ * 机关类型 机关agency 网格grid 部门dept
+ */
+ @NotBlank(message = "所属机关类型不能为空")
+ private String orgType;
+ /**
+ * 所属机关
+ */
+ @NotBlank(message = "所属机关ID不能为空")
+ private String orgId;
+ /**
+ * 所属机关
+ */
+ @NotBlank(message = "所属机关名不能为空")
+ private String orgName;
+ /**
+ * 外部链接
+ */
+ private List externalLinks;
+ /**
+ * 内容模块
+ */
+ private List moduleList;
+ /**
+ * 附件
+ */
+ private List attachmentList;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideFormDTO.java
new file mode 100644
index 0000000000..48bfde8f04
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideFormDTO.java
@@ -0,0 +1,39 @@
+package com.epmet.dto.form;
+
+import com.epmet.dto.ExternalLinkDTO;
+import com.epmet.dto.GuideAttachmentDTO;
+import com.epmet.dto.ModuleDTO;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 10:24
+ */
+@NoArgsConstructor
+@Data
+public class GuideFormDTO implements Serializable {
+
+ private static final long serialVersionUID = -7750999102010191460L;
+ /**
+ * 标题
+ */
+ @NotBlank(message = "指南id不能为空")
+ private String guideId;
+
+ /**
+ * 工作人员
+ */
+ private String staffId;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java
new file mode 100644
index 0000000000..d8edcf1308
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java
@@ -0,0 +1,32 @@
+package com.epmet.dto.form;
+
+import com.epmet.commons.tools.dto.form.PageFormDTO;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 9:38
+ */
+@NoArgsConstructor
+@Data
+public class GuideListFormDTO extends PageFormDTO implements Serializable {
+
+ private static final long serialVersionUID = -4471422632936288213L;
+ private String customerId;
+ /**
+ * 组织ID
+ */
+ private String agencyId;
+ /**
+ * 分类
+ */
+ private String categoryCode;
+ /**
+ * 标题
+ */
+ private String guideTitle;
+}
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GetCategoryResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GetCategoryResultDTO.java
new file mode 100644
index 0000000000..6bf568d65d
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GetCategoryResultDTO.java
@@ -0,0 +1,17 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 10:52
+ */
+@Data
+public class GetCategoryResultDTO implements Serializable {
+ private static final long serialVersionUID = 3527239091132653541L;
+ private String categoryId;
+ private String categoryName;
+}
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideDetailResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideDetailResultDTO.java
new file mode 100644
index 0000000000..88844f301c
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideDetailResultDTO.java
@@ -0,0 +1,67 @@
+package com.epmet.dto.result;
+
+import com.epmet.dto.AttachmentDTO;
+import com.epmet.dto.ExternalLinkDTO;
+import com.epmet.dto.ModuleDTO;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 10:24
+ */
+@NoArgsConstructor
+@Data
+public class GuideDetailResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -7750999102010191460L;
+ /**
+ * 标题
+ */
+ private String guideId;
+ /**
+ * 标题
+ */
+ private String title;
+ /**
+ * 分类ID
+ */
+ private String categoryCode;
+ /**
+ * 分类名
+ */
+ private String categoryName;
+ /**
+ * 机关类型 机关agency 网格grid 部门dept
+ */
+ private String orgType;
+ /**
+ * 所属机关
+ */
+ private String orgId;
+ /**
+ * 所属机关名
+ */
+ private String orgName;
+ /**
+ * 是否收藏 1是, 0否
+ */
+ private String collectionFlag;
+ /**
+ * 外部链接
+ */
+ private List externalLinks;
+ /**
+ * 内容模块
+ */
+ private List moduleList;
+ /**
+ * 附件
+ */
+ private List attachmentList;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideDictResDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideDictResDTO.java
new file mode 100644
index 0000000000..00f56ad3f9
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideDictResDTO.java
@@ -0,0 +1,39 @@
+package com.epmet.dto.result;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description 办事指南】可用分类列表 新增、编辑指南时的下拉框:展示未禁用的分类; 查询指南列表:如果禁用的分类下存在指南列表,则展示,不存在直接不展示
+ * @Author yinzuomei
+ * @Date 2021/9/8 2:44 下午
+ */
+@Data
+public class GuideDictResDTO implements Serializable {
+
+ /**
+ * 分类名,客户内唯一
+ */
+ private String categoryName;
+
+ /**
+ * 分类编码:分类名的全拼; eg:gongjijin
+ */
+ private String categoryCode;
+
+ /**
+ * 排序
+ */
+ @JsonIgnore
+ private Integer sort;
+
+ /**
+ * 状态 禁用disable 启用enable
+ */
+ @JsonIgnore
+ private String status;
+}
+
+
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideListResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideListResultDTO.java
new file mode 100644
index 0000000000..7cd2400afa
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideListResultDTO.java
@@ -0,0 +1,35 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Administrator
+ */
+@Data
+public class GuideListResultDTO implements Serializable {
+ private static final long serialVersionUID = -1360741408368601140L;
+ private String guideId;
+ /**
+ * 标题
+ */
+ private String title;
+ /**
+ * 分类
+ */
+ private String categoryName;
+ /**
+ * 创建人ID
+ */
+ private String createdId;
+ /**
+ * 创建人姓名
+ */
+ private String createdName;
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideCategoryController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideCategoryController.java
new file mode 100644
index 0000000000..b1e8824223
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideCategoryController.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.controller;
+
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.dto.GuideCategoryDTO;
+import com.epmet.dto.form.EditGuideCategoryFormDTO;
+import com.epmet.dto.form.GuideCateOrderFormDTO;
+import com.epmet.dto.form.GuideCategoryDropDownFormDTO;
+import com.epmet.dto.form.GuideCategoryPageFormDTO;
+import com.epmet.dto.result.GuideDictResDTO;
+import com.epmet.service.GuideCategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+
+/**
+ * 指南分类
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@RestController
+@RequestMapping("guidecategory")
+public class GuideCategoryController {
+
+ @Autowired
+ private GuideCategoryService guideCategoryService;
+
+ /**
+ * 【办事指南】分类列表-工作端PC和运营端用不分页
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result>
+ * @author yinzuomei
+ * @date 2021/9/8 1:33 下午
+ */
+ @PostMapping("page")
+ public Result> page(@RequestBody GuideCategoryPageFormDTO formDTO){
+ ValidatorUtils.validateEntity(formDTO, GuideCategoryPageFormDTO.AddUserInternalGroup.class);
+ PageData page = guideCategoryService.page(formDTO);
+ return new Result>().ok(page);
+ }
+
+ /**
+ * 办事指南】可用分类列表 新增、编辑指南时的下拉框:展示未禁用的分类; 查询指南列表:如果禁用的分类下存在指南列表,则展示,不存在直接不展示
+ *
+ * @param tokenDto
+ * @return com.epmet.commons.tools.utils.Result>
+ * @author yinzuomei
+ * @date 2021/9/8 2:47 下午
+ */
+ @PostMapping("getcategory")
+ public Result> getCategory(@LoginUser TokenDto tokenDto,@RequestBody GuideCategoryDropDownFormDTO formDTO){
+ formDTO.setCustomerId(tokenDto.getCustomerId());
+ ValidatorUtils.validateEntity(formDTO,GuideCategoryDropDownFormDTO.AddUserInternalGroup.class);
+ return new Result>().ok(guideCategoryService.getCategory(formDTO));
+ }
+
+
+ /**
+ * 保存排序
+ *
+ * @param tokenDto
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author yinzuomei
+ * @date 2021/9/8 4:09 下午
+ */
+ @PostMapping("saveorder")
+ public Result saveOrder(@LoginUser TokenDto tokenDto,@RequestBody GuideCateOrderFormDTO formDTO){
+ formDTO.setStaffId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(formDTO,GuideCateOrderFormDTO.AddUserInternalGroup.class);
+ guideCategoryService.saveOrder(formDTO);
+ return new Result();
+ }
+
+ /**
+ * 禁用或者启用分类
+ *
+ * @param tokenDto
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author yinzuomei
+ * @date 2021/9/8 4:19 下午
+ */
+ @PostMapping("disable")
+ public Result disable(@LoginUser TokenDto tokenDto,@RequestBody EditGuideCategoryFormDTO formDTO){
+ formDTO.setStaffId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(formDTO,EditGuideCategoryFormDTO.StatusGroup.class,EditGuideCategoryFormDTO.AddUserInternalGroup.class);
+ guideCategoryService.disableGuideCategory(formDTO);
+ return new Result();
+ }
+
+ /**
+ * 删除分类,已经存在指南的不允许删除,给予提示
+ *
+ * @param tokenDto
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author yinzuomei
+ * @date 2021/9/8 4:45 下午
+ */
+ @PostMapping("delete")
+ public Result delete(@LoginUser TokenDto tokenDto,@RequestBody EditGuideCategoryFormDTO formDTO){
+ formDTO.setStaffId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(formDTO,EditGuideCategoryFormDTO.AddUserInternalGroup.class,EditGuideCategoryFormDTO.DelGroup.class);
+ guideCategoryService.delete(formDTO);
+ return new Result();
+ }
+
+
+ /**
+ * 新增分类,名称和编码客户内唯一
+ *
+ * @param tokenDto
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author yinzuomei
+ * @date 2021/9/8 5:11 下午
+ */
+ @PostMapping("save")
+ public Result save(@LoginUser TokenDto tokenDto,@RequestBody EditGuideCategoryFormDTO formDTO){
+ formDTO.setStaffId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(formDTO,EditGuideCategoryFormDTO.AddUserInternalGroup.class,EditGuideCategoryFormDTO.SaveInfoGroup.class);
+ return new Result().ok(guideCategoryService.save(formDTO));
+ }
+
+
+ /**
+ * 编辑名称
+ *
+ * @param tokenDto
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author yinzuomei
+ * @date 2021/9/8 5:37 下午
+ */
+ @PostMapping("update")
+ public Result update(@LoginUser TokenDto tokenDto,@RequestBody EditGuideCategoryFormDTO formDTO){
+ formDTO.setStaffId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(formDTO,EditGuideCategoryFormDTO.AddUserInternalGroup.class,EditGuideCategoryFormDTO.UpdateInfoGroup.class);
+ return new Result().ok(guideCategoryService.update(formDTO));
+ }
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideCollectionController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideCollectionController.java
new file mode 100644
index 0000000000..5c6ffe5019
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideCollectionController.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.controller;
+
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.dto.GuideCollectionDTO;
+import com.epmet.dto.form.GuideFormDTO;
+import com.epmet.service.GuideCollectionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+
+/**
+ * 指南收藏表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@RestController
+@RequestMapping("guidecollection")
+public class GuideCollectionController {
+
+ @Autowired
+ private GuideCollectionService guideCollectionService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = guideCollectionService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ GuideCollectionDTO data = guideCollectionService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody GuideCollectionDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ guideCollectionService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody GuideCollectionDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ guideCollectionService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ guideCollectionService.delete(ids);
+ return new Result();
+ }
+
+ /**
+ * @Description 收藏指南
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2021/9/9 9:46
+ */
+ @PostMapping("collection")
+ public Result collection(@LoginUser TokenDto tokenDto, @RequestBody GuideFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ guideCollectionService.collection(tokenDto, formDTO);
+ return new Result();
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java
new file mode 100644
index 0000000000..88d8115216
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.controller;
+
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.dto.form.PageFormDTO;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.dto.GuideDTO;
+import com.epmet.dto.form.GuideAddFormDTO;
+import com.epmet.dto.form.GuideEditFormDTO;
+import com.epmet.dto.form.GuideFormDTO;
+import com.epmet.dto.form.GuideListFormDTO;
+import com.epmet.dto.result.GuideDetailResultDTO;
+import com.epmet.dto.result.GuideListResultDTO;
+import com.epmet.service.GuideService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+
+/**
+ * 办事指南表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@RestController
+@RequestMapping("guide")
+public class GuideController {
+
+ @Autowired
+ private GuideService guideService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params) {
+ PageData page = guideService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id) {
+ GuideDTO data = guideService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody GuideDTO dto) {
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ guideService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody GuideDTO dto) {
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ guideService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids) {
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ guideService.delete(ids);
+ return new Result();
+ }
+
+ /**
+ * @Description 办事指南列表
+ * @Param formDTO
+ * @Return {@link Result< PageData< GuideListResultDTO>>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 13:59
+ */
+ @PostMapping("list")
+ public Result> guideList(@LoginUser TokenDto tokenDto, @RequestBody GuideListFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
+ PageData page = guideService.guideList(tokenDto, formDTO);
+ return new Result>().ok(page);
+ }
+
+
+ /**
+ * @Description 添加指南
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:13
+ */
+ @PostMapping("add")
+ public Result guideAdd(@LoginUser TokenDto tokenDto, @RequestBody GuideAddFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ guideService.guideAdd(tokenDto, formDTO);
+ return new Result();
+ }
+
+ /**
+ * @Description 修改指南
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:13
+ */
+ @PostMapping("edit")
+ public Result guideEdit(@LoginUser TokenDto tokenDto, @RequestBody GuideEditFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ formDTO.setStaffId(tokenDto.getUserId());
+ guideService.guideEdit(formDTO);
+ return new Result();
+ }
+
+ /**
+ * @Description 删除指南
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:13
+ */
+ @PostMapping("del")
+ public Result guideDel(@LoginUser TokenDto tokenDto, @RequestBody GuideFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ formDTO.setStaffId(tokenDto.getUserId());
+ guideService.guideDel(formDTO);
+ return new Result();
+ }
+
+ /**
+ * @Description 指南详情
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return {@link Result< GuideDetailResultDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:13
+ */
+ @PostMapping("detail")
+ public Result guideDetail(@LoginUser TokenDto tokenDto, @RequestBody GuideFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ formDTO.setCustomerId(tokenDto.getCustomerId());
+ GuideDetailResultDTO result = guideService.guideDetail(tokenDto, formDTO);
+ return new Result().ok(result);
+ }
+
+
+ @PostMapping("collectionlist")
+ public Result> collectionList(@LoginUser TokenDto tokenDto, @RequestBody PageFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
+ PageData page = guideService.collectionList(tokenDto, formDTO);
+ return new Result>().ok(page);
+ }
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideModuleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideModuleController.java
new file mode 100644
index 0000000000..dcaad21808
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideModuleController.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.controller;
+
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.dto.GuideModuleDTO;
+import com.epmet.dto.ModuleDTO;
+import com.epmet.service.GuideModuleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 指南模块关联表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@RestController
+@RequestMapping("guidemodule")
+public class GuideModuleController {
+
+ @Autowired
+ private GuideModuleService guideModuleService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = guideModuleService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ GuideModuleDTO data = guideModuleService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody GuideModuleDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ guideModuleService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody GuideModuleDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ guideModuleService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ guideModuleService.delete(ids);
+ return new Result();
+ }
+
+ @PostMapping("list")
+ public Result> getModuleList(@LoginUser TokenDto tokenDto) {
+ return new Result>().ok(guideModuleService.getModuleList(tokenDto.getCustomerId()));
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideModuleDictController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideModuleDictController.java
new file mode 100644
index 0000000000..a8a59b6b8b
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideModuleDictController.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.controller;
+
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.dto.GuideModuleDictDTO;
+import com.epmet.service.GuideModuleDictService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+
+/**
+ * 指南模块字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@RestController
+@RequestMapping("guidemoduledict")
+public class GuideModuleDictController {
+
+ @Autowired
+ private GuideModuleDictService guideModuleDictService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = guideModuleDictService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ GuideModuleDictDTO data = guideModuleDictService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody GuideModuleDictDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ guideModuleDictService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody GuideModuleDictDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ guideModuleDictService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ guideModuleDictService.delete(ids);
+ return new Result();
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideAttachmentDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideAttachmentDao.java
new file mode 100644
index 0000000000..01e5baddd7
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideAttachmentDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.GuideAttachmentEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 办事指南附件
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Mapper
+public interface GuideAttachmentDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideCategoryDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideCategoryDao.java
new file mode 100644
index 0000000000..71f757fd23
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideCategoryDao.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.GuideCategoryDTO;
+import com.epmet.dto.result.GuideDictResDTO;
+import com.epmet.entity.GuideCategoryEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 指南分类
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Mapper
+public interface GuideCategoryDao extends BaseDao {
+
+ /**
+ * 工作端PC或者运营端分类列表查询,不分页
+ *
+ * @param customerId
+ * @return java.util.List
+ * @author yinzuomei
+ * @date 2021/9/8 1:57 下午
+ */
+ List selectPageByCid(String customerId);
+
+ /**
+ * 办事指南】可用分类列表 新增、编辑指南时的下拉框:展示未禁用的分类; 查询指南列表:如果禁用的分类下存在指南列表,则展示,不存在直接不展示
+ *
+ * @param customerId
+ * @param queryOrigin
+ * @return java.util.List
+ * @author yinzuomei
+ * @date 2021/9/8 3:15 下午
+ */
+ List selectCategoryDict(@Param("customerId") String customerId, @Param("queryOrigin") String queryOrigin);
+
+ /**
+ * 保存排序
+ *
+ * @param id
+ * @param orderIndex
+ * @param staffId
+ * @return int
+ * @author yinzuomei
+ * @date 2021/9/8 4:11 下午
+ */
+ int updateOrder(@Param("id") String id, @Param("orderIndex") Integer orderIndex, @Param("staffId") String staffId);
+
+ /**
+ * 启用或者禁用
+ *
+ * @param id
+ * @param status
+ * @param staffId
+ * @return int
+ * @author yinzuomei
+ * @date 2021/9/8 4:22 下午
+ */
+ int updateStatus(@Param("id") String id, @Param("status")String status, @Param("staffId")String staffId);
+
+ /**
+ * 查询这个分类下的项目数
+ *
+ * @param id
+ * @return int
+ * @author yinzuomei
+ * @date 2021/9/8 4:36 下午
+ */
+ int selectGuideTotal(@Param("id") String id,@Param("customerId") String customerId);
+
+ int selectCategoryName(@Param("categoryName") String categoryName, @Param("customerId")String customerId, @Param("excludeId") String excludeId);
+
+ int selectCurrentOrder(String customerId);
+
+ int selectCategoryCode(@Param("categoryCode") String categoryCode, @Param("customerId")String customerId, @Param("excludeId") String excludeId);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideCollectionDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideCollectionDao.java
new file mode 100644
index 0000000000..905dfb9f3e
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideCollectionDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.GuideCollectionEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 指南收藏表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Mapper
+public interface GuideCollectionDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideDao.java
new file mode 100644
index 0000000000..18644f0249
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideDao.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.dto.form.GuideListFormDTO;
+import com.epmet.dto.result.GuideDetailResultDTO;
+import com.epmet.dto.result.GuideListResultDTO;
+import com.epmet.entity.GuideEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 办事指南表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Mapper
+public interface GuideDao extends BaseDao {
+
+ /**
+ * 指南列表
+ *
+ * @Param formDTO
+ * @Return {@link List}
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:21
+ */
+ List getGuideList(GuideListFormDTO formDTO);
+
+ /**
+ * 指南详情
+ *
+ * @Param customerId
+ * @Param guideId
+ * @Return {@link GuideDetailResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2021/9/8 9:59
+ */
+ GuideDetailResultDTO getGuideDetail(@Param("customerId") String customerId, @Param("guideId") String guideId);
+
+ /**
+ * 收藏列表
+ *
+ * @Param tokenDto
+ * @Return {@link List< GuideListResultDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/9 10:09
+ */
+ List getCollectionList(TokenDto tokenDto);
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideExternalLinkDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideExternalLinkDao.java
new file mode 100644
index 0000000000..f766b71680
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideExternalLinkDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.GuideExternalLinkEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 指南外链表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Mapper
+public interface GuideExternalLinkDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDao.java
new file mode 100644
index 0000000000..07518e24eb
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDao.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.ModuleDTO;
+import com.epmet.entity.GuideModuleEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 指南模块关联表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Mapper
+public interface GuideModuleDao extends BaseDao {
+ /**
+ * @Description 获取指南的内容模块
+ * @Param guideId
+ * @Return {@link List< ModuleDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/8 10:18
+ */
+ List selectByGuideId(@Param("customerId") String customerId, @Param("guideId") String guideId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDictDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDictDao.java
new file mode 100644
index 0000000000..8af7910511
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDictDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.GuideModuleDictEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 指南模块字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Mapper
+public interface GuideModuleDictDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDictDefaultDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDictDefaultDao.java
new file mode 100644
index 0000000000..071c7ed2c1
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideModuleDictDefaultDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.GuideModuleDictDefaultEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 指南模块默认字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Mapper
+public interface GuideModuleDictDefaultDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideAttachmentEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideAttachmentEntity.java
new file mode 100644
index 0000000000..192f52b306
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideAttachmentEntity.java
@@ -0,0 +1,83 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 办事指南附件
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("guide_attachment")
+public class GuideAttachmentEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 办事指南ID
+ */
+ private String guideId;
+
+ /**
+ * 附件名
+ */
+ private String attachmentName;
+
+ /**
+ * 文件大小 单位byte
+ */
+ private Integer attachmentSize;
+
+ /**
+ * 文件格式 word、excel、pdf
+ */
+ private String attachmentFormat;
+
+ /**
+ * 类型
+ */
+ private String attachmentType;
+
+ /**
+ * 附件地址
+ */
+ private String attachmentUrl;
+
+ /**
+ * 语音或视频时长,秒
+ */
+ private Integer duration;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideCategoryEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideCategoryEntity.java
new file mode 100644
index 0000000000..c13a7a3df9
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideCategoryEntity.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 指南分类
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-08
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("guide_category")
+public class GuideCategoryEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id,产品默认配置此列存储default
+ */
+ private String customerId;
+
+ /**
+ * 分类名,客户内唯一
+ */
+ private String categoryName;
+
+ /**
+ * 分类编码:分类名的全拼; eg:gongjijin
+ */
+ private String categoryCode;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 状态 禁用disable 启用enable
+ */
+ private String status;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideCollectionEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideCollectionEntity.java
new file mode 100644
index 0000000000..f522884f79
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideCollectionEntity.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 指南收藏表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("guide_collection")
+public class GuideCollectionEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 指南ID
+ */
+ private String guideId;
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 用户所属客户端 居民端resi 工作端gov
+ */
+ private String app;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideEntity.java
new file mode 100644
index 0000000000..5909729866
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideEntity.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 办事指南表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("guide")
+public class GuideEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 发布单位类型 机关agency 网格grid 部门dept
+ */
+ private String orgType;
+
+ /**
+ * 发布单位ID
+ */
+ private String orgId;
+
+ /**
+ * 发布单位名称
+ */
+ private String orgName;
+
+ /**
+ * 所属组织机构ID(customer_agency.id)
+ */
+ private String pid;
+
+ /**
+ * 所有上级组织ID,英文:隔开
+ */
+ private String pids;
+
+ /**
+ * 标题
+ */
+ private String title;
+
+ /**
+ * 分类ID
+ */
+ private String categoryCode;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideExternalLinkEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideExternalLinkEntity.java
new file mode 100644
index 0000000000..3773c6acea
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideExternalLinkEntity.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 指南外链表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("guide_external_link")
+public class GuideExternalLinkEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 指南ID
+ */
+ private String guideId;
+
+ /**
+ * 链接说明
+ */
+ private String description;
+
+ /**
+ * 外部链接
+ */
+ private String externalLink;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleDictDefaultEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleDictDefaultEntity.java
new file mode 100644
index 0000000000..f01788acdc
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleDictDefaultEntity.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 指南模块默认字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("guide_module_dict_default")
+public class GuideModuleDictDefaultEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 模块key
+ */
+ private String moduleValue;
+
+ /**
+ * 模块名
+ */
+ private String moduleName;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 状态 禁用disable 启用enable
+ */
+ private String status;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleDictEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleDictEntity.java
new file mode 100644
index 0000000000..2816effef0
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleDictEntity.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 指南模块字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("guide_module_dict")
+public class GuideModuleDictEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 模块key
+ */
+ private String moduleValue;
+
+ /**
+ * 模块名
+ */
+ private String moduleName;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 状态 禁用disable 启用enable
+ */
+ private String status;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleEntity.java
new file mode 100644
index 0000000000..35d602602e
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideModuleEntity.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 指南模块关联表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("guide_module")
+public class GuideModuleEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 指南ID
+ */
+ private String guideId;
+
+ /**
+ * 模块ID
+ */
+ private String moduleId;
+
+ /**
+ *
+ */
+ private String moduleContent;
+
+}
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideAttachmentService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideAttachmentService.java
new file mode 100644
index 0000000000..4b297fed10
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideAttachmentService.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.AttachmentDTO;
+import com.epmet.dto.GuideAttachmentDTO;
+import com.epmet.entity.GuideAttachmentEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 办事指南附件
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+public interface GuideAttachmentService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-09-06
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-09-06
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return GuideAttachmentDTO
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideAttachmentDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void save(GuideAttachmentDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void update(GuideAttachmentDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void delete(String[] ids);
+
+ /**
+ * @Description 删除指南附件
+ * @Param guideId
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 17:16
+ */
+ void deleteByGuideId(String guideId);
+
+ /**
+ * @Description 获取指南附件
+ * @Param guideId
+ * @Return {@link List< AttachmentDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/8 10:49
+ */
+ List getByGuideId(String guideId);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideCategoryService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideCategoryService.java
new file mode 100644
index 0000000000..5bde4619e6
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideCategoryService.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.GuideCategoryDTO;
+import com.epmet.dto.form.EditGuideCategoryFormDTO;
+import com.epmet.dto.form.GuideCateOrderFormDTO;
+import com.epmet.dto.form.GuideCategoryDropDownFormDTO;
+import com.epmet.dto.form.GuideCategoryPageFormDTO;
+import com.epmet.dto.result.GuideDictResDTO;
+import com.epmet.entity.GuideCategoryEntity;
+
+import java.util.List;
+
+/**
+ * 指南分类
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+public interface GuideCategoryService extends BaseService {
+
+ /**
+ * 【办事指南】分类列表-工作端PC和运营端用不分页
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result>
+ * @author yinzuomei
+ * @date 2021/9/8 1:33 下午
+ */
+ PageData page(GuideCategoryPageFormDTO formDTO);
+
+ /**
+ * 办事指南】可用分类列表 新增、编辑指南时的下拉框:展示未禁用的分类; 查询指南列表:如果禁用的分类下存在指南列表,则展示,不存在直接不展示
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author yinzuomei
+ * @date 2021/9/8 3:06 下午
+ */
+ List getCategory(GuideCategoryDropDownFormDTO formDTO);
+
+ /**
+ * 保存排序
+ *
+ * @param formDTO
+ * @return void
+ * @author yinzuomei
+ * @date 2021/9/8 4:09 下午
+ */
+ void saveOrder(GuideCateOrderFormDTO formDTO);
+
+
+ /**
+ * 启用或者禁用分类
+ *
+ * @param formDTO
+ * @return int
+ * @author yinzuomei
+ * @date 2021/9/8 4:20 下午
+ */
+ void disableGuideCategory(EditGuideCategoryFormDTO formDTO);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideCategoryDTO save(EditGuideCategoryFormDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideCategoryDTO update(EditGuideCategoryFormDTO dto);
+
+ /**
+ * 删除分类,存在办事指南的不允许删除,给予提示
+ *
+ * @param formDTO
+ * @return void
+ * @author yinzuomei
+ * @date 2021/9/8 4:34 下午
+ */
+ void delete(EditGuideCategoryFormDTO formDTO);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideCollectionService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideCollectionService.java
new file mode 100644
index 0000000000..bd2e97c482
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideCollectionService.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.dto.GuideCollectionDTO;
+import com.epmet.dto.form.GuideFormDTO;
+import com.epmet.entity.GuideCollectionEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 指南收藏表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+public interface GuideCollectionService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-09-06
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-09-06
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return GuideCollectionDTO
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideCollectionDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void save(GuideCollectionDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void update(GuideCollectionDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void delete(String[] ids);
+
+ /**
+ * @Description 收藏指南
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2021/9/9 9:46
+ */
+ void collection(TokenDto tokenDto, GuideFormDTO formDTO);
+
+ /**
+ * @Description 获取收藏信息
+ * @Param tokenDto
+ * @Param guideId
+ * @Return {@link GuideCollectionDTO}
+ * @Author zhaoqifeng
+ * @Date 2021/9/10 9:52
+ */
+ GuideCollectionDTO getCollection(TokenDto tokenDto, String guideId);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideExternalLinkService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideExternalLinkService.java
new file mode 100644
index 0000000000..e54c0d4675
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideExternalLinkService.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.ExternalLinkDTO;
+import com.epmet.dto.GuideExternalLinkDTO;
+import com.epmet.entity.GuideExternalLinkEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 指南外链表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+public interface GuideExternalLinkService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-09-06
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-09-06
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return GuideExternalLinkDTO
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideExternalLinkDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void save(GuideExternalLinkDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void update(GuideExternalLinkDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void delete(String[] ids);
+
+ /**
+ * @Description 删除指南外链
+ * @Param guideId
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 17:20
+ */
+ void deleteByGuideId(String guideId);
+
+ /**
+ * @Description 获取指南外链
+ * @Param guideId
+ * @Return {@link List< ExternalLinkDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/8 11:05
+ */
+ List getByGuideId(String guideId);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleDictDefaultService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleDictDefaultService.java
new file mode 100644
index 0000000000..2bf1b3aac7
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleDictDefaultService.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.GuideModuleDictDefaultDTO;
+import com.epmet.entity.GuideModuleDictDefaultEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 指南模块默认字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+public interface GuideModuleDictDefaultService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-09-06
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-09-06
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return GuideModuleDictDefaultDTO
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideModuleDictDefaultDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void save(GuideModuleDictDefaultDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void update(GuideModuleDictDefaultDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void delete(String[] ids);
+
+ /**
+ * 获取默认配置
+ * @Param
+ * @Return {@link List< GuideModuleDictDefaultDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/8 17:44
+ */
+ List getList();
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleDictService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleDictService.java
new file mode 100644
index 0000000000..7f1ae4a0e4
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleDictService.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.GuideModuleDictDTO;
+import com.epmet.dto.ModuleDTO;
+import com.epmet.entity.GuideModuleDictEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 指南模块字典表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+public interface GuideModuleDictService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-09-06
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-09-06
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return GuideModuleDictDTO
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideModuleDictDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void save(GuideModuleDictDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void update(GuideModuleDictDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void delete(String[] ids);
+
+ /**
+ * @Description 获取模块列表
+ * @Param customerId
+ * @Return {@link List< ModuleDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/8 17:50
+ */
+ List getModuleList(String customerId);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleService.java
new file mode 100644
index 0000000000..dc7857f8f9
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideModuleService.java
@@ -0,0 +1,124 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.GuideModuleDTO;
+import com.epmet.dto.ModuleDTO;
+import com.epmet.entity.GuideModuleEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 指南模块关联表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+public interface GuideModuleService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-09-06
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-09-06
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return GuideModuleDTO
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideModuleDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void save(GuideModuleDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void update(GuideModuleDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void delete(String[] ids);
+
+ /**
+ * @Description 删除指南的内容模块
+ * @Param guideId
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 17:01
+ */
+ void deleteByGuideId(String guideId);
+
+ /**
+ * @Description
+ * @Param customerId
+ * @Param guideId
+ * @Return {@link ModuleDTO}
+ * @Author zhaoqifeng
+ * @Date 2021/9/8 10:13
+ */
+ List getByGuideId(String customerId, String guideId);
+
+ /**
+ * @Description 获取模块列表
+ * @Param customerId
+ * @Return {@link List< ModuleDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/9 14:46
+ */
+ List getModuleList(String customerId);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java
new file mode 100644
index 0000000000..a2493a88ac
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java
@@ -0,0 +1,165 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.dto.form.PageFormDTO;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.dto.GuideDTO;
+import com.epmet.dto.form.GuideAddFormDTO;
+import com.epmet.dto.form.GuideEditFormDTO;
+import com.epmet.dto.form.GuideFormDTO;
+import com.epmet.dto.form.GuideListFormDTO;
+import com.epmet.dto.result.GuideDetailResultDTO;
+import com.epmet.dto.result.GuideListResultDTO;
+import com.epmet.entity.GuideEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 办事指南表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+public interface GuideService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2021-09-06
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2021-09-06
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return GuideDTO
+ * @author generator
+ * @date 2021-09-06
+ */
+ GuideDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void save(GuideDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void update(GuideDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2021-09-06
+ */
+ void delete(String[] ids);
+
+ /**
+ * 办事指南列表
+ *
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:00
+ */
+ PageData guideList(TokenDto tokenDto, GuideListFormDTO formDTO);
+
+ /**
+ * 添加指南
+ *
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:12
+ */
+ void guideAdd(TokenDto tokenDto, GuideAddFormDTO formDTO);
+
+ /**
+ * 修改指南
+ *
+ * @Param formDTO
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:12
+ */
+ void guideEdit(GuideEditFormDTO formDTO);
+
+ /**
+ * 删除指南
+ *
+ * @Param formDTO
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:12
+ */
+ void guideDel(GuideFormDTO formDTO);
+
+ /**
+ * 指南详情
+ *
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return {@link GuideDetailResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 14:12
+ */
+ GuideDetailResultDTO guideDetail(TokenDto tokenDto, GuideFormDTO formDTO);
+
+ /**
+ * @Description 收藏列表
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return {@link PageData< GuideListResultDTO>}
+ * @Author zhaoqifeng
+ * @Date 2021/9/9 10:07
+ */
+ PageData collectionList(TokenDto tokenDto, PageFormDTO formDTO);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
index 62274c346b..1d95335423 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
@@ -976,7 +976,8 @@ public class ArticleServiceImpl extends BaseServiceImpl
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.dao.GuideAttachmentDao;
+import com.epmet.dto.AttachmentDTO;
+import com.epmet.dto.GuideAttachmentDTO;
+import com.epmet.entity.GuideAttachmentEntity;
+import com.epmet.service.GuideAttachmentService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 办事指南附件
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Service
+public class GuideAttachmentServiceImpl extends BaseServiceImpl implements GuideAttachmentService {
+
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, GuideAttachmentDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, GuideAttachmentDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
+
+ return wrapper;
+ }
+
+ @Override
+ public GuideAttachmentDTO get(String id) {
+ GuideAttachmentEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, GuideAttachmentDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(GuideAttachmentDTO dto) {
+ GuideAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, GuideAttachmentEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(GuideAttachmentDTO dto) {
+ GuideAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, GuideAttachmentEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ /**
+ * @param guideId
+ * @Description 删除指南附件
+ * @Param guideId
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2021/9/7 17:16
+ */
+ @Override
+ public void deleteByGuideId(String guideId) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(GuideAttachmentEntity::getGuideId, guideId);
+ baseDao.delete(wrapper);
+ }
+
+ /**
+ * @param guideId
+ * @Description 获取指南附件
+ * @Param guideId
+ * @Return {@link List< AttachmentDTO >}
+ * @Author zhaoqifeng
+ * @Date 2021/9/8 10:49
+ */
+ @Override
+ public List getByGuideId(String guideId) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(GuideAttachmentEntity::getGuideId, guideId);
+ wrapper.orderByAsc(GuideAttachmentEntity::getSort);
+ List list = baseDao.selectList(wrapper);
+ if (CollectionUtils.isEmpty(list)) {
+ return Collections.emptyList();
+ }
+ return list.stream().map(item -> {
+ AttachmentDTO dto = new AttachmentDTO();
+ dto.setName(item.getAttachmentName());
+ dto.setType(item.getAttachmentType());
+ dto.setUrl(item.getAttachmentUrl());
+ dto.setSize(item.getAttachmentSize());
+ dto.setFormat(item.getAttachmentFormat());
+ dto.setDuration(item.getDuration());
+ return dto;
+ }).collect(Collectors.toList());
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideCategoryServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideCategoryServiceImpl.java
new file mode 100644
index 0000000000..6f3f7a082a
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideCategoryServiceImpl.java
@@ -0,0 +1,225 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.constant.Constant;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.exception.RenException;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.Pinyin4jUtil;
+import com.epmet.dao.GuideCategoryDao;
+import com.epmet.dto.GuideCategoryDTO;
+import com.epmet.dto.form.EditGuideCategoryFormDTO;
+import com.epmet.dto.form.GuideCateOrderFormDTO;
+import com.epmet.dto.form.GuideCategoryDropDownFormDTO;
+import com.epmet.dto.form.GuideCategoryPageFormDTO;
+import com.epmet.dto.result.GuideDictResDTO;
+import com.epmet.entity.GuideCategoryEntity;
+import com.epmet.service.GuideCategoryService;
+import com.github.pagehelper.PageInfo;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 指南分类
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-09-06
+ */
+@Service
+public class GuideCategoryServiceImpl extends BaseServiceImpl implements GuideCategoryService {
+
+
+ /**
+ * 【办事指南】分类列表-工作端PC和运营端用不分页
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result>
+ * @author yinzuomei
+ * @date 2021/9/8 1:33 下午
+ */
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public PageData page(GuideCategoryPageFormDTO formDTO) {
+ List list = baseDao.selectPageByCid(formDTO.getCustomerId());
+ if (CollectionUtils.isEmpty(list) && !formDTO.getCustomerId().equals(Constant.DEFAULT_CUSTOMER)) {
+ //初始化默认的给客户
+ initCustomerGuideCategory(formDTO.getCustomerId());
+ list = baseDao.selectPageByCid(formDTO.getCustomerId());
+ }
+ PageInfo pageInfo = new PageInfo<>(list);
+ return new PageData<>(list, pageInfo.getTotal());
+ }
+
+ /**
+ * 产品默认分类同步给客户,已经禁用的不同步
+ *
+ * @param customerId
+ * @return void
+ * @author yinzuomei
+ * @date 2021/9/8 2:17 下午
+ */
+ private void initCustomerGuideCategory(String customerId) {
+ List list = baseDao.selectPageByCid(Constant.DEFAULT_CUSTOMER);
+ int sort = 0;
+ for (GuideCategoryDTO dto : list) {
+ // 已经禁用的,不同步给客户
+ if (Constant.DISABLE.equals(dto.getStatus())) {
+ continue;
+ }
+ dto.setCustomerId(customerId);
+ //清空主键
+ dto.setId(null);
+ dto.setSort(sort);
+ GuideCategoryEntity entity = ConvertUtils.sourceToTarget(dto, GuideCategoryEntity.class);
+ insert(entity);
+ sort++;
+ }
+ }
+
+
+ /**
+ * 办事指南】可用分类列表 新增、编辑指南时的下拉框:展示未禁用的分类; 查询指南列表:如果禁用的分类下存在指南列表,则展示,不存在直接不展示
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author yinzuomei
+ * @date 2021/9/8 3:06 下午
+ */
+ @Override
+ public List