From 05372fd5f0eb8a0f5ed65e7691fe569dd3fbd9f0 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期六, 15 十月 2022 18:06:23 +0800 Subject: [PATCH] 1.修改bug 2.后台首页小程序统计 --- flower_city/src/main/resources/mapper/AutomessageSysUserRecordMapper.xml | 160 ++++++++++++++++++++++++++++++++ flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java | 2 flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java | 17 +++ flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java | 25 +++++ flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java | 2 flower_city/src/main/java/com/dg/core/db/gen/mapper/AutomessageSysUserRecordMapper.java | 27 +++++ flower_city/src/main/java/com/dg/core/db/manual/pojo/AppletUserCount.java | 22 ++++ flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java | 14 ++ 8 files changed, 266 insertions(+), 3 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java b/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java index d37a4ed..e00f2cc 100644 --- a/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java +++ b/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"); diff --git a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java index 09503a3..3e47c92 100644 --- a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java +++ b/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"); diff --git a/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java b/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java index 567c294..7ea028a 100644 --- a/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java +++ b/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); + } + + diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/AutomessageSysUserRecordMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/AutomessageSysUserRecordMapper.java index 16d1531..84075a6 100644 --- a/flower_city/src/main/java/com/dg/core/db/gen/mapper/AutomessageSysUserRecordMapper.java +++ b/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(); + } diff --git a/flower_city/src/main/java/com/dg/core/db/manual/pojo/AppletUserCount.java b/flower_city/src/main/java/com/dg/core/db/manual/pojo/AppletUserCount.java new file mode 100644 index 0000000..602dfb8 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/pojo/AppletUserCount.java @@ -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; +} diff --git a/flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java b/flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java index 4d6131a..b0b2119 100644 --- a/flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java +++ b/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); } diff --git a/flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java index 1df2211..40a4143 100644 --- a/flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java +++ b/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; + } + } diff --git a/flower_city/src/main/resources/mapper/AutomessageSysUserRecordMapper.xml b/flower_city/src/main/resources/mapper/AutomessageSysUserRecordMapper.xml index 28ad48b..f3f7756 100644 --- a/flower_city/src/main/resources/mapper/AutomessageSysUserRecordMapper.xml +++ b/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> -- Gitblit v1.7.1