Alex 4 rokov pred
rodič
commit
b6e4e1cc70

+ 6 - 8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFamilyController.java

@@ -2,6 +2,7 @@ package com.ruoyi.web.controller.api;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Arrays;
 
@@ -68,16 +69,10 @@ public class TbFamilyController extends BaseController {
         if (StringUtils.isNotBlank(tbFamily.getAddress())){
             lqw.eq(TbFamily::getAddress ,tbFamily.getAddress());
         }
-        if (StringUtils.isNotBlank(tbFamily.getContents())){
-            lqw.eq(TbFamily::getContents ,tbFamily.getContents());
-        }
-        if (StringUtils.isNotBlank(tbFamily.getAvatar())){
-            lqw.eq(TbFamily::getAvatar ,tbFamily.getAvatar());
-        }
         if (StringUtils.isNotBlank(tbFamily.getCity())){
             lqw.eq(TbFamily::getCity ,tbFamily.getCity());
         }
-        List<TbFamily> list = iTbFamilyService.list(lqw);
+        List<AppFamilyVo> list = iTbFamilyService.pageList(lqw);
         return getDataTable(list);
     }
 
@@ -126,7 +121,10 @@ public class TbFamilyController extends BaseController {
     @Log(title = "家族" , businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody TbFamily tbFamily) {
-        return toAjax(iTbFamilyService.save(tbFamily) ? 1 : 0);
+        Date date = new Date();
+        tbFamily.setCreateTime(date);
+        tbFamily.setUpdateTime(date);
+        return toAjax(iTbFamilyService.saveFamily(tbFamily) ? 1 : 0);
     }
 
     /**

+ 16 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java

@@ -261,6 +261,22 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
     }
 
     /**
+     * ID格式化
+     * @param id
+     * @return
+     */
+    public static String codeFormat(Long id) {
+        if (id == null) {
+            return null;
+        }
+        String template = "%08d";
+        if (id > 99999999) {
+            template = "%09d";
+        }
+        return String.format(template, id);
+    }
+
+    /**
      * 字符串转set
      * 
      * @param str 字符串

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

@@ -60,6 +60,10 @@ public class TbFamily extends BaseEntity {
     @Excel(name = "所在城市")
     private String city;
 
+    /** 家族地址编码 */
+    @ApiModelProperty(value="家族地址编码")
+    @Excel(name = "家族地址编码")
+    private String addressCode;
     /** 家族地址 */
     @ApiModelProperty(value="家族地址")
     @Excel(name = "家族地址")

+ 7 - 2
ruoyi-system/src/main/java/com/ruoyi/app/domain/vo/AppFamilyVo.java

@@ -10,7 +10,7 @@ import lombok.Data;
 public class AppFamilyVo extends BaseEntity {
 
     @ApiModelProperty(value="家族id")
-    private Long familyId;
+    private Long id;
     @ApiModelProperty(value="中间表id")
     private Long middleId;
     @ApiModelProperty(value="成员id")
@@ -38,6 +38,10 @@ public class AppFamilyVo extends BaseEntity {
     @ApiModelProperty(value="所在城市")
     private String city;
 
+    /** 家族地址编码 */
+    @ApiModelProperty(value="家族地址编码")
+    private String addressCode;
+
     /** 家族地址 */
     @ApiModelProperty(value="家族地址")
     private String address;
@@ -50,5 +54,6 @@ public class AppFamilyVo extends BaseEntity {
     @ApiModelProperty(value="家族头像url")
     private String avatar;
 
-
+    @ApiModelProperty(value="创建者")
+    private String createName;
 }

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/app/mapper/TbFamilyMapper.java

@@ -1,7 +1,10 @@
 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.TbFamily;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.app.domain.vo.AppFamilyVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -15,4 +18,5 @@ import java.util.List;
 public interface TbFamilyMapper extends BaseMapper<TbFamily> {
 
     List<TbFamily> selectByUserId(@Param("userId") Long uid);
+    List<AppFamilyVo> pageList(@Param(Constants.WRAPPER) LambdaQueryWrapper<TbFamily> wrapper);
 }

+ 6 - 0
ruoyi-system/src/main/java/com/ruoyi/app/service/ITbFamilyService.java

@@ -1,7 +1,11 @@
 package com.ruoyi.app.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.ruoyi.app.domain.TbFamily;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.app.domain.vo.AppFamilyVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -14,4 +18,6 @@ import java.util.List;
 public interface ITbFamilyService extends IService<TbFamily> {
 
     List<TbFamily> selectByUserId(Long uid);
+    List<AppFamilyVo> pageList(LambdaQueryWrapper<TbFamily> wrapper);
+    boolean saveFamily(TbFamily family);
 }

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

@@ -2,12 +2,16 @@ package com.ruoyi.app.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.app.domain.vo.AppFamilyVo;
+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.TbFamilyMapper;
 import com.ruoyi.app.domain.TbFamily;
 import com.ruoyi.app.service.ITbFamilyService;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -19,6 +23,9 @@ import java.util.List;
 @Service
 public class TbFamilyServiceImpl extends ServiceImpl<TbFamilyMapper, TbFamily> implements ITbFamilyService {
 
+    @Autowired
+    private ITbFamilyService familyService;
+
     /**
      * 根据会员id获取家族列表
      * @param uid
@@ -28,4 +35,18 @@ public class TbFamilyServiceImpl extends ServiceImpl<TbFamilyMapper, TbFamily> i
     public List<TbFamily> selectByUserId(Long uid) {
         return baseMapper.selectByUserId(uid);
     }
+
+    @Override
+    public List<AppFamilyVo> pageList(LambdaQueryWrapper<TbFamily> wrapper){
+        return baseMapper.pageList(wrapper);
+    }
+
+
+    @Override
+    public boolean saveFamily(TbFamily family){
+        if (familyService.save(family)) {
+            family.setCode(StringUtils.codeFormat(family.getId()));
+        }
+        return familyService.updateById(family);
+    }
 }

+ 15 - 2
ruoyi-system/src/main/resources/mapper/app/TbFamilyMapper.xml

@@ -11,6 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="fullName"    column="full_name"    />
         <result property="hometown"    column="hometown"    />
         <result property="city"    column="city"    />
+        <result property="addressCode"    column="address_code"    />
         <result property="address"    column="address"    />
         <result property="contents"    column="contents"    />
         <result property="avatar"    column="avatar"    />
@@ -21,9 +22,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="remark"    column="remark"    />
     </resultMap>
 
+    <sql id="familySql">
+        select f.id, f.name,f.address_code,f.address,f.contents,f.avatar,f.city,f.code,f.full_name,f.hometown,
+        f.create_by,f.create_time,f.update_by,f.update_time,f.remark,
+        (select u.nick_name from tb_app_user u where u.id = f.create_by) create_name
+        from tb_family f
+    </sql>
+
+    <select id="pageList" resultType="com.ruoyi.app.domain.vo.AppFamilyVo">
+        <include refid="familySql"></include>
+        ${ew.customSqlSegment}
+    </select>
+
     <select id="selectByUserId" resultType="com.ruoyi.app.domain.vo.AppFamilyVo">
-        select f.id family_id,mi.id middle_id,m.id member_id,
-        f.name family_name,f.address,f.contents,f.avatar,f.city,f.code,f.full_name,f.hometown,
+        select f.id,mi.id middle_id,m.id member_id,
+        f.name,f.address,f.contents,f.avatar,f.city,f.code,f.full_name,f.hometown,
         f.create_by,f.create_time,f.update_by,f.update_time,f.remark
         from tb_family f
         left join tb_member_middle mi on f.id = mi.family_id