Commit 463b4ac8 authored by maliang's avatar maliang

上传bug修复

parent bbc24883
package com.boot.security.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.boot.security.server.page.table.PageTableRequest;
import com.boot.security.server.service.CopyrightBookService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/copyrightBookController")
public class CopyrightBookController {
@Autowired
CopyrightBookService copyrightBookService;
@PostMapping("/settlementMonth")
@ApiOperation(value = "获取月结算数据")
@ResponseBody
public String getSettlementMonthData(@RequestBody PageTableRequest request) {
return copyrightBookService.selectSettlement(request.getBaseSettlement(),request.getPage(),request.getLimit());
}
@PostMapping("/getAllCopyright")
@ApiOperation(value = "获取月结算数据")
@ResponseBody
public String getAllCopyright(@RequestBody PageTableRequest request){
return copyrightBookService.getAllCopyright();
}
}
......@@ -9,7 +9,9 @@ import java.util.List;
@Mapper
public interface CopyrightDao {
List<BaseSettlement> selectTableListMonth(@Param("copyrightIdList") List<BaseSettlement> copyrightIdList);
List<BaseSettlement> selectTableListMonth(@Param("copyrightId") BaseSettlement copyrightId,@Param("page") Integer page,@Param("limit")Integer limit);
Integer selectTableListMonthCount(@Param("copyrightId") BaseSettlement copyrightId);
List<BaseSettlement> selectCopyrightAll();
......
......@@ -2,68 +2,37 @@ package com.boot.security.server.model;
public class BaseSettlement {
private String report_date;
private String copyright_id; //
private String copyright_name; //
private String copyright_start_date; //
private String copyright_end_date; //
private String fencheng_ratio; //
private String kouliang_ratio; //
private String batch_id; //
private String batch_name; //
private String book_id; //
private String book_name; //
private String authors; //
private String total_amount; //
private String jiesuan_amount; //
private String kouliang_amount; //
private String all_consume; //
private String total_ad_amount; //
private String jiesuan_ad_amount; //
private String kouliang_ad_amount; //
private Integer status;
private String status_name;
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getStatus_name() {
return status_name;
}
public void setStatus_name(String status_name) {
this.status_name = status_name;
}
public String getReport_date() {
return report_date;
}
public void setReport_date(String report_date) {
this.report_date = report_date;
}
public String getCopyright_id() {
return copyright_id;
}
public void setCopyright_id(String copyright_id) {
this.copyright_id = copyright_id;
}
public String getCopyright_name() {
return copyright_name;
}
public void setCopyright_name(String copyright_name) {
this.copyright_name = copyright_name;
public class BaseSettlement extends BaseEntity<Long>{
public String reportDate;
public Integer copyrightId;
public String copyrightName;
public String copyright_start_date;
public String copyright_end_date;
public String fencheng_ratio;
public String kouliang_ratio;
public String batch_id;
public String batch_name;
public String book_id;
public String book_name;
public String authors;
public Double totalAmount;
public String jiesuan_amount;
public String kouliang_amount;
public String all_consume;
public Double totalAdvertAmount;
public String jiesuan_ad_amount;
public String kouliang_ad_amount;
public Integer jiesuanStatus;
public String jiesuanStatusName;
public String getReportDate() {
return reportDate;
}
public void setReportDate(String reportDate) {
this.reportDate = reportDate;
}
public String getCopyright_start_date() {
......@@ -138,13 +107,6 @@ public class BaseSettlement {
this.authors = authors;
}
public String getTotal_amount() {
return total_amount;
}
public void setTotal_amount(String total_amount) {
this.total_amount = total_amount;
}
public String getJiesuan_amount() {
return jiesuan_amount;
......@@ -170,13 +132,6 @@ public class BaseSettlement {
this.all_consume = all_consume;
}
public String getTotal_ad_amount() {
return total_ad_amount;
}
public void setTotal_ad_amount(String total_ad_amount) {
this.total_ad_amount = total_ad_amount;
}
public String getJiesuan_ad_amount() {
return jiesuan_ad_amount;
......@@ -193,4 +148,52 @@ public class BaseSettlement {
public void setKouliang_ad_amount(String kouliang_ad_amount) {
this.kouliang_ad_amount = kouliang_ad_amount;
}
public Integer getCopyrightId() {
return copyrightId;
}
public void setCopyrightId(Integer copyrightId) {
this.copyrightId = copyrightId;
}
public String getCopyrightName() {
return copyrightName;
}
public void setCopyrightName(String copyrightName) {
this.copyrightName = copyrightName;
}
public Double getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(Double totalAmount) {
this.totalAmount = totalAmount;
}
public Double getTotalAdvertAmount() {
return totalAdvertAmount;
}
public void setTotalAdvertAmount(Double totalAdvertAmount) {
this.totalAdvertAmount = totalAdvertAmount;
}
public Integer getJiesuanStatus() {
return jiesuanStatus;
}
public void setJiesuanStatus(Integer jiesuanStatus) {
this.jiesuanStatus = jiesuanStatus;
}
public String getJiesuanStatusName() {
return jiesuanStatusName;
}
public void setJiesuanStatusName(String jiesuanStatusName) {
this.jiesuanStatusName = jiesuanStatusName;
}
}
package com.boot.security.server.page.table;
import com.boot.security.server.model.AdvertiserData;
import com.boot.security.server.model.BaseSettlement;
import java.io.Serializable;
import java.util.Map;
......@@ -22,8 +23,26 @@ public class PageTableRequest implements Serializable {
private String startTime;
private String endTime;
private Integer advertiserId;
private Integer CopyrightId;
private String advertId;
private AdvertiserData advertiserData;
private BaseSettlement baseSettlement;
public Integer getCopyrightId() {
return CopyrightId;
}
public void setCopyrightId(Integer copyrightId) {
CopyrightId = copyrightId;
}
public BaseSettlement getBaseSettlement() {
return baseSettlement;
}
public void setBaseSettlement(BaseSettlement baseSettlement) {
this.baseSettlement = baseSettlement;
}
public AdvertiserData getAdvertiserData() {
return advertiserData;
......
package com.boot.security.server.service;
import com.boot.security.server.model.BaseSettlement;
public interface CopyrightBookService {
String selectSettlement(BaseSettlement copyrightId,Integer page,Integer limit);
String getAllCopyright();
}
package com.boot.security.server.service.impl;
public class CopyrightBookServiceImpl {
import com.alibaba.fastjson.JSONObject;
import com.boot.security.server.dao.CopyrightDao;
import com.boot.security.server.model.BaseSettlement;
import com.boot.security.server.page.table.PageTableHandler;
import com.boot.security.server.service.CopyrightBookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CopyrightBookServiceImpl implements CopyrightBookService {
@Autowired
CopyrightDao copyrightDao;
@Override
public String selectSettlement(BaseSettlement copyrightId,Integer page,Integer limit) {
List<BaseSettlement> baseSettlements = copyrightDao.selectTableListMonth(copyrightId,page-1,limit);
Integer count = copyrightDao.selectTableListMonthCount(copyrightId);
return PageTableHandler.getJSONObject(baseSettlements,count);
}
@Override
public String getAllCopyright() {
List<BaseSettlement> baseSettlements = copyrightDao.selectCopyrightAll();
JSONObject jsonObject = new JSONObject();
jsonObject.put("data",baseSettlements);
return jsonObject.toJSONString();
}
}
......@@ -3,27 +3,38 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.boot.security.server.dao.CopyrightDao">
<select id="selectTableListMonth" resultType="com.boot.security.server.model.BaseSettlement" parameterType="java.util.List">
<select id="selectTableListMonth" resultType="com.boot.security.server.model.BaseSettlement" parameterType="com.boot.security.server.model.BaseSettlement">
SELECT
a.report_date AS reportDate,a.copyright_id as copyrightId,a.copyright_name as copyrightName,
a.total_amount as totalAmount,IFNULL(b.total_ad_amount,0) totalAdvertAmount,jiesuan_status_name jiesuanStatusName,jiesuan_status jiesuanStatus
FROM bi_report.report_book_settlement_month a
LEFT JOIN bi_report.report_book_advert_month b
ON a.report_date=b.report_date AND a.batch_id=b.batch_id AND a.batch_name=b.batch_name
<if test="copyrightId != null">
WHERE
a.copyright_id =#{copyrightId.copyright_id}
</if>
ORDER BY a.total_amount DESC
limit #{page},#{limit};
</select>
<select id="selectTableListMonthCount" resultType="Integer" parameterType="com.boot.security.server.model.BaseSettlement">
SELECT
a.report_date AS report_date,a.copyright_id,a.copyright_name,
a.total_amount,IFNULL(b.total_ad_amount,0) total_ad_amount,jiesuan_status_name,jiesuan_status
FROM report_book_settlement_month a
LEFT JOIN report_book_advert_month b
count(*)
FROM bi_report.report_book_settlement_month a
LEFT JOIN bi_report.report_book_advert_month b
ON a.report_date=b.report_date AND a.batch_id=b.batch_id AND a.batch_name=b.batch_name
<if test="copyrightIdList != null and copyrightIdList.size>0">
<if test="copyrightId != null">
WHERE
a.copyright_id in
<foreach collection="copyrightIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
a.copyright_id =#{copyrightId.copyright_id}
</if>
ORDER BY a.total_amount DESC ;
</select>
<select id="selectCopyrightAll" resultType="com.boot.security.server.model.BaseSettlement" >
SELECT a.copyright_id,a.copyright_name
FROM book_banquanweihu group by copyright_id,copyright_name;
SELECT a.copyright_id as copyrightId,a.copyright_name as copyrightName
FROM bi_report.book_banquanweihu group by copyright_id,copyright_name;
</select>
<select id="selectBookDetail" resultType="com.boot.security.server.model.BaseSettlement" parameterType="java.util.List">
......
......@@ -12,38 +12,18 @@
<div class="layui-form">
<div class="layui-row">
<div style="width: 160px">
<select name="" style="" id="advertiser" lay-filter="copyright">
<div style="width: 160px" class="layui-col-md3">
<select id="copyrightId" lay-filter="copyright">
</select>
</div>
<div class="layui-col-md3">
<span>未结算金额:</span>
</div>
</div>
<div class="layui-row">
<table class="layui-table">
<tr><td style="font-size:16px;font-weight:bold">投放概要</td></tr>
<tr>
<td>
<table class="layui-table">
<thead>
<tr>
<th>日期</th>
<th>销售金额</th>
<th>销售结算</th>
<th>广告金额</th>
<th>广告结算</th>
<th>总结算金额</th>
<th>结算状态</th>
<th>操作</th>
</tr>
</thead>
<tbody name="advertiserTable" id="schema">
</tbody>
</table>
</td>
</tr>
<table class="layui-table" id="copyrightMonth_table">
</table>
</div>
</div>
</div>
</body>
......@@ -55,309 +35,76 @@
<script type="text/javascript" src="../../js/my/permission.js"></script>
<script src="../../js/libs/jquery.treetable.js"></script>
<script type="text/javascript" src="../../js/echarts.min.js"></script>
<script type="text/html" id="operation">
<button type="button" class="layui-btn">
<i class="layui-icon">&#xe642;</i> 编
</button>
</script>
<script>
var startTime;
var endTime;
var advertiserId;
var advertId;
var day = new Date();
startTime = day.format("yyyy-MM-dd");
endTime=day.format("yyyy-MM-dd");
var advertiser=$("#advertiser");
var advert=$("#advertId");
var table=$("#schema");
var dataTime;
var click;
var exposure;
advertiserId=$("#advertiser").val();
advertId=$("#advertId").val();
function init(){
var list={advertiserId:advertiserId,advertId:advertId,startTime:startTime,endTime:endTime};
$.ajax({
//请求方式
type : "post",
//请求的媒体类型
contentType: "application/json;charset=UTF-8",
//请求地址
url : "/advertiserController/advertiserData",
async:false,
//数据,json字符串
data : JSON.stringify(list),
//请求成功
success : function(result) {
var jsonObj = JSON.parse(result);
setOption(jsonObj.advertiser,jsonObj.advert);
setTable(jsonObj.schema);
dataTime=jsonObj.dataTime;
exposure=jsonObj.exposure;
click=jsonObj.click;
}
var copyrightId=$("#copyrightId");
var copyrightId;
var form;
copyrightId=$("#copyrightId").val();
var table;
layui.use('table', function() {
table = layui.table;
table.render({
elem: '#copyrightMonth_table'
,method:'post'
,contentType:'application/json'
,url: '/copyrightBookController/settlementMonth'
,page: true
,cols: [[
{field: 'reportDate', title: '日期', sort: true,fixed:'left'}
,{field: 'copyrightId', title: '版权费id', hide: true}
,{field: 'copyrightName', title: '版权方名称'}
,{field: 'totalAmount', title: '销售金额'}
,{field: 'totalAdvertAmount', title: '广告金额'}
,{field: 'jiesuanStatusName', title: '结算状态'}
,{title: '操作', templet: '#operation'}
]] //设置表头
});
});
}
function setOption(advertiserData,advertData){
for(j = 0,len=advertiserData.length; j < len; j++) {
advertiser.append("<option value="+advertiserData[j].advertiserId+">"+advertiserData[j].advertiserName+"</option>");
}
for(j = 0,len=advertData.length; j < len; j++) {
advert.append("<option value="+advertData[j].codeId+">"+advertData[j].codeId+"</option>");
}
}
function setOptionRm(advertData){
advert.empty();
advert.append("<option value="+"all"+">全部</option>");
for(j = 0,len=advertData.length; j < len; j++) {
advert.append("<option value="+advertData[j].codeId+">"+advertData[j].codeId+"</option>");
}
}
function setTable(data) {
table.append("<tr><td>"+data.balance+"</td><td>"+data.income+"</td><td>"+data.exposure+"</td><td>"+data.click+"</td><td>"+data.incomeSeven+"</td><td>"+data.incomeThirty+"</td></tr>");
}
function setTableRm(data) {
table.empty();
table.append("<tr><td>"+data.balance+"</td><td>"+data.income+"</td><td>"+data.exposure+"</td><td>"+data.click+"</td><td>"+data.incomeSeven+"</td><td>"+data.incomeThirty+"</td></tr>");
}
layui.use('laydate', function(){
var laydate = layui.laydate;
laydate.render({
elem: '#date1'
,range: true
,value:startTime+' - '+endTime
,done: function(value, date, endDate) {
var sday=date.date;
var smonth=date.month;
var eday=endDate.date;
var emonth=endDate.month;
var snumberd = parseInt(sday);
var snumberm = parseInt(smonth);
var enumberd = parseInt(eday);
var enumberm = parseInt(emonth);
if(snumberd<10){
sday='0'+sday;
layui.use('form', function() {
form = layui.form;
form.on('select(copyright)', function(data){
copyrightId=data.value;
var BaseSettlement={copyrightId:copyrightId};
}
if(snumberm<10){
smonth='0'+smonth
}
if(enumberd<10){
eday='0'+eday;
}
if(enumberm<10){
emonth='0'+emonth
}
startTime=date.year+'-'+smonth+'-'+sday;
endTime=endDate.year+'-'+emonth+'-'+eday;
advertiserId=$("#advertiser").val();
advertId=$("#advertId").val();
var list={advertiserId:advertiserId,advertId:advertId,startTime:startTime,endTime:endTime};
$.ajax({
//请求方式
type : "post",
//请求的媒体类型
contentType: "application/json;charset=UTF-8",
//请求地址
url : "/advertiserController/advertiserData",
async:false,
//数据,json字符串
data : JSON.stringify(list),
//请求成功
success : function(result) {
var jsonObj = JSON.parse(result);
setOptionRm(jsonObj.advert);
setTableRm(jsonObj.schema);
dataTime=jsonObj.dataTime;
exposure=jsonObj.exposure;
click=jsonObj.click;
option.xAxis.data=dataTime;
option.series[0].data=exposure;
option.series[1].data=click;
myChart.setOption(option,true);
}
});
}
});
});
layui.use('form', function(){
var form = layui.form;
form.on('select(advertiser)', function(data){
advertiserId=data.value;
advertId=$("#advertId").val();
var list={advertiserId:advertiserId,advertId:advertId,startTime:startTime,endTime:endTime};
function init(){
var list={copyrightId:copyrightId};
$.ajax({
//请求方式
type : "post",
//请求的媒体类型
contentType: "application/json;charset=UTF-8",
//请求地址
url : "/advertiserController/advertiserData",
url : "/copyrightBookController/getAllCopyright",
async:false,
//数据,json字符串
data : JSON.stringify(list),
//请求成功
success : function(result) {
console.log(result);
var jsonObj = JSON.parse(result);
setOptionRm(jsonObj.advert);
setTableRm(jsonObj.schema);
dataTime=jsonObj.dataTime;
exposure=jsonObj.exposure;
click=jsonObj.click;
option.xAxis.data=dataTime;
option.series[0].data=exposure;
option.series[1].data=click;
myChart.setOption(option,true);
form.render('select');
setOption(jsonObj.data);
}
});
});
form.on('select(advert)', function(data){
advertId=data.value;
advertiserId=$("#advertiser").val();
var list={advertiserId:advertiserId,advertId:advertId,startTime:startTime,endTime:endTime};
$.ajax({
//请求方式
type : "post",
//请求的媒体类型
contentType: "application/json;charset=UTF-8",
//请求地址
url : "/advertiserController/advertiserData",
async:false,
//数据,json字符串
data : JSON.stringify(list),
//请求成功
success : function(result) {
var jsonObj = JSON.parse(result);
setOptionRm(jsonObj.advert);
setTableRm(jsonObj.schema);
dataTime=jsonObj.dataTime;
exposure=jsonObj.exposure;
click=jsonObj.click;
option.xAxis.data=dataTime;
option.series[0].data=exposure;
option.series[1].data=click;
myChart.setOption(option,true);
}
});
});
});
init();
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '广告数据'
},
tooltip: {
trigger: 'axis' // axis item none三个值
},
legend: {
type:'scroll',
bottom:'0%',
data:['曝光','点击']
},
xAxis: {
type: 'category',
name: '时间',
// data: ["2020-04-16","2020-04-17","2020-04-18","2020-04-19","2020-04-20","2020-04-21","2020-04-22","2020-04-23"]
data:dataTime
},
yAxis: {name: '曝光/点击量'},
series: [{
name: '曝光',
type: 'line',
smooth: true , //true 为平滑曲线
itemStyle: {
// 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比,如果 globalCoord 为 `true`,则该四个值是绝对的像素位置
color: {
type: 'linear',
x: 0,
y: 0.4,
x2: 0.7,
y2: 1,
colorStops: [{
offset: 0, color: 'rgb(198,226,255)' // 0% 处的颜色
}, {
offset: 1, color: 'rgb(58,95,205)' // 100% 处的颜色
},{
offset: 0.4, color: 'rgb(67,110,238)' // 40% 处的颜色
}],
global: false // 缺省为 false
}
},//线条样式
areaStyle:{
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0, color: 'rgb(67,110,238,0.7)'// 0% 处的颜色
}, {
offset: 1, color: 'rgb(198,226,255,0.4)' // 100% 处的颜色
}],
global: false // 缺省为 false
}
},
// data: [551, 2002, 3651, 1007, 1989, 2014,2789,455]
data: exposure
},{
name: '点击',
type: 'line',
smooth: true , //true 为平滑曲线
itemStyle: {
// 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比,如果 globalCoord 为 `true`,则该四个值是绝对的像素位置
color: {
type: 'linear',
x: 0,
y: 0.4,
x2: 0.7,
y2: 1,
colorStops: [{
offset: 0, color: 'rgb(255,99,71)' // 0% 处的颜色
}, {
offset: 1, color: 'rgb(205,55,0)' // 100% 处的颜色
},{
offset: 0.4, color: 'rgb(255,69,0)' // 40% 处的颜色
}],
global: false // 缺省为 false
function setOption(data){
for(j = 0,len=data.length; j < len; j++) {
copyrightId.append("<option value="+data[j].copyrightId+">"+data[j].copyrightName+"</option>");
}
},//线条样式
areaStyle:{
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0, color: 'rgb(255,48,48,0.7)' // 0% 处的颜色
}, {
offset: 1, color: 'rgb(255,106,106,0.4)'// 100% 处的颜色
}],
global: false // 缺省为 false
}
},
// data: [402, 1001, 2347, 771, 1110, 1556,2554,277]
data: click
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
init();
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment