Browse Source

删除草稿、文章操作记录列表、政府端查看已下线、已发布文章详情

dev_shibei_match
yinzuomei 5 years ago
parent
commit
186572a69f
  1. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java
  2. 25
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ArticleOperationFormDTO.java
  3. 25
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DeleteDraftFormDTO.java
  4. 24
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GovArticleDetailFormDTO.java
  5. 19
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/ArticleOperationResultDTO.java
  6. 25
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleContentDTO.java
  7. 69
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleDetailResultDTO.java
  8. 16
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/DraftConstant.java
  9. 44
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
  10. 17
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/DraftController.java
  11. 36
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java
  12. 9
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleOperateRecordDao.java
  13. 11
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java
  14. 11
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
  15. 10
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java
  16. 13
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleOperateRecordServiceImpl.java
  17. 26
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  18. 19
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java
  19. 31
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml
  20. 15
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleOperateRecordDao.xml

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java

@ -104,8 +104,8 @@ public enum RequirePermissionEnum {
WORK_PARTY_VOICE_OFFLINE_LIST("work_party_voice_offline_list", "党建声音:已下线列表", "已下线文章列表"), WORK_PARTY_VOICE_OFFLINE_LIST("work_party_voice_offline_list", "党建声音:已下线列表", "已下线文章列表"),
WORK_PARTY_VOICE_PUBLISH("work_party_voice_publish", "党建声音:创建文章", ""), WORK_PARTY_VOICE_PUBLISH("work_party_voice_publish", "党建声音:创建文章", ""),
WORK_PARTY_VOICE_EDIT("work_party_voice_edit", "党建声音:重新编辑", ""), WORK_PARTY_VOICE_EDIT("work_party_voice_edit", "党建声音:重新编辑", ""),
WORK_PARTY_VOICE_OFFLINE("work_party_voice_offline", "党建声音:下线文章", ""); WORK_PARTY_VOICE_OFFLINE("work_party_voice_offline", "党建声音:下线文章", ""),
WORK_PARTY_VOICE_OPERATION_LIST("work_party_voice_operation_list","党建声音:查看文章操作记录","");
private String key; private String key;

25
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ArticleOperationFormDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 查询文章操作记录
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/2 16:42
*/
@Data
public class ArticleOperationFormDTO implements Serializable {
private static final long serialVersionUID = -6659391832410565077L;
public interface AddUserInternalGroup {}
/**
* 文章id
*/
@NotBlank(message = "文章id不能为空", groups = {ArticleOperationFormDTO.AddUserInternalGroup.class})
private String articleId;
}

25
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DeleteDraftFormDTO.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/2 15:25
*/
@Data
public class DeleteDraftFormDTO implements Serializable {
private static final long serialVersionUID = -2424432724401298206L;
public interface AddUserInternalGroup {}
/**
* 草稿id
*/
@NotBlank(message = "草稿id不能为空", groups = {AddUserInternalGroup.class})
private String draftId;
}

24
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GovArticleDetailFormDTO.java

@ -0,0 +1,24 @@
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/2 17:21
*/
@Data
public class GovArticleDetailFormDTO implements Serializable {
private static final long serialVersionUID = 2149876964249893025L;
public interface AddUserInternalGroup {}
/**
* 文章id
*/
@NotBlank(message = "文章id不能为空", groups = {GovArticleDetailFormDTO.AddUserInternalGroup.class})
private String articleId;
}

19
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/ArticleOperationResultDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 描述一下
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/2 16:44
*/
@Data
public class ArticleOperationResultDTO implements Serializable {
private static final long serialVersionUID = -436748500797911121L;
private String id;
private String content;
private Long createdTime;
}

25
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleContentDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 政府端已发布已下线文章内容详情
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/3 9:39
*/
@Data
public class GovArticleContentDTO implements Serializable {
private static final long serialVersionUID = 1519014754254863006L;
/**
* 内容类型图片img文字text
*/
private String contentType;
/**
* 内容
*/
private String content;
}

69
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleDetailResultDTO.java

@ -0,0 +1,69 @@
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;
/**
* 政府端已发布已下线文章详情 返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/3 9:29
*/
@Data
public class GovArticleDetailResultDTO implements Serializable {
private static final long serialVersionUID = -8328304788721564622L;
/**
* 文章id
*/
private String articleId;
/**
* 标题
*/
private String title;
/**
* 发布单位名称
*/
private String publisherName;
/**
* 发布日期
*/
@JsonFormat(pattern="yyyy-MM-dd")
private Date publishDate;
/**
* 访问量
*/
private Integer visitRecordCount;
/**
* 发布范围字符串
*/
private String publishRangeDesc;
/**
* 标签字符串
*/
private String tags;
/**
* 发布状态 已发布:published已下线offline
*/
private String statusFlag;
/**
* 草稿Id重新编辑时使用
*/
private String draftId;
/**
* 内容列表
*/
private List<GovArticleContentDTO> articleContentList;
}

16
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/DraftConstant.java

@ -10,8 +10,24 @@ package com.epmet.constant;
/** /**
* 常量 * 常量
*
* @author sun * @author sun
* @since 1.0.0 * @since 1.0.0
*/ */
public interface DraftConstant { public interface DraftConstant {
// 发布状态
/**
* 未发布unpublish
*/
String UNPUBLISH = "unpublish";
/**
* 已发布:published
*/
String PUBLISHED = "published";
/**
* 审核中auditing
*/
String AUDITING = "auditing";
} }

44
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java

@ -18,6 +18,8 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.ExcelUtils;
@ -28,11 +30,14 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.ArticleDTO; import com.epmet.dto.ArticleDTO;
import com.epmet.dto.form.LatestListFormDTO; import com.epmet.dto.form.ArticleOperationFormDTO;
import com.epmet.dto.result.ArticleGridResultDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.dto.form.DraftContentFromDTO; import com.epmet.dto.form.DraftContentFromDTO;
import com.epmet.dto.form.GovArticleDetailFormDTO;
import com.epmet.dto.result.ArticleGridResultDTO;
import com.epmet.dto.result.ArticleOperationResultDTO;
import com.epmet.dto.result.GovArticleDetailResultDTO;
import com.epmet.excel.ArticleExcel; import com.epmet.excel.ArticleExcel;
import com.epmet.service.ArticleOperateRecordService;
import com.epmet.service.ArticleService; import com.epmet.service.ArticleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -54,6 +59,8 @@ public class ArticleController {
@Autowired @Autowired
private ArticleService articleService; private ArticleService articleService;
@Autowired
private ArticleOperateRecordService articleOperateRecordService;
@GetMapping("page") @GetMapping("page")
public Result<PageData<ArticleDTO>> page(@RequestParam Map<String, Object> params){ public Result<PageData<ArticleDTO>> page(@RequestParam Map<String, Object> params){
@ -119,4 +126,35 @@ public class ArticleController {
return new Result<String>().ok(draftId); return new Result<String>().ok(draftId);
} }
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.form.ArticleOperationResultDTO>>
* @author yinzuomei@elink-cn.com
* @description 政府端查询文章操作记录
* @date 2020/6/2 16:50
**/
@PostMapping("oprationlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_OPERATION_LIST)
public Result<List<ArticleOperationResultDTO>> operationList(@RequestBody ArticleOperationFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ArticleOperationFormDTO.AddUserInternalGroup.class);
List<ArticleOperationResultDTO> list =
articleOperateRecordService.listOfArticleOperation(formDTO.getArticleId());
return new Result<List<ArticleOperationResultDTO>>().ok(list);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.GovArticleDetailResultDTO>
* @author yinzuomei@elink-cn.com
* @description 政府端已发布已下线文章详情
* @date 2020/6/3 9:44
**/
@PostMapping("articledetail")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_DETAIL)
public Result<GovArticleDetailResultDTO> articleDetail(@RequestBody GovArticleDetailFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GovArticleDetailFormDTO.AddUserInternalGroup.class);
GovArticleDetailResultDTO articleDetail = articleService.queryGovArticleDetail(formDTO.getArticleId());
return new Result<GovArticleDetailResultDTO>().ok(articleDetail);
}
} }

