This commit is contained in:
高久奇 2021-12-24 18:11:51 +08:00
parent 78eb1b9d6c
commit 9efcd8c89e
8 changed files with 159 additions and 8 deletions

View File

@ -528,7 +528,7 @@ public class ContentController extends BaseController {
} }
/** /**
* 案例统计 * 案例统计(柱形图)
* @param type * @param type
* @return * @return
*/ */
@ -555,6 +555,25 @@ public class ContentController extends BaseController {
return Result.success(map); return Result.success(map);
} }
/**
* 案例统计(折线图)
* @return
*/
@GetMapping("/getCencusLine")
@ResponseBody
public Result getCencusLine(){
//获取今年的案例统计信息
List<Integer> list = service.getCencusLine();
//获取前年的案例统计信息
List<Integer> list2 = service.getCencusLineLastYear();
Map<String,Object> map = new HashMap<>();
map.put("list",list);
map.put("list2",list2);
return Result.success(map);
}
/** /**
* 标签索引反馈日志列表 * 标签索引反馈日志列表
* @param page * @param page

View File

@ -42,7 +42,7 @@ public class OssUploadController extends BaseController{
*/ */
@PostMapping("/uploadFile") @PostMapping("/uploadFile")
public Result fileUploadTest(@RequestParam(required=false, value="file")MultipartFile[] file, String caseType, String category){ public Result fileUploadTest(@RequestParam(required=false, value="file")MultipartFile[] file, String caseType, String category){
if(file==null || file.length == 0){ if(file==null || file.length < 1){
throw new ParameterException("请选择文件"); throw new ParameterException("请选择文件");
} }
/*if(StringUtils.isBlank(caseType)) { /*if(StringUtils.isBlank(caseType)) {

View File

@ -227,4 +227,16 @@ public interface ContentMapper extends MyMapper<Content> {
*/ */
List<Census> getCensus(Integer type); List<Census> getCensus(Integer type);
/**
* 获取今年的案例统计信息
* @return
*/
List<Integer> getCensusLine();
/**
* 获取前年的案例统计信息
* @return
*/
List<Integer> getCencusLineLastYear();
} }

View File

@ -1,5 +1,6 @@
package com.nbclass.activity.model; package com.nbclass.activity.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
@Data @Data

View File

@ -192,4 +192,18 @@ public interface ContentService {
void deleteRelease(Long contentId); void deleteRelease(Long contentId);
List<Census> getCensus(Integer type); List<Census> getCensus(Integer type);
/**
* 获取今年的案例统计信息
* @return
*/
List<Integer> getCencusLine();
/**
* 获取前年的案例统计信息
* @return
*/
List<Integer> getCencusLineLastYear();
} }

View File

@ -493,5 +493,15 @@ public class ContentServiceImpl implements ContentService {
return mapper.getCensus(type); return mapper.getCensus(type);
} }
@Override
public List<Integer> getCencusLine() {
return mapper.getCensusLine();
}
@Override
public List<Integer> getCencusLineLastYear() {
return mapper.getCencusLineLastYear();
}
} }

View File

@ -505,4 +505,83 @@
</if> </if>
</select> </select>
<select id="getCensusLine" resultType="java.lang.Integer">
select
/*v.month,*/
ifnull(b.count,0) count from (
SELECT DATE_FORMAT(CURDATE(), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 1 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 2 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 3 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 4 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 5 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 6 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 7 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 8 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 9 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 10 MONTH), '%Y-%m') AS `month`
UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 11 MONTH), '%Y-%m') AS `month`
ORDER BY month
) v
left join
(select
left(online_time,7) as 'month',count(*) as count
from content as a
where DATE_FORMAT(a.online_time,'%Y-%m')>
DATE_FORMAT(date_sub(curdate(), interval 12 month),'%Y-%m') and online_time is not null
GROUP BY month
)b
on v.month = b.month group by v.month,count
</select>
<select id="getCencusLineLastYear" resultType="java.lang.Integer">
SELECT
/*v.MONTH,*/
ifnull( b.count, 0 ) count
FROM
(
SELECT
DATE_FORMAT( date( date_add( now(), INTERVAL - 1 YEAR )), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 1 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 2 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 3 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 4 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 5 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 6 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 7 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 8 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 9 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 10 MONTH ), '%Y-%m' ) AS `month` UNION
SELECT
DATE_FORMAT(( date( date_add( now(), INTERVAL - 1 YEAR )) - INTERVAL 11 MONTH ), '%Y-%m' ) AS `month`
ORDER BY
MONTH
) v
LEFT JOIN (
SELECT LEFT
( online_time, 7 ) AS 'month',
count(*) AS count
FROM
content AS a
WHERE
DATE_FORMAT( date( date_add( a.online_time, INTERVAL - 1 YEAR )), '%Y-%m' ) &lt; DATE_FORMAT( date_sub( curdate(), INTERVAL 12 MONTH ), '%Y-%m' )
AND online_time IS NOT NULL
GROUP BY
MONTH
) b ON v.MONTH = b.MONTH
GROUP BY
v.MONTH,
count
</select>
</mapper> </mapper>

