Browse Source

Merge branch 'dev_special_subject' into develop

dev_shibei_match
sunyuchao 4 years ago
parent
commit
fab6c613f8
  1. 40
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffRoleListResultDTO.java
  2. 48
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffAgencyGridListResultDTO.java
  3. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java
  4. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java
  5. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java
  6. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java
  7. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java
  8. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  9. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  10. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
  11. 83
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  12. 24
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml
  13. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml
  14. 16
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
  15. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml
  16. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml
  17. 8
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  18. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  19. 14
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddSpecialSubjectFormDTO.java
  20. 7
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DelSpecialSubjectFormDTO.java
  21. 33
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectArticleListFormDTO.java
  22. 23
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectListFormDTO.java
  23. 47
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectArticleListResultDTO.java
  24. 31
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectListResultDTO.java
  25. 3
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/WorkSpecialSubjectResultDTO.java
  26. 17
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/feign/GovVoiceOpenFeignClient.java
  27. 10
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/feign/fallback/GovVoiceOpenFeignClientFallback.java
  28. 26
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
  29. 10
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java
  30. 18
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java
  31. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/SpecialSubjectDao.java
  32. 13
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java
  33. 16
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
  34. 64
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/SpecialSubjectService.java
  35. 41
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  36. 100
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java
  37. 2
      epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.4__create_specialsubject.sql
  38. 42
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml
  39. 16
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml
  40. 33
      epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java
  41. 22
      epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java
  42. 38
      epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java

40
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffRoleListResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 根据客户Id staffId查询人员在客户下的角色列表-接口返参
* @Author sun
*/
@Data
public class StaffRoleListResultDTO implements Serializable {
private static final long serialVersionUID = -2049883620062097446L;
/**
* 客户Id
* */
private String customerId;
/**
* 员工Id
* */
private String staffId;
/**
* 员工姓名
* */
private String staffName;
/**
* 角色Id
* */
private String roleId;
/**
* 角色Key
* */
private String roleKey;
/**
* 角色名称
* */
private String roleName;
}

48
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffAgencyGridListResultDTO.java

@ -0,0 +1,48 @@
package com.epmet.dataaggre.dto.govorg.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 专题设置-组织网格切换树结构-接口返参
* @author sun
*/
@Data
public class StaffAgencyGridListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
//机关组织Id
private String agencyId = "";
//机关组织名称
private String agencyName = "";
//机关组织名称
private Boolean isOpt = true;
//网格:grid;社区级:community, 乡(镇、街道)级:street, 区县级: district, 市级: city 省级:province
private String orgLevel = "";
//当前组织id的上级id,如果当前是跟组织返回0
private String pid = "";
//当前组织id的所有上级id,如果当前是跟组织返回0
private String pids = "";
//当前机关的下属网格列表
private List<StaffAgencyGridListResultDTO.GridResultDTO> gridList = new ArrayList<>();
//当前组织的所有下级组织信息(递归)
private List<StaffAgencyGridListResultDTO> subAgencyGridList = new ArrayList<>();
@Data
public static class GridResultDTO{
//机关组织Id
private String gridId = "";
//机关组织名称
private String gridName = "";
//网格:grid;社区级:community, 乡(镇、街道)级:street, 区县级: district, 市级: city 省级:province
private String orgLevel = "";
//当前网格所属的组织id
private String pid = "";
//当前网格所有上级
private String pids = "";
}
}

15
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java

@ -14,12 +14,11 @@ import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
import com.epmet.dataaggre.dto.govorg.result.AgencyGridListResultDTO; import com.epmet.dataaggre.dto.govorg.result.AgencyGridListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO;
import com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO;
import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums; import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums;
import com.epmet.dataaggre.service.AggreGridService; import com.epmet.dataaggre.service.AggreGridService;
import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.govorg.GovOrgService;
import com.epmet.dto.result.PublicAndInternalFileResultDTO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -29,7 +28,6 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.PriorityQueue;
/** /**
* @Author zxc * @Author zxc
@ -119,4 +117,15 @@ public class GovOrgController {
List<GridMemberDataAnalysisResultDTO> resultList = aggreGridService.getGridMemberDataAnalysis(gridIds, searchedStaffName, loginUserId, month, sortType.getValue(), pageNo, pageSize); List<GridMemberDataAnalysisResultDTO> resultList = aggreGridService.getGridMemberDataAnalysis(gridIds, searchedStaffName, loginUserId, month, sortType.getValue(), pageNo, pageSize);
return new Result().ok(resultList); return new Result().ok(resultList);
} }
/**
* @Param tokenDto
* @Description 专题设置-组织网格切换树结构
* @author sun
*/
@PostMapping("staffagencygridlist")
public Result<StaffAgencyGridListResultDTO> staffAgencyGridList(@RequestBody TokenDto tokenDto) {
return new Result<StaffAgencyGridListResultDTO>().ok(govOrgService.staffAgencyGridList(tokenDto));
}
} }

8
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java

@ -18,6 +18,7 @@
package com.epmet.dataaggre.dao.epmetuser; package com.epmet.dataaggre.dao.epmetuser;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity; import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -40,4 +41,11 @@ public interface StaffRoleDao extends BaseDao<StaffRoleEntity> {
* @author sun * @author sun
*/ */
List<GridStaffResultDTO> staffGridRole(@Param("forms") List<GridStaffResultDTO> forms, @Param("staffName") String staffName); List<GridStaffResultDTO> staffGridRole(@Param("forms") List<GridStaffResultDTO> forms, @Param("staffName") String staffName);
/**
* @Description 根据客户Id和staffId查询工作人员拥有的角色列表
* @Author sun
**/
List<StaffRoleListResultDTO> selectStaffRoleList(@Param("customerId") String customerId, @Param("staffId") String staffId);
} }

7
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java

@ -19,6 +19,7 @@ package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO;
import com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -52,4 +53,10 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
List<CustomerAgencyEntity> selectNextAgency(@Param("customerId")String customerId, @Param("pid")String pid); List<CustomerAgencyEntity> selectNextAgency(@Param("customerId")String customerId, @Param("pid")String pid);
/**
* @Author sun
* @Description 递归查询当前组织的直属下级组织列表
**/
List<StaffAgencyGridListResultDTO> selectSubAgencyList(@Param("subAgencyPids") String subAgencyPids);
} }