17
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/DraftController.java

@ -17,6 +17,8 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
@ -26,6 +28,7 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.DraftDTO; import com.epmet.dto.DraftDTO;
import com.epmet.dto.form.DeleteDraftFormDTO;
import com.epmet.excel.DraftExcel; import com.epmet.excel.DraftExcel;
import com.epmet.service.DraftService; import com.epmet.service.DraftService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +94,18 @@ public class DraftController {
ExcelUtils.exportExcelToTarget(response, null, list, DraftExcel.class); ExcelUtils.exportExcelToTarget(response, null, list, DraftExcel.class);
} }
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author yinzuomei@elink-cn.com
* @description 政府端工作人员,删除草稿
* @date 2020/6/2 16:00
**/
@PostMapping("deletedraft")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_DRAFT_DELETE)
public Result deleteDraft(@RequestBody DeleteDraftFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, DeleteDraftFormDTO.AddUserInternalGroup.class);
draftService.deleteDraft(formDTO);
return new Result();
}
} }

36
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java

@ -1,26 +1,27 @@
/** /**
* Copyright 2018 人人开源 https://www.renren.io * Copyright 2018 人人开源 https://www.renren.io
* <p> * <p>
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
* it under the terms of the GNU General Public License as published by * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
* the Free Software Foundation, either version 3 of the License, or * version.
* (at your option) any later version.
* <p> * <p>
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* but WITHOUT ANY WARRANTY; without even the implied warranty of * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p> * <p>
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License along with this program. If not, see
* along with this program. If not, see <http://www.gnu.org/licenses/>. * <http://www.gnu.org/licenses/>.
*/ */
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.GovArticleContentDTO;
import com.epmet.dto.result.GovArticleDetailResultDTO;
import com.epmet.entity.ArticleEntity; import com.epmet.entity.ArticleEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 文章表 * 文章表
* *
@ -30,4 +31,19 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface ArticleDao extends BaseDao<ArticleEntity> { public interface ArticleDao extends BaseDao<ArticleEntity> {
/**
* 政府端查询文章详情
*
* @param articleId
* 文章id
*/
GovArticleDetailResultDTO queryGovArticleDetail(String articleId);
/**
* 政府端查询文章详情-内容
*
* @param articleId
* 文章id
*/
List<GovArticleContentDTO> queryGovArticleContent(String articleId);
} }

