使用oracle做的数据上传系统后台
kongdeqiang
2026-03-23 0d3f0dc4931e2a8cd379c5b7e9a9c70276ebc1cf
feat: 更新系统
5个文件已添加
195 ■■■■■ 已修改文件
src/main/java/com/example/controller/DataTaskController.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/mapper/DataTaskMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/DataTaskService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/service/impl/DataTaskServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/DataTaskMapper.xml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/controller/DataTaskController.java
New file
@@ -0,0 +1,114 @@
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));
    }
}
src/main/java/com/example/mapper/DataTaskMapper.java
New file
@@ -0,0 +1,9 @@
package com.example.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.entity.DataTask;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface DataTaskMapper extends BaseMapper<DataTask> {
}
src/main/java/com/example/service/DataTaskService.java
New file
@@ -0,0 +1,7 @@
package com.example.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.DataTask;
public interface DataTaskService extends IService<DataTask> {
}
src/main/java/com/example/service/impl/DataTaskServiceImpl.java
New file
@@ -0,0 +1,11 @@
package com.example.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.entity.DataTask;
import com.example.mapper.DataTaskMapper;
import com.example.service.DataTaskService;
import org.springframework.stereotype.Service;
@Service
public class DataTaskServiceImpl extends ServiceImpl<DataTaskMapper, DataTask> implements DataTaskService {
}
src/main/resources/mapper/DataTaskMapper.xml
New file
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.DataTaskMapper">
    <resultMap id="dataTaskResultMap" type="com.example.entity.DataTask">
        <id column="id" property="id"/>
        <result column="unit_code" property="unitCode"/>
        <result column="unit_name" property="unitName"/>
        <result column="status" property="status"/>
        <result column="task_count" property="taskCount"/>
        <result column="success_count" property="successCount"/>
        <result column="remark" property="remark"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="create_by" property="createBy"/>
        <result column="update_by" property="updateBy"/>
        <result column="deleted" property="deleted"/>
        <result column="version" property="version"/>
        <result column="last_time" property="lastTime"/>
    </resultMap>
    <insert id="insert" parameterType="com.example.entity.DataTask" useGeneratedKeys="false">
        <selectKey keyProperty="id" resultType="java.lang.Long" order="BEFORE">
            SELECT seq_data_task.NEXTVAL FROM DUAL
        </selectKey>
        INSERT INTO data_task (
            id,
            unit_code,
            unit_name,
            status,
            task_count,
            <if test="remark != null and remark != ''">remark,</if>
            create_time,
            update_time,
            create_by,
            update_by,
            deleted,
            version
        ) VALUES (
            #{id},
            #{unitCode},
            #{unitName},
            #{status},
            #{taskCount},
              <if test="remark != null and remark != ''">#{remark},</if>
            SYSDATE,
            SYSDATE,
            #{createBy},
            #{updateBy},
            0,
            1
        )
    </insert>
</mapper>