8
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO;
import com.epmet.dataaggre.entity.govorg.CustomerGridEntity; import com.epmet.dataaggre.entity.govorg.CustomerGridEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -68,4 +69,11 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
* @author sun * @author sun
*/ */
List<CustomerGridDTO> getGridInfoList(@Param("gridIds") List<String> gridIds, @Param("staffId") String staffId); List<CustomerGridDTO> getGridInfoList(@Param("gridIds") List<String> gridIds, @Param("staffId") String staffId);
/**
* @Author sun
* @Description 查询当前组织下网格列表
**/
List<StaffAgencyGridListResultDTO.GridResultDTO> getGridListByAgencyId(@Param("agencyId") String agencyId);
} }

7
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java

@ -19,6 +19,7 @@ package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO;
import com.epmet.dataaggre.entity.govorg.CustomerStaffGridEntity; import com.epmet.dataaggre.entity.govorg.CustomerStaffGridEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -39,4 +40,10 @@ public interface CustomerStaffGridDao extends BaseDao<CustomerStaffGridEntity> {
* @author sun * @author sun
*/ */
List<GridStaffResultDTO> selectGridStaffByGridIds(@Param("gridIds") List<String> gridIds); List<GridStaffResultDTO> selectGridStaffByGridIds(@Param("gridIds") List<String> gridIds);
/**
* @Description 查询工作人员参与的网格列表信息
* @author sun
*/
List<StaffAgencyGridListResultDTO.GridResultDTO> getStaffGridList(@Param("agencyId") String agencyId, @Param("staffId") String staffId);
} }

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java

@ -81,4 +81,9 @@ public interface EpmetUserService {
*/ */
OpenStaffDetailResultDTO openStaffDetail(OpenStaffDetailFormDTO formDTO); OpenStaffDetailResultDTO openStaffDetail(OpenStaffDetailFormDTO formDTO);
/**
* @Description 根据客户Id和staffId查询工作人员拥有的角色列表
* @Author sun
**/
List<StaffRoleListResultDTO> getStaffRoleList(String customerId, String userId);
} }

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java

@ -365,5 +365,14 @@ public class EpmetUserServiceImpl implements EpmetUserService {
return resultDTO; return resultDTO;
} }
/**
* @Description 根据客户Id和staffId查询工作人员拥有的角色列表
* @Author sun
**/
@Override
public List<StaffRoleListResultDTO> getStaffRoleList(String customerId, String userId) {
return staffRoleDao.selectStaffRoleList(customerId, userId);
}
} }

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java

@ -1,5 +1,6 @@
package com.epmet.dataaggre.service.govorg; package com.epmet.dataaggre.service.govorg;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
@ -72,4 +73,12 @@ public interface GovOrgService {
* @author sun * @author sun
*/ */
CustomerAgencyDTO gridByAgencyId(String customerId, String staffId); CustomerAgencyDTO gridByAgencyId(String customerId, String staffId);
/**
* @Param tokenDto
* @Description 专题设置-组织网格切换树结构
* @author sun
*/
StaffAgencyGridListResultDTO staffAgencyGridList(TokenDto tokenDto);
} }

83
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java

@ -5,12 +5,13 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao; import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao;
import com.epmet.dataaggre.dao.govorg.CustomerGridDao; import com.epmet.dataaggre.dao.govorg.CustomerGridDao;
import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao; import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao;
import com.epmet.dataaggre.dao.govorg.CustomerStaffGridDao; import com.epmet.dataaggre.dao.govorg.CustomerStaffGridDao;
import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO;
import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO;
@ -285,4 +286,84 @@ public class GovOrgServiceImpl implements GovOrgService {
return customerStaffAgencyDao.selectAgencyByStaffId(customerId, staffId); return customerStaffAgencyDao.selectAgencyByStaffId(customerId, staffId);
} }
/**
* @Param tokenDto
* @Description 专题设置-组织网格切换树结构
* @author sun
*/
@Override
public StaffAgencyGridListResultDTO staffAgencyGridList(TokenDto tokenDto) {
StaffAgencyGridListResultDTO resultDTO = new StaffAgencyGridListResultDTO();
//1.查询当前人员所属组织信息
CustomerAgencyDTO agencyDTO = customerStaffAgencyDao.selectAgencyByStaffId(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == agencyDTO) {
throw new RenException("未查询到当前工作人员所属组织信息");
}
//2.获取当前人员工作端角色列表信息
List<StaffRoleListResultDTO> roleList = epmetUserService.getStaffRoleList(tokenDto.getCustomerId(), tokenDto.getUserId());
if (roleList.size() < NumConstant.ONE) {
return resultDTO;
}
//3.判断是否具有党建负责人或党建宣传员角色
//机关党建负责人角色
boolean party = false;
//党建宣传员角色
boolean gridParty = false;
for (StaffRoleListResultDTO role : roleList) {
if ("party_principals".equals(role.getRoleKey())) {
party = true;
}
if ("grid_party_director".equals(role.getRoleKey())) {
gridParty = true;
}
}
if (!party && !gridParty) {
return resultDTO;
}
//4.根据不同角色查询不同数据
if (party) {
//4.1:查询当前机关的网格列表以及所有下级机关的网格列表
//当前机关下网格列表
List<StaffAgencyGridListResultDTO.GridResultDTO> gridList = customerGridDao.getGridListByAgencyId(agencyDTO.getId());
resultDTO.setGridList(gridList);
//递归查询当前组织的下级组织以及每个下级组织对应的网格列表
//根组织pids为空
List<StaffAgencyGridListResultDTO> subAgencyGridList = getSubAgencyAndGridList(("".equals(agencyDTO.getPids()) ? "" : agencyDTO.getPids() + ":") + agencyDTO.getId());
resultDTO.setSubAgencyGridList(subAgencyGridList);
} else if (gridParty) {
resultDTO.setIsOpt(false);
//4.2:查询人员在当前机关下参与的网格列表
List<StaffAgencyGridListResultDTO.GridResultDTO> gridList = customerStaffGridDao.getStaffGridList(agencyDTO.getId(), tokenDto.getUserId());
resultDTO.setGridList(gridList);
}
//5.封装数据并返回
resultDTO.setAgencyId(agencyDTO.getId());
resultDTO.setAgencyName(agencyDTO.getOrganizationName());
resultDTO.setOrgLevel(agencyDTO.getLevel());
resultDTO.setPid(agencyDTO.getPid());
resultDTO.setPids(agencyDTO.getPids());
return resultDTO;
}
/**
* @Author sun
* @Description 递归查询当前组织的下一级组织网格列表
**/
private List<StaffAgencyGridListResultDTO> getSubAgencyAndGridList(String subAgencyPids) {
List<StaffAgencyGridListResultDTO> subAgencyList = customerAgencyDao.selectSubAgencyList(subAgencyPids);
if (subAgencyList.size() > NumConstant.ZERO) {
for (StaffAgencyGridListResultDTO sub : subAgencyList) {
List<StaffAgencyGridListResultDTO.GridResultDTO> gridList = customerGridDao.getGridListByAgencyId(sub.getAgencyId());
sub.setGridList(gridList);
List<StaffAgencyGridListResultDTO> subAgency = getSubAgencyAndGridList(sub.getPids() + ":" + sub.getAgencyId());
sub.setSubAgencyGridList(subAgency);
}
}
return subAgencyList;
}
} }