9
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleOperateRecordDao.java

@ -18,9 +18,12 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ArticleOperationResultDTO;
import com.epmet.entity.ArticleOperateRecordEntity; import com.epmet.entity.ArticleOperateRecordEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 文章操作记录表 * 文章操作记录表
* *
@ -30,4 +33,10 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface ArticleOperateRecordDao extends BaseDao<ArticleOperateRecordEntity> { public interface ArticleOperateRecordDao extends BaseDao<ArticleOperateRecordEntity> {
/**
* 根据文章id查询操作记录
*
* @param articleId
*/
List<ArticleOperationResultDTO> selectListByArticleId(String articleId);
} }

11
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.ArticleOperateRecordDTO; import com.epmet.dto.ArticleOperateRecordDTO;
import com.epmet.dto.result.ArticleOperationResultDTO;
import com.epmet.entity.ArticleOperateRecordEntity; import com.epmet.entity.ArticleOperateRecordEntity;
import java.util.List; import java.util.List;
@ -92,4 +93,14 @@ public interface ArticleOperateRecordService extends BaseService<ArticleOperateR
* @date 2020-06-02 * @date 2020-06-02
*/ */
void delete(String[] ids); void delete(String[] ids);
/**
* 查询文章操作记录
*
* @param articleId
* @return com.epmet.dto.form.ArticleOperationResultDTO
* @author yinzuomei@elink-cn.com
* @date 2020-06-02
*/
List<ArticleOperationResultDTO> listOfArticleOperation(String articleId);
} }

11
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java

@ -23,6 +23,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.ArticleDTO; import com.epmet.dto.ArticleDTO;
import com.epmet.dto.result.ArticleGridResultDTO; import com.epmet.dto.result.ArticleGridResultDTO;
import com.epmet.dto.form.DraftContentFromDTO; import com.epmet.dto.form.DraftContentFromDTO;
import com.epmet.dto.result.GovArticleDetailResultDTO;
import com.epmet.entity.ArticleEntity; import com.epmet.entity.ArticleEntity;
import java.util.List; import java.util.List;
@ -110,4 +111,14 @@ public interface ArticleService extends BaseService<ArticleEntity> {
* @return * @return
*/ */
String saveOrUpdateContent(DraftContentFromDTO fromDTO); String saveOrUpdateContent(DraftContentFromDTO fromDTO);
/**
* 政府端已发布已下线文章详情
*
* @param articleId
* @return com.epmet.dto.result.GovArticleDetailResultDTO
* @author yinzuomei@elink-cn.com
* @date 2020-06-03
*/
GovArticleDetailResultDTO queryGovArticleDetail(String articleId);
} }

