Bläddra i källkod

APP:修改我的家族管理

Alex 4 år sedan
förälder
incheckning
b1e46b57f7

+ 37 - 16
ruoyi-app/src/main/java/com/ruoyi/app/controller/FamilyController.java

@@ -3,6 +3,7 @@ package com.ruoyi.app.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.github.pagehelper.PageHelper;
 import com.ruoyi.app.annotation.LoginAppUser;
 import com.ruoyi.app.controller.base.AppBaseController;
 import com.ruoyi.app.domain.TbAppUser;
@@ -21,6 +22,7 @@ import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.apache.poi.ss.formula.functions.T;
@@ -175,32 +177,51 @@ public class FamilyController extends AppBaseController {
         return AjaxResult.success("申请成功");
     }
 
-    // 申请列表
+
+    @ApiOperation("申请列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "familyId", value = "家族id",paramType="Long"),
+            @ApiImplicitParam(name = "pageNum", value = "当前页",paramType="int"),
+            @ApiImplicitParam(name = "pageSize", value = "每页行数",paramType="int")
+    })
     @GetMapping("/selectApply")
-    public TableDataInfo selectApply(@LoginAppUser TbAppUser user, Long familyId){
+    public TableDataInfo selectApply(@LoginAppUser TbAppUser user, Long familyId,Integer pageNum,Integer pageSize){
         if (familyId == null){
             return new TableDataInfo();
         }
+        pageNum = pageNum == null ? 1 : pageNum;
+        pageSize = pageSize == null ? 10 : pageSize;
+        PageHelper.startPage(pageNum, pageSize, "mi.create_time desc");
         // 获取申请列表 1申请 3拒绝 4退出
-        List<TbMemberMiddle> middleList = middleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
+        List<TbMemberMiddle> list = middleService.selectApplyMember(new LambdaQueryWrapper<TbMemberMiddle>()
                 .eq(TbMemberMiddle::getFamilyId,familyId)
                 .in(TbMemberMiddle::getStatus, Arrays.asList("1","3","4"))
         );
-        if (middleList.size() <= 0){
-            return new TableDataInfo();
-        }
-        // 查询申请的会员
-        List<Long> ids = new ArrayList<>();
-        middleList.forEach(item -> {
-            ids.add(item.getMemberId());
-        });
-        return null;
+        return getDataTable(list);
     }
 
-    // 通过申请
-//    public AjaxResult pass(){
-//
-//    }
+    @ApiOperation("通过申请")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "memberId", value = "申请的成员id",paramType="Long"),
+            @ApiImplicitParam(name = "familyId", value = "家族id",paramType="Long")
+    })
+    @GetMapping("/pass")
+    public AjaxResult pass(Long memberId,Long familyId){
+        TbMemberMiddle middle = middleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
+                .eq(TbMemberMiddle::getFamilyId,familyId)
+                .eq(TbMemberMiddle::getMemberId,memberId)
+                .eq(TbMemberMiddle::getStatus,"1")
+                .last("limit 1")
+        );
+        if (middle == null) {
+            return AjaxResult.error("查无申请信息");
+        }
+        middle.setStatus("2"); //通过申请
+        if(!middleService.updateById(middle)){
+            return AjaxResult.error("通过失败");
+        }
+        return AjaxResult.success("申请通过");
+    }
 
     /**
      * 退出家族

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

@@ -81,7 +81,12 @@ public class FamilyMemberController extends AppBaseController {
         return getDataTable(list);
     }
 
-
     //家族树
+    public AjaxResult tree(){
+        return null;
+    }
+
+    //添加成员到家族树
 
+    //TODO 逻辑删除家族树的成员,是删除成员,还是从家族树撤下来;或者是已删除,但parentId还在
 }

+ 4 - 5
ruoyi-app/src/main/java/com/ruoyi/app/controller/MyFriendController.java

@@ -4,6 +4,8 @@ package com.ruoyi.app.controller;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
+import com.ruoyi.app.annotation.LoginAppUser;
+import com.ruoyi.app.base.AppLoginUser;
 import com.ruoyi.app.controller.base.AppBaseController;
 import com.ruoyi.app.domain.TbAppUser;
 import com.ruoyi.app.domain.TbMyFriends;
@@ -121,15 +123,12 @@ public class MyFriendController extends AppBaseController {
 
     @ApiOperation("申请列表")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "appUserId", value = "会员id",paramType="Long"),
             @ApiImplicitParam(name = "pageNum", value = "当前页",paramType="int"),
             @ApiImplicitParam(name = "pageSize", value = "每页行数",paramType="int")
     })
     @GetMapping("/selectApply")
-    public TableDataInfo selectApply(Long appUserId, Integer pageNum, Integer pageSize) {
-        if (appUserId == null) {
-            return new TableDataInfo();
-        }
+    public TableDataInfo selectApply(@LoginAppUser TbAppUser loginUser, Integer pageNum, Integer pageSize) {
+        Long appUserId = loginUser.getId();
         pageNum = pageNum == null ? 1 : pageNum;
         pageSize = pageSize == null ? 10 : pageSize;
         PageHelper.startPage(pageNum, pageSize, "create_time desc");

+ 10 - 0
ruoyi-system/src/main/java/com/ruoyi/app/domain/TbMemberMiddle.java

@@ -1,5 +1,6 @@
 package com.ruoyi.app.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -15,6 +16,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import java.io.Serializable;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
+
 import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
@@ -74,4 +77,11 @@ public class TbMemberMiddle implements Serializable {
     @ApiModelProperty(value="是否族长 Y是  N否")
     @Excel(name = "是否族长 Y是  N否")
     private String patriarch;
+
+    @ApiModelProperty(value="昵称")
+    @TableField(exist = false)
+    private String nickName;
+
+    @TableField(exist = false)
+    private List<TbMemberMiddle> list;
 }

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/app/mapper/TbAppUserMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.app.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.ruoyi.app.domain.TbAppUser;
+import com.ruoyi.app.domain.TbMyPublish;
 import com.ruoyi.app.domain.vo.AppMemberVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -30,5 +33,7 @@ public interface TbAppUserMapper extends BaseMapper<TbAppUser> {
                                        @Param("beginTime") String beginTime,
                                        @Param("endTime") String endTime);
 
+    List<AppMemberVo> selectMembers(@Param("type") String type,@Param("id") List<Long> ids);
+
     AppMemberVo getAppMember(@Param("type") String type, @Param("id") String id, @Param("search") String search);
 }

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/app/mapper/TbMemberMiddleMapper.java

@@ -1,7 +1,13 @@
 package com.ruoyi.app.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.ruoyi.app.domain.TbMemberMiddle;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.app.domain.TbMyPublish;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 家族/成员
@@ -11,4 +17,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface TbMemberMiddleMapper extends BaseMapper<TbMemberMiddle> {
 
+    List<TbMemberMiddle> selectApplyMember(@Param(Constants.WRAPPER) LambdaQueryWrapper<TbMemberMiddle> wrapper);
+
 }

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/app/service/ITbAppUserService.java

@@ -1,7 +1,10 @@
 package com.ruoyi.app.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.app.domain.TbAppUser;
+import com.ruoyi.app.domain.TbMyPublish;
 import com.ruoyi.app.domain.vo.AppMemberVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -17,6 +20,8 @@ public interface ITbAppUserService extends IService<TbAppUser> {
 
     List<AppMemberVo> selectAppMembers(String enable, String search, String beginTime, String endTime);
 
+    List<AppMemberVo> selectMembers(List<Long> memberIds);
+
     boolean saveOrUpdate(AppMemberVo memberVo);
 
     AppMemberVo getAppMember(String id,String search);

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/app/service/ITbMemberMiddleService.java

@@ -1,8 +1,11 @@
 package com.ruoyi.app.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.app.domain.TbMemberMiddle;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * 家族/成员
  *
@@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ITbMemberMiddleService extends IService<TbMemberMiddle> {
 
+    List<TbMemberMiddle> selectApplyMember(LambdaQueryWrapper<TbMemberMiddle> wrapper);
 }

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/app/service/impl/TbAppUserServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.app.domain.TbAppUser;
 import com.ruoyi.app.domain.TbFamilyMember;
 import com.ruoyi.app.domain.TbMemberMiddle;
+import com.ruoyi.app.domain.TbMyPublish;
 import com.ruoyi.app.domain.vo.AppMemberVo;
 import com.ruoyi.app.mapper.TbAppUserMapper;
 import com.ruoyi.app.service.ITbAppUserService;
@@ -48,6 +49,10 @@ public class TbAppUserServiceImpl extends ServiceImpl<TbAppUserMapper, TbAppUser
     public List<AppMemberVo> selectAppMembers(String enable, String search, String beginTime, String endTime){
         return baseMapper.selectAppMembers("user",enable, search, beginTime, endTime);
     }
+    @Override
+    public List<AppMemberVo> selectMembers(List<Long> memberIds) {
+        return baseMapper.selectMembers("user",memberIds);
+    }
 
     public List<AppMemberVo> selectFamilyMember(AppMemberVo memberVo){
         List<TbMemberMiddle> memberMiddleList = memberMiddleService.list(new LambdaQueryWrapper<TbMemberMiddle>()

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

@@ -72,4 +72,41 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
         return baseMapper.selectFamilyMember(lqw);
     }
 
+
+
+
+
+
+
+
+
+
+
+//test
+    public List<TbMemberMiddle> allList(Long familyId){
+        List<TbMemberMiddle> list = memberMiddleService.selectApplyMember(new LambdaQueryWrapper<TbMemberMiddle>()
+                .eq(TbMemberMiddle::getFamilyId,familyId)
+                .eq(TbMemberMiddle::getStatus,"2")
+        );
+        return list;
+    }
+
+    public TbMemberMiddle zeroParent(Long familyId){
+        return memberMiddleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
+                .eq(TbMemberMiddle::getFamilyId,familyId)
+                .eq(TbMemberMiddle::getParentId, 0).last("limit 1")
+        );
+    }
+
+    public List<TbMemberMiddle> listTree(TbMemberMiddle zero,List<TbMemberMiddle> list) {
+        List<TbMemberMiddle> middles = new ArrayList<>();
+//        for(TbMemberMiddle item : list) {
+//            if(zero.getId().equals(item.getParentId())){
+//                middles = listTree(item, list);
+//                item.setList(middles);
+//            }
+//        }
+        return middles;
+    }
+
 }

+ 13 - 0
ruoyi-system/src/main/java/com/ruoyi/app/service/impl/TbMemberMiddleServiceImpl.java

@@ -1,11 +1,15 @@
 package com.ruoyi.app.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.app.domain.TbPublishThumbs;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.app.mapper.TbMemberMiddleMapper;
 import com.ruoyi.app.domain.TbMemberMiddle;
 import com.ruoyi.app.service.ITbMemberMiddleService;
 
+import java.util.List;
+
 /**
  * 家族/成员
  *
@@ -15,4 +19,13 @@ import com.ruoyi.app.service.ITbMemberMiddleService;
 @Service
 public class TbMemberMiddleServiceImpl extends ServiceImpl<TbMemberMiddleMapper, TbMemberMiddle> implements ITbMemberMiddleService {
 
+    /**
+     * 根据成员ids获取申请列表
+     * @param wrapper
+     * @return
+     */
+    @Override
+    public List<TbMemberMiddle> selectApplyMember(LambdaQueryWrapper<TbMemberMiddle> wrapper) {
+        return baseMapper.selectApplyMember(wrapper);
+    }
 }

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

@@ -47,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectAppMembers" resultType="com.ruoyi.app.domain.vo.AppMemberVo" parameterType="String">
         <include refid="sqlAppMember"></include>
         <where>
-            deleted = 0
+            deleted = 'N'
             <if test="enable != null and enable != '' ">
                 AND enable = #{enable}
             </if>
@@ -75,6 +75,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
+    <select id="selectApplyMembers" resultType="com.ruoyi.app.domain.vo.AppMemberVo">
+        <include refid="sqlAppMember"></include>
+        <where>
+            b.id in
+            <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </where>
+    </select>
+
     <select id="getAppMember" parameterType="String" resultType="com.ruoyi.app.domain.vo.AppMemberVo">
         <include refid="sqlAppMember"></include>
         <where>

+ 7 - 0
ruoyi-system/src/main/resources/mapper/app/TbMemberMiddleMapper.xml

@@ -16,4 +16,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
 
+    <select id="selectApplyMember" resultType="com.ruoyi.app.domain.TbMemberMiddle">
+        select mi.*,u.nick_name
+        from tb_member_middle mi
+        left join tb_family_member m on mi.member_id = m.id
+        left join tb_app_user u on u.id = m.app_user_id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>