From f59681e9cf7faedb6c28e23920c58ecb919be547 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期一, 28 十月 2024 10:14:29 +0800 Subject: [PATCH] sql注入漏洞 --- src/main/java/com/zy/system/controller/SaasLogController.java | 140 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 133 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/system/controller/SaasLogController.java b/src/main/java/com/zy/system/controller/SaasLogController.java index 538364d..c3ab13e 100644 --- a/src/main/java/com/zy/system/controller/SaasLogController.java +++ b/src/main/java/com/zy/system/controller/SaasLogController.java @@ -1,18 +1,15 @@ package com.zy.system.controller; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; -import com.core.common.DateUtils; -import com.zy.system.entity.SaasLog; -import com.zy.system.service.SaasLogService; import com.core.annotations.ManagerAuth; -import com.core.common.BaseRes; -import com.core.common.Cools; -import com.core.common.R; +import com.core.common.*; import com.zy.common.web.BaseController; +import com.zy.system.entity.SaasLog; +import com.zy.system.mapper.SaasLogMapper; +import com.zy.system.service.SaasLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -23,6 +20,9 @@ @Autowired private SaasLogService saasLogService; + + @Autowired + private SaasLogMapper saasLogMapper; @RequestMapping(value = "/saasLog/{id}/auth") @ManagerAuth @@ -45,6 +45,132 @@ return R.ok(saasLogService.selectPage(new Page<>(curr, limit), wrapper)); } + @RequestMapping(value = "/saasLogSummary/list/auth") + @ManagerAuth + public R saasLogSummarylist(@RequestParam Map<String, Object> param){ + String io_time = (String) param.get("io_time"); + Date sDate = null; + Date eDate = null; + if(!Cools.isEmpty(io_time) && io_time.contains(RANGE_TIME_LINK)) { + String[] dates = io_time.split(RANGE_TIME_LINK); + sDate = DateUtils.convert(dates[0]); + eDate = DateUtils.convert(dates[1]); + } + String type = (String) param.get("type"); + String owner = (String) param.get("owner"); + + ArrayList<SaasLog> list = saasLogMapper.selectListSummary(sDate,eDate,type,owner); + double sum = list.stream().mapToDouble(SaasLog::getAnfme).sum(); + ListIterator<SaasLog> saasLogListIterator = list.listIterator(); + String a = null; + while (saasLogListIterator.hasNext()){ + SaasLog next = saasLogListIterator.next(); + + if (!next.getOwner().equals(a)){ + if (a != null) { + + ArrayList<SaasLog> list1 = saasLogMapper.selectListSummaryBySubtotal(a,sDate,eDate,type); + for (SaasLog saasLog : list1) { + saasLogListIterator.previous(); + saasLog.setMatnr("灏忚"); + saasLogListIterator.add(saasLog); + saasLogListIterator.next(); + } + saasLogListIterator.previous(); + SaasLog saasLog1 = new SaasLog(); + saasLog1.setOwner(a); + saasLog1.setMatnr("鍚堣"); + saasLog1.setAnfme(list1.stream().mapToDouble(SaasLog::getAnfme).sum()); + saasLogListIterator.add(saasLog1); + saasLogListIterator.next(); + } + + a = next.getOwner(); + } + } + ArrayList<SaasLog> list1 = saasLogMapper.selectListSummaryBySubtotal(a,sDate,eDate,type); + for (SaasLog saasLog : list1) { + saasLog.setMatnr("灏忚"); + saasLogListIterator.add(saasLog); + } + SaasLog saasLog1 = new SaasLog(); + saasLog1.setOwner(a); + saasLog1.setMatnr("鍚堣"); + saasLog1.setAnfme(list1.stream().mapToDouble(SaasLog::getAnfme).sum()); + saasLogListIterator.add(saasLog1); + + SaasLog saasLog = new SaasLog(); + saasLog.setOwner("鎬昏"); + saasLog.setAnfme(sum); + list.add(saasLog); + + return R.ok(list); + } + + @RequestMapping(value = "/saasLogSummary/export/auth") + @ManagerAuth + public R summaryExport(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("saasLog")); + String io_time = (String) map.get("io_time"); + Date sDate = null; + Date eDate = null; + if(!Cools.isEmpty(io_time) && io_time.contains(RANGE_TIME_LINK)) { + String[] dates = io_time.split(RANGE_TIME_LINK); + sDate = DateUtils.convert(dates[0]); + eDate = DateUtils.convert(dates[1]); + } + String type = (String) map.get("type"); + String owner = (String) map.get("owner"); + + ArrayList<SaasLog> list = saasLogMapper.selectListSummary(sDate,eDate,type,owner); + double sum = list.stream().mapToDouble(SaasLog::getAnfme).sum(); + ListIterator<SaasLog> saasLogListIterator = list.listIterator(); + String a = null; + while (saasLogListIterator.hasNext()){ + SaasLog next = saasLogListIterator.next(); + + if (!next.getOwner().equals(a)){ + if (a != null) { + + ArrayList<SaasLog> list1 = saasLogMapper.selectListSummaryBySubtotal(a,sDate,eDate,type); + for (SaasLog saasLog : list1) { + saasLogListIterator.previous(); + saasLog.setMatnr("灏忚"); + saasLogListIterator.add(saasLog); + saasLogListIterator.next(); + } + saasLogListIterator.previous(); + SaasLog saasLog1 = new SaasLog(); + saasLog1.setOwner(a); + saasLog1.setMatnr("鍚堣"); + saasLog1.setAnfme(list1.stream().mapToDouble(SaasLog::getAnfme).sum()); + saasLogListIterator.add(saasLog1); + saasLogListIterator.next(); + } + + a = next.getOwner(); + } + } + ArrayList<SaasLog> list1 = saasLogMapper.selectListSummaryBySubtotal(a,sDate,eDate,type); + for (SaasLog saasLog : list1) { + saasLog.setMatnr("灏忚"); + saasLogListIterator.add(saasLog); + } + SaasLog saasLog1 = new SaasLog(); + saasLog1.setOwner(a); + saasLog1.setMatnr("鍚堣"); + saasLog1.setAnfme(list1.stream().mapToDouble(SaasLog::getAnfme).sum()); + saasLogListIterator.add(saasLog1); + + SaasLog saasLog = new SaasLog(); + saasLog.setOwner("鎬昏"); + saasLog.setAnfme(sum); + list.add(saasLog); + + return R.ok(exportSupport(list, fields)); + } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); -- Gitblit v1.9.1