package com.lf.server.controller.data; import com.lf.server.annotation.SysLog; import com.lf.server.controller.all.BaseQueryController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.sys.ReportEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.StringHelper; import com.lf.server.service.all.UploadAttachService; import com.lf.server.service.sys.ReportService; import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 数据统计 * @author WWW */ @Api(tags = "数据管理\\数据统计") @RestController @RequestMapping("/dataCount") public class DataCountController extends BaseQueryController { @Autowired ReportService reportService; @Autowired TokenService tokenService; @Autowired UploadAttachService uploadAttachService; private final static String TAB_NAME = "lf.sys_report"; @SysLog() @ApiOperation(value = "上传文件") @ResponseBody @PostMapping(value = "/upload") public ResponseMsg upload(@RequestParam("file") MultipartFile file, HttpServletRequest req) { UserEntity ue = tokenService.getCurrentUser(req); return uploadAttachService.upload(ue, TAB_NAME, file, this); } @SysLog() @ApiOperation(value = "下载文件") @ApiImplicitParams({ @ApiImplicitParam(name = "guid", value = "附件Guid", dataType = "String", paramType = "body") }) @GetMapping(value = "/download") public void download(String guid, HttpServletResponse res) { uploadAttachService.download(guid, res); } @SysLog() @ApiOperation(value = "下载报告") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "报告ID", dataType = "Integer", paramType = "7") }) @GetMapping(value = "/downloadReport") public void downloadReport(Integer id, HttpServletRequest req, HttpServletResponse res) { try { if (null == id || id < 1) { return; } ReportEntity re = reportService.selectById(id); if (null == re || StringHelper.isEmpty(re.getGuid()) || StringHelper.isEmpty(re.getType()) || StringHelper.isEmpty(re.getCode())) { return; } UserEntity ue = tokenService.getCurrentUser(req); reportService.createReport(ue, re, res); } catch (Exception ex) { log.error(ex.getMessage(), ex); } } }