24
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml

@ -22,4 +22,28 @@
</foreach> </foreach>
</select> </select>
<select id="selectStaffRoleList" resultType="com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO">
SELECT
staff.customer_id AS "customerId",
staff.user_id AS "staffId",
staff.real_name AS "staffName",
role.role_id AS "roleId",
rolename.role_key AS "roleKey",
rolename.role_name AS "roleName"
FROM
staff_role role
LEFT JOIN customer_staff staff ON ( role.staff_id = staff.user_id )
LEFT JOIN gov_staff_role rolename ON ( role.role_id = rolename.id )
WHERE
role.del_flag = '0'
AND staff.del_flag = '0'
AND rolename.del_flag = '0'
<if test='null != customerId and "" != customerId'>
AND staff.customer_id = #{customerId}
</if>
<if test='null != staffId and "" != staffId'>
AND staff.user_id = #{staffId}
</if>
</select>
</mapper> </mapper>

17
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml

@ -45,4 +45,21 @@
AND ca.PID = #{pid} AND ca.PID = #{pid}
order by ca.CREATED_TIME asc order by ca.CREATED_TIME asc
</select> </select>
<select id="selectSubAgencyList" resultType="com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO">
SELECT
id AS "agencyId",
organization_name AS "agencyName",
level AS "orgLevel",
pid AS "pid",
pids AS "pids"
FROM
customer_agency
WHERE
del_flag = '0'
AND pids = #{subAgencyPids}
ORDER BY
created_time DESC
</select>
</mapper> </mapper>

16
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml

@ -147,4 +147,20 @@
</choose> </choose>
</select> </select>
<select id="getGridListByAgencyId" resultType="com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO$GridResultDTO">
SELECT
cg.id AS "gridId",
cg.grid_name AS "gridName",
'grid' AS "orgLevel",
ca.id AS "pid",
IF (ca.pids = '', ca.id, CONCAT(ca.pids, ':', ca.id)) AS "pids"
FROM
customer_grid cg
INNER JOIN customer_agency ca ON cg.pid = ca.id
WHERE
cg.del_flag = '0'
AND ca.del_flag = '0'
AND cg.pid = #{agencyId}
</select>
</mapper> </mapper>

9
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml

@ -19,7 +19,14 @@
<select id="selectAgencyByStaffId" resultType="com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO"> <select id="selectAgencyByStaffId" resultType="com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO">
SELECT SELECT
ca.id, ca.id,
ca.all_parent_name ca.customer_id,
ca.pid,
ca.pids,
ca.all_parent_name,
ca.organization_name,
ca.level,
ca.area_code,
ca.parent_area_code
FROM FROM
customer_staff_agency csa customer_staff_agency csa
INNER JOIN customer_agency ca ON csa.agency_id = ca.id INNER JOIN customer_agency ca ON csa.agency_id = ca.id

17
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml

@ -18,4 +18,21 @@
) )
</select> </select>
<select id="getStaffGridList" resultType="com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO$GridResultDTO">
SELECT
cg.id AS "gridId",
cg.grid_name AS "gridName",
'grid' AS "orgLevel",
ca.id AS "pid",
IF (ca.pids = '', ca.id, CONCAT(ca.pids, ':', ca.id)) AS "pids"
FROM
customer_staff_grid csg
INNER JOIN customer_grid cg ON csg.grid_id = cg.id
INNER JOIN customer_agency ca ON cg.pid = ca.id
WHERE
csg.del_flag = '0'
AND csg.user_id = #{staffId}
AND ca.id = #{agencyId}
</select>
</mapper> </mapper>

8
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -361,4 +361,12 @@ public interface GovOrgOpenFeignClient {
*/ */
@PostMapping(value = "/gov/org/customergrid/pidsbygrid") @PostMapping(value = "/gov/org/customergrid/pidsbygrid")
Result<String> selectPidsByGridId(@RequestParam("gridId") String gridId); Result<String> selectPidsByGridId(@RequestParam("gridId") String gridId);
/**
* 工作人员的个人信息
* @param fromDTO
* @return
*/
@PostMapping("/gov/org/staff/mine")
Result<MineResultDTO> queryStaffProfile(@RequestBody StaffInfoFromDTO fromDTO);
} }

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -210,6 +210,11 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAreaCodeSwitch", customerId); return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAreaCodeSwitch", customerId);
} }
@Override
public Result<MineResultDTO> queryStaffProfile(StaffInfoFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "mine", fromDTO);
}
@Override @Override
public Result<String> selectPidsByGridId(String gridId) { public Result<String> selectPidsByGridId(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectPidsByGridId", gridId); return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectPidsByGridId", gridId);

14
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddSpecialSubjectFormDTO.java

@ -24,6 +24,14 @@ public class AddSpecialSubjectFormDTO implements Serializable {
@NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class) @NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class)
private String orgId; private String orgId;
@NotBlank(message = "pid不能为空", groups = AddUserInternalGroup.class)
private String pid;
/**
* orgId的所有上级id
*/
@NotBlank(message = "pids不能为空", groups = AddUserInternalGroup.class)
private String pids;
/** /**
* 网格grid社区级community 街道:street, 区县级: district, 市级: city 省级:province * 网格grid社区级community 街道:street, 区县级: district, 市级: city 省级:province
*/ */
@ -43,12 +51,6 @@ public class AddSpecialSubjectFormDTO implements Serializable {
@NotBlank(message = "从token中获取userId为空", groups = AddUserInternalGroup.class) @NotBlank(message = "从token中获取userId为空", groups = AddUserInternalGroup.class)
private String addUserId; private String addUserId;
/**
* 从TokenDto中获取当前用户所属的agencyId
*/
@NotBlank(message = "从token中获取用户所属组织id为空", groups = AddUserInternalGroup.class)
private String addUserAgencyId;
@NotBlank(message = "从token中获取客户id为空", groups = AddUserInternalGroup.class) @NotBlank(message = "从token中获取客户id为空", groups = AddUserInternalGroup.class)
private String customerId; private String customerId;
} }

