Jelajahi Sumber

添加家族成员

Alex 4 tahun lalu
induk
melakukan
195838295b

+ 114 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFamilyMemberController.java

@@ -0,0 +1,114 @@
+package com.ruoyi.web.controller.api;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.ruoyi.app.domain.vo.AppMemberVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import com.ruoyi.common.utils.StringUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.app.domain.TbFamilyMember;
+import com.ruoyi.app.service.ITbFamilyMemberService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 家族成员
+ * 
+ * @author Administrator
+ * @date 2020-10-08
+ */
+@Api(value = "家族成员", tags = "家族成员")
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/system/member" )
+public class TbFamilyMemberController extends BaseController {
+
+    private final ITbFamilyMemberService iTbFamilyMemberService;
+
+    /**
+     * 查询家族成员列表
+     */
+    @ApiOperation("查询家族成员列表")
+    @PreAuthorize("@ss.hasPermi('system:member:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AppMemberVo memberVo) {
+        startPage();
+        List<AppMemberVo> list = iTbFamilyMemberService.selectFamilyMember(memberVo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出家族成员列表
+     */
+    @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));
+    }
+
+    /**
+     * 新增家族成员
+     */
+    @ApiOperation("新增家族成员")
+    @PreAuthorize("@ss.hasPermi('system:member:add')" )
+    @Log(title = "家族成员" , businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AppMemberVo memberVo) {
+        return toAjax(iTbFamilyMemberService.saveOrUpdate(memberVo) ? 1 : 0);
+    }
+
+    /**
+     * 修改家族成员
+     */
+    @ApiOperation("修改家族成员")
+    @PreAuthorize("@ss.hasPermi('system:member:edit')" )
+    @Log(title = "家族成员" , businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AppMemberVo memberVo) {
+        return toAjax(iTbFamilyMemberService.saveOrUpdate(memberVo) ? 1 : 0);
+    }
+
+    /**
+     * 删除家族成员
+     */
+    @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);
+    }
+}

+ 1 - 0
ruoyi-generator/src/main/resources/vm/java/controller.java.vm

@@ -142,6 +142,7 @@ public class ${ClassName}Controller extends BaseController {
     }
 #elseif($table.tree)
     public AjaxResult list(${ClassName} ${className}) {
+        LambdaQueryWrapper<${ClassName}> lqw = new LambdaQueryWrapper<${ClassName}>();
         List<${ClassName}> list = i${ClassName}Service.list(lqw);
         return AjaxResult.success(list);
     }

+ 18 - 8
ruoyi-system/src/main/java/com/ruoyi/app/domain/TbFamilyMember.java

@@ -2,6 +2,8 @@ package com.ruoyi.app.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
@@ -15,12 +17,13 @@ import java.math.BigDecimal;
 import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
- * 家族成员对象 tb_family_member
- * 
- * @author Administrator
- * @date 2020-09-29
+ * 家族成员
+ *
+ * @author Alex
+ * @date 2020-10-08
  */
 @Data
+@ApiModel(value = "家族成员")
 @ToString
 @EqualsAndHashCode
 @NoArgsConstructor
