From a0e9fac251df54e5ed6159ce1fdb77d463ebdc48 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 26 六月 2025 20:05:35 +0800
Subject: [PATCH] 菌种库所有代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java |  104 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 99 insertions(+), 5 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 237eae1..ce91242 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -13,6 +13,7 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.*;
+import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.SysUserQuery;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.SysUserVO;
@@ -24,6 +25,7 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -48,6 +50,35 @@
     private ISysDeptService deptService;
     @Autowired
     private TokenService tokenService;
+    @Resource
+    private TBreedingAndPreservationService breedingAndPreservationService;
+    @Resource
+    private TCulturePreservationService culturePreservationService;
+    @Resource
+    private TNoticeService noticeService;
+    @Resource
+    private TObservationOfPetriDishesService observationOfPetriDishesService;
+    @Resource
+    private TPedigreeChartDetailService pedigreeChartDetailService;
+    @Resource
+    private TPedigreeChartService pedigreeChartService;
+
+    @Resource
+    private TSeparationOfCultureDishesService separationOfCultureDishesService;
+    @Resource
+    private TStrainReportService strainReportService;
+    @Resource
+    private TStrainReportDetailService strainReportDetailService;
+    @Resource
+    private TStrainValidationDataService strainValidationDataService;
+    @Resource
+    private TTrainLibraryService tTrainLibraryService;
+    @Resource
+    private TTrainLibraryWarehousingService tTrainLibraryWarehousingService;
+    @Resource
+    private TVaccinationSlopeService vaccinationSlopeService;
+    @Resource
+    private TProjectTeamStaffService projectTeamStaffService;
 
     /**
      * 获取用户列表
@@ -233,18 +264,81 @@
         }
         return AjaxResult.success(userService.updateUser(sysUser));
     }
-    @ApiOperation(value = "账号继承")
+    @ApiOperation(value = "账号继承",response = SysUserInheritDTO.class)
     @Log(title = "用户信息-账号继承", businessType = BusinessType.UPDATE)
     @PostMapping("/api/system/user/inherit")
     public AjaxResult inherit(@RequestBody String param)
     {
         SysUserInheritDTO dto = JSON.parseObject(param,SysUserInheritDTO.class);
+        Long currentUserId = dto.getCurrentUserId();
+        Long userId = dto.getUserId();
         SysUser currentUser = userService.selectUserById(dto.getCurrentUserId());
         SysUser user = userService.selectUserById(dto.getUserId());
-        user.setUserId(currentUser.getUserId());
-        userService.deleteUserById(dto.getCurrentUserId());
-        // 将user的userId换成currentUser的userId
-        userService.inherit(user);
+        // 将user所有数据 替换为当前账号id
+        List<TCulturePreservation> culturePreservationsHandle = culturePreservationService.lambdaQuery().eq(TCulturePreservation::getHandleId, userId).list();
+        for (TCulturePreservation tCulturePreservation : culturePreservationsHandle) {
+            tCulturePreservation.setHandleId(currentUserId+"");
+        }
+        culturePreservationService.updateBatchById( culturePreservationsHandle);
+        List<TCulturePreservation> culturePreservationsPreserve = culturePreservationService.lambdaQuery().eq(TCulturePreservation::getPreserveId, userId).list();
+        for (TCulturePreservation tCulturePreservation : culturePreservationsPreserve) {
+            tCulturePreservation.setPreserveId(currentUserId+"");
+        }
+        culturePreservationService.updateBatchById( culturePreservationsPreserve);
+        List<TNotice> notices = noticeService.lambdaQuery().eq(TNotice::getUserId, userId).list();
+        for (TNotice tNotice : notices) {
+            tNotice.setUserId(currentUserId+"");
+        }
+        noticeService.updateBatchById( notices);
+        List<TPedigreeChartDetail> pedigreeChartDetailsVaccinate = pedigreeChartDetailService.lambdaQuery().eq(TPedigreeChartDetail::getVaccinateId, userId).list();
+        for (TPedigreeChartDetail tPedigreeChartDetail : pedigreeChartDetailsVaccinate) {
+            tPedigreeChartDetail.setVaccinateId(currentUserId+"");
+        }
+        pedigreeChartDetailService.updateBatchById( pedigreeChartDetailsVaccinate);
+        List<TPedigreeChartDetail> pedigreeChartDetailsPreserve = pedigreeChartDetailService.lambdaQuery().eq(TPedigreeChartDetail::getPreserveId, userId).list();
+        for (TPedigreeChartDetail tPedigreeChartDetail : pedigreeChartDetailsPreserve) {
+            tPedigreeChartDetail.setPreserveId(currentUserId+"");
+        }
+        pedigreeChartDetailService.updateBatchById(pedigreeChartDetailsPreserve);
+        List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, userId).list();
+        for (TProjectTeamStaff tProjectTeamStaff : projectTeamStaffs) {
+            tProjectTeamStaff.setUserId(currentUserId+"");
+        }
+        projectTeamStaffService.updateBatchById(projectTeamStaffs);
+        List<TStrainReport> strainReports = strainReportService.lambdaQuery().eq(TStrainReport::getCommitId, userId).list();
+        for (TStrainReport tStrainReport : strainReports) {
+            tStrainReport.setCommitId(currentUserId+"");
+        }
+        strainReportService.updateBatchById(strainReports);
+        List<TStrainReportDetail> strainReportDetailsExperiment = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getExperimentId, userId).list();
+        for (TStrainReportDetail tStrainReportDetail : strainReportDetailsExperiment) {
+            tStrainReportDetail.setExperimentId(currentUserId+"");
+        }
+        strainReportDetailService.updateBatchById(strainReportDetailsExperiment);
+        List<TStrainReportDetail> strainReportDetailsEvaluate = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getEvaluateId, userId).list();
+        for (TStrainReportDetail tStrainReportDetail : strainReportDetailsEvaluate) {
+            tStrainReportDetail.setEvaluateId(currentUserId+"");
+        }
+        strainReportDetailService.updateBatchById(strainReportDetailsEvaluate);
+        List<TTrainLibraryWarehousing> tTrainLibraryWarehousingsHandle = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getHandleId, userId).list();
+        for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousingsHandle) {
+            tTrainLibraryWarehousing.setHandleId(currentUserId);
+        }
+        tTrainLibraryWarehousingService.updateBatchById(tTrainLibraryWarehousingsHandle);
+        List<TTrainLibraryWarehousing> tTrainLibraryWarehousingsPreserve = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getPreserveId, userId).list();
+        for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousingsPreserve) {
+            tTrainLibraryWarehousing.setPreserveId(currentUserId);
+        }
+        tTrainLibraryWarehousingService.updateBatchById(tTrainLibraryWarehousingsPreserve);
+        List<TVaccinationSlope> vaccinationSlopesHandle = vaccinationSlopeService.lambdaQuery().eq(TVaccinationSlope::getHandleId, userId).list();
+        for (TVaccinationSlope tVaccinationSlope : vaccinationSlopesHandle) {
+            tVaccinationSlope.setHandleId(currentUserId+"");
+        }
+        vaccinationSlopeService.updateBatchById(vaccinationSlopesHandle);
+        List<TVaccinationSlope> vaccinationSlopesPreserve = vaccinationSlopeService.lambdaQuery().eq(TVaccinationSlope::getPreserveId, userId).list();
+        for (TVaccinationSlope tVaccinationSlope : vaccinationSlopesPreserve) {
+            tVaccinationSlope.setPreserveId(currentUserId+"");
+        }
         return AjaxResult.success();
     }
     @ApiOperation(value = "启用/禁用")

--
Gitblit v1.7.1