Browse Source

居民热议左侧饼图

dev_shibei_match
zxc 4 years ago
parent
commit
bc935ec7a6
  1. 26
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ResiBuzzLeftPieChartFormDTO.java
  2. 2
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ResiBuzzDTO.java
  3. 36
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ResiBuzzLeftPieChartResultDTO.java
  4. 12
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  5. 18
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  6. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  7. 33
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  8. 32
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

26
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ResiBuzzLeftPieChartFormDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/12/9 9:53 上午
* @DESC
*/
@Data
public class ResiBuzzLeftPieChartFormDTO implements Serializable {
private static final long serialVersionUID = -7312573663758331220L;
/**
* 组织ID
*/
private String orgId;
/**
* 组织类型agency组织grid网格
*/
private String orgType;
}

2
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ResiBuzzDTO.java

@ -86,6 +86,6 @@ public class ResiBuzzDTO implements Serializable {
this.oppositionCount = NumConstant.ZERO; this.oppositionCount = NumConstant.ZERO;
this.voteAccount = ""; this.voteAccount = "";
this.issueOriginator = ""; this.issueOriginator = "";
this.categoryName = ""; this.categoryName = "其他";
} }
} }

36
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ResiBuzzLeftPieChartResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/12/9 9:56 上午
* @DESC
*/
@Data
public class ResiBuzzLeftPieChartResultDTO implements Serializable {
private static final long serialVersionUID = -4673540577019002156L;
/**
* 数量
*/
private Integer count;
/**
* 分类编码
*/
private String categoryCode;
/**
* 分类名字
*/
private String categoryName;
/**
* 颜色
*/
private String colour;
}

12
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java

@ -299,5 +299,17 @@ public class IssueController {
return new Result<ResiBuzzResultDTO>().ok(issueService.resiBuzz(formDTO,tokenDto)); return new Result<ResiBuzzResultDTO>().ok(issueService.resiBuzz(formDTO,tokenDto));
} }
/**
* @Description 居民热议左边饼图
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2021/12/9 10:03 上午
*/
@PostMapping("resibuzz-leftpiechart")
public Result<List<ResiBuzzLeftPieChartResultDTO>> resiBuzzLeftPieChart(@RequestBody ResiBuzzLeftPieChartFormDTO formDTO,@LoginUser TokenDto tokenDto){
return new Result<List<ResiBuzzLeftPieChartResultDTO>>().ok(issueService.resiBuzzLeftPieChart(formDTO,tokenDto));
}
} }

18
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -236,4 +236,22 @@ public interface IssueDao extends BaseDao<IssueEntity> {
*/ */
List<ResiBuzzDTO> selectIssueLimit50(@Param("orgId")String orgId,@Param("orgType")String orgType,@Param("status")String status); List<ResiBuzzDTO> selectIssueLimit50(@Param("orgId")String orgId,@Param("orgType")String orgType,@Param("status")String status);
/**
* @Description 查询客户下1级分类的长度
* @param customerId
* @author zxc
* @date 2021/12/9 10:28 上午
*/
Integer selectOneLevelCategoryLength(@Param("customerId")String customerId);
/**
* @Description 查询居民热议左侧饼图
* @param orgId
* @param orgType
* @param length
* @author zxc
* @date 2021/12/9 10:57 上午
*/
List<ResiBuzzLeftPieChartResultDTO> resiBuzzLeftPieChart(@Param("orgId")String orgId,@Param("orgType")String orgType,@Param("length")Integer length);
} }

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java

@ -359,4 +359,14 @@ public interface IssueService extends BaseService<IssueEntity> {
* @date 2021/12/8 3:50 下午 * @date 2021/12/8 3:50 下午
*/ */
ResiBuzzResultDTO resiBuzz(ResiBuzzFormDTO formDTO , TokenDto tokenDto); ResiBuzzResultDTO resiBuzz(ResiBuzzFormDTO formDTO , TokenDto tokenDto);
/**
* @Description 居民热议左边饼图
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2021/12/9 10:03 上午
*/
List<ResiBuzzLeftPieChartResultDTO> resiBuzzLeftPieChart(ResiBuzzLeftPieChartFormDTO formDTO,TokenDto tokenDto);
} }

