fengjin
2022-10-15 05372fd5f0eb8a0f5ed65e7691fe569dd3fbd9f0
1.修改bug 2.后台首页小程序统计
7个文件已修改
1个文件已添加
269 ■■■■■ 已修改文件
flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/gen/mapper/AutomessageSysUserRecordMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/manual/pojo/AppletUserCount.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/resources/mapper/AutomessageSysUserRecordMapper.xml 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java
@@ -190,7 +190,7 @@
            wxUtil.sendGuideRepairOrderComplete(submitUser.getOpenid(),accessToken,guideRepairOrderCompleteTemplateId,order);
            }
            else if (order.getSubmitType().equals(2)){
                smsUtil.sendSmsComplete(order.getSubmitUserPhone(),order.getMatterName());
                smsUtil.sendSmsComplete(order.getConsultUserPhone(),order.getMatterName());
            }
            //待评价
            order.setState("4");
flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
@@ -236,7 +236,7 @@
                wxUtil.sendGuideRepairOrderComplete(submitUser.getOpenid(),accessToken,guideRepairOrderCompleteTemplateId,order);
            }
            else if (order.getSubmitType().equals(2)){
                smsUtil.sendSmsComplete(order.getSubmitUserPhone(),order.getMatterName());
                smsUtil.sendSmsComplete(order.getConsultUserPhone(),order.getMatterName());
            }
            order.setState("4");
            entity.setState("9");
flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java
@@ -2,6 +2,7 @@
import com.dg.core.ResultData;
import com.dg.core.db.gen.entity.*;
import com.dg.core.db.manual.pojo.AppletUserCount;
import com.dg.core.service.*;
import com.dg.core.util.TableDataInfo;
import io.swagger.annotations.Api;
@@ -43,6 +44,9 @@
    @Autowired
    IAreaCodeService iAreaCodeService;
    @Autowired
    private ISysUserRecordService iSysUserRecordService;
    @ApiOperation("首页统计不同状态工单数")
@@ -358,6 +362,27 @@
    }
    /**
     * 小程序用户访问量统计1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问
     * @return
     */
    @ApiOperation(value = "导办工单按区域统计",response = AppletUserCount.class)
    @GetMapping("/selectUserRecordCount")
    public ResultData selectUserRecordCount(){
        return  iSysUserRecordService.selectUserRecordCount();
    }
    /**
     * 小程序用户访问量统计1.近15天 2.近30天 3.近一年
     * @return
     */
    @ApiOperation(value = "小程序用户访问量统计1.近15天 2.近30天 3.近一年",response = AppletUserCount.class)
    @GetMapping("/selectByDateType")
    public ResultData selectByDateType(@RequestParam("dateType") Integer dateType){
        return  iSysUserRecordService.selectByDateType(dateType);
    }
flower_city/src/main/java/com/dg/core/db/gen/mapper/AutomessageSysUserRecordMapper.java
@@ -2,6 +2,9 @@
import com.dg.core.db.gen.entity.AutomessageSysUserRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dg.core.db.manual.pojo.AppletUserCount;
import java.util.List;
/**
 * <p>
@@ -13,4 +16,28 @@
 */
public interface AutomessageSysUserRecordMapper extends BaseMapper<AutomessageSysUserRecord> {
    /**
     * 小程序用户访问量统计1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问
     * @return
     */
    List<AppletUserCount> selectUserRecordCount();
    /**
     * 小程序用户访问量统计近15天
     * @return
     */
    List<AppletUserCount> selectByDay();
    /**
     * 小程序用户访问量统计近30天
     * @return
     */
    List<AppletUserCount> selectByMonth();
    /**
     * 小程序用户访问量统计近一年
     * @return
     */
    List<AppletUserCount> selectByYear();
}
flower_city/src/main/java/com/dg/core/db/manual/pojo/AppletUserCount.java
New file
@@ -0,0 +1,22 @@
package com.dg.core.db.manual.pojo;
import com.dg.core.annotation.Authorization;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@ApiModel("小程序用户统计结果")
@Data
public class AppletUserCount {
    @ApiModelProperty("日期,可以是月也可以是日")
    private String date;
    @ApiModelProperty("访问量")
    private Long visits;
    @ApiModelProperty("类型1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问量")
    private Integer type;
}
flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java
@@ -3,6 +3,7 @@
import com.dg.core.ResultData;
import com.dg.core.db.gen.entity.SysUser;
public interface ISysUserRecordService {
    /**
@@ -11,4 +12,17 @@
     * @return 参数配置信息
     */
    ResultData add(SysUser sysUser);
    /**
     * 小程序用户访问量统计1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问
     * @return
     */
    ResultData selectUserRecordCount();
    /**
     * 小程序用户访问量统计1.近15天 2.近30天 3.近一年
     * @return
     */
    ResultData selectByDateType(Integer dateType);
}
flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dg.core.ResultData;
import com.dg.core.db.gen.entity.AutomessageSysUserRecord;
import com.dg.core.db.gen.entity.AutomessageTransactionEventInterview;
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.db.gen.mapper.AutomessageSysUserRecordMapper;
import com.dg.core.db.gen.mapper.SysUserMapper;
@@ -43,4 +42,20 @@
        return null;
    }
    @Override
    public ResultData selectUserRecordCount() {
        return ResultData.success(baseMapper.selectUserRecordCount());
    }
    @Override
    public ResultData selectByDateType(Integer dateType) {
        if (dateType.equals(1))
            return ResultData.success(baseMapper.selectByDay());
        if (dateType.equals(2))
            return ResultData.success(baseMapper.selectByMonth());
        if (dateType.equals(3))
            return ResultData.success(baseMapper.selectByYear());
        return null;
    }
}
flower_city/src/main/resources/mapper/AutomessageSysUserRecordMapper.xml
@@ -1,5 +1,165 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dg.core.db.gen.mapper.AutomessageSysUserRecordMapper">
    <resultMap type="com.dg.core.db.gen.entity.AutomessageSysUserRecord" id="AutomessageSysUserRecordResult">
        <id     property="id"      column="id"      />
        <id     property="userId"      column="user_id"      />
        <id     property="createTime"      column="create_time"      />
        <id     property="joinType"      column="join_type"      />
    </resultMap>
    <sql id="selectAgreement">
        select id,user_id,
               (select user_name from automessage_sys_user where user_id=a.user_id)userName,
               create_time,join_type FROM automessage_sys_user_record a
    </sql>
