package com.product.server.report.controller;
import com.product.core.config.CoreConst;
import com.product.core.controller.support.AbstractBaseController;
import com.product.core.entity.FieldSetEntity;
import com.product.core.entity.RequestParameterEntity;
import com.product.core.exception.BaseException;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.module.sys.version.ApiVersion;
import com.product.server.report.config.ReportCode;
import com.product.server.report.config.SystemCode;
import com.product.server.report.service.DataListReportService;
import com.product.util.BaseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* Copyright 漏 6c
*
* @Date: 2021-05-18 18:26
* @Author: 6c
* @Description:
*/
@RestController
@RequestMapping("/api/report/data-list")
public class DataListReportController extends AbstractBaseController {
@Autowired
private DataListReportService dataListReportService;
/**
* 6c-test-璁剧疆鎶ヨ〃缂撳瓨
*
* @param request
* @return
*/
@RequestMapping(value = "/set-report-cache/{version}", method = RequestMethod.POST)
@ApiVersion(1)
public String setReportCache(HttpServletRequest request) {
try {
FieldSetEntity fse = null;
Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
if (bean != null) {
RequestParameterEntity reqp = (RequestParameterEntity) bean;
fse = reqp.getFormData();
}
if (bean == null || fse == null) {
SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
}
if (!"1".equals(fse.getString("is_all"))) {
dataListReportService.setConfig(fse.getUUID());
} else {
dataListReportService.setAllConfig();
}
return OK();
} catch (BaseException e) {
SpringMVCContextHolder.getSystemLogger().error(e);
return this.error(e.getCode(), e.getMessageInfo());
} catch (Exception e) {
SpringMVCContextHolder.getSystemLogger().error(e);
e.printStackTrace();
return error(ReportCode.GET_REPORT_FAIL.getValue(), ReportCode.GET_REPORT_FAIL.getText());
}
}
/**
* 鑾峰彇鎶ヨ〃
*
* @param request
* @return
*/
@RequestMapping(value = "/get-report/{version}", method = RequestMethod.POST)
@ApiVersion(1)
public String getTableInfo(HttpServletRequest request) {
try {
FieldSetEntity fse = null;
Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
if (bean != null) {
RequestParameterEntity reqp = (RequestParameterEntity) bean;
fse = reqp.getFormData();
}
if (bean == null || fse == null) {
SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
}
return BaseUtil.success(dataListReportService.getReport(fse));
} catch (BaseException e) {
SpringMVCContextHolder.getSystemLogger().error(e);
return this.error(e.getCode(), e.getMessageInfo());
} catch (Exception e) {
SpringMVCContextHolder.getSystemLogger().error(e);
e.printStackTrace();
return error(ReportCode.GET_REPORT_FAIL.getValue(), ReportCode.GET_REPORT_FAIL.getText());
}
}
}