7
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DelSpecialSubjectFormDTO.java

@ -30,10 +30,13 @@ public class DelSpecialSubjectFormDTO implements Serializable {
@NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class) @NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class)
private String orgId; private String orgId;
// 以下属性从token中获取
/** /**
* 从TokenDto中获取当前用户id * 从TokenDto中获取当前用户id
*/ */
@NotBlank(message = "从token中获取userId为空", groups = AddSpecialSubjectFormDTO.AddUserInternalGroup.class) @NotBlank(message = "从token中获取userId为空", groups = AddUserInternalGroup.class)
private String userId; private String userId;
@NotBlank(message = "从token中获取客户id为空", groups = AddUserInternalGroup.class)
private String customerId;
} }

33
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectArticleListFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/7/15 2:05 下午
* @DESC
*/
@Data
public class SubjectArticleListFormDTO implements Serializable {
private static final long serialVersionUID = 7657974985102791998L;
public interface SubjectArticleListForm extends CustomerClientShowGroup{};
@NotBlank(message = "网格ID不能为空",groups = SubjectArticleListForm.class)
private String gridId;
@NotBlank(message = "标签ID不能为空",groups = SubjectArticleListForm.class)
private String tagId;
@NotNull(message = "pageSize不能为空",groups = SubjectArticleListForm.class)
private Integer pageSize;
@NotNull(message = "pageNo不能为空",groups = SubjectArticleListForm.class)
private Integer pageNo;
}

23
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/SubjectListFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/7/15 4:34 下午
* @DESC
*/
@Data
public class SubjectListFormDTO implements Serializable {
private static final long serialVersionUID = 6397877545890473794L;
public interface SubjectListForm extends CustomerClientShowGroup{}
@NotBlank(message = "网格ID不能为空",groups = SubjectListForm.class)
private String gridId;
}

47
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectArticleListResultDTO.java

@ -0,0 +1,47 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/7/15 2:11 下午
* @DESC
*/
@Data
public class SubjectArticleListResultDTO implements Serializable {
private static final long serialVersionUID = 2580894348808140034L;
/**
* 文章标题
*/
private String articleTitle;
/**
* 文章内容
*/
private String articleContent;
/**
* 文章ID
*/
private String articleId;
/**
* 发布者姓名
*/
private String publisherName;
/**
* 发布时间
*/
private String publishDate;
/**
* 标签名字集合
*/
private String tagNames;
}

31
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/SubjectListResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/7/15 4:46 下午
* @DESC
*/
@Data
public class SubjectListResultDTO implements Serializable {
private static final long serialVersionUID = -7761847964768693672L;
/**
* 专题ID
*/
private String specialSubjectId;
/**
* 标签ID
*/
private String tagId;
/**
* 专题名字
*/
private String tagName;
}

3
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/WorkSpecialSubjectResultDTO.java

@ -32,4 +32,7 @@ public class WorkSpecialSubjectResultDTO implements Serializable {
* 专题id * 专题id
*/ */
private String specialSubjectId; private String specialSubjectId;
private String addOrgId;
private String orgLevel;
} }

17
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/feign/GovVoiceOpenFeignClient.java

@ -80,5 +80,22 @@ public interface GovVoiceOpenFeignClient {
@PostMapping("/gov/voice/article/resiarticledetail") @PostMapping("/gov/voice/article/resiarticledetail")
Result<ArticleDetailResultDTO> resiArticleDetail(@RequestBody ResiArticleDetailFormDTO articleDetailFormDTO); Result<ArticleDetailResultDTO> resiArticleDetail(@RequestBody ResiArticleDetailFormDTO articleDetailFormDTO);
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/16 1:26 下午
*/
@PostMapping("/gov/voice/article/subjectarticlelist")
Result<List<SubjectArticleListResultDTO>> subjectArticleList(@RequestBody SubjectArticleListFormDTO formDTO);
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/16 1:26 下午
*/
@PostMapping("/gov/voice/article/subjectlist")
Result<List<SubjectListResultDTO>> subjectList(@RequestBody SubjectListFormDTO formDTO);
} }

10
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/feign/fallback/GovVoiceOpenFeignClientFallback.java

@ -47,4 +47,14 @@ public class GovVoiceOpenFeignClientFallback implements GovVoiceOpenFeignClient
public Result<ArticleDetailResultDTO> resiArticleDetail(ResiArticleDetailFormDTO articleDetailFormDTO) { public Result<ArticleDetailResultDTO> resiArticleDetail(ResiArticleDetailFormDTO articleDetailFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_VOICE_SERVER, "resiArticleDetail", articleDetailFormDTO); return ModuleUtils.feignConError(ServiceConstant.GOV_VOICE_SERVER, "resiArticleDetail", articleDetailFormDTO);
} }
@Override
public Result<List<SubjectArticleListResultDTO>> subjectArticleList(SubjectArticleListFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_VOICE_SERVER, "subjectArticleList", formDTO);
}
@Override
public Result<List<SubjectListResultDTO>> subjectList(SubjectListFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_VOICE_SERVER, "subjectList", formDTO);
}
} }

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

@ -22,6 +22,7 @@ import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.HttpClientManager;
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.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
@ -39,6 +40,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List; import java.util.List;
@ -378,4 +380,28 @@ public class ArticleController {
return new Result<DraftDetailResultDTO>().ok(draftDetailResultDTO); return new Result<DraftDetailResultDTO>().ok(draftDetailResultDTO);
} }
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 2:21 下午
*/
@PostMapping("subjectarticlelist")
public Result<List<SubjectArticleListResultDTO>> subjectArticleList(@RequestBody SubjectArticleListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,SubjectArticleListFormDTO.SubjectArticleListForm.class);
return new Result<List<SubjectArticleListResultDTO>>().ok(articleService.subjectArticleList(formDTO));
}
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 5:22 下午
*/
@PostMapping("subjectlist")
public Result<List<SubjectListResultDTO>> subjectList(@RequestBody SubjectListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, SubjectListFormDTO.SubjectListForm.class);
return new Result<List<SubjectListResultDTO>>().ok(articleService.subjectList(formDTO));
}
} }