<!--    小程序用户访问量统计1.累计访问量2.本年访问量 3.本月访问量 4.今日访问量 5.昨日访问-->
    <select id="selectUserRecordCount"  resultType="com.dg.core.db.manual.pojo.AppletUserCount">
        select count(*)visits,1 type  from  automessage_sys_user_record UNION
        select count(*)visits,2 type  from  automessage_sys_user_record where year(create_time)=year(SYSDATE()) UNION
        select count(*)visits,3 type  from  automessage_sys_user_record where DATE_FORMAT(create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) ,'%Y%m' ) UNION
        select count(*)visits,4 type  from  automessage_sys_user_record where to_days(create_time) = to_days(now()) UNION
        select count(*)visits,5 type  from  automessage_sys_user_record where TO_DAYS( SYSDATE() ) - TO_DAYS(create_time) = 1
    </select>
    <select id="selectByDay" resultType="com.dg.core.db.manual.pojo.AppletUserCount">
        select d.date, IFNULL(T.score,0) visits from
            (
                SELECT CURDATE() AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 7 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 8 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 9 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 10 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 11 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 12 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 13 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 14 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 15 DAY) AS date
            )  d
                left join(
                select DATE_FORMAT(create_time,'%Y-%m-%d')create_time, COUNT(*) as score
                from automessage_sys_user_record
                group by DATE_FORMAT(create_time,'%Y-%m-%d')
            ) T on T.create_time = d.date
        GROUP BY d.date
    </select>
    <select id="selectByMonth" resultType="com.dg.core.db.manual.pojo.AppletUserCount">
        select d.date, IFNULL(T.score,0) visits from
            (
                SELECT CURDATE() AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 7 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 8 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 9 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 10 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 11 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 12 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 13 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 14 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 15 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 16 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 17 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 18 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 19 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 20 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 21 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 22 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 23 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 24 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 25 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 26 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 27 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 28 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 29 DAY) AS date
                UNION ALL
                SELECT DATE_SUB(CURDATE(), INTERVAL 30 DAY) AS date
            )  d
                left join(
                select DATE_FORMAT(create_time,'%Y-%m-%d')create_time, COUNT(*) as score
                from automessage_sys_user_record
                group by DATE_FORMAT(create_time,'%Y-%m-%d')
            ) T on T.create_time = d.date
        GROUP BY d.date
    </select>
    <select id="selectByYear" resultType="com.dg.core.db.manual.pojo.AppletUserCount">
        select d.date, IFNULL(T.score,0) visits from
            (
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 11 month),"%Y-%m") date  UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 10 month),"%Y-%m") date  UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 9 month),"%Y-%m") date  UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 8 month),"%Y-%m")  date UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 7 month),"%Y-%m") date  UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 6 month),"%Y-%m") date UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 5 month),"%Y-%m") date  UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 4 month),"%Y-%m") date  UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 3 month),"%Y-%m")  date UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 2 month),"%Y-%m") date  UNION
                SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 month),"%Y-%m") date UNION
                select DATE_FORMAT(NOW(),"%Y-%m") FROM DUAL
            )  d
                left join(
                select DATE_FORMAT(create_time,'%Y-%m')create_time, COUNT(*) as score
                from automessage_sys_user_record
                group by DATE_FORMAT(create_time,'%Y-%m')
            ) T on T.create_time = d.date
        GROUP BY d.date
    </select>
</mapper>