From 0d3f0dc4931e2a8cd379c5b7e9a9c70276ebc1cf Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期一, 23 三月 2026 11:40:17 +0800
Subject: [PATCH] feat: 更新系统
---
src/main/java/com/example/controller/DataTaskController.java | 114 ++++++++++++++++++++++++++++
src/main/resources/mapper/DataTaskMapper.xml | 54 +++++++++++++
src/main/java/com/example/mapper/DataTaskMapper.java | 9 ++
src/main/java/com/example/service/DataTaskService.java | 7 +
src/main/java/com/example/service/impl/DataTaskServiceImpl.java | 11 ++
5 files changed, 195 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/example/controller/DataTaskController.java b/src/main/java/com/example/controller/DataTaskController.java
new file mode 100644
index 0000000..f8c1a87
--- /dev/null
+++ b/src/main/java/com/example/controller/DataTaskController.java
@@ -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) {
+ // 妫�鏌ュ崟浣峣d鏄惁宸插瓨鍦�
+ 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));
+ }
+}
diff --git a/src/main/java/com/example/mapper/DataTaskMapper.java b/src/main/java/com/example/mapper/DataTaskMapper.java
new file mode 100644
index 0000000..555ca92
--- /dev/null
+++ b/src/main/java/com/example/mapper/DataTaskMapper.java
@@ -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> {
+}
diff --git a/src/main/java/com/example/service/DataTaskService.java b/src/main/java/com/example/service/DataTaskService.java
new file mode 100644
index 0000000..eff058d
--- /dev/null
+++ b/src/main/java/com/example/service/DataTaskService.java
@@ -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> {
+}
diff --git a/src/main/java/com/example/service/impl/DataTaskServiceImpl.java b/src/main/java/com/example/service/impl/DataTaskServiceImpl.java
new file mode 100644
index 0000000..1c18094
--- /dev/null
+++ b/src/main/java/com/example/service/impl/DataTaskServiceImpl.java
@@ -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 {
+}
diff --git a/src/main/resources/mapper/DataTaskMapper.xml b/src/main/resources/mapper/DataTaskMapper.xml
new file mode 100644
index 0000000..1844e5a
--- /dev/null
+++ b/src/main/resources/mapper/DataTaskMapper.xml
@@ -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>
--
Gitblit v1.9.1