Commit c541a65c by 袁伟铭

修改

parent 3bc6507a
......@@ -43,4 +43,7 @@ public interface PortalFeign {
@PostMapping("/stats/getAreaUnderSoorganStatsList")
ResultVo getAreaUnderSoorganStatsList(@RequestBody Map<String, Object> paramsMap);
@PostMapping("/stats/getAppMapStats")
ResultVo getAppMapStats(@RequestBody Map<String, Object> paramsMap);
}
......@@ -131,4 +131,12 @@ public interface IApiLogic extends IApiCommon {
* @return
*/
ApiResp getAreaUnderSoorganStatsList(ApiForm form);
/**
* 获取App首页地图数据
*
* @param form
* @return
*/
ApiResp getAppMapStats(ApiForm form);
}
......@@ -91,4 +91,9 @@ public class ApiV100Logic extends BaseApiLogic implements IApiLogic {
public ApiResp getAreaUnderSoorganStatsList(ApiForm form) {
return ApiUtils.toApiResp(form, portalFeign.getAreaUnderSoorganStatsList(form.getParamsMap()));
}
@Override
public ApiResp getAppMapStats(ApiForm form) {
return ApiUtils.toApiResp(form, portalFeign.getAppMapStats(form.getParamsMap()));
}
}
......@@ -33,7 +33,7 @@ public class Swagger implements WebMvcConfigurer {
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("admin")
.enable(!"product".equals(profile)) //生产环境关闭
// .enable(!"product".equals(profile)) //生产环境关闭
.select()
.apis(RequestHandlerSelectors.basePackage("com.zq.portal.controller.admin"))
.paths(PathSelectors.any())
......
package com.zq.portal.controller.admin;
import com.zq.common.entity.VBzCremationStats;
import com.zq.common.utils.AssertUtils;
import com.zq.common.vo.ResultVo;
import com.zq.portal.service.BzStatsService;
import com.zq.portal.service.CjStatsService;
import com.zq.portal.vo.StatsReqVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -14,8 +11,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author Administrater
*/
......@@ -41,7 +36,7 @@ public class BzStatsAdminController {
@ApiOperation("获取区域火化率占比")
@PostMapping(value = "/getCremationRateStats")
public ResultVo<Object> getCremationRateStats(@RequestBody StatsReqVo vo){
public ResultVo<Object> getCremationRateStats(@RequestBody StatsReqVo vo) {
return ResultVo.success(bzStatsService.getCacheCremationRateStats(vo));
}
}
......@@ -19,7 +19,8 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@RequestMapping("/portal/admin/stats/")
public class StatsAdminController {
public class XkStatsAdminController {
private final StatsServerFeignClient statsFegin;
private final PeopleService peopleService;
private final PortalCacheManager cacheManager;
......
package com.zq.portal.controller.app;
import com.zq.common.context.ContextUtils;
import com.zq.common.vo.ResultVo;
import com.zq.portal.service.AreaService;
import io.swagger.annotations.Api;
......
package com.zq.portal.controller.app;
import com.zq.common.vo.ResultVo;
import com.zq.portal.service.StatsService;
import com.zq.portal.vo.StatsReqVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "汇总统计相关接口")
@RequiredArgsConstructor
@RestController
@RequestMapping(value = "/portal/app/stats")
public class StatsController {
private final StatsService statsService;
@ApiOperation("首页地址")
@PostMapping(value = "/getAppMapStats")
public ResultVo getAppMapStats(@RequestBody StatsReqVo vo) {
return ResultVo.success(statsService.getCacheAppMapStats(vo));
}
}
......@@ -59,5 +59,5 @@ public interface HyStatsDao {
* @param keyword
* @return
*/
Map<String, Object> search(@Param("keyword") String keyword);
List<Map<String, Object>> search(@Param("keyword") String keyword);
}
......@@ -28,4 +28,12 @@ public interface ShzzStatsDao {
*/
List<StatsVo> getSoorganTypeStats(StatsReqVo vo);
/**
* 获取近三年的组织
*
* @param vo
* @return
*/
List<StatsVo> getSoorganThreeYearStats(StatsReqVo vo);
}
......@@ -95,4 +95,9 @@ public abstract class PortalCacheKeys {
public static String getCremationStatsKey(StatsReqVo vo) {
return PREFIX + "getCremationStats." + vo.getAreaCode() + "." + vo.getYear();
}
// 获取App首页地图
public static String getAppMapStatsKey(StatsReqVo vo) {
return PREFIX + "getAppMapStats." + vo.getAreaCode();
}
}
......@@ -50,6 +50,7 @@ public class EtStatsService {
}
SystemArea systemArea = areaDao.selectById(vo.getAreaCode());
vo.setSubAreaCode(systemArea.subAreaCode());
vo.setSize(vo.getSubAreaCode().length());
VChildWelfareStats build = VChildWelfareStats.builder()
.areaCode(systemArea.getCode())
......@@ -64,12 +65,11 @@ public class EtStatsService {
build.setAdoptChildNum(childStats.getNum());
// StatsVo Orphan = etStatsDao.getAreaOrphanStats(vo);
// build.setOrphanNum(Orphan.getNum());
StatsVo factUnadoptedStats = etStatsDao.getAreaFactUnadoptedStats(vo);
build.setFactUnadoptedNum(factUnadoptedStats.getNum());
// StatsVo factUnadoptedStats = etStatsDao.getAreaFactUnadoptedStats(vo);
// build.setFactUnadoptedNum(factUnadoptedStats.getNum());
redisUtils.setObj(PortalCacheKeys.getAgencyChildStatsKey(vo), build);
// 放进数据库 有时间条件的不存库
VChildWelfareStats childWelfareStats = vChildWelfareStatsDao.selectOne(Wrappers.lambdaQuery(VChildWelfareStats.builder().year(vo.getYear() == null ? 0 : vo.getYear()).areaCode(systemArea.getCode()).createTime(DateUtil.parseDate(DateUtil.today())).build()));
if (childWelfareStats == null) {
vChildWelfareStatsDao.insert(build);
......
package com.zq.portal.service;
import com.zq.common.config.redis.RedisUtils;
import com.zq.common.entity.SystemArea;
import com.zq.portal.dao.AreaDao;
import com.zq.portal.dao.HyStatsDao;
import com.zq.portal.dao.ShzzStatsDao;
import com.zq.portal.manager.PortalCacheKeys;
import com.zq.portal.vo.StatsReqVo;
import com.zq.portal.vo.StatsVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.*;
@Service
@RequiredArgsConstructor
public class StatsService {
private final HyStatsDao hyStatsDao;
private final ShzzStatsDao shzzStatsDao;
private final AreaDao areaDao;
private final RedisUtils redisUtils;
/**
* 获取App首页地图
*
* @param vo
* @return
*/
public Object getCacheAppMapStats(StatsReqVo vo) {
Object obj = redisUtils.getObj(PortalCacheKeys.getAppMapStatsKey(vo));
if (obj != null) {
return obj;
}
return getAppMapStats(vo);
}
/**
* 获取App首页地图
*
* @param vo
* @return
*/
public Object getAppMapStats(StatsReqVo vo) {
SystemArea systemArea = areaDao.selectById(vo.getAreaCode());
vo.setSubAreaCode(systemArea.subAreaCode());
List<Map<String, Object>> returnData = new ArrayList<>();
// 婚姻
vo.setType("IA");
List<StatsVo> fivesYearMarriageLine = hyStatsDao.getFivesYearMarriageLine(vo);
Collections.reverse(fivesYearMarriageLine);
Map<String, Object> hy = new HashMap<>();
hy.put("type", "婚姻");
vo.setType(null);// 用完设置为null不影响后台的统计
addStatsData(returnData, fivesYearMarriageLine, hy);
// 社会组织
List<StatsVo> soorganThreeYearStats = shzzStatsDao.getSoorganThreeYearStats(vo);
Collections.reverse(soorganThreeYearStats);
Map<String, Object> shzz = new HashMap<>();
shzz.put("type", "社会组织");
addStatsData(returnData, soorganThreeYearStats, shzz);
redisUtils.setObj(PortalCacheKeys.getAppMapStatsKey(vo), returnData);
return returnData;
}
// 构造一个统计对象
private void addStatsData(List<Map<String, Object>> returnData, List<StatsVo> statsList, Map<String, Object> mapObj) {
for (int i = 0; i < statsList.size(); i++) {
StatsVo statsVo = statsList.get(i);
if (i == 0) {
mapObj.put("A", statsVo.getNum());
} else if (i == 1) {
mapObj.put("B", statsVo.getNum());
} else if (i == 2) {
mapObj.put("C", statsVo.getNum());
}
}
returnData.add(mapObj);
}
}
......@@ -32,4 +32,19 @@
GROUP BY s.orgType
</select>
<select id="getSoorganThreeYearStats" resultType="com.zq.portal.vo.StatsVo">
SELECT
COUNT(1) 'num',
DATE_FORMAT(s.issueTime, "%Y") 'year'
FROM
soorgan s LEFT JOIN pfdept P ON s.DEPTID = p.DEPTID
WHERE 1=1
<if test="subAreaCode != null and subAreaCode != ''">
AND p.DEPTCODE LIKE CONCAT(#{subAreaCode},'%')
</if>
GROUP BY DATE_FORMAT(s.REGTIME, "%Y")
ORDER BY DATE_FORMAT(s.REGTIME, "%Y") DESC
LIMIT 3
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment