diff --git a/esua-epdc/epdc-admin/epdc-admin-server/pom.xml b/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
index 8ffa0860c..62661b3f0 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
+++ b/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
@@ -138,6 +138,9 @@
wx29b074840ef4bfd9
4adb1afccc69f205cdf5b521d74e2aca
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -161,6 +164,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -187,6 +193,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -214,6 +223,9 @@
wxddb240334d09049f
071b8c70da0d0482aaf79052e64f83bc
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -257,6 +269,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml
index e0e6d34a1..ecd16eb5a 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml
@@ -80,11 +80,18 @@ wx:
token: #微信小程序消息服务器配置的token
aesKey: #微信小程序消息服务器配置的EncodingAESKey
msgDataFormat: JSON
+ - appid: @analysis.wx.ma.appId@
+ secret: @analysis.wx.ma.secret@
+ token: #微信小程序消息服务器配置的token
+ aesKey: #微信小程序消息服务器配置的EncodingAESKey
+ msgDataFormat: JSON
appId:
# 普通居民端的appId
normal: @wx.ma.appId@
# 工作端的appId
work: @work.wx.ma.appId@
+ # 数据分析端的appId
+ analysis: @analysis.wx.ma.appId@
feign:
diff --git a/esua-epdc/epdc-commons/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java
index dafd82d00..a58ef3edf 100644
--- a/esua-epdc/epdc-commons/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java
+++ b/esua-epdc/epdc-commons/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/utils/WxMaServiceUtils.java
@@ -20,6 +20,9 @@ public class WxMaServiceUtils {
@Value("${wx.ma.appId.work}")
private String APPID_WORK;
+ @Value("${wx.ma.appId.analysis}")
+ private String APPID_ANALYSIS;
+
/**
* 获取党群e家 普通居民端配置
*
@@ -43,4 +46,18 @@ public class WxMaServiceUtils {
final WxMaService wxMaService = WxMaConfig.getMaService(APPID_WORK);
return wxMaService;
}
+
+ /**
+ *
+ * 获取党群e家 数据分析端配置
+ *
+ * @params []
+ * @return cn.binarywang.wx.miniapp.api.WxMaService
+ * @author liuchuang
+ * @since 2020/2/12 10:44
+ */
+ public final WxMaService analysisWxMaService() {
+ final WxMaService wxMaService = WxMaConfig.getMaService(APPID_ANALYSIS);
+ return wxMaService;
+ }
}
diff --git a/esua-epdc/epdc-gateway/src/main/resources/application.yml b/esua-epdc/epdc-gateway/src/main/resources/application.yml
index d2aed4bf1..dd39b39a7 100644
--- a/esua-epdc/epdc-gateway/src/main/resources/application.yml
+++ b/esua-epdc/epdc-gateway/src/main/resources/application.yml
@@ -228,6 +228,8 @@ renren:
workLoginUrls:
- /api/work/user/getToken #工作端-获取token
- /api/work/user/login #工作端-登录
+ - /api/analysis/user/getToken #数据分析端-获取token
+ - /api/analysis/user/login #数据分析端-登录
- /api/work/*/swagger/**
workUrls:
- /api/work/** #工作端接口
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserCountDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserCountDTO.java
index ea322bef9..f47fd38a8 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserCountDTO.java
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserCountDTO.java
@@ -2,8 +2,6 @@ package com.elink.esua.epdc.dto.user.form;
import lombok.Data;
-import javax.validation.constraints.NotNull;
-
/**
* @program: esua-epdc-cloud
* @description: 用户数据统计/网格开通数量
@@ -17,7 +15,6 @@ public class UserCountDTO{
/**
* 部门id
*/
- @NotNull(message = "部门id不能为空")
private String deptId;
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java
index 458640970..6f60d3e8e 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java
@@ -6,15 +6,17 @@ import lombok.Data;
import java.io.Serializable;
/**
- * @author: qushutong
- * @Date: 2020/2/11 13:09
- * @Description: 开通网格情况
+ * @author: qushutong
+ * @Date: 2020/2/11 13:09
+ * @Description: 开通网格情况
*/
@Data
public class GridOpeningResultDTO implements Serializable {
private static final long serialVersionUID = -852226852590425991L;
+ private String gridId;
+
/**
* 街道社区网格
*/
@@ -22,56 +24,65 @@ public class GridOpeningResultDTO implements Serializable {
/**
* 用户注册数
*/
- private String registerCount;
+ private Integer registerCount;
+ /**
+ * 认证居民
+ */
+ private Integer residentCount;
/**
- * 党员注册数
+ * 认证党员数
*/
- private String partyCount;
+ private Integer partyCount;
/**
* 居民扫码数
*/
- private String ewmCount;
+ private Integer ewmCount;
/**
* 新闻数
*/
- private String newsCount;
+ private Integer newsCount;
/**
* 通知数
*/
- private String noticeCount;
+ private Integer noticeCount;
/**
* 议题数
*/
- private String eventCount;
+ private Integer eventCount;
/**
* 项目数
*/
- private String itemCount;
+ private Integer itemCount;
/**
* 项目结案数
*/
- private String itemCloseCount;
+ private Integer itemCloseCount;
/**
* 社群数
*/
- private String communityCount;
+ private Integer communityCount;
/**
* 社群成员数
*/
- private String communityMemberCount;
+ private Integer communityMemberCount;
/**
* 社群话题数
*/
- private String communityTopicCount;
+ private Integer communityTopicCount;
+
+ /**
+ * 网格长姓名
+ */
+ private String gridLeader;
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/PartyAnalysExcel.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/PartyAnalysExcel.java
new file mode 100644
index 000000000..11ca7c67f
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/PartyAnalysExcel.java
@@ -0,0 +1,52 @@
+package com.elink.esua.epdc.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author: qushutong
+ * @Date: 2020/2/12 14:24
+ * @Description: 注册用户分析
+ */
+@Data
+public class PartyAnalysExcel {
+ @Excel(name = "街道名称")
+ private String streetName;
+
+ @Excel(name = "注册用户数")
+ private Integer userCount;
+
+ @Excel(name = "注册党员数")
+ private Integer partyMemberCount;
+
+ @Excel(name = "注册居民数")
+ private Integer residentCount;
+
+ @Excel(name = "男")
+ private Integer maleCount;
+
+ @Excel(name = "女")
+ private Integer femaleCount;
+
+ @Excel(name = "其他")
+ private Integer unknownSexCount;
+
+ @Excel(name = "超过50岁用户数量")
+ private Integer oldCount;
+
+ @Excel(name = "老龄化比例")
+ private BigDecimal oldPercent;
+
+ @Excel(name = "50岁以下用户数量")
+ private Integer youngCount;
+
+ @Excel(name = "年轻化比例")
+ private BigDecimal youngPercent;
+
+ @Excel(name = "党员认证失败数")
+ private Integer partyAuthFailureCount;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/RegisterExcel.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/RegisterExcel.java
new file mode 100644
index 000000000..b6ff4556a
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/RegisterExcel.java
@@ -0,0 +1,50 @@
+package com.elink.esua.epdc.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author: qushutong
+ * @Date: 2020/2/12 14:24
+ * @Description: 注册用户分析
+ */
+@Data
+public class RegisterExcel {
+ @Excel(name = "街道名称")
+ private String streetName;
+
+ @Excel(name = "注册用户数")
+ private Integer userCount;
+
+ @Excel(name = "注册党员数")
+ private Integer partyMemberCount;
+
+ @Excel(name = "注册居民数")
+ private Integer residentCount;
+
+ @Excel(name = "男")
+ private Integer maleCount;
+
+ @Excel(name = "女")
+ private Integer femaleCount;
+
+ @Excel(name = "其他")
+ private Integer unknownSexCount;
+
+ @Excel(name = "超过50岁用户数量")
+ private Integer oldCount;
+
+ @Excel(name = "老龄化比例")
+ private BigDecimal oldPercent;
+
+ @Excel(name = "50岁以下用户数量")
+ private Integer youngCount;
+
+ @Excel(name = "年轻化比例")
+ private BigDecimal youngPercent;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
index ed1283e6e..208b5ef31 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
@@ -1,6 +1,7 @@
package com.elink.esua.epdc.modules.user.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
@@ -20,20 +21,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.excel.PartyAnalysExcel;
+import com.elink.esua.epdc.excel.RegisterExcel;
import com.elink.esua.epdc.modules.user.service.UserAnalysisService;
-import com.elink.esua.epdc.modules.user.service.YoungMemberRankService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
import java.util.List;
import java.util.Map;
-
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
+import javax.servlet.http.HttpServletResponse;
/**
* 数据端,用户数据分析相关接口
@@ -144,4 +138,32 @@ public class UserAnalysisController {
ValidatorUtils.validateEntity(formDto);
return userAnalysisService.getGridStatistics(formDto);
}
+ /***
+ * 注册用户总数排名分析导出
+ * @param params
+ * @param response
+ * @return void
+ * @author qushutong
+ * @date 2020/2/12 14:38
+ */
+ @GetMapping("export/register")
+ public void exportRegister(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ PageData pageData = userAnalysisService.pageUserDataRank(params);
+ ExcelUtils.exportExcelToTarget(response, "注册用户总数排名分析", pageData.getList(), RegisterExcel.class);
+ }
+
+
+ /***
+ * 党员排名分析导出
+ * @param params
+ * @param response
+ * @return void
+ * @author qushutong
+ * @date 2020/2/12 14:38
+ */
+ @GetMapping("export/party")
+ public void exportParty(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ PageData pageData = userAnalysisService.pageUserDataRank(params);
+ ExcelUtils.exportExcelToTarget(response, "党员排名分析", pageData.getList(), PartyAnalysExcel.class);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
index 81e78f181..00372d225 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
@@ -53,42 +53,42 @@ public interface UserAnalysisDao extends BaseMapper {
/***
- * 新闻
- * @param
+ * 根据网格统计新闻发布数
+ * @param params
* @return java.util.List
* @author qushutong
* @date 2020/2/11 14:10
*/
- List selectListNewsCount();
+ List selectListNewsCount(Map params);
/***
* 通知
- * @param
+ * @param params
* @return java.util.List
* @author qushutong
* @date 2020/2/11 14:10
*/
- List selectListNoticeCount();
+ List selectListNoticeCount(Map params);
/***
* 议题数
- * @param
+ * @param params
* @return java.util.List
* @author qushutong
* @date 2020/2/11 14:10
*/
- List selectListEventCount();
+ List selectListEventCount(Map params);
/***
- * 项目数
- * @param
+ * 项目数,项目结案数
+ * @param params
* @return java.util.List
* @author qushutong
* @date 2020/2/11 14:10
*/
- List selectListItemCount();
+ List selectListItemCount(Map params);
/**
* 查询用户数据排行
@@ -111,72 +111,62 @@ public interface UserAnalysisDao extends BaseMapper {
List selectListPartyAuthFailureCountByStreetId(@Param("streetIdList") List streetIdList);
/***
- * 项目结案数
- * @param
- * @return java.util.List
- * @author qushutong
- * @date 2020/2/11 14:10
- */
- List selectListItemCloseCount();
-
-
- /***
- * 社群数
- * @param
- * @return java.util.List
- * @author qushutong
- * @date 2020/2/11 14:10
- */
- List selectListCommunityCount();
-
-
- /***
- * 社群成员数
- * @param
+ * 社群数 社群成员数 社群话题数
+ * @param params
* @return java.util.List
* @author qushutong
* @date 2020/2/11 14:10
*/
- List selectListCommunityMemberCount();
-
+ List selectListCommunityCount(Map params);
- /***
- * 社群话题数
- * @param
- * @return java.util.List
- * @author qushutong
- * @date 2020/2/11 14:10
- */
- List selectListCommunityTopicCount();
/**
- *用户数据统计
+ * 用户数据统计
*
- * @author wangtong
- * @date 2020/2/11 14:55
* @param [formDTO]
* @return com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO
+ * @author wangtong
+ * @date 2020/2/11 14:55
*/
UserAnalysisCountDTO getUserStatistics(UserCountDTO formDto, List deptIdList);
/**
- *网格数量统计
+ * 网格数量统计
*
- * @author wangtong
- * @date 2020/2/11 14:55
* @param [formDTO]
* @return com.elink.esua.epdc.dto.user.result.GriddingCountDTO
+ * @author wangtong
+ * @date 2020/2/11 14:55
*/
GriddingCountDTO getGridStatistics(UserCountDTO formDto, List deptIdList);
/**
- * @Description 注册用户数排名
+ * @return com.elink.esua.epdc.commons.tools.utils.Result>
+ * @Description 注册用户数排名
* @Author lpf
- * @Date 2020/2/11
+ * @Date 2020/2/11
* @Param [formDto]
- * @return com.elink.esua.epdc.commons.tools.utils.Result>
**/
List userRegisterSort(UserSortRankFormDTO formDto, List deptIdList);
+ /**
+ * (未)开通网格列表,查询字段:网格的完整机构名称,网格id,网格长名称
+ *
+ * @param params
+ * @return java.util.List
+ * @author work@yujt.net.cn
+ * @date 2020/2/12 13:27
+ */
+ List selectListGridHasMaCode(Map params);
+
+ /**
+ * 根据网格id,查询网格内注册用户数,认证党员数,认证居民数
+ *
+ * @param params
+ * @return java.util.List
+ * @author work@yujt.net.cn
+ * @date 2020/2/12 14:06
+ */
+ List selectListReigistData(Map params);
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
index c84df86c9..f8bdeaa75 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
@@ -42,46 +42,68 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl listPageGridOpening(Map params) {
- // 注册数
- List registerCountList = baseDao.selectListReigistCount();
- // 党员数
- List partyCountList = baseDao.selectListPartyCount();
- // 居民扫码数
- List ewmCountList = baseDao.selectListEwmCount();
+ IPage iPage = this.getPage(params);
+ List list = baseDao.selectListGridHasMaCode(params);
+
+ PageData page = new PageData<>(list, iPage.getTotal());
+ if (CollUtil.isEmpty(list)) {
+ return page;
+ }
+ List gridIdList = Lists.newArrayList();
+ for (GridOpeningResultDTO gridOpeningResult : list) {
+ gridIdList.add(gridOpeningResult.getGridId());
+ }
+ params.put("gridIdList", gridIdList);
+ // 注册数,认证党员数,认证居民数
+ List registerDataList = baseDao.selectListReigistData(params);
// 新闻数
- List newsCountList = baseDao.selectListNewsCount();
+ List newsCountList = baseDao.selectListNewsCount(params);
// 通知数
- List noticeCountList = baseDao.selectListNoticeCount();
+ List noticeCountList = baseDao.selectListNoticeCount(params);
// 议题数
- List eventCountList = baseDao.selectListEventCount();
- // 项目数
- List itemCountList = baseDao.selectListItemCount();
- // 结案数
- List itemCloseCountList = baseDao.selectListItemCloseCount();
- // 社群数
- List communityCountList = baseDao.selectListCommunityCount();
- // 社群成员数
- List communityMemberCountList = baseDao.selectListCommunityMemberCount();
- // 社群话题数
- List communityTopicCountList = baseDao.selectListCommunityTopicCount();
- GridOpeningResultDTO openingResultDto;
- for (int i = 0; i < registerCountList.size(); i++) {
- openingResultDto = registerCountList.get(i);
- openingResultDto.setRegisterCount(registerCountList.get(i).getRegisterCount());
- openingResultDto.setPartyCount(partyCountList.get(i).getPartyCount());
- openingResultDto.setNewsCount(newsCountList.get(i).getNewsCount());
- openingResultDto.setNoticeCount(noticeCountList.get(i).getNoticeCount());
- openingResultDto.setEwmCount(ewmCountList.get(i).getEwmCount());
- openingResultDto.setEventCount(eventCountList.get(i).getEventCount());
- openingResultDto.setItemCount(itemCountList.get(i).getItemCount());
- openingResultDto.setItemCloseCount(itemCloseCountList.get(i).getItemCloseCount());
- openingResultDto.setCommunityCount(communityCountList.get(i).getCommunityCount());
- openingResultDto.setCommunityMemberCount(communityMemberCountList.get(i).getCommunityMemberCount());
- openingResultDto.setCommunityTopicCount(communityTopicCountList.get(i).getCommunityTopicCount());
- }
+ List eventCountList = baseDao.selectListEventCount(params);
+ // 项目数,项目结案数
+ List itemCountList = baseDao.selectListItemCount(params);
+ // 社群数 社群成员数 社群话题数
+ List communityCountList = baseDao.selectListCommunityCount(params);
- IPage iPage = this.getPage(params);
- return new PageData<>(registerCountList, iPage.getTotal());
+ for (GridOpeningResultDTO resultDto : list) {
+ for (GridOpeningResultDTO registerData : registerDataList) {
+ if(resultDto.getGridId().equals(registerData.getGridId())){
+ resultDto.setRegisterCount(registerData.getRegisterCount());
+ resultDto.setPartyCount(registerData.getPartyCount());
+ resultDto.setRegisterCount(registerData.getRegisterCount());
+ }
+ }
+ for (GridOpeningResultDTO newsCountData : newsCountList) {
+ if(resultDto.getGridId().equals(newsCountData.getGridId())){
+ resultDto.setNewsCount(newsCountData.getNewsCount());
+ }
+ }
+ for (GridOpeningResultDTO noticeCounData : noticeCountList) {
+ if(resultDto.getGridId().equals(noticeCounData.getGridId())){
+ resultDto.setNoticeCount(noticeCounData.getNoticeCount());
+ }
+ }
+ for (GridOpeningResultDTO eventCountData : eventCountList) {
+ if(resultDto.getGridId().equals(eventCountData.getGridId())){
+ resultDto.setEventCount(eventCountData.getEventCount());
+ }
+ }
+ for (GridOpeningResultDTO itemCountData : itemCountList) {
+ if(resultDto.getGridId().equals(itemCountData.getGridId())){
+ resultDto.setItemCloseCount(itemCountData.getItemCloseCount());
+ }
+ }
+ for (GridOpeningResultDTO communityCountData : communityCountList) {
+ if(resultDto.getGridId().equals(communityCountData.getGridId())){
+ resultDto.setCommunityCount(communityCountData.getCommunityCount());
+ resultDto.setCommunityTopicCount(communityCountData.getCommunityTopicCount());
+ resultDto.setCommunityMemberCount(communityCountData.getCommunityMemberCount());
+ }
+ }
+ }
+ return page;
}
@Override
@@ -130,12 +152,12 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl data = baseDao.userRegisterSort(formDto, SecurityUser.getUser().getDeptIdList());
- return new Result>().ok(data); }
+ return new Result>().ok(data);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/OldMemberRankDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/OldMemberRankDao.xml
index 1748fa04a..b784d92a7 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/OldMemberRankDao.xml
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/OldMemberRankDao.xml
@@ -40,8 +40,9 @@ FROM (
uu.DEL_FLAG = '0'
AND uu.PARTY_FLAG = '1'
AND ad.id IS NOT NULL
- AND ad2.id != 1191534129122230274
- AND ad2.id = #{formDto.deptId}
+
+ AND ad2.id = #{formDto.deptId}
+
AND ad2.id IN
#{deptIdItem}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
index 22a4f7b25..e180d330e 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
@@ -152,269 +152,84 @@
-
-
-
-
-
-
-
-
+
+
+
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/YoungMemberRankDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/YoungMemberRankDao.xml
index 61ef24947..c99d14b72 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/YoungMemberRankDao.xml
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/YoungMemberRankDao.xml
@@ -40,8 +40,9 @@ FROM (
uu.DEL_FLAG = '0'
AND uu.PARTY_FLAG = '1'
AND ad.id IS NOT NULL
- AND ad2.id != 1191534129122230274
- AND ad2.id = #{formDto.deptId}
+
+ AND ad2.id = #{formDto.deptId}
+
AND ad2.id IN
#{deptIdItem}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml b/esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml
index 6f6ae2874..bd24f1d4f 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml
@@ -182,6 +182,9 @@
wx29b074840ef4bfd9
4adb1afccc69f205cdf5b521d74e2aca
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -221,6 +224,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -256,6 +262,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -291,6 +300,9 @@
wxddb240334d09049f
071b8c70da0d0482aaf79052e64f83bc
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -330,6 +342,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
index 3d25861ae..a4958a417 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
@@ -1,8 +1,12 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.TokenDto;
+import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
+import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
+import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
@@ -11,9 +15,7 @@ import com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.service.AnalysisUserService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -42,6 +44,36 @@ public class ApiAnalysisUserController {
return analysisUserService.test();
}
+ /**
+ *
+ * 数据分析端-用户登录
+ *
+ * @params [formDto]
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @author liuchuang
+ * @since 2020/2/12 10:57
+ */
+ @PostMapping("login")
+ public Result login(@RequestBody WorkUserLoginDTO formDto) {
+ ValidatorUtils.validateEntity(formDto);
+ return analysisUserService.login(formDto);
+ }
+
+ /**
+ *
+ * 数据分析端-获取token
+ *
+ * @params [formDto]
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @author liuchuang
+ * @since 2020/2/12 10:58
+ */
+ @GetMapping("getToken")
+ public Result getMaToken(EpdcWorkAppUserMaTokenFormDTO formDto) {
+ ValidatorUtils.validateEntity(formDto);
+ return analysisUserService.getMaToken(formDto);
+ }
+
@GetMapping("/partyMemberOldSort")
public Result> listOldMemberRankByDeptId(MemberRankFormDTO formDto) {
return analysisUserService.listOldMemberRankByDeptId(formDto);
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
index 27f4bcf51..2b4500a1c 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
@@ -1,6 +1,9 @@
package com.elink.esua.epdc.service;
+import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
+import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
@@ -25,6 +28,29 @@ public interface AnalysisUserService {
* @Date: 2019/11/19 16:37
*/
Result test();
+
+ /**
+ *
+ * 数据分析端-用户登录
+ *
+ * @params [formDto]
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @author liuchuang
+ * @since 2020/2/12 10:59
+ */
+ Result login(WorkUserLoginDTO formDto);
+
+ /**
+ *
+ * 数据分析端-获取token
+ *
+ * @params [formDto]
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @author liuchuang
+ * @since 2020/2/12 11:00
+ */
+ Result getMaToken(EpdcWorkAppUserMaTokenFormDTO formDto);
+
/**
* @Description 获取党员老龄化排名列表
* @Author songyunpeng
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java
index 79dbafab2..8973486d1 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java
@@ -1,15 +1,29 @@
package com.elink.esua.epdc.service.impl;
+import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
+import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
+import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
+import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
+import com.elink.esua.epdc.commons.tools.constant.NumConstant;
+import com.elink.esua.epdc.commons.tools.exception.RenException;
+import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.dto.SysUserDTO;
+import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
+import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.AnalysisUserFeignClient;
+import com.elink.esua.epdc.feign.ResourceFeignClient;
import com.elink.esua.epdc.service.AnalysisUserService;
+import com.elink.esua.epdc.utils.WxMaServiceUtils;
+import me.chanjar.weixin.common.error.WxErrorException;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -26,13 +40,48 @@ public class AnalysisUserServiceImpl implements AnalysisUserService {
@Autowired
private AnalysisUserFeignClient analysisUserFeignClient;
+ @Autowired
+ private WxMaServiceUtils wxMaServiceUtils;
+
+ @Autowired
+ private ResourceFeignClient resourceFeignClient;
+ @Autowired
+ private AdminFeignClient adminFeignClient;
@Override
public Result test() {
return analysisUserFeignClient.test();
}
+ @Override
+ public Result login(WorkUserLoginDTO formDto) {
+ // 获取openId
+ String openId = this.getWxMaUser(formDto.getWxCode()).getOpenid();
+ formDto.setOpenId(openId);
+ return resourceFeignClient.workLogin(formDto);
+ }
+
+ @Override
+ public Result getMaToken(EpdcWorkAppUserMaTokenFormDTO formDto) {
+ // 获取openId
+ String openId = this.getWxMaUser(formDto.getWxCode()).getOpenid();
+
+ // 检查当前微信是否已绑定账户
+ Result sysUserDtoResult = adminFeignClient.getSysUserInfoByOpenId(openId);
+ if (!sysUserDtoResult.success()) {
+ return new Result().error(sysUserDtoResult.getMsg());
+ }
+ SysUserDTO userDto = sysUserDtoResult.getData();
+ if (null == userDto) {
+ WorkUserAuthorizationDTO resultDto = new WorkUserAuthorizationDTO();
+ resultDto.setRegisterState(NumConstant.ZERO_STR);
+ return new Result().ok(resultDto);
+ }
+
+ return resourceFeignClient.getToken(ConvertUtils.sourceToTarget(userDto, WorkUserTokenFormDTO.class));
+ }
+
@Override
public Result> listOldMemberRankByDeptId( MemberRankFormDTO formDto) {
return analysisUserFeignClient.listOldMemberRankByDeptId(formDto);
@@ -59,4 +108,28 @@ public class AnalysisUserServiceImpl implements AnalysisUserService {
return analysisUserFeignClient.getGridStatistics(formDto);
}
+
+ /**
+ *
+ * 解析微信code获取小程序用户信息
+ *
+ * @params [wxCode]
+ * @return cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult
+ * @author liuchuang
+ * @since 2020/2/12 13:20
+ */
+ private WxMaJscode2SessionResult getWxMaUser(String wxCode) {
+ WxMaJscode2SessionResult wxMaJscode2SessionResult = null;
+ try {
+ wxMaJscode2SessionResult = wxMaServiceUtils.analysisWxMaService().jsCode2SessionInfo(wxCode);
+ } catch (WxErrorException e) {
+ e.printStackTrace();
+ }
+ if (null == wxMaJscode2SessionResult) {
+ throw new RenException("解析微信用户信息失败");
+ } else if (StringUtils.isBlank(wxMaJscode2SessionResult.getOpenid())) {
+ throw new RenException("获取微信openid失败");
+ }
+ return wxMaJscode2SessionResult;
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml
index 0a30aed3b..ed9eacc37 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml
@@ -113,11 +113,18 @@ wx:
token: #微信小程序消息服务器配置的token
aesKey: #微信小程序消息服务器配置的EncodingAESKey
msgDataFormat: JSON
+ - appid: @analysis.wx.ma.appId@
+ secret: @analysis.wx.ma.secret@
+ token: #微信小程序消息服务器配置的token
+ aesKey: #微信小程序消息服务器配置的EncodingAESKey
+ msgDataFormat: JSON
appId:
# 普通居民端的appId
normal: @wx.ma.appId@
# 工作端的appId
work: @work.wx.ma.appId@
+ # 数据分析端的appId
+ analysis: @analysis.wx.ma.appId@
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml
index 571ba13ef..cfc92acc1 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml
@@ -164,6 +164,9 @@
wx29b074840ef4bfd9
4adb1afccc69f205cdf5b521d74e2aca
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -200,6 +203,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -233,6 +239,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -266,6 +275,9 @@
wxddb240334d09049f
071b8c70da0d0482aaf79052e64f83bc
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
@@ -302,6 +314,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ wx9b6102a8ee5add65
+ 394f47d4e08fc0fd629231d3f68a34dc
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml
index 0b47de4f7..28f416c29 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml
@@ -100,8 +100,15 @@ wx:
token: #微信小程序消息服务器配置的token
aesKey: #微信小程序消息服务器配置的EncodingAESKey
msgDataFormat: JSON
+ - appid: @analysis.wx.ma.appId@
+ secret: @analysis.wx.ma.secret@
+ token: #微信小程序消息服务器配置的token
+ aesKey: #微信小程序消息服务器配置的EncodingAESKey
+ msgDataFormat: JSON
appId:
# 普通居民端的appId
normal: @wx.ma.appId@
# 工作端的appId
work: @work.wx.ma.appId@
+ # 数据分析端的appId
+ analysis: @analysis.wx.ma.appId@