123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package com.jjt.risk.controller;
- import com.alibaba.fastjson2.JSONArray;
- import com.jjt.common.annotation.Log;
- import com.jjt.common.core.controller.BaseController;
- import com.jjt.common.core.domain.AjaxResult;
- import com.jjt.common.core.page.TableDataInfo;
- import com.jjt.common.enums.BusinessType;
- import com.jjt.common.utils.poi.ExcelUtil;
- import com.jjt.risk.domain.RiskAnalysis;
- import com.jjt.risk.domain.RiskModel;
- import com.jjt.risk.service.IRiskAnalysisService;
- import com.jjt.risk.service.IRiskModelService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletResponse;
- import java.text.DecimalFormat;
- import java.time.LocalDateTime;
- import java.time.ZoneOffset;
- import java.util.*;
- /**
- * 风险分析结果Controller
- *
- * @author jjt
- * @date 2024-09-12
- */
- @Api(tags = "风险分析结果")
- @RestController
- @RequestMapping("/risk/analysis")
- public class RiskAnalysisController extends BaseController {
- @Resource
- private IRiskAnalysisService riskAnalysisService;
- @Resource
- private IRiskModelService riskModelService;
- /**
- * 查询风险分析结果列表
- */
- @ApiOperation("查询风险分析结果列表")
- @PreAuthorize("@ss.hasPermi('risk:analysis:list')")
- @GetMapping("/list")
- public TableDataInfo list(RiskAnalysis riskAnalysis) {
- startPage();
- List<RiskAnalysis> list = riskAnalysisService.selectRiskAnalysisList(riskAnalysis);
- return getDataTable(list);
- }
- /**
- * 导出风险分析结果列表
- */
- @ApiOperation("导出风险分析结果列表")
- @PreAuthorize("@ss.hasPermi('risk:analysis:export')")
- @Log(title = "风险分析结果", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, RiskAnalysis riskAnalysis) {
- List<RiskAnalysis> list = riskAnalysisService.selectRiskAnalysisList(riskAnalysis);
- ExcelUtil<RiskAnalysis> util = new ExcelUtil<RiskAnalysis>(RiskAnalysis.class);
- util.exportExcel(response, list, "风险分析结果数据");
- }
- /**
- * 获取风险分析结果详细信息
- */
- @ApiOperation("获取风险分析结果详细信息")
- @PreAuthorize("@ss.hasPermi('risk:analysis:query')")
- @GetMapping(value = "/{resultId}")
- public AjaxResult getInfo(@PathVariable("resultId") Long resultId) {
- riskAnalysisService.selectRiskAnalysisByResultId(resultId);
- return success();
- }
- @ApiOperation("立即分析")
- @GetMapping(value = "/atOnce/{riskId}")
- public AjaxResult atOnce(@PathVariable("riskId") Long riskId) {
- RiskModel rm = riskModelService.selectRiskModelByRiskId(riskId);
- Date d = new Date();
- try {
- RiskAnalysis ra = riskAnalysisService.risk(rm, d);
- if ("3".equals(rm.getRiskType())) {
- return type3info(ra.getResultId());
- } else {
- return success();
- }
- } catch (Exception e) {
- return error(e.getMessage());
- }
- }
- @ApiOperation("获取异类组件分析结果")
- @GetMapping(value = "/type3/result/{resultId}")
- public AjaxResult type3info(@PathVariable("resultId") Long resultId) {
- Map<String, Object> result = new HashMap<>(16);
- RiskAnalysis analysis = riskAnalysisService.selectRiskAnalysisByResultId(resultId);
- result.put("imgPath", analysis.getImgPath());
- result.put("top", JSONArray.parseArray(analysis.getInput()));
- return success(result);
- }
- @ApiOperation("根据对象获取曲线")
- @GetMapping(value = "/type3/trend/{id}")
- public AjaxResult type3trend(@PathVariable("id") Long id) {
- Map<String, Object> result = new HashMap<>(16);
- List<Map<String, Object>> list = new ArrayList();
- LocalDateTime ed = LocalDateTime.now();
- LocalDateTime st = ed.minusDays(7);
- List<Long> times = new ArrayList<>();
- List<Float> values = new ArrayList<>();
- Random r = new Random();
- DecimalFormat df = new DecimalFormat("#0.00");
- do {
- long time = st.toEpochSecond(ZoneOffset.ofHours(8)) * 1000;
- times.add(time);
- float f = r.nextFloat() * 100;
- // System.err.println(df.format(f));
- values.add(Float.parseFloat(df.format(f)));
- st = st.plusMinutes(15);
- } while (!st.isAfter(ed));
- result.put("times", times);
- result.put("values", values);
- return success(result);
- }
- /**
- * 新增风险分析结果
- */
- @ApiOperation("新增风险分析结果")
- @PreAuthorize("@ss.hasPermi('risk:analysis:add')")
- @Log(title = "风险分析结果", businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody RiskAnalysis riskAnalysis) {
- return toAjax(riskAnalysisService.insertRiskAnalysis(riskAnalysis));
- }
- /**
- * 修改风险分析结果
- */
- @ApiOperation("修改风险分析结果")
- @PreAuthorize("@ss.hasPermi('risk:analysis:edit')")
- @Log(title = "风险分析结果", businessType = BusinessType.UPDATE)
- @PostMapping("/edit")
- public AjaxResult edit(@RequestBody RiskAnalysis riskAnalysis) {
- return toAjax(riskAnalysisService.updateRiskAnalysis(riskAnalysis));
- }
- /**
- * 删除风险分析结果
- */
- @ApiOperation("删除风险分析结果")
- @PreAuthorize("@ss.hasPermi('risk:analysis:remove')")
- @Log(title = "风险分析结果", businessType = BusinessType.DELETE)
- @GetMapping("/del/{resultIds}")
- public AjaxResult remove(@PathVariable Long[] resultIds) {
- return toAjax(riskAnalysisService.deleteRiskAnalysisByResultIds(resultIds));
- }
- }
|