实现localTeacher批量分组接口
This commit is contained in:
parent
582707f996
commit
1df6d0f7dd
|
@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.sf.json.JSON;
|
||||||
|
import net.sf.json.JSONObject;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||||
import org.jeecg.common.system.base.controller.JeecgController;
|
import org.jeecg.common.system.base.controller.JeecgController;
|
||||||
|
@ -14,12 +16,14 @@ import org.jeecg.modules.entity.CeesLocalTeacher;
|
||||||
import org.jeecg.modules.enums.MajorEnum;
|
import org.jeecg.modules.enums.MajorEnum;
|
||||||
import org.jeecg.modules.service.ICeesLocalTeacherService;
|
import org.jeecg.modules.service.ICeesLocalTeacherService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.actuate.metrics.startup.StartupTimeMetricsListener;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 本校教师表
|
* @Description: 本校教师表
|
||||||
|
@ -34,8 +38,10 @@ import java.util.Arrays;
|
||||||
public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher, ICeesLocalTeacherService> {
|
public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher, ICeesLocalTeacherService> {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICeesLocalTeacherService ceesLocalTeacherService;
|
private ICeesLocalTeacherService ceesLocalTeacherService;
|
||||||
|
@Autowired
|
||||||
|
private StartupTimeMetricsListener startupTimeMetrics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
*
|
*
|
||||||
* @param ceesLocalTeacher
|
* @param ceesLocalTeacher
|
||||||
|
@ -58,6 +64,16 @@ public class CeesLocalTeacherController extends JeecgController<CeesLocalTeacher
|
||||||
return Result.OK(pageList);
|
return Result.OK(pageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量分组
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/batchGroup")
|
||||||
|
public Result<?> batchGroup(@RequestBody Map<String, Object> webData){
|
||||||
|
log.info(webData.toString());
|
||||||
|
return ceesLocalTeacherService.batchGroup(webData);
|
||||||
|
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 添加
|
* 添加
|
||||||
*
|
*
|
||||||
|
|
|
@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.modules.entity.CeesLocalTeacher;
|
import org.jeecg.modules.entity.CeesLocalTeacher;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 本校教师表
|
* @Description: 本校教师表
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
|
@ -14,4 +16,6 @@ import org.jeecg.modules.entity.CeesLocalTeacher;
|
||||||
public interface ICeesLocalTeacherService extends IService<CeesLocalTeacher> {
|
public interface ICeesLocalTeacherService extends IService<CeesLocalTeacher> {
|
||||||
|
|
||||||
Result<?> h5Save(CeesLocalTeacher ceesLocalTeacher);
|
Result<?> h5Save(CeesLocalTeacher ceesLocalTeacher);
|
||||||
|
|
||||||
|
Result<?> batchGroup(Map<String, Object> webData);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.modules.entity.CeesLocalTeacher;
|
import org.jeecg.modules.entity.CeesLocalTeacher;
|
||||||
|
@ -14,6 +15,9 @@ import org.jeecg.modules.service.ICeesUserService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 本校教师表
|
* @Description: 本校教师表
|
||||||
|
@ -28,7 +32,8 @@ public class CeesLocalTeacherServiceImpl extends ServiceImpl<CeesLocalTeacherMap
|
||||||
CeesUserMapper ceesUserMapper;
|
CeesUserMapper ceesUserMapper;
|
||||||
@Resource
|
@Resource
|
||||||
ICeesUserService ceesUserService;
|
ICeesUserService ceesUserService;
|
||||||
|
@Resource
|
||||||
|
CeesLocalTeacherMapper ceesLocalTeacherMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ceesLocalTeacher
|
* @param ceesLocalTeacher
|
||||||
|
@ -52,4 +57,78 @@ public class CeesLocalTeacherServiceImpl extends ServiceImpl<CeesLocalTeacherMap
|
||||||
jsonObject.put("router", "/mainPage");
|
jsonObject.put("router", "/mainPage");
|
||||||
return Result.ok(jsonObject);
|
return Result.ok(jsonObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result<?> batchGroup(Map<String, Object> webData) {
|
||||||
|
String groupId = webData.get("groupId").toString();
|
||||||
|
Object idsObj = webData.get("ids");
|
||||||
|
List<String> ids = JSONObject.parseArray(idsObj.toString(), String.class);
|
||||||
|
|
||||||
|
// 记录更新结果
|
||||||
|
int totalUpdatedLocal = 0;
|
||||||
|
List<String> failedIdsLocal = new ArrayList<>();
|
||||||
|
//更新具体的用户数据
|
||||||
|
for (String id : ids) {
|
||||||
|
try {
|
||||||
|
LambdaUpdateWrapper<CeesLocalTeacher> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.eq(CeesLocalTeacher::getId, id)
|
||||||
|
.set(CeesLocalTeacher::getGroupId, groupId);
|
||||||
|
|
||||||
|
// 执行更新并检查受影响行数
|
||||||
|
int affectedRows = ceesLocalTeacherMapper.update(null, updateWrapper);
|
||||||
|
|
||||||
|
if (affectedRows > 0) {
|
||||||
|
totalUpdatedLocal++;
|
||||||
|
} else {
|
||||||
|
failedIdsLocal.add(id); // 记录未更新的ID(可能用户不存在或groupId未变)
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
failedIdsLocal.add(id); // 记录更新失败的ID
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 记录更新结果
|
||||||
|
int totalUpdated = 0;
|
||||||
|
List<String> failedIds = new ArrayList<>();
|
||||||
|
//更新所以表中的用户数据
|
||||||
|
for (String id : ids) {
|
||||||
|
try {
|
||||||
|
LambdaQueryWrapper<CeesLocalTeacher> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(CeesLocalTeacher::getId, id);
|
||||||
|
CeesLocalTeacher ceesLocalTeacher = ceesLocalTeacherMapper.selectOne(queryWrapper);
|
||||||
|
String user_id = ceesLocalTeacher.getUserId();
|
||||||
|
LambdaUpdateWrapper<CeesUser> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.eq(CeesUser::getUserId, user_id)
|
||||||
|
.set(CeesUser::getGroupId, groupId);
|
||||||
|
// 执行更新并检查受影响行数
|
||||||
|
int affectedRows = ceesUserMapper.update(null, updateWrapper);
|
||||||
|
|
||||||
|
if (affectedRows > 0) {
|
||||||
|
totalUpdated++;
|
||||||
|
} else {
|
||||||
|
failedIds.add(id); // 记录未更新的ID(可能用户不存在或groupId未变)
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
failedIds.add(id); // 记录更新失败的ID
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建返回结果
|
||||||
|
JSONObject resultJson = new JSONObject();
|
||||||
|
//update-localTeacher
|
||||||
|
JSONObject localTeacherJson = new JSONObject();
|
||||||
|
localTeacherJson.put("totalUpdated", totalUpdatedLocal);
|
||||||
|
localTeacherJson.put("failedIds", failedIdsLocal);
|
||||||
|
localTeacherJson.put("success", failedIdsLocal.isEmpty()); // 是否全部成功
|
||||||
|
//update-User
|
||||||
|
JSONObject userJson = new JSONObject();
|
||||||
|
userJson.put("totalUpdated", totalUpdated);
|
||||||
|
userJson.put("failedIds", failedIds);
|
||||||
|
userJson.put("success", failedIds.isEmpty()); // 是否全部成功
|
||||||
|
|
||||||
|
resultJson.put("localTeacher", localTeacherJson);
|
||||||
|
resultJson.put("user", userJson);
|
||||||
|
return Result.ok(resultJson);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue