package com.alibaba.doris.admin.web.configer.module.action; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import com.alibaba.citrus.turbine.Context; import com.alibaba.citrus.turbine.Navigator; import com.alibaba.citrus.turbine.dataresolver.Param; import com.alibaba.doris.admin.core.AdminServiceLocator; import com.alibaba.doris.admin.service.ConsistentReportService; import com.alibaba.doris.admin.web.configer.util.DateUtil; public class ConsistentReportAction { ConsistentReportService consistentReportService = AdminServiceLocator.getConsistentReportService(); public void doRemoveConsistentReport(Context context, Navigator nav, HttpServletRequest request) { String consistentReportIds = request.getParameter("consistentReportIds"); if (StringUtils.isBlank(consistentReportIds)) { context.put("message", "请输入正确的id"); return; } List<Integer> idList = retrieveIds(consistentReportIds); if (idList == null || idList.isEmpty()) { context.put("message", "请输入正确的id"); return; } Integer deleteByRows = consistentReportService.deleteByIds(idList); if (deleteByRows > 0) { context.put("message", "删除成功!"); } else { context.put("message", "删除失败"); } } @SuppressWarnings("unchecked") private List<Integer> retrieveIds(String consistentReportIds) { if (StringUtils.isBlank(consistentReportIds)) { return Collections.EMPTY_LIST; } String[] strIds = consistentReportIds.split(","); if (strIds == null || strIds.length < 1) { return Collections.EMPTY_LIST; } List<Integer> idList = new ArrayList<Integer>(strIds.length); for (String idStr : strIds) { int id = Integer.parseInt(idStr); idList.add(id); } return idList; } /** * 按时间段批量删除一致性问题报告 * * @param context * @param deleteStartTime * @param deleteEndTime */ public void doBatchDelete(Context context, @Param("deleteStartTime") String deleteStartTime, @Param("deleteEndTime") String deleteEndTime) { Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); DateUtil.setStartTimeAndEndTime(deleteStartTime, deleteEndTime, start, end); SimpleDateFormat sfWithTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); deleteStartTime = sfWithTime.format(start.getTime()); deleteEndTime = sfWithTime.format(end.getTime()); Integer deletedRows = consistentReportService.deleteByGmtCreate(deleteStartTime, deleteEndTime); context.put("deleteRows", deletedRows); } }