| New file |
| | |
| | | package com.example.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.example.common.Result; |
| | | import com.example.entity.DataExcel; |
| | | import com.example.entity.DataTask; |
| | | import com.example.service.DataExcelService; |
| | | import com.example.service.DataTaskService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | @RestController |
| | | @RequestMapping("/api/data-task") |
| | | public class DataTaskController { |
| | | |
| | | @Autowired |
| | | private DataTaskService dataTaskService; |
| | | @Autowired |
| | | private DataExcelService dataExcelService; |
| | | |
| | | @GetMapping("/page") |
| | | public Result<IPage<DataTask>> page( |
| | | @RequestParam(defaultValue = "1") Long current, |
| | | @RequestParam(defaultValue = "10") Long size, |
| | | @RequestParam(required = false) String unitCode, |
| | | @RequestParam(required = false) String status) { |
| | | Page<DataTask> page = new Page<>(current, size); |
| | | LambdaQueryWrapper<DataTask> wrapper = new LambdaQueryWrapper<>(); |
| | | if (unitCode != null && !unitCode.isEmpty()) { |
| | | wrapper.eq(DataTask::getUnitCode, unitCode); |
| | | } |
| | | if (status != null && !status.isEmpty()) { |
| | | wrapper.eq(DataTask::getStatus, status); |
| | | } |
| | | wrapper.orderByDesc(DataTask::getCreateTime); |
| | | IPage<DataTask> dataTaskPage = dataTaskService.page(page, wrapper); |
| | | return Result.success(dataTaskPage); |
| | | } |
| | | |
| | | @GetMapping("/pageNew") |
| | | public Result<IPage<DataTask>> pageNew( |
| | | @RequestParam(defaultValue = "1") Long current, |
| | | @RequestParam(defaultValue = "10") Long size, |
| | | @RequestParam(required = false) String unitCode, |
| | | @RequestParam(required = false) String status) { |
| | | Page<DataTask> page = new Page<>(current, size); |
| | | LambdaQueryWrapper<DataTask> wrapper = new LambdaQueryWrapper<>(); |
| | | if (unitCode != null && !unitCode.isEmpty()) { |
| | | wrapper.eq(DataTask::getUnitCode, unitCode); |
| | | } |
| | | if (status != null && !status.isEmpty()) { |
| | | wrapper.eq(DataTask::getStatus, status); |
| | | } |
| | | wrapper.orderByDesc(DataTask::getCreateTime); |
| | | IPage<DataTask> dataTaskPage = dataTaskService.page(page, wrapper); |
| | | for (DataTask record : dataTaskPage.getRecords()) { |
| | | LambdaQueryWrapper<DataExcel> excelLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | excelLambdaQueryWrapper.eq(DataExcel::getUnitCode,record.getUnitCode()); |
| | | excelLambdaQueryWrapper.orderByDesc(DataExcel::getCreateTime); |
| | | List<DataExcel> list = dataExcelService.list(excelLambdaQueryWrapper); |
| | | if(list.isEmpty()){ |
| | | record.setStatus(0); |
| | | record.setSuccessCount(0); |
| | | dataTaskService.updateById(record); |
| | | }else { |
| | | record.setSuccessCount(list.size()); |
| | | if( list.size() >= record.getTaskCount()){ |
| | | record.setStatus(1); |
| | | }else { |
| | | record.setStatus(0); |
| | | } |
| | | dataTaskService.updateById(record); |
| | | } |
| | | } |
| | | |
| | | return Result.success(dataTaskPage); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | public Result<DataTask> getById(@PathVariable Long id) { |
| | | DataTask dataTask = dataTaskService.getById(id); |
| | | return Result.success(dataTask); |
| | | } |
| | | |
| | | @PostMapping |
| | | public Result<Boolean> save(@RequestBody DataTask dataTask) { |
| | | // 检查单位id是否已存在 |
| | | LambdaQueryWrapper<DataTask> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(DataTask::getUnitCode, dataTask.getUnitCode()); |
| | | if (dataTaskService.count(wrapper) > 0) { |
| | | return Result.error("该单位任务已存在"); |
| | | } |
| | | |
| | | DataTask task = new DataTask(); |
| | | BeanUtils.copyProperties(dataTask,task); |
| | | task.setStatus(0); |
| | | return Result.success(dataTaskService.save(task)); |
| | | } |
| | | |
| | | @PutMapping |
| | | public Result<Boolean> update(@RequestBody DataTask dataTask) { |
| | | return Result.success(dataTaskService.updateById(dataTask)); |
| | | } |
| | | |
| | | @DeleteMapping("/{id}") |
| | | public Result<Boolean> delete(@PathVariable Long id) { |
| | | return Result.success(dataTaskService.removeById(id)); |
| | | } |
| | | } |