yanghui
2022-11-04 981f8f5ef86a8dbf62fb1c57aaf5935dd280c513
#feat 西区运营后台首页统计
3个文件已修改
37 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/resources/mapper/UserDao.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -89,6 +89,9 @@
    DataKanbanDTO selectCommunityAddUserOrder(@Param("areaCode") String areaCode, @Param("date1") Date date1);
    List<UsersStatisticsDTO> selectDailyAdd(@Param("createAt") String createAt,  @Param("appId") String appId);
    List<UsersStatisticsDTO> selectActive(@Param("lastLoginTime") String lastLoginTime, @Param("appId") String appId);
    IndexDataVO indexDataCommunityBackstage(Long communityId);
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -2973,14 +2973,24 @@
        }
        // 获取最近二十天数据
        List<Date> serverndays = com.panzhihua.common.utlis.DateUtils.getOldDays();
        serverndays.forEach(date -> {
            // 查询社区活动数量
            DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(dataKanBansDto.getAppId(), date);
        List<Date> activeDate = getTwentyDays();
        String twentyDay = com.panzhihua.common.utlis.DateUtils.getTwentyDay();
        //获取最近活跃人数
        List<UsersStatisticsDTO> actives = userDao.selectActive(twentyDay, dataKanBansDto.getAppId());
        //获取最近注册人数
        List<UsersStatisticsDTO> dailyAdds = userDao.selectDailyAdd(twentyDay, dataKanBansDto.getAppId());
        Map<String, String> activeMap = actives.stream().collect(Collectors.toMap(UsersStatisticsDTO::getSpecificDate, UsersStatisticsDTO::getTotal));
        Map<String, String> dailyAddMap = dailyAdds.stream().collect(Collectors.toMap(UsersStatisticsDTO::getSpecificDate, UsersStatisticsDTO::getTotal));
        for (Date date : activeDate) {
            String dateStr = DateUtil.format(date, "yyyy-MM-dd");
            communityActiveUserX.add(DateFormatUtils.format(date, "MM-dd"));
            communityActiveUserY.add(dataKanbanDTO.getNum());
            communityActiveUserZ.add(dataKanbanDTO.getDayNum());
        });
            communityActiveUserY.add(dailyAddMap.containsKey(dateStr) ? Integer.parseInt(dailyAddMap.get(dateStr)) : 0);
            communityActiveUserZ.add(activeMap.containsKey(dateStr) ? Integer.parseInt(activeMap.get(dateStr)) : 0);
        }
        indexDataKanbanVO.setCommunityActiveUserX(communityActiveUserX);
        indexDataKanbanVO.setCommunityAddUserY(communityActiveUserY);
        indexDataKanbanVO.setCommunityActiveUserY(communityActiveUserZ);
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/resources/mapper/UserDao.xml
@@ -211,6 +211,16 @@
        and su.type = 1 and su.app_id = #{areaCode}
    </select>
    <select id="selectDailyAdd"  resultType="com.panzhihua.service_user.model.dtos.UsersStatisticsDTO">
        SELECT DATE_FORMAT( u.create_at, '%Y-%m-%d' ) as specificDate,count( u.user_id )  total FROM sys_user u
        LEFT JOIN com_act t1 ON u.community_id = t1.community_id  WHERE u.type = 1 AND u.app_id = #{appId}  AND u.create_at > #{createAt} GROUP BY specificDate;
    </select>
    <select id="selectActive"  resultType="com.panzhihua.service_user.model.dtos.UsersStatisticsDTO">
        SELECT DATE_FORMAT( u.last_login_time, '%Y-%m-%d' ) as specificDate,count( u.user_id )  total FROM sys_user u
        LEFT JOIN com_act t1 ON u.community_id = t1.community_id  WHERE u.type = 1 AND u.app_id = #{appId}  AND u.last_login_time > #{lastLoginTime} GROUP BY specificDate;
    </select>
    <update id="gridMemberEditStatus">
        update sys_user set status = #{gridMemberEditDTO.status} where user_id in
        <foreach item="item" collection="gridMemberEditDTO.ids" separator="," open="(" close=")" index="">