10
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.DraftDTO; import com.epmet.dto.DraftDTO;
import com.epmet.dto.form.DeleteDraftFormDTO;
import com.epmet.entity.DraftEntity; import com.epmet.entity.DraftEntity;
import java.util.List; import java.util.List;
@ -92,4 +93,13 @@ public interface DraftService extends BaseService<DraftEntity> {
* @date 2020-06-02 * @date 2020-06-02
*/ */
void delete(String[] ids); void delete(String[] ids);
/**
* @param formDTO
* @return void
* @author yinzuomei@elink-cn.com
* @description 政府端工作人员,删除草稿
* @date 2020/6/2 16:09
**/
void deleteDraft(DeleteDraftFormDTO formDTO);
} }

13
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleOperateRecordServiceImpl.java

@ -20,11 +20,12 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; 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.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.ArticleOperateRecordDao; import com.epmet.dao.ArticleOperateRecordDao;
import com.epmet.dto.ArticleOperateRecordDTO; import com.epmet.dto.ArticleOperateRecordDTO;
import com.epmet.dto.result.ArticleOperationResultDTO;
import com.epmet.entity.ArticleOperateRecordEntity; import com.epmet.entity.ArticleOperateRecordEntity;
import com.epmet.redis.ArticleOperateRecordRedis; import com.epmet.redis.ArticleOperateRecordRedis;
import com.epmet.service.ArticleOperateRecordService; import com.epmet.service.ArticleOperateRecordService;
@ -33,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -101,4 +103,13 @@ public class ArticleOperateRecordServiceImpl extends BaseServiceImpl<ArticleOper
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Override
public List<ArticleOperationResultDTO> listOfArticleOperation(String articleId) {
List<ArticleOperationResultDTO> list = baseDao.selectListByArticleId(articleId);
if (null == list) {
return new ArrayList<>();
}
return list;
}
} }

26
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java

@ -26,7 +26,6 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.AddGroup;
@ -36,8 +35,10 @@ import com.epmet.dao.DraftContentDao;
import com.epmet.dao.DraftDao; import com.epmet.dao.DraftDao;
import com.epmet.dto.ArticleDTO; import com.epmet.dto.ArticleDTO;
import com.epmet.dto.feign.GovOrgSelfFeignClient; import com.epmet.dto.feign.GovOrgSelfFeignClient;
import com.epmet.dto.result.ArticleGridResultDTO;
import com.epmet.dto.form.DraftContentFromDTO; import com.epmet.dto.form.DraftContentFromDTO;
import com.epmet.dto.result.ArticleGridResultDTO;
import com.epmet.dto.result.GovArticleContentDTO;
import com.epmet.dto.result.GovArticleDetailResultDTO;
import com.epmet.entity.ArticleEntity; import com.epmet.entity.ArticleEntity;
import com.epmet.entity.DraftContentEntity; import com.epmet.entity.DraftContentEntity;
import com.epmet.entity.DraftEntity; import com.epmet.entity.DraftEntity;
@ -49,7 +50,6 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.*; import java.util.*;
@ -63,21 +63,15 @@ import java.util.stream.Collectors;
*/ */
@Service @Service
public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntity> implements ArticleService { public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntity> implements ArticleService {
private final Log logger = LogFactory.getLog(getClass());
@Autowired @Autowired
private ArticleRedis articleRedis; private ArticleRedis articleRedis;
@Autowired @Autowired
private GovOrgSelfFeignClient govOrgSelfFeignClient; private GovOrgSelfFeignClient govOrgSelfFeignClient;
private final Log logger = LogFactory.getLog(getClass());
@Autowired
private ArticleRedis articleRedis;
@Autowired @Autowired
private DraftDao draftDao; private DraftDao draftDao;
@Autowired @Autowired
private DraftContentDao draftContentDao; private DraftContentDao draftContentDao;
@Autowired
private ArticleDao articleDao;
@Override @Override
public PageData<ArticleDTO> page(Map<String, Object> params) { public PageData<ArticleDTO> page(Map<String, Object> params) {
@ -156,7 +150,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
Map<String,Object> articleParamMap = new HashMap<>(); Map<String,Object> articleParamMap = new HashMap<>();
articleParamMap.put("ARTICLE_ID", fromDTO.getArticleId()); articleParamMap.put("ARTICLE_ID", fromDTO.getArticleId());
articleParamMap.put("ARTICLE_ID", fromDTO.getArticleId()); articleParamMap.put("ARTICLE_ID", fromDTO.getArticleId());
articleDao.selectByMap(articleParamMap); baseDao.selectByMap(articleParamMap);
} }
DraftEntity draftEntity = null; DraftEntity draftEntity = null;
@ -193,6 +187,16 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
return null; return null;
} }
@Override
public GovArticleDetailResultDTO queryGovArticleDetail(String articleId) {
GovArticleDetailResultDTO articleDetail = baseDao.queryGovArticleDetail(articleId);
if (null != articleDetail) {
List<GovArticleContentDTO> articleContentList = baseDao.queryGovArticleContent(articleId);
articleDetail.setArticleContentList(articleContentList);
}
return articleDetail;
}
/** /**
* desc构建 内容对象 * desc构建 内容对象
* *

19
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java

@ -20,15 +20,20 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.DraftConstant;
import com.epmet.dao.DraftDao; import com.epmet.dao.DraftDao;
import com.epmet.dto.DraftDTO; import com.epmet.dto.DraftDTO;
import com.epmet.dto.form.DeleteDraftFormDTO;
import com.epmet.entity.DraftEntity; import com.epmet.entity.DraftEntity;
import com.epmet.redis.DraftRedis; import com.epmet.redis.DraftRedis;
import com.epmet.service.DraftService; import com.epmet.service.DraftService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -45,7 +50,7 @@ import java.util.Map;
*/ */
@Service @Service
public class DraftServiceImpl extends BaseServiceImpl<DraftDao, DraftEntity> implements DraftService { public class DraftServiceImpl extends BaseServiceImpl<DraftDao, DraftEntity> implements DraftService {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired @Autowired
private DraftRedis draftRedis; private DraftRedis draftRedis;
@ -101,4 +106,16 @@ public class DraftServiceImpl extends BaseServiceImpl<DraftDao, DraftEntity> imp
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Override
public void deleteDraft(DeleteDraftFormDTO formDTO) {
DraftDTO draftDTO = this.get(formDTO.getDraftId());
// 已发布的草稿不能删除
if (null == draftDTO || DraftConstant.PUBLISHED.equals(draftDTO.getStatusFlag())) {
logger.error(String.format("删除草稿错误,已发布的草稿不能删除。草稿id%s", formDTO.getDraftId()));
return;
}
draftDTO.setDelFlag(NumConstant.ONE);
this.update(draftDTO);
}
} }

