package com.ediagnosis.cdr.dataIntegration; import com.ediagnosis.cdr.context.values.Response; import com.ediagnosis.cdr.dataIntegration.dao.dto.*; import com.ediagnosis.cdr.dataIntegration.dao.entity.BusinessDataTableField; import com.ediagnosis.cdr.dataIntegration.value.param.DataSourceQueryParam; import com.ediagnosis.cdr.dataIntegration.value.param.DataTableFieldQueryParam; import com.ediagnosis.cdr.dataIntegration.value.param.DataTableQueryParam; import com.ediagnosis.cdr.dataIntegration.value.BusinessDataSourceVo; import com.ediagnosis.cdr.dataIntegration.value.BusinessDataTableFieldVo; import com.ediagnosis.cdr.dataIntegration.value.BusinessDataTableVo; import com.ediagnosis.cdr.dataIntegration.inner.BusinessDataRepository; import com.ediagnosis.cdr.context.PageConvertUtils; import com.ediagnosis.cdr.context.values.PageVo; import com.mybatisflex.core.paginate.Page; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; /** * @author monojun * @description 业务系统controller * @createTime 2025年08月04日 */ @RestController @RequiredArgsConstructor public class BusinessDataController { private final BusinessDataRepository dataRepository; @PostMapping("/dataSource/page") public Response> page(@RequestBody DataSourceQueryParam queryParam) { BusinessDataSourceQueryDTO queryDTO = new BusinessDataSourceQueryDTO(); BeanUtils.copyProperties(queryParam, queryDTO); Page dataSourcePage = dataRepository.querySourcePage(queryDTO); PageVo systemVoPageInfo = PageConvertUtils.copyPageInfo(dataSourcePage, dataSourceDTO -> { BusinessDataSourceVo vo = new BusinessDataSourceVo(); BeanUtils.copyProperties(dataSourceDTO, vo); vo.setBizSystemId(dataSourceDTO.getBusinessId()); vo.setBizSystemName(dataSourceDTO.getBusinessName()); return vo; }); return Response.success(systemVoPageInfo); } @PostMapping("/dataTable/page") public Response> page(@RequestBody DataTableQueryParam queryParam) { BusinessDataTableQueryDTO queryDTO = new BusinessDataTableQueryDTO(); BeanUtils.copyProperties(queryParam, queryDTO); Page dataTablePage = dataRepository.queryTablePage(queryDTO); PageVo dataTableVoPageInfo = PageConvertUtils.copyPageInfo(dataTablePage, dataTable -> { BusinessDataTableVo vo = new BusinessDataTableVo(); BeanUtils.copyProperties(dataTable, vo); return vo; }); return Response.success(dataTableVoPageInfo); } @PostMapping("/dataTableField/page") public Response> page(@RequestBody DataTableFieldQueryParam queryParam) { BusinessDataTableFieldQueryDTO queryDTO = new BusinessDataTableFieldQueryDTO(); BeanUtils.copyProperties(queryParam, queryDTO); Page dataTableFieldPage = dataRepository.queryFieldPage(queryDTO); PageVo tableFieldVoPageInfo = PageConvertUtils.copyPageInfo(dataTableFieldPage, dataTableField -> { BusinessDataTableFieldVo vo = new BusinessDataTableFieldVo(); BeanUtils.copyProperties(dataTableField, vo); return vo; }); return Response.success(tableFieldVoPageInfo); } }