33
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -1570,6 +1570,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
/** /**
* @Description 居民热议列表 * @Description 居民热议列表
* 如果议题没有分类默认显示其他产品说的
* @param formDTO * @param formDTO
* @param tokenDto * @param tokenDto
* @author zxc * @author zxc
@ -1577,7 +1578,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
*/ */
@Override @Override
public ResiBuzzResultDTO resiBuzz(ResiBuzzFormDTO formDTO, TokenDto tokenDto) { public ResiBuzzResultDTO resiBuzz(ResiBuzzFormDTO formDTO, TokenDto tokenDto) {
if (org.apache.commons.lang3.StringUtils.isBlank(formDTO.getOrgId())){ if (StringUtils.isBlank(formDTO.getOrgId())){
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo){ if (null == staffInfo){
throw new EpmetException("未查询到此工作人员的所属组织信息..."); throw new EpmetException("未查询到此工作人员的所属组织信息...");
@ -1612,12 +1613,30 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return result; return result;
} }
public static void main(String[] args) { /**
List<String> list = new ArrayList<>(); * @Description 居民热议左边饼图
list.add("1"); * @param formDTO
list.add("2"); * @param tokenDto
list.add("3"); * @author zxc
System.out.println(list.subList(0, 3)); * @date 2021/12/9 10:03 上午
*/
@Override
public List<ResiBuzzLeftPieChartResultDTO> resiBuzzLeftPieChart(ResiBuzzLeftPieChartFormDTO formDTO, TokenDto tokenDto) {
if (StringUtils.isBlank(formDTO.getOrgId())){
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo){
throw new EpmetException("未查询到此工作人员的所属组织信息...");
}
formDTO.setOrgId(staffInfo.getAgencyId());
formDTO.setOrgType(IssueConstant.ISSUE_AGENCY);
}
Integer length = baseDao.selectOneLevelCategoryLength(tokenDto.getCustomerId());
List<ResiBuzzLeftPieChartResultDTO> result = baseDao.resiBuzzLeftPieChart(formDTO.getOrgId(), formDTO.getOrgType(), length);
if(CollectionUtils.isEmpty(result)){
return new ArrayList<>();
}
return result;
} }
} }

32
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

@ -607,4 +607,36 @@
</if> </if>
ORDER BY (s.SUPPORT_COUNT + s.OPPOSITION_COUNT) DESC,i.created_time DESC ORDER BY (s.SUPPORT_COUNT + s.OPPOSITION_COUNT) DESC,i.created_time DESC
</select> </select>
<!-- 查询客户下1级分类的长度 -->
<select id="selectOneLevelCategoryLength" resultType="java.lang.Integer">
SELECT LENGTH(CATEGORY_CODE) FROM issue_project_category_dict
WHERE DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND IS_DISABLE = 'enable'
AND CATEGORY_TYPE = '1'
LIMIT 1
</select>
<!-- 查询居民热议左侧饼图 -->
<select id="resiBuzzLeftPieChart" resultType="com.epmet.dto.result.ResiBuzzLeftPieChartResultDTO">
SELECT COUNT(issueId) AS count,categoryCode,categoryName FROM
(SELECT
i.ID AS issueId,
IFNULL(LEFT(ic.CATEGORY_CODE,#{length}),'') AS categoryCode,
IFNULL(cd.CATEGORY_NAME,'其他') AS categoryName
FROM issue i
LEFT JOIN issue_vote_statistical s ON (s.ISSUE_ID = i.ID AND s.DEL_FLAG = '0')
LEFT JOIN issue_category ic ON (ic.ISSUE_ID = i.ID AND ic.DEL_FLAG = '0' AND ic.CUSTOMER_ID = i.CUSTOMER_ID)
LEFT JOIN issue_project_category_dict cd ON (cd.CATEGORY_CODE = ic.CATEGORY_CODE AND cd.DEL_FLAG = '0' AND cd.CUSTOMER_ID = ic.CUSTOMER_ID)
WHERE i.DEL_FLAG = '0'
<if test='orgType == "grid" '>
AND i.GRID_ID = #{orgId}
</if>
<if test='orgType == "agency" '>
AND i.ORG_ID_PATH LIKE CONCAT('%',#{orgId})
</if>
ORDER BY (s.SUPPORT_COUNT + s.OPPOSITION_COUNT) DESC,i.created_time DESC LIMIT 50)temp
GROUP BY categoryCode
</select>
</mapper> </mapper>
Loading…
Cancel
Save