31
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

@ -2,5 +2,36 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.ArticleDao"> <mapper namespace="com.epmet.dao.ArticleDao">
<!-- 政府端:(已发布、已下线)文章详情 属性 -->
<select id="queryGovArticleDetail" parameterType="java.lang.String" resultType="com.epmet.dto.result.GovArticleDetailResultDTO">
SELECT
id AS ARTICLE_ID,
TITLE,
PUBLISHER_NAME,
PUBLISH_DATE,
( SELECT count( 1 ) FROM article_visit_record avr WHERE avr.DEL_FLAG = '0' AND avr.ARTICLE_ID =#{articleId}) AS VISIT_RECORD_COUNT,
PUBLISH_RANGE_DESC,
TAGS,
STATUS_FLAG,
DRAFT_ID
FROM
article
WHERE
DEL_FLAG = '0'
AND id =#{articleId}
</select>
<!-- 政府端:(已发布、已下线)文章详情 内容 -->
<select id="queryGovArticleContent" parameterType="java.lang.String" resultType="com.epmet.dto.result.GovArticleContentDTO">
SELECT
ac.CONTENT_TYPE,
ac.CONTENT
FROM
article_content ac
WHERE
ac.DEL_FLAG = '0'
and ac.ARTICLE_ID=#{articleId}
ORDER BY
ac.ORDER_NUM ASC
</select>
</mapper> </mapper>

15
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleOperateRecordDao.xml

@ -3,5 +3,18 @@
<mapper namespace="com.epmet.dao.ArticleOperateRecordDao"> <mapper namespace="com.epmet.dao.ArticleOperateRecordDao">
<!-- 根据文章id查询操作记录 -->
<select id="selectListByArticleId" parameterType="java.lang.String" resultType="com.epmet.dto.result.ArticleOperationResultDTO">
SELECT
id,
content,
UNIX_TIMESTAMP( CREATED_TIME ) AS createdTime
FROM
article_operate_record
WHERE
DEL_FLAG = '0'
AND ARTICLE_ID =#{articleId}
ORDER BY
CREATED_TIME DESC
</select>
</mapper> </mapper>
Loading…
Cancel
Save