View File

@ -78,6 +78,14 @@
legend: { legend: {
data:['月案例上传统计表'] data:['月案例上传统计表']
}, },
toolbox: {
show: true,
feature: {
dataView: { readOnly: false },
restore: {},
saveAsImage: {}
}
},
xAxis: { xAxis: {
type: 'category', type: 'category',
data: ['信广龙广告-BD部', '信广龙广告-文案策划部', '信广龙广告-媒介部', '信广龙广告-活动部', '信广龙广告-客服项目部', '信广龙广告-创意视觉部', '信蜂互动',"信因视觉","上海知微-客服部", data: ['信广龙广告-BD部', '信广龙广告-文案策划部', '信广龙广告-媒介部', '信广龙广告-活动部', '信广龙广告-客服项目部', '信广龙广告-创意视觉部', '信蜂互动',"信因视觉","上海知微-客服部",
@ -168,6 +176,14 @@
legend: { legend: {
data:['年度案例上传统计表'] data:['年度案例上传统计表']
}, },
toolbox: {
show: true,
feature: {
dataView: { readOnly: false },
restore: {},
saveAsImage: {}
}
},
xAxis: { xAxis: {
type: 'category', type: 'category',
data: ['信广龙广告-BD部', '信广龙广告-文案策划部', '信广龙广告-媒介部', '信广龙广告-活动部', '信广龙广告-客服项目部', '信广龙广告-创意视觉部', '信蜂互动',"信因视觉","上海知微-客服部", data: ['信广龙广告-BD部', '信广龙广告-文案策划部', '信广龙广告-媒介部', '信广龙广告-活动部', '信广龙广告-客服项目部', '信广龙广告-创意视觉部', '信蜂互动',"信因视觉","上海知微-客服部",
@ -199,14 +215,14 @@
function getCensus5(){ function getCensus5(){
var count = []; var count = [];
//初始化下拉框 //初始化下拉框
$.getJSON("/cases/console/content/getCensus?type=1",function (data){ $.getJSON("/cases/console/content/getCencusLine",function (data){
console.log(data) console.log(data)
// 基于准备好的dom初始化echarts实例 // 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('main5')); var myChart = echarts.init(document.getElementById('main5'));
// 指定图表的配置项和数据 // 指定图表的配置项和数据
option = { option = {
title: { title: {
text: '每月案例上传总数环比趋势'+data.data.count text: '案例上传总数环比趋势'
}, },
tooltip: { tooltip: {
trigger: 'axis' trigger: 'axis'
@ -224,20 +240,20 @@
xAxis: { xAxis: {
type: 'category', type: 'category',
boundaryGap: false, boundaryGap: false,
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月','8月','9月','10月','11月','12月'],
axisLabel: { interval: 0, rotate: 30 } axisLabel: { interval: 0, rotate: 30 }
}, },
yAxis: { yAxis: {
type: 'value', type: 'value',
axisLabel: { axisLabel: {
formatter: '{value} °C' formatter: '{value}'
} }
}, },
series: [ series: [
{ {
name: '今年', name: '今年',
type: 'line', type: 'line',
data: [10, 11, 13, 11, 12, 12, 9], data: data.data.list,
markPoint: { markPoint: {
data: [ data: [
{ type: 'max', name: 'Max' }, { type: 'max', name: 'Max' },
@ -251,7 +267,7 @@
{ {
name: '去年', name: '去年',
type: 'line', type: 'line',
data: [1, -2, 2, 5, 3, 2, 0], data: data.data.list2,
markPoint: { markPoint: {
data: [{ name: '周最低', value: -2, xAxis: 1, yAxis: -1.5 }] data: [{ name: '周最低', value: -2, xAxis: 1, yAxis: -1.5 }]
}, },