Commit 6c7de3bd authored by maliang's avatar maliang

data

parent 8d7dfb45
......@@ -7,7 +7,6 @@ import com.boot.security.server.dao.AdvertDao;
import com.boot.security.server.model.AdvertiserData;
import com.boot.security.server.page.table.PageTableHandler;
import com.boot.security.server.page.table.PageTableRequest;
import com.boot.security.server.page.table.PageTableResponse;
import com.boot.security.server.service.AdvertiserService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -27,10 +26,10 @@ public class AdvertiserController {
@Autowired
private AdvertDao advertDao;
@GetMapping("/table")
@ApiOperation(value = "获取广告商数据")
@PostMapping("/table")
@ApiOperation(value = "获取广告商管理数据")
@ResponseBody
public String getAdvertiserData() {
public String getAdvertiserManagerData(@RequestBody PageTableRequest request) {
JSONObject jsonObject = new JSONObject();
JSONObject item = new JSONObject();
JSONArray array = new JSONArray();
......@@ -46,7 +45,9 @@ public class AdvertiserController {
jsonObject.put("msg","");
jsonObject.put("count",1);
jsonObject.put("data",array);
return jsonObject.toJSONString();
JSONObject advertiserManagerData = advertiserService.getAdvertiserManagerData(request);
System.out.println(advertiserManagerData.toJSONString());
return advertiserManagerData.toJSONString();
}
//返回根据日期返回所有广告汇总数据
@PreAuthorize("hasAuthority('advert:data:count')")
......@@ -65,11 +66,9 @@ public class AdvertiserController {
@ApiOperation(value = "获取广告主数据")
@ResponseBody
public String getAdvertiserData(@RequestBody PageTableRequest request) {
System.out.println(request.getAdvertiserId()+"....."+request.getAdvertId());
List<AdvertiserData> advertDataList = advertDao.getAdvertData(request.getStartTime(), request.getEndTime());
Integer count = advertDao.getAdvertDataCount(request.getStartTime(), request.getEndTime());
JSONObject advertiserData = advertiserService.getAdvertiserData(request);
System.out.println(advertiserData.toJSONString());
return PageTableHandler.getJSONObject(advertDataList,count);
return advertiserData.toJSONString();
}
}
......@@ -15,24 +15,29 @@ public interface AdvertDao {
@Select("select count(*) from advert_data_count t where report_date>= #{startTime} and report_date<=#{endTime}")
Integer getAdvertDataCount(@Param("startTime") String startTime, @Param("endTime") String endTime);
@Select("select advertiser_id advertiserId,advertiser_name advertiserName from advertiser_user_map t where user_id={#userId}")
@Select("select advertiser_id advertiserId,advertiser_name advertiserName from advertiser_user_map t where user_id=#{userId} and status=1")
List<AdvertiserData> getAdvertiserByUserId(@Param("userId") Long userId);
@Select("select code_id codeId from advert_list t where advertiser_id={#advertiserId}")
@Select("select code_id codeId from advert_list t where advertiser_id=#{advertiserId}")
List<AdvertiserData> getAdvertDataById(@Param("advertiserId") Integer advertiserId);
@Select("select *,advertiser_id advertiserId,advertiser_name,total_income totalIncome,income_seven incomeSeven,income_thirty incomeThirty,exposure_view exposureView,click_view clickView from advertiser_data_count t where advertiser_id={#advertiserId}")
@Select("select *,advertiser_id advertiserId,advertiser_name,total_income totalIncome,income_seven incomeSeven,income_thirty incomeThirty,exposure_view exposureView,click_view clickView from advertiser_data_count t where advertiser_id=#{advertiserId}")
AdvertiserData getAdvertiserDataById(@Param("advertiserId") Integer advertiserId);
@Select("select minutes,sum(exposure) exposure,sum(click) click from advertiser_data_minutes t where advertiser_id={#advertiserId} and report_date<={#day} and report_date<={#day} group by minutes")
@Select("select minutes,sum(exposure) exposure,sum(click) click from advertiser_data_minutes t where advertiser_id=#{advertiserId} and report_date<=#{day} and report_date<=#{day} group by minutes")
List<AdvertiserData> getAdvertExCl(@Param("advertiserId") Integer advertiserId,@Param("day") String day);
@Select("select minutes,sum(exposure) exposure,sum(click) click from advertiser_data_minutes t where advertiser_id={#advertiserId} and report_date<={#day} and report_date<={#day} and code_id={#codeId} group by minutes")
List<AdvertiserData> getAdvertExCl(@Param("advertiserId") Integer advertiserId,@Param("codeId") String codeId,@Param("day") String day);
@Select("select minutes,sum(exposure) exposure,sum(click) click from advertiser_data_minutes t where advertiser_id=#{advertiserId} and report_date<=#{day} and report_date<=#{day} and code_id=#{codeId} group by minutes")
List<AdvertiserData> getAdvertExCls(@Param("advertiserId") Integer advertiserId,@Param("codeId") String codeId,@Param("day") String day);
@Select("select report_date reportDate,sum(exposure) exposure,sum(click) click from advertiser_data_minutes t where advertiser_id={#advertiserId} and report_date>={#startTime} and report_date<={#endTime} and code_id={#codeId} group by report_date")
List<AdvertiserData> getAdvertExClDays(@Param("advertiserId") Integer advertiserId,@Param("startTime") String startTime,@Param("endTime") String endTime);
@Select("select report_date reportDate,sum(exposure) exposure,sum(click) click from advertiser_data_minutes t where advertiser_id=#{advertiserId} and report_date>=#{startTime} and report_date<=#{endTime} and code_id=#{codeId} group by report_date")
List<AdvertiserData> getAdvertExClDay(@Param("advertiserId") Integer advertiserId,@Param("startTime") String startTime,@Param("endTime") String endTime);
@Select("select report_date reportDate,sum(exposure) exposure,sum(click) click from advertiser_data_minutes t where advertiser_id={#advertiserId} and report_date>={#startTime} and report_date<={#endTime} and code_id={#codeId} group by report_date")
@Select("select report_date reportDate,sum(exposure) exposure,sum(click) click from advertiser_data_minutes t where advertiser_id=#{advertiserId} and report_date>=#{startTime} and report_date<=#{endTime} and code_id=#{codeId} group by report_date")
List<AdvertiserData> getAdvertExClDays(@Param("advertiserId") Integer advertiserId,@Param("codeId") String codeId,@Param("startTime") String startTime,@Param("endTime") String endTime);
@Select("SELECT a.advertiser_id advertiserId,advertiser_name advertiserName,total_income totalIncome,exposure_view exposureView,click_view clickView,income,balance FROM(SELECT advertiser_id FROM advertiser_user_map WHERE user_id=#{userId}) a LEFT JOIN advertiser_data_count b ON a.advertiser_id=b.advertiser_id")
List<AdvertiserData> getAdvertiserDataByUserId(@Param("userId") Long userId);
@Select("SELECT count(*) FROM(SELECT advertiser_id FROM advertiser_user_map WHERE user_id=#{userId}) a LEFT JOIN advertiser_data_count b ON a.advertiser_id=b.advertiser_id")
int getAdvertiserDataByUserIdCount(@Param("userId") Long userId);
}
......@@ -15,12 +15,21 @@ public class PageTableRequest implements Serializable {
private Integer offset;
private Integer limit;
private Integer page;
private Map<String, Object> params;
private String startTime;
private String endTime;
private Integer advertiserId;
private String advertId;
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public Integer getAdvertiserId() {
return advertiserId;
}
......
......@@ -10,4 +10,6 @@ public interface AdvertiserService {
*
*/
JSONObject getAdvertiserData(PageTableRequest request);
JSONObject getAdvertiserManagerData(PageTableRequest request);
}
......@@ -17,6 +17,7 @@ import java.util.stream.Collectors;
@Service
public class AdvertiserServiceImpl implements AdvertiserService {
@Autowired
private AdvertDao advertDao;
......@@ -31,9 +32,6 @@ public class AdvertiserServiceImpl implements AdvertiserService {
List<AdvertiserData> advert=new ArrayList<>();
AdvertiserData schema=new AdvertiserData();
JSONObject jsonObject = new JSONObject();
jsonObject.put("advertiser",advertiser);
jsonObject.put("advert",advert);
jsonObject.put("schema",schema);
LoginUser loginUser = UserUtil.getLoginUser();
if(startTime.equals(endTime)&&startTime.equals(today)){
......@@ -66,9 +64,9 @@ public class AdvertiserServiceImpl implements AdvertiserService {
schema=advertDao.getAdvertiserDataById(advertiserId);
List<AdvertiserData> advertExCl=null;
if(advertId.equals("all")){
advertExCl = advertDao.getAdvertExCl(advertiserId, advertId,startTime);
}else {
advertExCl = advertDao.getAdvertExCl(advertiserId,startTime);
}else {
advertExCl = advertDao.getAdvertExCls(advertiserId,advertId,startTime);
}
JSONObject mysqlChartInfo = getMysqlChartInfo(advertExCl);
jsonObject.put("dataTime",mysqlChartInfo.get("dataTime"));
......@@ -78,7 +76,7 @@ public class AdvertiserServiceImpl implements AdvertiserService {
}else {
if(advertId.equals("all")){
schema=advertDao.getAdvertiserDataById(advertiserId);
List<AdvertiserData> advertExClDays = advertDao.getAdvertExClDays(advertiserId, startTime, endTime);
List<AdvertiserData> advertExClDays = advertDao.getAdvertExClDay(advertiserId, startTime, endTime);
JSONObject mysqlChartInfo = getMysqlChartInfo(advertExClDays);
jsonObject.put("dataTime",mysqlChartInfo.get("dataTime"));
jsonObject.put("exposure",mysqlChartInfo.get("exposure"));
......@@ -92,8 +90,23 @@ public class AdvertiserServiceImpl implements AdvertiserService {
jsonObject.put("click",mysqlChartInfo.get("click"));
}
}
jsonObject.put("advertiser",advertiser);
jsonObject.put("advert",advert);
jsonObject.put("schema",schema);
return jsonObject;
}
@Override
public JSONObject getAdvertiserManagerData(PageTableRequest request) {
List<AdvertiserData> data = advertDao.getAdvertiserDataByUserId(UserUtil.getLoginUser().getId());
Integer count = advertDao.getAdvertiserDataByUserIdCount(UserUtil.getLoginUser().getId());
JSONObject jsonObject = new JSONObject();
jsonObject.put("data",data);
jsonObject.put("count",count);
jsonObject.put("code",0);
return jsonObject;
}
private JSONObject getRedisChartInfo(Integer advertiserId,String advertId){
JSONObject jsonObject = new JSONObject();
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
......@@ -135,12 +148,14 @@ public class AdvertiserServiceImpl implements AdvertiserService {
}
public static JSONObject sumByKey(Map<String, List<String>> map){
Object[] objects = map.keySet().toArray();
Arrays.sort(objects);
JSONObject jsonObject = new JSONObject();
List<String> dataTime=new ArrayList<>();
List<Integer> sum=new ArrayList<>();
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key=it.next().toString();
//Iterator it=map.keySet().iterator();
for(Object obj:objects){
String key=obj.toString();
dataTime.add(key.split(",")[0]);
Integer count=0;
List<String> list = map.get(key);
......
......@@ -33,7 +33,7 @@ spring:
servlet:
load-on-startup: 1
redis:
host: 172.17.255.136
host: 172.17.255.212
port: 6379
timeout: 10s
lettuce:
......
......@@ -20,5 +20,5 @@ redis.pool.timeout=500
#redis集群服务数
redis.cluster.count=1
#redis集群服务地址
redis.cluster.master.1.host=172.17.255.136
redis.cluster.master.1.host=172.17.255.212
redis.cluster.master.1.port=6379
......@@ -30,9 +30,9 @@
</div>
</div>
<ul class="layui-nav" pc>
<li class="layui-nav-item">
<a href='javascript:;' lay-id="-997" data-url="pages/notice/noticePubList.html"><i class="fa fa-envelope-o" aria-hidden="true" title="公告" unreadNotice></i></a>
</li>
<!--<li class="layui-nav-item">-->
<!--<a href='javascript:;' lay-id="-997" data-url="pages/notice/noticePubList.html"><i class="fa fa-envelope-o" aria-hidden="true" title="公告" unreadNotice></i></a>-->
<!--</li>-->
<li class="layui-nav-item" pc>
<a href="javascript:;" class="admin-header-user">
<img />
......
......@@ -102,7 +102,7 @@ function showLoginInfo(){
});
}
showUnreadNotice();
//showUnreadNotice();
function showUnreadNotice(){
$.ajax({
type : 'get',
......
......@@ -35,7 +35,7 @@
<th>本月消耗</th>
</tr>
</thead>
<tbody id="advertiserTable">
<tbody name="advertiserTable" id="schema">
</tbody>
</table>
</td>
......@@ -79,6 +79,12 @@
var day = new Date();
startTime = day.format("yyyy-MM-dd");
endTime=day.format("yyyy-MM-dd");
var advertiser=$("#advertiser");
var advert=$("#advert");
var table=$("#schema");
var dataTime;
var click;
var exposure;
function init(){
advertiserId=$("#advertiser").val();
......@@ -96,11 +102,29 @@
data : JSON.stringify(list),
//请求成功
success : function(result) {
//setTable(result.data);
var jsonObj = JSON.parse(result);
setOption(jsonObj.advertiser,jsonObj.advert);
setTable(jsonObj.schema);
dataTime=jsonObj.dataTime;
exposure=jsonObj.exposure;
click=jsonObj.click;
}
});
}
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 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>");
}
layui.use('laydate', function(){
var laydate = layui.laydate;
laydate.render({
......@@ -120,7 +144,7 @@
});
init();
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
......@@ -140,7 +164,8 @@
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: ["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: [{
......@@ -180,7 +205,8 @@
global: false // 缺省为 false
}
},
data: [551, 2002, 3651, 1007, 1989, 2014,2789,455]
// data: [551, 2002, 3651, 1007, 1989, 2014,2789,455]
data: exposure
},{
name: '点击',
type: 'line',
......@@ -218,14 +244,14 @@
global: false // 缺省为 false
}
},
data: [402, 1001, 2347, 771, 1110, 1556,2554,277]
// data: [402, 1001, 2347, 771, 1110, 1556,2554,277]
data: click
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
init();
</script>
......@@ -31,18 +31,20 @@
id: 'idTest'
,elem: '#demo'
,url: '/advertiserController/table' //数据接口
,method:'post'
,contentType:'application/json'
,toolbar:'true'
,page: true //开启分页
,cols: [[ //表头
{field: 'id', title: 'ID', sort: true, fixed: 'left',hide:"true"}
,{field: 'advertiser', title: '广告主名称'}
{field: 'advertiserId', title: 'advertiserId', sort: true, fixed: 'left',hide:"true"}
,{field: 'advertiserName', title: '广告主名称'}
,{field: 'balance', title: '余额',edit:'text'}
,{field: 'AccumulatedConsumptionAmount', title: '累计消耗金额', sort: true}
,{field: 'leader', title: '负责人'}
,{field: 'totalIncome', title: '累计消耗金额', sort: true}
//,{fixed: 'right', align:'center', toolbar: '#leader'}
,{field: 'yesterdayConsumptionAmount', title: '昨日消耗金额' }
,{field: 'income', title: '昨日消耗金额' }
//,{fixed: 'right', align:'center', toolbar: '#upload'}
,{field: 'viewData', title: '展示数据'}
,{field: 'exposureView', title: '曝光系数'}
,{field: 'clickView', title: '点击系数'}
,{fixed: 'right', align:'center', toolbar: '#viewData'}
]]
,defaultToolbar: ['filter', 'exports', {
......
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