package com.sooka.sponest.mobile.comprehensive.eventController; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.constant.HttpStatus; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.utils.DictUtils; import com.ruoyi.system.api.domain.SysDictData; import com.sooka.sponest.comprehensive.api.comprehensiveEvent.domain.ZhsqEvent; import com.sooka.sponest.comprehensive.api.comprehensiveEvent.service.*; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @RestController @RequestMapping("/AppComprehensiveEvent") public class EventController { @Resource private RemoteEventService eventService; @Resource private RemoteEventTodoService eventTodoService; @Resource private RemoteEventCompletedService eventCompletedService; @Resource private RemoteEventVerfiedService eventVerfiedService; @Resource private RemoteEventDistributeService eventDistributeService; @Resource private RemoteEventFileService eventFileService; /** * 查询事件列表接口(分页) * @param pageNum * @param pageSize * @return */ @GetMapping("/event/getList") public AjaxResult getEventList(@RequestParam("pageNum") String pageNum, @RequestParam("pageSize") String pageSize, @RequestParam("eventType") String eventType) { TableDataInfo data = new TableDataInfo(); switch (eventType){ case "1": data = eventService.getList(pageNum,pageSize); return setLabel(data, "eventState"); case "2": data = eventTodoService.getList(pageNum,pageSize); return setLabel(data, "sjczCzzt"); case "3": data = eventCompletedService.getList(pageNum,pageSize); return setLabel(data, "eventState"); case "4": data = eventVerfiedService.getList(pageNum,pageSize); return setLabel(data, "eventState"); case "5": data = eventDistributeService.getList(pageNum,pageSize); return setLabel(data, "sjczCzzt"); case "6": data = eventFileService.getList(pageNum,pageSize); return setLabel(data, "eventState"); default: return AjaxResult.error(500, "参数错误"); } } private AjaxResult setLabel(TableDataInfo data, String keys){ if (HttpStatus.SUCCESS == data.getCode()) { Map eventType1 = DictUtils.getDictCacheToMap("eventType"); List> rows = (List>) data.getRows(); for (HashMap row : rows) { row.put("eventStateLabel", eventType1.get(row.get(keys).toString())); } return AjaxResult.success(rows); } else { return AjaxResult.error(data.getCode(), data.getMsg()); } } /** * 查询事件详情接口 * @param eventId * @return */ @GetMapping("/event/edit") public AjaxResult getEdit(@RequestParam("eventId") String eventId){ AjaxResult result = eventService.getEdit(eventId); if("200".equals(String.valueOf(result.get("code")))){ HashMap data = (HashMap) result.get("data"); String keys = "zhsqEventType"; List list = SpringUtils.getBean(RedisService.class).getCacheList(keys); for (JSONObject map : list) { if(map.getString("eventTypeId").equals(String.valueOf(data.get("eventTypeId")))){ data.put("eventTypeLabel", map.get("eventTypeName")); break; } } return AjaxResult.success(data); }else{ return AjaxResult.error(String.valueOf(result.get("code")), result.get("msg")); } } /** * 新增事件接口 * @param event */ @PostMapping("/event/addComprehensiveEvent") public AjaxResult add(@RequestBody ZhsqEvent event) { return eventService.add(event); } /** * 修改事件接口 * @param zhsqEvent * @return */ @PostMapping("/event/put") public AjaxResult put(@RequestBody ZhsqEvent zhsqEvent){ return eventService.put(zhsqEvent); } /** * 事件删除接口 * @param id * @return */ @GetMapping("/event/del") public AjaxResult del(@RequestParam("id") List id){ return eventService.del(id.toArray(new String[0])); } /** * 上报事件 * @param eventId * @return */ @GetMapping("/event/report/eventId") public AjaxResult reportEventId(@RequestParam("eventId") String eventId){ return eventService.reportEventId(eventId); } /** * 获取事件日志 */ @GetMapping("/event/eventLog") public AjaxResult getEventLog(@RequestParam("eventId") String eventId){ return eventService.getEventLog(eventId); } }