huanghongfa
2021-10-15 678a4b763bdebb0def385e65dd4a936243c30601
运营后台首页模块开发
10个文件已修改
1个文件已添加
148 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/IndexApi.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/DataKanBansDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/IndexDataKanbanVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/UserApi.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dtos/DataKanbanDTO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/UserService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/resources/mapper/UserDao.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/IndexApi.java
@@ -2,9 +2,8 @@
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.panzhihua.common.model.dtos.DataKanBansDto;
import org.springframework.web.bind.annotation.*;
import com.panzhihua.common.model.vos.IndexDataKanbanVO;
import com.panzhihua.common.model.vos.R;
@@ -31,4 +30,10 @@
    public R dataKanban() {
        return userService.dataKanban();
    }
    @ApiOperation(value = "数据看板", response = IndexDataKanbanVO.class)
    @PostMapping("datakanbans")
    public R dataKanBans(@RequestBody DataKanBansDto dataKanBansDto) {
        return userService.dataKanBans(dataKanBansDto);
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/DataKanBansDto.java
New file
@@ -0,0 +1,25 @@
package com.panzhihua.common.model.dtos;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author lyq
 * 运营后台数据看板请求参数
 */
@Data
@ApiModel("运营后台数据看板请求参数")
public class DataKanBansDto {
    @ApiModelProperty("社区用户量统计类型(1.累计用户  2.本月新增)")
    private Integer type;
    /**
     * 社区用户量统计类型(1.累计用户  2.本月新增)
     */
    public interface type{
        int lj = 1;
        int by = 2;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/IndexDataKanbanVO.java
@@ -30,6 +30,8 @@
    private List<Integer> communityUserY;
    @ApiModelProperty("社区活跃度x轴")
    private List<String> communityActiveUserX;
    @ApiModelProperty("社区活跃度y轴")
    @ApiModelProperty("用户新增数量y轴")
    private List<Integer> communityAddUserY;
    @ApiModelProperty("日活跃用户数量y轴")
    private List<Integer> communityActiveUserY;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java
@@ -2,6 +2,7 @@
import java.util.List;
import com.panzhihua.common.model.dtos.DataKanBansDto;
import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
import org.springframework.cloud.openfeign.FeignClient;
@@ -1061,4 +1062,12 @@
     */
    @GetMapping("judgeCommunityTeam")
    void judgeCommunityTeam(@RequestParam("openid") String openid);
    /**
     * 数据看板升级版
     *
     * @return 运营后台数据看板升级版
     */
    @PostMapping("datakanbans")
    R dataKanBans(@RequestBody DataKanBansDto dataKanBansDto);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java
@@ -4,8 +4,10 @@
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
@@ -962,4 +964,18 @@
        String lastMonthEndTime = yyyyMMdd_format.format(lastMonthEndDateCal.getTime()) + " 23:59:59";
        return stringToDateStandard(lastMonthEndTime);
    }
    /**
     * 获取近20天日期
     * @return  近20天日期
     */
    public static List<Date> getOldDays() {
        List<Date> dates = new ArrayList<>();
        Date date = new Date();
        for (int i = 19; i >= 0; i--) {
            Date date1 = DateUtils.addDay(date, -i);
            dates.add(date1);
        }
        return dates;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/UserApi.java
@@ -4,6 +4,7 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.DataKanBansDto;
import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
import org.springframework.web.bind.annotation.*;
@@ -1201,4 +1202,9 @@
    public void judgeCommunityTeam(@RequestParam("openid") String openid) {
        userService.judgeCommunityTeam(openid);
    }
    @PostMapping("datakanbans")
    public R dataKanBans(@RequestBody DataKanBansDto dataKanBansDto) {
        return userService.dataKanBans(dataKanBansDto);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -71,9 +71,13 @@
    List<DataKanbanDTO> selectCommunityUserOrder();
    List<DataKanbanDTO> selectCommunityUserOrderMonth();
    DataKanbanDTO selectCommunityActiveUserOrder(Date date1);
    DataKanbanDTO selectCommunityAddUserOrder(Date date1);
    IndexDataVO indexDataCommunityBackstage(Long communityId);
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dtos/DataKanbanDTO.java
@@ -13,4 +13,5 @@
    private String name;
    private Integer num;
    private Integer dayNum;
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/UserService.java
@@ -2,6 +2,7 @@
import java.util.List;
import com.panzhihua.common.model.dtos.DataKanBansDto;
import com.panzhihua.common.model.dtos.PageDTO;
import com.panzhihua.common.model.dtos.community.ExportUserDTO;
import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
@@ -733,4 +734,6 @@
     * @param openid    用户微信唯一标识
     */
    void judgeCommunityTeam(String openid);
    R dataKanBans(DataKanBansDto dataKanBansDto);
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -15,6 +15,7 @@
import javax.annotation.Resource;
import cn.hutool.core.util.IdcardUtil;
import com.panzhihua.common.model.dtos.DataKanBansDto;
import com.panzhihua.service_user.dao.*;
import com.panzhihua.service_user.model.dos.*;
import org.apache.commons.lang.time.DateFormatUtils;
@@ -2675,4 +2676,44 @@
            }
        }
    }
    @Override
    public R dataKanBans(DataKanBansDto dataKanBansDto){
        IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban();
        List<String> communityUserX = new ArrayList<>();
        List<Integer> communityUserY = new ArrayList<>();
        List<String> communityActiveUserX = new ArrayList<>();
        List<Integer> communityActiveUserY = new ArrayList<>();
        List<Integer> communityActiveUserZ = new ArrayList<>();
        List<DataKanbanDTO> dataKanbanDTOS = null;
        if(dataKanBansDto.getType() != null && dataKanBansDto.getType().equals(DataKanBansDto.type.by)){
            dataKanbanDTOS = userDao.selectCommunityUserOrderMonth();
        }else{
            dataKanbanDTOS = userDao.selectCommunityUserOrder();
        }
        if (!ObjectUtils.isEmpty(dataKanbanDTOS)) {
            dataKanbanDTOS.forEach(dataKanbanDTO -> {
                communityUserX.add(dataKanbanDTO.getName());
                communityUserY.add(dataKanbanDTO.getNum());
            });
        }
        // 获取最近七天数据
        List<Date> serverndays = com.panzhihua.common.utlis.DateUtils.getOldDays();
        serverndays.forEach(date -> {
            // 查询社区活动数量
            DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(date);
            communityActiveUserX.add(DateFormatUtils.format(date, "MM-dd"));
            communityActiveUserY.add(dataKanbanDTO.getNum());
            communityActiveUserZ.add(dataKanbanDTO.getDayNum());
        });
        indexDataKanbanVO.setCommunityActiveUserX(communityActiveUserX);
        indexDataKanbanVO.setCommunityAddUserY(communityActiveUserY);
        indexDataKanbanVO.setCommunityActiveUserY(communityActiveUserZ);
        indexDataKanbanVO.setCommunityUserX(communityUserX);
        indexDataKanbanVO.setCommunityUserY(communityUserY);
        return R.ok(indexDataKanbanVO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/resources/mapper/UserDao.xml
@@ -130,10 +130,26 @@
        select t.* from (
        SELECT
        a.`name`,
        COUNT(u.user_id)num
        COUNT(u.user_id)num,
        (SELECT count( user_id ) FROM sys_user WHERE type = 1 and community_id = a.community_id
        AND last_login_time > DATE_FORMAT( date_sub( SYSDATE(), INTERVAL 0 DAY ), '%Y-%m-%d 00:00:00')) as dayNum
        FROM
        com_act a
        LEFT JOIN sys_user u ON a.community_id = u.community_id and u.type=1
        GROUP BY a.community_id)t ORDER BY t.num desc
    </select>
    <select id="selectCommunityUserOrderMonth" resultType="com.panzhihua.service_user.model.dtos.DataKanbanDTO">
        select t.* from (
        SELECT
        a.`name`,
        COUNT(u.user_id)num,
        (SELECT count( user_id ) FROM sys_user WHERE type = 1 and community_id = a.community_id
        AND last_login_time > DATE_FORMAT( date_sub( SYSDATE(), INTERVAL 0 DAY ), '%Y-%m-%d 00:00:00')) as dayNum
        FROM
        com_act a
        LEFT JOIN sys_user u ON a.community_id = u.community_id
        and u.type=1 and u.create_at <![CDATA[ >= ]]> DATE_SUB(DATE_FORMAT(CURDATE(),'%Y-%m-%d 00:00:00'),INTERVAL 0 DAY)
        GROUP BY a.community_id)t ORDER BY t.num desc
    </select>
@@ -182,6 +198,16 @@
            DATE_FORMAT( #{date1}, '%Y-%m-%d' )= DATE_FORMAT( a.create_at,'%Y-%m-%d')
    </select>
    <select id="selectCommunityAddUserOrder" resultType="com.panzhihua.service_user.model.dtos.DataKanbanDTO">
        select count(user_id) as num,
        (SELECT count( user_id ) FROM sys_user WHERE type = 1
        AND last_login_time <![CDATA[ >= ]]> DATE_FORMAT( #{date1}, '%Y-%m-%d 00:00:00')
        AND last_login_time <![CDATA[ <= ]]> DATE_FORMAT( #{date1}, '%Y-%m-%d 23:59:59')) as dayNum from sys_user as su
        where su.create_at <![CDATA[ >= ]]> DATE_SUB(DATE_FORMAT(#{date1},'%Y-%m-%d 00:00:00'),INTERVAL 0 DAY)
        and su.create_at <![CDATA[ <= ]]> DATE_SUB(DATE_FORMAT(#{date1},'%Y-%m-%d 23:59:59'),INTERVAL 0 DAY)
        and su.type = 1
    </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="">