10
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java

@ -18,7 +18,7 @@
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.security.dto.GovTokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
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.dto.form.AddSpecialSubjectFormDTO; import com.epmet.dto.form.AddSpecialSubjectFormDTO;
@ -57,9 +57,9 @@ public class SpecialSubjectController {
* @Date 2021/7/15 15:31 * @Date 2021/7/15 15:31
**/ **/
@PostMapping("add") @PostMapping("add")
public Result<AddSpecialSubjectResultDTO> addSpecialSubject(@LoginUser GovTokenDto tokenDto, @RequestBody AddSpecialSubjectFormDTO formDTO) { public Result<AddSpecialSubjectResultDTO> addSpecialSubject(@LoginUser TokenDto tokenDto, @RequestBody AddSpecialSubjectFormDTO formDTO) {
formDTO.setAddUserId(tokenDto.getUserId()); formDTO.setAddUserId(tokenDto.getUserId());
formDTO.setAddUserAgencyId(tokenDto.getAgencyId()); formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO, AddSpecialSubjectFormDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(formDTO, AddSpecialSubjectFormDTO.AddUserInternalGroup.class);
return new Result<AddSpecialSubjectResultDTO>().ok(specialSubjectService.addSpecialSubject(formDTO)); return new Result<AddSpecialSubjectResultDTO>().ok(specialSubjectService.addSpecialSubject(formDTO));
} }
@ -72,7 +72,9 @@ public class SpecialSubjectController {
* @Date 2021/7/15 20:49 * @Date 2021/7/15 20:49
**/ **/
@PostMapping("del") @PostMapping("del")
public Result delSpecialSubject(@RequestBody DelSpecialSubjectFormDTO formDTO){ public Result delSpecialSubject(@LoginUser TokenDto tokenDto, @RequestBody DelSpecialSubjectFormDTO formDTO){
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO); ValidatorUtils.validateEntity(formDTO);
specialSubjectService.delSpecialSubject(formDTO); specialSubjectService.delSpecialSubject(formDTO);
return new Result(); return new Result();

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

@ -16,6 +16,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.annotation.DataFilter; import com.epmet.commons.mybatis.annotation.DataFilter;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.SubjectArticleListFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.dto.form.ResiTagListFormDTO; import com.epmet.dto.form.ResiTagListFormDTO;
import com.epmet.dto.result.GovArticleContentDTO; import com.epmet.dto.result.GovArticleContentDTO;
@ -146,4 +147,21 @@ public interface ArticleDao extends BaseDao<ArticleEntity> {
* @author zxc * @author zxc
*/ */
String getArticleIdByDraftId(@Param("draftId") String draftId); String getArticleIdByDraftId(@Param("draftId") String draftId);
/**
* @Description 专题下的文章
* @Param gridId
* @Param tagId
* @author zxc
* @date 2021/7/15 3:49 下午
*/
List<SubjectArticleListResultDTO> subjectArticleList(@Param("gridId") String gridId,@Param("tagId") String tagId);
/**
* @Description 专题列表查询
* @Param pidList
* @author zxc
* @date 2021/7/16 10:29 上午
*/
List<SubjectListResultDTO> subjectList(@Param("pidList")List<String> pidList);
} }

2
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/SpecialSubjectDao.java

@ -34,8 +34,6 @@ import java.util.List;
@Mapper @Mapper
public interface SpecialSubjectDao extends BaseDao<SpecialSubjectEntity> { public interface SpecialSubjectDao extends BaseDao<SpecialSubjectEntity> {
SpecialSubjectEntity selectByOrgIdAndTagId(@Param("orgId") String orgId, @Param("tagId") String tagId);
int delSpecialSubject(@Param("id") String id, @Param("userId") String userId); int delSpecialSubject(@Param("id") String id, @Param("userId") String userId);
List<SpecialSubjectDTO> queryExistedList(@Param("orgId") String orgId,@Param("notList")List<String> notList); List<SpecialSubjectDTO> queryExistedList(@Param("orgId") String orgId,@Param("notList")List<String> notList);

13
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java

@ -18,13 +18,10 @@
package com.epmet.entity; package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date;
/** /**
* 专题表 * 专题表
* *
@ -58,6 +55,16 @@ public class SpecialSubjectEntity extends BaseEpmetEntity {
*/ */
private String addOrgId; private String addOrgId;
/**
* ADD_ORG_ID的上级id
*/
private String addOrgPid;
/**
* 用户所在的组织或者网格的所有上级
*/
private String addOrgPids;
/** /**
* 网格grid社区级community * 网格grid社区级community
街道:street, 街道:street,

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

@ -216,4 +216,20 @@ public interface ArticleService extends BaseService<ArticleEntity> {
* @return * @return
*/ */
void manualPublish(TokenDto tokenDto, String draftId); void manualPublish(TokenDto tokenDto, String draftId);
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 2:21 下午
*/
List<SubjectArticleListResultDTO> subjectArticleList(SubjectArticleListFormDTO formDTO);
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 5:22 下午
*/
List<SubjectListResultDTO> subjectList(SubjectListFormDTO formDTO);
} }

64
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/SpecialSubjectService.java

@ -18,8 +18,6 @@
package com.epmet.service; 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.dto.SpecialSubjectDTO;
import com.epmet.dto.form.AddSpecialSubjectFormDTO; import com.epmet.dto.form.AddSpecialSubjectFormDTO;
import com.epmet.dto.form.DelSpecialSubjectFormDTO; import com.epmet.dto.form.DelSpecialSubjectFormDTO;
import com.epmet.dto.form.QuerySpecialSubFormDTO; import com.epmet.dto.form.QuerySpecialSubFormDTO;
@ -28,7 +26,6 @@ import com.epmet.dto.result.WorkSpecialSubjectResultDTO;
import com.epmet.entity.SpecialSubjectEntity; import com.epmet.entity.SpecialSubjectEntity;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 专题表 * 专题表
@ -37,67 +34,6 @@ import java.util.Map;
* @since v1.0.0 2021-07-15 * @since v1.0.0 2021-07-15
*/ */
public interface SpecialSubjectService extends BaseService<SpecialSubjectEntity> { public interface SpecialSubjectService extends BaseService<SpecialSubjectEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<SpecialSubjectDTO>
* @author generator
* @date 2021-07-15
*/
PageData<SpecialSubjectDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<SpecialSubjectDTO>
* @author generator
* @date 2021-07-15
*/
List<SpecialSubjectDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return SpecialSubjectDTO
* @author generator
* @date 2021-07-15
*/
SpecialSubjectDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2021-07-15
*/
void save(SpecialSubjectDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2021-07-15
*/
void update(SpecialSubjectDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2021-07-15
*/
void delete(String[] ids);
/** /**
* 添加专题 * 添加专题
* *

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

@ -1236,7 +1236,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
} }
/** /**
* @param draftId * @param draftId
* @Description 更新DB的标签使用次数 政府端 * @Description 更新DB的标签使用次数 政府端
* @author zxc * @author zxc
@ -1380,4 +1380,43 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}); });
articleTagsDao.addArticleTags(addArticleTags); articleTagsDao.addArticleTags(addArticleTags);
} }
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 2:21 下午
*/
@Override
public List<SubjectArticleListResultDTO> subjectArticleList(SubjectArticleListFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<SubjectArticleListResultDTO> result = baseDao.subjectArticleList(formDTO.getGridId(), formDTO.getTagId());
if (!CollectionUtils.isEmpty(result)){
return result;
}
return new ArrayList<>();
}
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/15 5:22 下午
*/
@Override
public List<SubjectListResultDTO> subjectList(SubjectListFormDTO formDTO) {
String gridId = formDTO.getGridId();
Result<String> pidsByGridId = govOrgOpenFeignClient.selectPidsByGridId(gridId);
if (!pidsByGridId.success()){
throw new RenException("查询pids失败【"+pidsByGridId.getMsg()+"】");
}
String pids = pidsByGridId.getData();
List<String> pidList = Arrays.stream(pids.split(":")).collect(Collectors.toList());
pidList.add(gridId);
List<SubjectListResultDTO> result = baseDao.subjectList(pidList);
if (!CollectionUtils.isEmpty(result)){
return result;
}
return new ArrayList<>();
}
} }

100
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java

@ -17,38 +17,35 @@
package com.epmet.service.impl; package com.epmet.service.impl;
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.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; 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.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.SpecialSubjectDao; import com.epmet.dao.SpecialSubjectDao;
import com.epmet.dto.SpecialSubjectDTO; import com.epmet.dto.SpecialSubjectDTO;
import com.epmet.dto.TagCustomerDTO; import com.epmet.dto.TagCustomerDTO;
import com.epmet.dto.form.AddSpecialSubjectFormDTO; import com.epmet.dto.form.AddSpecialSubjectFormDTO;
import com.epmet.dto.form.DelSpecialSubjectFormDTO; import com.epmet.dto.form.DelSpecialSubjectFormDTO;
import com.epmet.dto.form.QuerySpecialSubFormDTO; import com.epmet.dto.form.QuerySpecialSubFormDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.result.AddSpecialSubjectResultDTO; import com.epmet.dto.result.AddSpecialSubjectResultDTO;
import com.epmet.dto.result.MineResultDTO;
import com.epmet.dto.result.WorkSpecialSubjectResultDTO; import com.epmet.dto.result.WorkSpecialSubjectResultDTO;
import com.epmet.entity.SpecialSubjectEntity; import com.epmet.entity.SpecialSubjectEntity;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.SpecialSubjectService; import com.epmet.service.SpecialSubjectService;
import com.epmet.service.TagCustomerService; import com.epmet.service.TagCustomerService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
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 java.util.ArrayList; 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.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -62,58 +59,8 @@ import java.util.stream.Collectors;
public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao, SpecialSubjectEntity> implements SpecialSubjectService { public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao, SpecialSubjectEntity> implements SpecialSubjectService {
@Autowired @Autowired
private TagCustomerService tagCustomerService; private TagCustomerService tagCustomerService;
@Autowired
@Override private GovOrgOpenFeignClient govOrgOpenFeignClient;
public PageData<SpecialSubjectDTO> page(Map<String, Object> params) {
IPage<SpecialSubjectEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, SpecialSubjectDTO.class);
}
@Override
public List<SpecialSubjectDTO> list(Map<String, Object> params) {
List<SpecialSubjectEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, SpecialSubjectDTO.class);
}
private QueryWrapper<SpecialSubjectEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<SpecialSubjectEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public SpecialSubjectDTO get(String id) {
SpecialSubjectEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, SpecialSubjectDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(SpecialSubjectDTO dto) {
SpecialSubjectEntity entity = ConvertUtils.sourceToTarget(dto, SpecialSubjectEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(SpecialSubjectDTO dto) {
SpecialSubjectEntity entity = ConvertUtils.sourceToTarget(dto, SpecialSubjectEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/** /**
* 添加专题 * 添加专题
@ -131,13 +78,27 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
throw new RenException(EpmetErrorCode.TAG_NOT_EXIST.getCode(), EpmetErrorCode.TAG_NOT_EXIST.getMsg()); throw new RenException(EpmetErrorCode.TAG_NOT_EXIST.getCode(), EpmetErrorCode.TAG_NOT_EXIST.getMsg());
} }
//2、校验当前组织是否添加过此专题 //2、校验当前组织是否添加过此专题
SpecialSubjectEntity havedEntity = baseDao.selectByOrgIdAndTagId(formDTO.getOrgId(), formDTO.getTagId()); QuerySpecialSubFormDTO querySpecialSubFormDTO=new QuerySpecialSubFormDTO();
if (null != havedEntity) { querySpecialSubFormDTO.setOrgId(formDTO.getOrgId());
throw new RenException(EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getCode(), EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getMsg()); querySpecialSubFormDTO.setPids(formDTO.getPids());
} List<WorkSpecialSubjectResultDTO> havedList=this.queryExistedList(querySpecialSubFormDTO);
List<String> haveTagIds=havedList.stream().map(WorkSpecialSubjectResultDTO::getTagId).distinct().collect(Collectors.toList());
haveTagIds.forEach(tagId->{
if(tagId.equals(formDTO.getTagId())){
throw new RenException(EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getCode(), EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getMsg());
}
});
// 3、保存 // 3、保存
SpecialSubjectEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, SpecialSubjectEntity.class); SpecialSubjectEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, SpecialSubjectEntity.class);
StaffInfoFromDTO staffInfoFromDTO = new StaffInfoFromDTO();
staffInfoFromDTO.setStaffId(formDTO.getAddUserId());
Result<MineResultDTO> result = govOrgOpenFeignClient.queryStaffProfile(staffInfoFromDTO);
if(result.success()&&null!=result.getData()){
insertEntity.setAddUserAgencyId(result.getData().getAgencyId());
}
insertEntity.setAddOrgId(formDTO.getOrgId()); insertEntity.setAddOrgId(formDTO.getOrgId());
insertEntity.setAddOrgPid(formDTO.getPid());
insertEntity.setAddOrgPids(formDTO.getPids());
baseDao.insert(insertEntity); baseDao.insert(insertEntity);
return new AddSpecialSubjectResultDTO(insertEntity.getId()); return new AddSpecialSubjectResultDTO(insertEntity.getId());
} }
@ -183,16 +144,21 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
result.setTagId(dto.getTagId()); result.setTagId(dto.getTagId());
result.setTagName(dto.getTagName()); result.setTagName(dto.getTagName());
result.setCanDel(true); result.setCanDel(true);
result.setAddOrgId(dto.getAddOrgId());
result.setOrgLevel(dto.getOrgLevel());
currentOrgList.add(result); currentOrgList.add(result);
}); });
if (CollectionUtils.isNotEmpty(currentOrgList)) { if (CollectionUtils.isNotEmpty(currentOrgList)) {
notList = currentOrgList.stream().map(WorkSpecialSubjectResultDTO::getSpecialSubjectId).distinct().collect(Collectors.toList()); notList = currentOrgList.stream().map(WorkSpecialSubjectResultDTO::getTagId).distinct().collect(Collectors.toList());
} }
if (!NumConstant.ZERO_STR.equals(formDTO.getPids())) { if (!NumConstant.ZERO_STR.equals(formDTO.getPids())) {
//存在上级组织...,从上往下查
List<String> pidList = Arrays.asList(formDTO.getPids().split(StrConstant.COLON)); List<String> pidList = Arrays.asList(formDTO.getPids().split(StrConstant.COLON));
for (String pid : pidList) { for (String pid : pidList) {
//优先展示自己的,所以要排除掉 领导们给我建立的专题 if(CollectionUtils.isNotEmpty(resultDTOList)){
List<String> parentAddList=resultDTOList.stream().map(WorkSpecialSubjectResultDTO::getTagId).distinct().collect(Collectors.toList());
notList.addAll(parentAddList);
}
//优先展示自己的,所以要排除掉自己的,自上向下查,优先展示上层领导们给我建立的专题
List<SpecialSubjectDTO> list = baseDao.queryExistedList(pid, notList); List<SpecialSubjectDTO> list = baseDao.queryExistedList(pid, notList);
list.forEach(dto -> { list.forEach(dto -> {
WorkSpecialSubjectResultDTO result = new WorkSpecialSubjectResultDTO(); WorkSpecialSubjectResultDTO result = new WorkSpecialSubjectResultDTO();
@ -200,6 +166,8 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao
result.setTagId(dto.getTagId()); result.setTagId(dto.getTagId());
result.setTagName(dto.getTagName()); result.setTagName(dto.getTagName());
result.setCanDel(false); result.setCanDel(false);
result.setAddOrgId(dto.getAddOrgId());
result.setOrgLevel(dto.getOrgLevel());
resultDTOList.add(result); resultDTOList.add(result);
}); });
} }

2
epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.4__create_specialsubject.sql

@ -4,6 +4,8 @@ CREATE TABLE `special_subject` (
`TAG_ID` varchar(64) NOT NULL COMMENT '标签id', `TAG_ID` varchar(64) NOT NULL COMMENT '标签id',
`ADD_USER_ID` varchar(64) NOT NULL COMMENT '新增此专题的用户id', `ADD_USER_ID` varchar(64) NOT NULL COMMENT '新增此专题的用户id',
`ADD_ORG_ID` varchar(64) NOT NULL COMMENT '新增此专题时用户所在的组织id或者网格id', `ADD_ORG_ID` varchar(64) NOT NULL COMMENT '新增此专题时用户所在的组织id或者网格id',
`ADD_ORG_PID` varchar(64) NOT NULL COMMENT 'ADD_ORG_ID的上级id',
`ADD_ORG_PIDS` varchar(255) NOT NULL COMMENT '用户所在的组织或者网格的所有上级',
`ORG_LEVEL` varchar(10) NOT NULL COMMENT '网格:grid;社区级:community,\r\n乡(镇、街道)级:street,\r\n区县级: district,\r\n市级: city\r\n省级:province', `ORG_LEVEL` varchar(10) NOT NULL COMMENT '网格:grid;社区级:community,\r\n乡(镇、街道)级:street,\r\n区县级: district,\r\n市级: city\r\n省级:province',
`ADD_USER_AGENCY_ID` varchar(64) NOT NULL COMMENT '新增此专题用户所属的组织id', `ADD_USER_AGENCY_ID` varchar(64) NOT NULL COMMENT '新增此专题用户所属的组织id',
`DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除;1已删除', `DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除;1已删除',

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

@ -347,4 +347,46 @@
AND a.draft_id = #{draftId} AND a.draft_id = #{draftId}
</select> </select>
<!-- 专题下的文章 -->
<select id="subjectArticleList" resultType="com.epmet.dto.result.SubjectArticleListResultDTO">
SELECT
art.ID AS articleId,
art.TITLE AS articleTitle,
art.PUBLISHER_NAME AS publisherName,
art.PUBLISH_DATE AS publishDate,
IFNULL( art.PREVIEW_CONTENT, '' ) AS articleContent,
IFNULL( art.TAGS, '' ) AS tagNames
FROM ARTICLE art
LEFT JOIN ARTICLE_PUBLISH_RANGE prange ON
(art.ID = prange.ARTICLE_ID AND prange.DEL_FLAG = '0' AND prange.PUBLISH_STATUS = 'published' AND prange.GRID_ID = #{gridId} )
LEFT JOIN article_tags ats ON (ats.ARTICLE_ID = art.ID)
WHERE
art.DEL_FLAG = '0'
AND art.STATUS_FLAG = 'published'
AND ats.TAG_ID = #{tagId}
ORDER BY
art.PUBLISH_DATE DESC,
art.CREATED_TIME DESC
</select>
<!-- 专题列表查询 -->
<select id="subjectList" resultType="com.epmet.dto.result.SubjectListResultDTO">
SELECT
ss.ID AS specialSubjectId,
ss.TAG_ID,
tc.TAG_NAME
FROM special_subject ss
LEFT JOIN tag_customer tc ON (tc.ID = ss.TAG_ID AND tc.DEL_FLAG = 0)
WHERE ss.DEL_FLAG = '0'
AND (
<foreach collection="pidList" item="pid" separator=" OR ">
ss.ADD_ORG_ID = #{pid}
</foreach>
)
order by
<foreach collection="pidList" item="pid" separator=" , ">
#{pid}
</foreach>
</select>
</mapper> </mapper>

16
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml

@ -2,16 +2,6 @@
<!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.SpecialSubjectDao"> <mapper namespace="com.epmet.dao.SpecialSubjectDao">
<select id="selectByOrgIdAndTagId" parameterType="map" resultType="com.epmet.entity.SpecialSubjectEntity">
SELECT
*
FROM
special_subject ss
WHERE
ss.DEL_FLAG = '0'
AND ss.ADD_ORG_ID = #{orgId}
AND ss.TAG_ID = #{tagId}
</select>
<update id="delSpecialSubject" parameterType="map"> <update id="delSpecialSubject" parameterType="map">
update special_subject set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=Now() update special_subject set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=Now()
@ -30,9 +20,9 @@
AND tc.DEL_FLAG = '0' AND tc.DEL_FLAG = '0'
AND ss.ADD_ORG_ID = #{orgId} AND ss.ADD_ORG_ID = #{orgId}
<if test="null != notList and notList.size()>0"> <if test="null != notList and notList.size()>0">
and ss.id not in and ss.tag_id not in
<foreach item="id" collection="notList" open="(" separator="," close=")"> <foreach item="tagId" collection="notList" open="(" separator="," close=")">
#{id} #{tagId}
</foreach> </foreach>
</if> </if>
order by ss.CREATED_TIME desc order by ss.CREATED_TIME desc

33
epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java

@ -4,13 +4,8 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
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.dto.form.ArticlePageFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.ResiArticleDetailFormDTO; import com.epmet.dto.result.*;
import com.epmet.dto.form.ResiTagListFormDTO;
import com.epmet.dto.form.TagCascadeListFormDTO;
import com.epmet.dto.result.ArticleDetailResultDTO;
import com.epmet.dto.result.ArticleWithTagsResultDTO;
import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.feign.GovVoiceOpenFeignClient; import com.epmet.feign.GovVoiceOpenFeignClient;
import com.epmet.service.ArticleService; import com.epmet.service.ArticleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -79,4 +74,28 @@ public class ArticleController {
return govVoiceOpenFeignClient.resiArticleDetail(articleDetailFormDTO); return govVoiceOpenFeignClient.resiArticleDetail(articleDetailFormDTO);
} }
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/16 1:30 下午
*/
@PostMapping("subjectarticlelist")
public Result<List<SubjectArticleListResultDTO>> subjectArticleList(@RequestBody SubjectArticleListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,SubjectArticleListFormDTO.SubjectArticleListForm.class);
return new Result<List<SubjectArticleListResultDTO>>().ok(articleService.subjectArticleList(formDTO));
}
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/16 1:30 下午
*/
@PostMapping("subjectlist")
public Result<List<SubjectListResultDTO>> subjectList(@RequestBody SubjectListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, SubjectListFormDTO.SubjectListForm.class);
return new Result<List<SubjectListResultDTO>>().ok(articleService.subjectList(formDTO));
}
} }

22
epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java

@ -1,10 +1,10 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.ArticlePageFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.ResiTagListFormDTO;
import com.epmet.dto.form.TagCascadeListFormDTO;
import com.epmet.dto.result.ArticleWithTagsResultDTO; import com.epmet.dto.result.ArticleWithTagsResultDTO;
import com.epmet.dto.result.SubjectArticleListResultDTO;
import com.epmet.dto.result.SubjectListResultDTO;
import com.epmet.dto.result.TagInfoResultDTO; import com.epmet.dto.result.TagInfoResultDTO;
import java.util.List; import java.util.List;
@ -37,4 +37,20 @@ public interface ArticleService {
* @date 2020.06.03 14:19 * @date 2020.06.03 14:19
**/ **/
List<ArticleWithTagsResultDTO> articleList(ArticlePageFormDTO articlePageFormDTO); List<ArticleWithTagsResultDTO> articleList(ArticlePageFormDTO articlePageFormDTO);
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/16 1:31 下午
*/
List<SubjectArticleListResultDTO> subjectArticleList(SubjectArticleListFormDTO formDTO);
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/16 1:31 下午
*/
List<SubjectListResultDTO> subjectList(SubjectListFormDTO formDTO);
} }

38
epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java

@ -5,12 +5,8 @@ import com.epmet.commons.tools.exception.RenException;
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.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ArticlePageFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.ResiTagListFormDTO; import com.epmet.dto.result.*;
import com.epmet.dto.form.TagCascadeListFormDTO;
import com.epmet.dto.result.ArticleListResultDTO;
import com.epmet.dto.result.ArticleWithTagsResultDTO;
import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.feign.GovVoiceOpenFeignClient; import com.epmet.feign.GovVoiceOpenFeignClient;
import com.epmet.service.ArticleService; import com.epmet.service.ArticleService;
import com.epmet.utils.ModuleConstant; import com.epmet.utils.ModuleConstant;
@ -89,4 +85,34 @@ public class ArticleServiceImpl implements ArticleService {
throw new RenException(articles.getInternalMsg()); throw new RenException(articles.getInternalMsg());
} }
/**
* @Description 专题文章列表
* @Param formDTO
* @author zxc
* @date 2021/7/16 1:31 下午
*/
@Override
public List<SubjectArticleListResultDTO> subjectArticleList(SubjectArticleListFormDTO formDTO) {
Result<List<SubjectArticleListResultDTO>> listResult = govVoiceOpenFeignClient.subjectArticleList(formDTO);
if (!listResult.success()){
throw new RenException("resi-voice调用gov-voice查询 专题文章列表失败【"+listResult.getMsg()+"】");
}
return listResult.getData();
}
/**
* @Description 专题列表
* @Param formDTO
* @author zxc
* @date 2021/7/16 1:31 下午
*/
@Override
public List<SubjectListResultDTO> subjectList(SubjectListFormDTO formDTO) {
Result<List<SubjectListResultDTO>> listResult = govVoiceOpenFeignClient.subjectList(formDTO);
if (!listResult.success()){
throw new RenException("resi-voice调用gov-voice查询 专题列表失败【"+listResult.getMsg()+"】");
}
return listResult.getData();
}
} }

Loading…
Cancel
Save