diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/JobQueryParam.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/JobQueryParam.java index cafd29f..1121edd 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/JobQueryParam.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/JobQueryParam.java @@ -1,8 +1,13 @@ package com.njcn.oracle.bo.param; import com.njcn.oracle.bo.po.JobDetail; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.util.List; + /** * Description: * Date: 2024/1/9 9:21【需求编号】 @@ -12,7 +17,14 @@ import lombok.Data; */ @Data public class JobQueryParam extends DataAsynParam{ - private String state; - + private List states; + @NotNull(message="当前页不能为空!") + @Min(value = 1, message = "当前页不能为0") + @ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true) + private Integer currentPage; + /**显示条数*/ + @NotNull(message="显示条数不能为空!") + @ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true) + private Integer pageSize; } diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/JobDetailMapper.xml b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/JobDetailMapper.xml index 0ba1494..220261e 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/JobDetailMapper.xml +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/JobDetailMapper.xml @@ -15,4 +15,25 @@ "TABLE_NAME", START_TIME, END_TIME, "STATE", "ROW_COUNT", UPDATE_TIME + + \ No newline at end of file diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/mapper/JobDetailMapper.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/mapper/JobDetailMapper.java index 6200baa..085097d 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/mapper/JobDetailMapper.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/mapper/JobDetailMapper.java @@ -2,7 +2,11 @@ package com.njcn.oracle.mybatis.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.oracle.bo.param.JobQueryParam; import com.njcn.oracle.bo.po.JobDetail; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @@ -13,4 +17,5 @@ import com.njcn.oracle.bo.po.JobDetail; * @version V1.0.0 */ public interface JobDetailMapper extends MppBaseMapper { + List query(@Param("jobQueryParam") JobQueryParam jobQueryParam); } \ No newline at end of file diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/impl/ReplenishMybatisServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/impl/ReplenishMybatisServiceImpl.java index 8f0efbe..da98d9e 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/impl/ReplenishMybatisServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/impl/ReplenishMybatisServiceImpl.java @@ -21,32 +21,30 @@ public abstract class ReplenishMybatisServiceImpl, @Override @Transactional(rollbackFor = Exception.class) - public void insertBatchBySlice(List data, int size) { - try { - int totalCount = data.size(); - int idxLimit = Math.min(size, totalCount); - List dataTemp = new ArrayList<>(data); - //保存单批提交的数据集合 - if (idxLimit == size) { - int times = totalCount / idxLimit + 1; - for (int i = 1; i <= times; i++) { - if (totalCount >= idxLimit) { - List temp = dataTemp.subList(0, idxLimit); - this.baseMapper.insertBatchSomeColumn(temp); - temp.clear(); - totalCount = totalCount - idxLimit; - } else { - if (CollectionUtil.isNotEmpty(dataTemp)) { - this.baseMapper.insertBatchSomeColumn(dataTemp); - } + public void insertBatchBySlice(List data, int size) throws RuntimeException{ + + int totalCount = data.size(); + int idxLimit = Math.min(size, totalCount); + List dataTemp = new ArrayList<>(data); + //保存单批提交的数据集合 + if (idxLimit == size) { + int times = totalCount / idxLimit + 1; + for (int i = 1; i <= times; i++) { + if (totalCount >= idxLimit) { + List temp = dataTemp.subList(0, idxLimit); + this.baseMapper.insertBatchSomeColumn(temp); + temp.clear(); + totalCount = totalCount - idxLimit; + } else { + if (CollectionUtil.isNotEmpty(dataTemp)) { + this.baseMapper.insertBatchSomeColumn(dataTemp); } } - } else { - this.baseMapper.insertBatchSomeColumn(dataTemp); } - } catch (Exception e) { - throw new RuntimeException("分片批量插入数据异常,异常为:" + e); + } else { + this.baseMapper.insertBatchSomeColumn(dataTemp); } + } diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/JobDetailService.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/JobDetailService.java index 614b618..13e574e 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/JobDetailService.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/JobDetailService.java @@ -1,5 +1,6 @@ package com.njcn.oracle.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.jeffreyning.mybatisplus.service.IMppService; import com.njcn.oracle.bo.param.JobQueryParam; import com.njcn.oracle.bo.po.JobDetail; @@ -19,5 +20,5 @@ public interface JobDetailService extends IMppService { JobDetail select(JobDetail jobDetail); - List selectByParam(JobQueryParam jobQueryParam); + IPage selectByParam(JobQueryParam jobQueryParam); } diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/JobDetailServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/JobDetailServiceImpl.java index e047b5b..4dcdd19 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/JobDetailServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/JobDetailServiceImpl.java @@ -1,6 +1,9 @@ package com.njcn.oracle.service.impl; import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.oracle.bo.param.JobQueryParam; import com.njcn.oracle.bo.param.ServiceTypeEnum; @@ -36,13 +39,19 @@ public class JobDetailServiceImpl extends MppServiceImpl selectByParam(JobQueryParam jobQueryParam) { - List list = this.lambdaQuery().between(JobDetail::getStartTime, jobQueryParam.getStartTime(), jobQueryParam.getEndTime()). - eq(StringUtils.isNotBlank(jobQueryParam.getState()), JobDetail::getState, jobQueryParam.getState()). - in(!CollectionUtils.isEmpty(jobQueryParam.getTableNames()), JobDetail::getTableName, jobQueryParam.getTableNames()). - list(); - list.stream().forEach(temp->temp.setTableName_CN(ServiceTypeEnum.getValueByCode(temp.getTableName()))); - return list; + public IPage selectByParam(JobQueryParam jobQueryParam) { + IPage page = new Page<>(jobQueryParam.getCurrentPage(), jobQueryParam.getPageSize()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().between(JobDetail::getStartTime, jobQueryParam.getStartTime(), jobQueryParam.getEndTime()). + in(!CollectionUtils.isEmpty(jobQueryParam.getStates()), JobDetail::getState, jobQueryParam.getStates()). + in(!CollectionUtils.isEmpty(jobQueryParam.getTableNames()), JobDetail::getTableName, jobQueryParam.getTableNames()).orderByDesc(JobDetail::getStartTime); + + Integer integer = this.getBaseMapper().selectCount(queryWrapper); + + List jobDetailIPage = this.getBaseMapper().query(jobQueryParam); + page.setRecords(jobDetailIPage); + page.setTotal(Long.parseLong(integer+"")); + return page; } diff --git a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/config/CorsConfig.java b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/config/CorsConfig.java new file mode 100644 index 0000000..649e7c2 --- /dev/null +++ b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/config/CorsConfig.java @@ -0,0 +1,27 @@ +package com.njcn.oracle.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * Description: + * Date: 2024/1/9 10:51【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Configuration +public class CorsConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + // 允许所有域名访问 + registry.addMapping("/**") + .allowedOrigins("*") + .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") + .allowedHeaders("*") + .allowCredentials(true) + .maxAge(3600); + } +} diff --git a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/JobDetailController.java b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/JobDetailController.java index 600b4b6..30f056d 100644 --- a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/JobDetailController.java +++ b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/JobDetailController.java @@ -1,6 +1,7 @@ package com.njcn.oracle.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.njcn.oracle.bo.param.JobQueryParam; import com.njcn.oracle.bo.po.JobDetail; import com.njcn.oracle.service.JobDetailService; @@ -36,8 +37,8 @@ public class JobDetailController { @PostMapping("/jobQuery") @ApiOperation("任务查询") @ApiImplicitParam(name = "jobQueryParam", value = "任务查询参数", required = true) - public List jobQuery(@RequestBody JobQueryParam jobQueryParam){ - List jobDetails = jobDetailService.selectByParam(jobQueryParam); + public IPage jobQuery(@RequestBody JobQueryParam jobQueryParam){ + IPage jobDetails = jobDetailService.selectByParam(jobQueryParam); return jobDetails;//HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, jobDetails, "任务查询"); } @PostMapping("/jobRemove")