|
@@ -1,6 +1,7 @@
|
|
|
package com.ruoyi.app.controller;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.ruoyi.app.annotation.LoginAppUser;
|
|
|
import com.ruoyi.app.controller.base.AppBaseController;
|
|
@@ -30,6 +31,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -217,7 +219,38 @@ public class FamilyMemberController extends AppBaseController {
|
|
|
if (ids.length <= 0) {
|
|
|
return AjaxResult.error("未选择要删的成员");
|
|
|
}
|
|
|
- return memberService.delMember(familyId,ids);
|
|
|
+ // 删除操作人
|
|
|
+ AppMemberVo user = getLoginUser().getUser();
|
|
|
+ TbMemberMiddle middle = middleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
|
|
|
+ .eq(TbMemberMiddle::getFamilyId,familyId)
|
|
|
+ .eq(TbMemberMiddle::getMemberId,user.getMemberId())
|
|
|
+ .last("limit 1")
|
|
|
+ );
|
|
|
+ // 被删除人
|
|
|
+ List<TbMemberMiddle> middleList = middleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
|
|
|
+ .eq(TbMemberMiddle::getFamilyId,familyId)
|
|
|
+ .in(TbMemberMiddle::getMemberId, Arrays.asList(ids))
|
|
|
+ );
|
|
|
+ if (middleList.size() <= 0){
|
|
|
+ return AjaxResult.error("删除失败,没有找到要删除的数据");
|
|
|
+ }
|
|
|
+ for (TbMemberMiddle item : middleList) {
|
|
|
+ if (item.getParentId() != null){
|
|
|
+ return AjaxResult.error("删除失败,成员已加入家族树");
|
|
|
+ }
|
|
|
+ if ("Y".equals(item.getPatriarch())){
|
|
|
+ return AjaxResult.error("删除失败,不能删除创建者");
|
|
|
+ }
|
|
|
+ if ("N".equals(middle.getPatriarch())) {
|
|
|
+ if ("Y".equals(item.getAdmin())) {
|
|
|
+ return AjaxResult.error("删除失败,不能删除管理员");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!middleService.removeByIds(Arrays.asList(ids))) {
|
|
|
+ return AjaxResult.error("删除失败");
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
@ApiOperation("家族管理员列表")
|