浏览代码

修改家族树

Alex 4 年之前
父节点
当前提交
9b42e0024a

+ 10 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFamilyMemberController.java

@@ -5,13 +5,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import java.util.List;
 import java.util.Arrays;
 
+import com.ruoyi.app.domain.TbAppUser;
 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;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -111,8 +112,14 @@ public class TbFamilyMemberController extends BaseController {
         if (StringUtils.isBlank(memberVo.getMobile())){
             return AjaxResult.error("手机号不能为空");
         }
-        if (memberVo.getUserId().equals(memberVo.getSpouseUserId())) {
-            return AjaxResult.error("配偶不能选自己");
+        if (StringUtils.isNotBlank(memberVo.getMobile())) {
+            TbAppUser appUser = userService.getOne(new LambdaQueryWrapper<TbAppUser>()
+                    .eq(TbAppUser::getMobile, memberVo.getMobile())
+                    .last("limit 1")
+            );
+            if (appUser!=null && StringUtils.isNotBlank(appUser.getMobile())) {
+                return AjaxResult.error("该手机号已经存在");
+            }
         }
         return toAjax(iTbFamilyMemberService.saveOrUpdate(memberVo) ? 1 : 0);
     }

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

@@ -116,7 +116,6 @@ public class TbAppUserServiceImpl extends ServiceImpl<TbAppUserMapper, TbAppUser
         member.setAppUserId(appUser.getId());
         // 新增成员
         if (memberVo.getMemberId() == null) {
-            member.setName(memberVo.getNickName());
             member.setPyCode(CodeUtil.getFirstLetter(memberVo.getNickName()));
             member.setPyFirst(CodeUtil.getOneLetter(memberVo.getNickName()));
             member.setCreateBy(memberVo.getUserCreateBy());

+ 17 - 9
ruoyi-system/src/main/java/com/ruoyi/app/service/impl/TbFamilyMemberServiceImpl.java

@@ -53,28 +53,34 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
      */
     @Override
     public boolean saveOrUpdate(AppMemberVo memberVo){
-        if (memberVo.getUserId().equals(memberVo.getSpouseUserId())) {
+        if (memberVo.getUserId()!=null &&
+                memberVo.getUserId().equals(memberVo.getSpouseUserId())) {
             return false;
         }
         if (StringUtils.isBlank(memberVo.getMobile())){
             return false;
         }
         AppMemberVo member = userService.getMember("member",null,memberVo.getMobile());
-        if (member != null) {
-            BeanUtils.copyBeanProp(member, memberVo);
+        if (member == null) {
+            member = new AppMemberVo();
         }
-        if(!userService.saveOrUpdate(memberVo)){
+
+        BeanUtils.copyBeanProp(member, memberVo);
+        if (StringUtils.isBlank(member.getNickName())) {
+            member.setNickName(member.getName());
+        }
+        if(!userService.saveOrUpdate(member)){
             return false;
         }
         TbMemberMiddle memberMiddle = memberMiddleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
-                .eq(TbMemberMiddle::getFamilyId, memberVo.getFamilyId())
-                .eq(TbMemberMiddle::getMemberId, memberVo.getMemberId())
+                .eq(TbMemberMiddle::getFamilyId, member.getFamilyId())
+                .eq(TbMemberMiddle::getMemberId, member.getMemberId())
         );
         //新增
         if (memberMiddle == null) {
             TbMemberMiddle item = new TbMemberMiddle();
-            item.setFamilyId(memberVo.getFamilyId());
-            item.setMemberId(memberVo.getMemberId());
+            item.setFamilyId(member.getFamilyId());
+            item.setMemberId(member.getMemberId());
             memberMiddleService.save(item);
         }
         return true;
@@ -112,16 +118,18 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
             return AjaxResult.error("删除失败,没有找到要删除的数据");
         }
         AtomicInteger ck = new AtomicInteger(0);
+        List<Long> mids = new ArrayList<>();
         middleList.forEach(item -> {
             if (item.getParentId() != null) {
                 ck.set(1);
             }
+            mids.add(item.getId());
         });
         // 如果成员已加入家族树,则需要先从家族树删除,才能删除成员
         if(ck.intValue() > 0) {
             return AjaxResult.error("删除失败,成员已加入家族树");
         }
-        if(!memberMiddleService.removeByIds(idList)) {
+        if(!memberMiddleService.removeByIds(mids)) {
             return AjaxResult.error("删除失败");
         }
         return AjaxResult.success();