@@ -32,36 +35,43 @@ public class TbFamilyMember implements Serializable {
 
 
     /** 主键ID */
+    @ApiModelProperty(value="主键ID")
     @TableId(value = "id")
     private Long id;
 
     /** 会员id */
+    @ApiModelProperty(value="会员id")
     @Excel(name = "会员id")
-    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private Long appUserId;
 
-    /** 配偶id */
-    @Excel(name = "配偶id")
-    private Long spouseId;
+    /** 配偶 */
+    @ApiModelProperty(value="配偶")
+    @Excel(name = "配偶")
+    private String spouse;
 
     /** 姓名 */
+    @ApiModelProperty(value="姓名")
     @Excel(name = "姓名")
     private String name;
 
     /** 生日 */
+    @ApiModelProperty(value="生日")
     @Excel(name = "生日" , width = 30, dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date birthday;
 
     /** 性别:1-男,2-女,0-未知(字典) */
+    @ApiModelProperty(value="性别:1-男,2-女,0-未知(字典)")
     @Excel(name = "性别:1-男,2-女,0-未知" , readConverterExp = "字=典")
     private String gender;
 
     /** 文化程度(字典) */
+    @ApiModelProperty(value="文化程度(字典)")
     @Excel(name = "文化程度" , readConverterExp = "字=典")
     private String education;
 
     /** 状态:1读书、2工作、3退休、4过世 */
+    @ApiModelProperty(value="状态:1读书、2工作、3退休、4过世")
     @Excel(name = "状态:1读书、2工作、3退休、4过世")
     private String state;
 

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

@@ -0,0 +1,67 @@
+package com.ruoyi.app.domain;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import com.ruoyi.common.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 家族/成员
+ * 
+ * @author Alex
+ * @date 2020-10-08
+ */
+@Data
+@ApiModel(value = "家族/成员")
+@ToString
+@EqualsAndHashCode
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("tb_member_middle")
+public class TbMemberMiddle implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+
+    /** 主键id */
+    @ApiModelProperty(value="主键id")
+    @TableId(value = "id")
+    private Long id;
+
+    /** 成员id */
+    @ApiModelProperty(value="成员id")
+    @Excel(name = "成员id")
+    private Long memberId;
+
+    /** 家族id */
+    @ApiModelProperty(value="家族id")
+    @Excel(name = "家族id")
+    private Long familyId;
+
+    /** 是否管理员  Y是  N否 */
+    @ApiModelProperty(value="是否管理员  Y是  N否")
+    @Excel(name = "是否管理员  Y是  N否")
+    private String admin;
+
+    /** 父成员id */
+    @ApiModelProperty(value="父成员id")
+    @Excel(name = "父成员id")
+    private Long parentId;
+
+    /** 申请状态 1申请 2同意 3拒绝 */
+    @ApiModelProperty(value="申请状态 1申请 2同意 3拒绝")
+    @Excel(name = "申请状态")
+    private String status;
+}

+ 16 - 6
ruoyi-system/src/main/java/com/ruoyi/app/domain/vo/AppMemberVo.java

@@ -12,9 +12,10 @@ import java.util.Date;
 
 @Data
 @ApiModel(value = "会员+家族成员")
-public class AppMemberVo extends BaseEntity implements Serializable {
+public class AppMemberVo extends BaseEntity {
 
-    private static final long serialVersionUID=1L;
+    @ApiModelProperty(value="家族id")
+    private Long familyId;
 
     @ApiModelProperty(value="会员id")
     private Long userId;
@@ -82,10 +83,10 @@ public class AppMemberVo extends BaseEntity implements Serializable {
 
 
 
-    /** 配偶id */
-    @ApiModelProperty(value="配偶id")
-    @Excel(name = "配偶id")
-    private Long spouseId;
+    /** 配偶 */
+    @ApiModelProperty(value="配偶")
+    @Excel(name = "配偶")
+    private String spouse;
 
     /** 姓名 */
     @ApiModelProperty(value="姓名")
@@ -113,6 +114,15 @@ public class AppMemberVo extends BaseEntity implements Serializable {
     @Excel(name = "状态:1读书、2工作、3退休、4过世")
     private String state;
 
+    @ApiModelProperty(value="母亲")
+    private String motherName;
+    @ApiModelProperty(value="父亲")
+    private String parentName;
+    @ApiModelProperty(value="父亲id")
+    private Long parentId;
+    @ApiModelProperty(value="申请状态 1申请 2同意 3拒绝")
+    private String status;
+
 
     private Long memberCreateBy;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

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

@@ -1,7 +1,14 @@
 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.TbFamilyMember;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.app.domain.TbMyPublish;
+import com.ruoyi.app.domain.vo.AppMemberVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 家族成员Mapper接口
@@ -11,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface TbFamilyMemberMapper extends BaseMapper<TbFamilyMember> {
 
+    List<AppMemberVo> selectFamilyMember(@Param(Constants.WRAPPER) LambdaQueryWrapper<AppMemberVo> wrapper);
 }

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

@@ -0,0 +1,14 @@
+package com.ruoyi.app.mapper;
+
+import com.ruoyi.app.domain.TbMemberMiddle;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 家族/成员
+ *
+ * @author Alex
+ * @date 2020-10-08
+ */
+public interface TbMemberMiddleMapper extends BaseMapper<TbMemberMiddle> {
+
+}

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

@@ -2,6 +2,9 @@ package com.ruoyi.app.service;
 
 import com.ruoyi.app.domain.TbFamilyMember;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.app.domain.vo.AppMemberVo;
+
+import java.util.List;
 
 /**
  * 家族成员Service接口
@@ -11,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ITbFamilyMemberService extends IService<TbFamilyMember> {
 
+    boolean saveOrUpdate(AppMemberVo memberVo);
+    List<AppMemberVo> selectFamilyMember(AppMemberVo memberVo);
 }

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

@@ -0,0 +1,14 @@
+package com.ruoyi.app.service;
+
+import com.ruoyi.app.domain.TbMemberMiddle;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 家族/成员
+ *
+ * @author Alex
+ * @date 2020-10-08
+ */
+public interface ITbMemberMiddleService extends IService<TbMemberMiddle> {
+
+}

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

@@ -1,11 +1,14 @@
 package com.ruoyi.app.service.impl;
 
+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.vo.AppMemberVo;
 import com.ruoyi.app.mapper.TbAppUserMapper;
 import com.ruoyi.app.service.ITbAppUserService;
 import com.ruoyi.app.service.ITbFamilyMemberService;
+import com.ruoyi.app.service.ITbMemberMiddleService;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +16,7 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -30,6 +34,8 @@ public class TbAppUserServiceImpl extends ServiceImpl<TbAppUserMapper, TbAppUser
     private ITbFamilyMemberService memberService;
     @Autowired
     private ITbAppUserService userService;
+    @Autowired
+    private ITbMemberMiddleService memberMiddleService;
 
     /**
      * 获取所有未删除状态的会员信息列表
@@ -40,6 +46,22 @@ public class TbAppUserServiceImpl extends ServiceImpl<TbAppUserMapper, TbAppUser
         return baseMapper.selectAppMembers("user",enable, search, beginTime, endTime);
     }
 
+    public List<AppMemberVo> selectFamilyMember(AppMemberVo memberVo){
+        List<TbMemberMiddle> memberMiddleList = memberMiddleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
+            .eq(TbMemberMiddle::getFamilyId, memberVo.getFamilyId())
+        );
+        if (memberMiddleList.size() <= 0) {
+            return new ArrayList<>();
+        }
+        List<Long> ids = new ArrayList<>();
+        memberMiddleList.forEach(item -> {
+            ids.add(item.getMemberId());
+        });
+
+//        List<AppMemberVo> memberList =
+        return null;
+    }
+
     /**
      * 添加/修改会员
      * @param memberVo

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

@@ -1,11 +1,21 @@
 package com.ruoyi.app.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.app.mapper.TbFamilyMemberMapper;
 import com.ruoyi.app.domain.TbFamilyMember;
 import com.ruoyi.app.service.ITbFamilyMemberService;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 家族成员Service业务层处理
  *
@@ -15,4 +25,51 @@ import com.ruoyi.app.service.ITbFamilyMemberService;
 @Service
 public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper, TbFamilyMember> implements ITbFamilyMemberService {
 
+    @Autowired
+    private ITbAppUserService userService;
+    @Autowired
+    private ITbMemberMiddleService memberMiddleService;
+
+    /**
+     * 添加家族成员
+     * @param memberVo
+     * @return
+     */
+    @Override
+    public boolean saveOrUpdate(AppMemberVo memberVo){
+        if(!userService.saveOrUpdate(memberVo)){
+            return false;
+        }
+
+        TbMemberMiddle memberMiddle = memberMiddleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
+                .eq(TbMemberMiddle::getFamilyId, memberVo.getFamilyId())
+                .eq(TbMemberMiddle::getMemberId, memberVo.getMemberId())
+        );
+        //新增
+        if (memberMiddle == null) {
+            TbMemberMiddle item = new TbMemberMiddle();
+            item.setFamilyId(memberVo.getFamilyId());
+            item.setMemberId(memberVo.getMemberId());
+            memberMiddleService.save(item);
+        }
+        return true;
+    }
+
+    @Override
+    public List<AppMemberVo> selectFamilyMember(AppMemberVo memberVo) {
+        LambdaQueryWrapper<AppMemberVo> lqw = new LambdaQueryWrapper<>();
+        if (memberVo.getFamilyId() == null) {
+            return new ArrayList<>();
+        }
+        lqw.eq(AppMemberVo::getFamilyId, memberVo.getFamilyId());
+
+        if (StringUtils.isNotBlank(memberVo.getSearchValue())) {
+            lqw.like(AppMemberVo::getName,memberVo.getSearchValue()).or()
+                    .like(AppMemberVo::getNickName,memberVo.getSearchValue()).or()
+                    .like(AppMemberVo::getMobile,memberVo.getSearchValue()).or()
+                    .like(AppMemberVo::getQrcode,memberVo.getSearchValue());
+        }
+        return baseMapper.selectFamilyMember(lqw);
+    }
+
 }

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

@@ -45,6 +45,7 @@ public class TbFamilyServiceImpl extends ServiceImpl<TbFamilyMapper, TbFamily> i
     @Override
     public boolean saveFamily(TbFamily family){
         if (familyService.save(family)) {
+            // TODO 如果是APP端添加,则把添加人设置为家族管理员
             family.setCode(StringUtils.codeFormat(family.getId()));
         }
         return familyService.updateById(family);

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

@@ -0,0 +1,18 @@
+package com.ruoyi.app.service.impl;
+
+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;
+
+/**
+ * 家族/成员
+ *
+ * @author Alex
+ * @date 2020-10-08
+ */
+@Service
+public class TbMemberMiddleServiceImpl extends ServiceImpl<TbMemberMiddleMapper, TbMemberMiddle> implements ITbMemberMiddleService {
+
+}

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

@@ -29,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select a.id user_id,a.joins,a.template_id,a.nick_name,a.avatar,a.qrcode,a.mobile,a.openid,a.ver_code,a.deleted,a.enable,a.login_time,a.login_ip,
         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_id,b.name,b.birthday,b.gender,b.education,b.state,
+        b.id member_id,b.spouse,b.name,b.birthday,b.gender,b.education,b.state,
         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' ">

+ 10 - 1
ruoyi-system/src/main/resources/mapper/app/TbFamilyMemberMapper.xml

@@ -7,7 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="TbFamilyMember" id="TbFamilyMemberResult">
         <result property="id"    column="id"    />
         <result property="appUserId"    column="app_user_id"    />
-        <result property="spouseId"    column="spouse_id"    />
+        <result property="spouse"    column="spouse"    />
         <result property="name"    column="name"    />
         <result property="birthday"    column="birthday"    />
         <result property="gender"    column="gender"    />
@@ -20,5 +20,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="remark"    column="remark"    />
     </resultMap>
 
+    <select id="selectFamilyMember" resultType="com.ruoyi.app.domain.vo.AppMemberVo">
+        select u.mobile,u.qrcode,u.nick_name, m.name,m.gender,m.birthday,m.spouse,mi.status,
+        mi.parent_id,(select me.name from tb_family_member me where mi.parent_id = me.app_user_id) parent_name,
+        (select me.spouse from tb_family_member me where mi.parent_id = me.app_user_id) mother_name
+        from tb_app_user u
+        left join tb_family_member m on u.id = m.app_user_id
+        left join tb_member_middle mi on m.id = mi.member_id
+        ${ew.customSqlSegment}
+    </select>
 
 </mapper>

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

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.app.mapper.TbMemberMiddleMapper">
+    
+    <resultMap type="TbMemberMiddle" id="TbMemberMiddleResult">
+        <result property="id"    column="id"    />
+        <result property="memberId"    column="member_id"    />
+        <result property="familyId"    column="family_id"    />
+        <result property="admin"    column="admin"    />
+        <result property="parentId"    column="parent_id"    />
+        <result property="status"    column="status"    />
+    </resultMap>
+
+
+</mapper>

+ 0 - 4
ruoyi-system/src/main/resources/mapper/app/TbMyFriendsMapper.xml

@@ -16,10 +16,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="remark"    column="remark"    />
     </resultMap>
 
-    <sql id="friendsSql">
-
-    </sql>
-
     <select id="listFriends" resultType="com.ruoyi.app.domain.TbMyFriends" parameterType="String">
         select * from (
         select f.*,(select u.nick_name from tb_app_user u where f.app_user_id = u.id) nick_name