blade-ops/blade-report/src/main/java/org/springblade/report/ReportApplication.java
@@ -19,6 +19,7 @@ import org.springblade.core.launch.BladeApplication; import org.springblade.core.launch.constant.AppConstant; import org.springframework.cloud.client.SpringCloudApplication; import org.springframework.cloud.openfeign.EnableFeignClients; /** * UReport启动器 @@ -26,6 +27,7 @@ * @author Chill */ @SpringCloudApplication @EnableFeignClients public class ReportApplication { public static void main(String[] args) { blade-ops/blade-report/src/main/java/org/springblade/report/controller/ReportFileController.java
New file @@ -0,0 +1,40 @@ package org.springblade.report.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.report.entity.ReportFile; import org.springblade.report.service.ReportFileService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; /** * 报表导出控制层 */ @RestController @RequestMapping("/report/rest") @AllArgsConstructor public class ReportFileController { private final ReportFileService reportFileService; /** * 导出数据模板列表 * @param reportFile 对象 * @param query 查询页码 * @param response * @return */ @GetMapping("/page") public R<IPage<ReportFile>> page(ReportFile reportFile, Query query, HttpServletResponse response) { response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Allow-Credentials","true"); return R.data(reportFileService.selectReportFilePage(Condition.getPage(query), reportFile)); } } blade-ops/blade-report/src/main/java/org/springblade/report/entity/HealthcodeReturnData.java
New file @@ -0,0 +1,9 @@ package org.springblade.report.entity; import lombok.Data; @Data public class HealthcodeReturnData { private String type; private Integer num; } blade-ops/blade-report/src/main/java/org/springblade/report/entity/ReportFile.java
New file @@ -0,0 +1,29 @@ package org.springblade.report.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; @Data @TableName("blade_report_file") public class ReportFile { @TableId(value = "id",type = IdType.NONE) private Long id;// bigint(20) NOT NULL COMMENT '主键' 非主键自增, private String name;// varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件名', private String content;// mediumblob COMMENT '文件内容', @TableField("create_time") private Date createTime;// datetime DEFAULT NULL COMMENT '创建时间', @TableField("update_time") private Date updateTime;// datetime DEFAULT NULL COMMENT '更新时间', @TableField("is_deleted") private Integer isDeleted;// int(11) DEFAULT '0' COMMENT '是否已删除' 0未删除 1 已删除, } blade-ops/blade-report/src/main/java/org/springblade/report/feign/ReportClient.java
New file @@ -0,0 +1,28 @@ package org.springblade.report.feign; import org.springblade.report.entity.HealthcodeReturnData; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; import java.util.Map; @FeignClient(value = "blade-jfpts") public interface ReportClient { /** * 获取健康码数据集合 * @param beanName 调用名称 * @param dataName 返回数据名称 * @param map map集合数据 * @return */ @GetMapping("getHealthcodeList") List<HealthcodeReturnData> getHealthcodeList(@RequestParam("beanName")String beanName, @RequestParam("dataName")String dataName, @RequestParam("map")Map<String,Object> map); } blade-ops/blade-report/src/main/java/org/springblade/report/mapper/ReportFileMappers.java
New file @@ -0,0 +1,11 @@ package org.springblade.report.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springblade.report.entity.ReportFile; /** * 报表导出mapper映射层 */ public interface ReportFileMappers extends BaseMapper<ReportFile> { } blade-ops/blade-report/src/main/java/org/springblade/report/service/ReportFileService.java
New file @@ -0,0 +1,19 @@ package org.springblade.report.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.report.entity.ReportFile; /** * 报表导出服务层 */ public interface ReportFileService extends IService<ReportFile> { /** * 导出数据模板列表 * @param page * @param reportFile 对象 * @return */ IPage<ReportFile> selectReportFilePage(IPage<ReportFile> page, ReportFile reportFile); } blade-ops/blade-report/src/main/java/org/springblade/report/service/impl/ReportFileServiceImpl.java
New file @@ -0,0 +1,60 @@ package org.springblade.report.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import org.springblade.report.entity.HealthcodeReturnData; import org.springblade.report.entity.ReportFile; import org.springblade.report.feign.ReportClient; import org.springblade.report.mapper.ReportFileMappers; import org.springblade.report.service.ReportFileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.GetMapping; import java.util.List; import java.util.Map; /** * 报表导出服务实现层 */ @Service @AllArgsConstructor public class ReportFileServiceImpl extends ServiceImpl<ReportFileMappers, ReportFile> implements ReportFileService { private final ReportClient reportClient; /** * 导出数据模板列表 * @param page * @param reportFile 对象 * @return */ @Override public IPage<ReportFile> selectReportFilePage(IPage<ReportFile> page, ReportFile reportFile) { QueryWrapper<ReportFile> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("is_deleted",0); if (null!=reportFile.getName()) { queryWrapper.like("name", reportFile.getName()); } return page.setRecords(baseMapper.selectList(queryWrapper)); } /** * 获取健康码数据集合 * @param beanName 调用名称 * @param dataName 返回数据名称 * @param map map集合数据 * @return */ @GetMapping("/getHealthcodeList") public List<HealthcodeReturnData> getHealthcodeList(String beanName, String dataName, Map<String,Object> map){ return reportClient.getHealthcodeList(beanName,dataName,map); } }