Alex 4 лет назад
Родитель
Сommit
2daecabf2f

+ 15 - 19
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFamilyMemberController.java

@@ -6,6 +6,8 @@ import java.util.List;
 import java.util.Arrays;
 
 import com.ruoyi.app.domain.vo.AppMemberVo;
+import com.ruoyi.app.service.ITbAppUserService;
+import com.ruoyi.app.service.ITbMemberMiddleService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import com.ruoyi.common.utils.StringUtils;
@@ -42,6 +44,8 @@ import com.ruoyi.common.core.page.TableDataInfo;
 public class TbFamilyMemberController extends BaseController {
 
     private final ITbFamilyMemberService iTbFamilyMemberService;
+    private final ITbAppUserService userService;
+    private final ITbMemberMiddleService middleService;
 
     /**
      * 查询家族成员列表
@@ -56,27 +60,13 @@ public class TbFamilyMemberController extends BaseController {
     }
 
     /**
-     * 导出家族成员列表
-     */
-    @ApiOperation("导出家族成员列表")
-    @PreAuthorize("@ss.hasPermi('system:member:export')" )
-    @Log(title = "家族成员" , businessType = BusinessType.EXPORT)
-    @GetMapping("/export" )
-    public AjaxResult export(TbFamilyMember tbFamilyMember) {
-        LambdaQueryWrapper<TbFamilyMember> lqw = new LambdaQueryWrapper<TbFamilyMember>(tbFamilyMember);
-        List<TbFamilyMember> list = iTbFamilyMemberService.list(lqw);
-        ExcelUtil<TbFamilyMember> util = new ExcelUtil<TbFamilyMember>(TbFamilyMember. class);
-        return util.exportExcel(list, "member" );
-    }
-
-    /**
      * 获取家族成员详细信息
      */
     @ApiOperation("获取家族成员详细信息")
     @PreAuthorize("@ss.hasPermi('system:member:query')" )
     @GetMapping(value = "/{id}" )
-    public AjaxResult getInfo(@PathVariable("id" ) Long id) {
-        return AjaxResult.success(iTbFamilyMemberService.getById(id));
+    public AjaxResult getInfo(@PathVariable("id" ) String id) {
+        return AjaxResult.success(userService.getMember("member",id,null));
     }
 
     /**
@@ -107,8 +97,14 @@ public class TbFamilyMemberController extends BaseController {
     @ApiOperation("删除家族成员")
     @PreAuthorize("@ss.hasPermi('system:member:remove')" )
     @Log(title = "家族成员" , businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}" )
-    public AjaxResult remove(@PathVariable Long[] ids) {
-        return toAjax(iTbFamilyMemberService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
+    @DeleteMapping("/{familyId}/{ids}" )
+    public AjaxResult remove(@PathVariable String familyId, @PathVariable Long[] ids) {
+        if (familyId == null) {
+            return AjaxResult.error("家族id不能为空");
+        }
+        if (ids.length <= 0) {
+            return AjaxResult.error("未选择要删的成员");
+        }
+        return iTbFamilyMemberService.delMember(familyId,ids);
     }
 }

+ 1 - 7
ruoyi-app/src/main/java/com/ruoyi/app/controller/FamilyMemberController.java

@@ -107,13 +107,7 @@ public class FamilyMemberController extends AppBaseController {
         if (member.getMemberId()==null) {
             return AjaxResult.error("姓名不能为空");
         }
-        TbMemberMiddle middle = middleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
-                .eq(TbMemberMiddle::getFamilyId,member.getFamilyId())
-                .eq(TbMemberMiddle::getMemberId,member.getMemberId())
-                .last("limit 1")
-        );
-        middle.setParentId(member.getParentId());
-        if(!middleService.updateById(middle)){
+        if(!memberService.addFamilyTree(member)){
             return AjaxResult.error("添加失败");
         }
 

+ 2 - 0
ruoyi-app/src/main/java/com/ruoyi/app/controller/MyFriendController.java

@@ -52,8 +52,10 @@ public class MyFriendController extends AppBaseController {
     @ApiImplicitParam(name = "searchValue", value = "模糊条件:好友ID、好友昵称、拼音大写首字母",paramType="String")
     @GetMapping("/myList")
     public TableDataInfo list(String searchValue) {
+        AppMemberVo user = getLoginUser().getUser();
         TbMyFriends tbMyFriends = new TbMyFriends();
         //已通过的好友
+        tbMyFriends.setAppUserId(user.getUserId());
         tbMyFriends.setStatus("2");
         tbMyFriends.setSearchValue(searchValue);
         List<TbMyFriends> list = friendsService.pageList(tbMyFriends);

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/app/domain/vo/AppMemberVo.java

@@ -100,6 +100,10 @@ public class AppMemberVo extends BaseEntity {
     @ApiModelProperty(value="配偶 会员id")
     @Excel(name = "配偶")
     private Long spouseUserId;
+    /** 配偶 */
+    @ApiModelProperty(value="配偶")
+    @Excel(name = "配偶")
+    private String spouse;
 
     /** 姓名 */
     @ApiModelProperty(value="姓名")

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/app/service/ITbFamilyMemberService.java

@@ -4,6 +4,7 @@ import com.ruoyi.app.domain.TbFamilyMember;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.app.domain.TbMemberMiddle;
 import com.ruoyi.app.domain.vo.AppMemberVo;
+import com.ruoyi.common.core.domain.AjaxResult;
 
 import java.util.List;
 
@@ -19,4 +20,6 @@ public interface ITbFamilyMemberService extends IService<TbFamilyMember> {
     boolean saveOrUpdate(AppMemberVo memberVo);
     List<AppMemberVo> selectFamilyMember(AppMemberVo memberVo);
     TbMemberMiddle getFamilyTree(Long familyId);
+    boolean addFamilyTree(TbMemberMiddle member);
+    AjaxResult delMember(String familyId, Long[] ids);
 }

+ 53 - 0
ruoyi-system/src/main/java/com/ruoyi/app/service/impl/TbFamilyMemberServiceImpl.java

@@ -5,6 +5,7 @@ import com.ruoyi.app.domain.TbMemberMiddle;
 import com.ruoyi.app.domain.vo.AppMemberVo;
 import com.ruoyi.app.service.ITbAppUserService;
 import com.ruoyi.app.service.ITbMemberMiddleService;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -14,7 +15,9 @@ import com.ruoyi.app.domain.TbFamilyMember;
 import com.ruoyi.app.service.ITbFamilyMemberService;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * 家族成员Service业务层处理
@@ -64,6 +67,55 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
         return true;
     }
 
+    /**
+     * 添加成员到家族树
+     * @param member
+     * @return
+     */
+    @Override
+    public boolean addFamilyTree(TbMemberMiddle member){
+        TbMemberMiddle middle = memberMiddleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
+                .eq(TbMemberMiddle::getFamilyId,member.getFamilyId())
+                .eq(TbMemberMiddle::getMemberId,member.getMemberId())
+                .last("limit 1")
+        );
+        middle.setParentId(member.getParentId());
+        return memberMiddleService.updateById(middle);
+    }
+
+    /**
+     * 逻辑删除多条成员
+     * @param ids
+     * @return
+     */
+    @Override
+    public AjaxResult delMember(String familyId, Long[] ids){
+        List<Long> idList = Arrays.asList(ids);
+        List<TbMemberMiddle> middleList = memberMiddleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
+                .eq(TbMemberMiddle::getFamilyId,familyId)
+                .in(TbMemberMiddle::getMemberId, idList)
+        );
+        if (middleList.size() <= 0){
+            return AjaxResult.error("删除失败,没有找到要删除的数据");
+        }
+        AtomicInteger ck = new AtomicInteger(0);
+        List<Long> mIds = Arrays.asList(ids);
+        middleList.forEach(item -> {
+            if (item.getParentId() != null) {
+                ck.set(1);
+            }
+            mIds.add(item.getId());
+        });
+        // 如果成员已加入家族树,则需要先从家族树删除,才能删除成员
+        if(ck.intValue() > 0) {
+            return AjaxResult.error("删除失败,成员已加入家族树");
+        }
+        if(!memberMiddleService.removeByIds(mIds)) {
+            return AjaxResult.error("删除失败");
+        }
+        return AjaxResult.success();
+    }
+
     @Override
     public List<AppMemberVo> selectFamilyMember(AppMemberVo memberVo) {
         LambdaQueryWrapper<AppMemberVo> lqw = new LambdaQueryWrapper<>();
@@ -83,6 +135,7 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
 
     @Override
     public TbMemberMiddle getFamilyTree(Long familyId){
+
         return getChildNode(zeroParent(familyId),allList(familyId));
     }
 

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/app/service/impl/TbMyFriendsServiceImpl.java

@@ -35,7 +35,6 @@ public class TbMyFriendsServiceImpl extends ServiceImpl<TbMyFriendsMapper, TbMyF
 
     @Override
     public List<TbMyFriends> pageList(TbMyFriends tbMyFriends) {
-        startPage();
         Long uid = null;
         String search = null;
         String status = null;
@@ -48,6 +47,7 @@ public class TbMyFriendsServiceImpl extends ServiceImpl<TbMyFriendsMapper, TbMyF
         if (StringUtils.isNotBlank(tbMyFriends.getStatus())){
             status = tbMyFriends.getStatus();
         }
+        startPage();
         List<TbMyFriends> list = baseMapper.listFriends(uid,status,search);
         return list;
     }

+ 1 - 0
ruoyi-system/src/main/resources/mapper/app/TbAppUserMapper.xml

@@ -33,6 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         a.create_by user_create_by,a.create_time user_create_time, a.update_by user_update_by, a.update_time user_update_time, a.remark user_remark
         ,
         b.id member_id,b.spouse_user_id,b.name,b.birthday,b.gender,b.education,b.state,b.py_code member_py_code,b.py_first member_py_first,
+        (select me.name from tb_family_member me where me.app_user_id = b.spouse_user_id) spouse,
         b.create_by member_create_by,b.create_time member_create_time,b.update_by member_update_by,b.update_time member_update_time,b.remark member_remark
         from tb_app_user a
         <if test="type == 'user' ">