diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java index 61f64d7168..05b505594b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java @@ -100,6 +100,7 @@ public enum RequirePermissionEnum { WORK_PARTY_VOICE_PUBLISHED_LIST("work_party_voice_published_list", "党建声音:已发布列表", "已发布文章列表查询"), WORK_PARTY_VOICE_DETAIL("work_party_voice_detail", "党建声音:文章详情", "已发布详情、已下线详情"), WORK_PARTY_VOICE_DRAFT_LIST("work_party_voice_draft_list", "党建声音:草稿箱列表", "草稿箱列表"), + WORK_PARTY_VOICE_DRAFT_EDIT("work_party_voice_draft_edit", "党建声音:编辑草稿", "编辑草稿"), WORK_PARTY_VOICE_DRAFT_DELETE("work_party_voice_draft_delete", "党建声音:删除草稿", "删除草稿"), WORK_PARTY_VOICE_OFFLINE_LIST("work_party_voice_offline_list", "党建声音:已下线列表", "已下线文章列表"), WORK_PARTY_VOICE_PUBLISH("work_party_voice_publish", "党建声音:创建文章", ""), diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftDetailFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftDetailFormDTO.java new file mode 100644 index 0000000000..2fed15dcf8 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftDetailFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 编辑草稿-获取草稿内容、属性统一入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/3 12:58 + */ +@Data +public class DraftDetailFormDTO implements Serializable { + private static final long serialVersionUID = 4492335656284426299L; + + public interface AddUserInternalGroup {} + + /** + * 草稿ID + */ + @NotBlank(message = "草稿id不能为空", groups = {DraftDetailFormDTO.AddUserInternalGroup.class}) + private String draftId; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/CoverImgDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/CoverImgDTO.java new file mode 100644 index 0000000000..5ec196e1df --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/CoverImgDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 政府端:选中草稿编辑,获取草稿属性-封面图片 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/3 14:26 + */ +@Data +public class CoverImgDTO implements Serializable { + private static final long serialVersionUID = -6735712590479867385L; + private String coverId; + private String url; + private String auditStatus; + private String auditReason; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftAttrResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftAttrResultDTO.java new file mode 100644 index 0000000000..a169bfa09f --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftAttrResultDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 政府端:选中草稿编辑,获取草稿属性 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/3 14:15 + */ +@Data +public class DraftAttrResultDTO implements Serializable { + private static final long serialVersionUID = 6999941497971286747L; + private String draftId; + private CoverImgDTO coverImg; + private List tagNameList; + private Integer isTop; + private List gridIdList; + private String publisher; + private String publisherName; + @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8") + private Date publishDate; + private String title; + private String publishRangeDesc; + private String tags; + private String publisherType; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftContentDetailDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftContentDetailDTO.java new file mode 100644 index 0000000000..d468ffb81a --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftContentDetailDTO.java @@ -0,0 +1,45 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 政府端:选中草稿编辑,获取草稿内容返参明细 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/3 13:14 + */ +@Data +public class DraftContentDetailDTO implements Serializable { + private static final long serialVersionUID = -415892498226389295L; + /** + *内容Id + */ + private String id; + + /** + * 具体内容 + */ + private String content; + + /** + * 内容类型 图片:img;文字:text + */ + private String contentType; + + /** + * 内容序号 + */ + private Integer orderNum; + + /** + * 审核状态 通过:pass;失败:fail + */ + private String auditStatus; + + /** + * 审核理由 + */ + private String auditReason; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftContentResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftContentResultDTO.java new file mode 100644 index 0000000000..0394760301 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/DraftContentResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 政府端:选中草稿编辑,获取草稿内容返参 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/3 13:01 + */ +@Data +public class DraftContentResultDTO implements Serializable { + private static final long serialVersionUID = -1310987373261903935L; + /** + * + */ + private String draftId; + /** + * 标题 + */ + private String title; + /** + * 内容 + */ + private List contentList; + +} diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 2e10800fe5..98e2df4563 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -32,7 +32,9 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.ArticleDTO; import com.epmet.dto.form.ArticleOperationFormDTO; import com.epmet.dto.form.DraftContentFromDTO; +import com.epmet.dto.form.DraftDetailFormDTO; import com.epmet.dto.form.GovArticleDetailFormDTO; +import com.epmet.dto.result.*; import com.epmet.dto.result.ArticleGridResultDTO; import com.epmet.dto.result.ArticleOperationResultDTO; import com.epmet.dto.result.GovArticleDetailResultDTO; @@ -41,6 +43,7 @@ import com.epmet.dto.result.PublishAgencyListResultDTO; import com.epmet.excel.ArticleExcel; import com.epmet.service.ArticleOperateRecordService; import com.epmet.service.ArticleService; +import com.epmet.service.DraftService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -63,6 +66,8 @@ public class ArticleController { private ArticleService articleService; @Autowired private ArticleOperateRecordService articleOperateRecordService; + @Autowired + private DraftService draftService; @GetMapping("page") public Result> page(@RequestParam Map params){ @@ -159,6 +164,35 @@ public class ArticleController { return new Result().ok(articleDetail); } + /** + * @param formDTO 草稿id + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei@elink-cn.com + * @description 政府端:选中草稿编辑,获取草稿内容 + * @date 2020/6/3 13:18 + **/ + @PostMapping("getcontent") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_DRAFT_EDIT) + public Result getContent(@RequestBody DraftDetailFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, GovArticleDetailFormDTO.AddUserInternalGroup.class); + DraftContentResultDTO draftContent=draftService.queryDraftContent(formDTO.getDraftId()); + return new Result().ok(draftContent); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei@elink-cn.com + * @description 政府端:选中草稿编辑,获取草稿属性 + * @date 2020/6/3 13:51 + **/ + @PostMapping("getattr") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_DRAFT_EDIT) + public Result getAttr(@RequestBody DraftDetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, GovArticleDetailFormDTO.AddUserInternalGroup.class); + DraftAttrResultDTO draftAttrResultDTO=new DraftAttrResultDTO(); + return new Result().ok(draftAttrResultDTO); + } /** * @param tokenDTO * @return diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/DraftDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/DraftDao.java index 53ecc6e594..f2b4309256 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/DraftDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/DraftDao.java @@ -18,9 +18,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.DraftContentDetailDTO; +import com.epmet.dto.result.DraftContentResultDTO; import com.epmet.entity.DraftEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 草稿表 * @@ -29,5 +33,19 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface DraftDao extends BaseDao { - + /** + * 政府端查询草稿内容详情 + * + * @param draftId + * 草稿id + */ + DraftContentResultDTO selectDraftContent(String draftId); + + /** + * 政府端查询草稿内容详情 + * + * @param draftId + * 草稿id + */ + List selectDraftContentDetail(String draftId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java index 36a9fc1b57..de1944c3db 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.DraftDTO; import com.epmet.dto.form.DeleteDraftFormDTO; +import com.epmet.dto.result.DraftContentResultDTO; import com.epmet.entity.DraftEntity; import java.util.List; @@ -102,4 +103,14 @@ public interface DraftService extends BaseService { * @date 2020/6/2 16:09 **/ void deleteDraft(DeleteDraftFormDTO formDTO); + + /** + * 政府端:选中草稿编辑,获取草稿内容 + * + * @param draftId + * @return com.epmet.dto.result.DraftContentResultDTO + * @author yinzuomei@elink-cn.com + * @date 2020-06-03 + */ + DraftContentResultDTO queryDraftContent(String draftId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java index 000a4d9b83..6220d111d9 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java @@ -28,6 +28,7 @@ import com.epmet.constant.DraftConstant; import com.epmet.dao.DraftDao; import com.epmet.dto.DraftDTO; import com.epmet.dto.form.DeleteDraftFormDTO; +import com.epmet.dto.result.DraftContentResultDTO; import com.epmet.entity.DraftEntity; import com.epmet.redis.DraftRedis; import com.epmet.service.DraftService; @@ -118,4 +119,10 @@ public class DraftServiceImpl extends BaseServiceImpl imp this.update(draftDTO); } + @Override + public DraftContentResultDTO queryDraftContent(String draftId) { + DraftContentResultDTO draftContentResultDTO=baseDao.selectDraftContent(draftId); + return draftContentResultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/DraftDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/DraftDao.xml index 1ba9e7524c..46f3b12971 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/DraftDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/DraftDao.xml @@ -2,6 +2,41 @@ + + + + + + + + - + + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java new file mode 100644 index 0000000000..aba19d20a8 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java @@ -0,0 +1,56 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.util.Set; + +@Data +public class LoginUserDetailsResultDTO { + + /** + * 政府端:gov、居民端:resi、运营端:oper + */ + private String app; + + /** + * PC端:web、微信小程序:wxmp + */ + private String client; + + /** + * 用户ID + */ + private String userId; + + /** + * 角色列表 + */ + private Set roleIdList; + + /** + * 部门id列表 + */ + private Set deptIdList; + + /** + * 当前登录的组织id(顶级) + */ + private String agencyId; + + /** + * 组织ID + */ + private String orgIdPath; + + /** + * 网格ID列表 + */ + private Set gridIdList; + + /** + * 当前工作人员进入的客户id + */ + private String customerId; + + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserClientFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserClientFeignClient.java new file mode 100644 index 0000000000..4fc933f923 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserClientFeignClient.java @@ -0,0 +1,23 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.LoginUserDetailsFormDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.feign.fallback.EpmetUserClientFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserClientFeignClientFallback.class) +//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserClientFeignClientFallback.class, url = "localhost:8087") +public interface EpmetUserClientFeignClient { + + /** + * 从缓存中查询已登录用户的基本信息以及角色等相关信息 + * @return + */ + @PostMapping("/epmetuser/user/loginuserdetails") + Result getLoginUserDetails(@RequestBody LoginUserDetailsFormDTO dto); + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserClientFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserClientFeignClientFallback.java new file mode 100644 index 0000000000..2a458ba1f3 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserClientFeignClientFallback.java @@ -0,0 +1,18 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.LoginUserDetailsFormDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.feign.EpmetUserClientFeignClient; +import org.springframework.stereotype.Component; + +@Component +public class EpmetUserClientFeignClientFallback implements EpmetUserClientFeignClient { + + @Override + public Result getLoginUserDetails(LoginUserDetailsFormDTO dto) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getLoginUserDetails", dto); + } +}