소스 검색

修改编辑家族成员时出现的问题

Alex 4 년 전
부모
커밋
1d8db7080b

+ 1 - 8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TbFamilyMemberController.java

@@ -137,14 +137,7 @@ public class TbFamilyMemberController extends BaseController {
     @Log(title = "家族成员" , businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody AppMemberVo memberVo) {
-        if (memberVo.getUserId().equals(memberVo.getSpouseUserId())) {
-            return AjaxResult.error("配偶不能选自己");
-        }
-        if (memberVo.getParentId() != null && memberVo.getSpouseUserId() != null &&
-                memberVo.getParentId().equals(memberVo.getSpouseUserId())) {
-            return AjaxResult.error("父辈与配偶不能为同一人");
-        }
-        return toAjax(iTbFamilyMemberService.saveOrUpdate(memberVo) ? 1 : 0);
+        return iTbFamilyMemberService.edit(memberVo);
     }
 
     /**

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

@@ -172,26 +172,7 @@ public class FamilyMemberController extends AppBaseController {
     @ApiOperation("编辑成员")
     @PostMapping("/edit")
     public AjaxResult edit(@RequestBody AppMemberVo member) {
-        if (member == null) {
-            return AjaxResult.error("成员信息不能为空");
-        }
-        if (StringUtils.isBlank(member.getMobile())){
-            return AjaxResult.error("手机号不能为空");
-        }
-        if (member.getUserId().equals(member.getSpouseUserId())) {
-            return AjaxResult.error("不能选择自己为配偶");
-        }
-        AppMemberVo memberVo = appUserService.getAppMember(null,member.getMobile());
-        if (memberVo == null) {
-            return AjaxResult.error("保存失败,成员信息不能为空");
-        }
-        // TODO copy后,id不知道还有没有
-        BeanUtils.copyBeanProp(memberVo,member);
-
-        if(!appUserService.saveOrUpdate(memberVo)){
-            return AjaxResult.error("保存失败");
-        }
-        return AjaxResult.success("保存成功");
+        return memberService.edit(member);
     }
 
 

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

@@ -30,4 +30,5 @@ public interface ITbFamilyMemberService extends IService<TbFamilyMember> {
     boolean saveFamilyTree(TbMemberMiddle member);
     AjaxResult delMember(String familyId, Long[] ids);
     AjaxResult delToTree(Long memberId, Long familyId);
+    AjaxResult edit(AppMemberVo memberVo);
 }

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

@@ -351,4 +351,47 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
         }
         return AjaxResult.success("删除成功");
     }
+
+    @Override
+    public AjaxResult edit(AppMemberVo member) {
+        if (member == null) {
+            return AjaxResult.error("成员信息不能为空");
+        }
+        if (member.getUserId() == null) {
+            return AjaxResult.error("会员id不能为空");
+        }
+        if (member.getMemberId() == null) {
+            return AjaxResult.error("成员id不能为空");
+        }
+        if (StringUtils.isBlank(member.getMobile())){
+            return AjaxResult.error("手机号不能为空");
+        }
+        if (member.getUserId() != null && member.getSpouseUserId() != null &&
+                member.getUserId().equals(member.getSpouseUserId())) {
+            return AjaxResult.error("不能选择自己为配偶");
+        }
+        if (member.getParentId() != null && member.getSpouseUserId() != null &&
+                member.getParentId().equals(member.getSpouseUserId())) {
+            return AjaxResult.error("父辈与配偶不能为同一人");
+        }
+        // 根据memberID获取
+        AppMemberVo memberVo1 = userService.getMember("member",member.getMemberId().toString(),null);
+        // 根据手机号获取
+        AppMemberVo memberVo2 = userService.getAppMember(null,member.getMobile());
+        if (memberVo1 == null) {
+            return AjaxResult.error("保存失败,成员信息为空");
+        }
+        if (memberVo2 != null){
+            // 手机号更改并且手机号已存在
+            if (!memberVo1.getMobile().equals(member.getMobile()) &&
+                    memberVo2.getMobile().equals(member.getMobile())) {
+                return AjaxResult.error("修改的手机号已存在");
+            }
+        }
+
+        if(!userService.saveOrUpdate(member)){
+            return AjaxResult.error("保存失败");
+        }
+        return AjaxResult.success("保存成功");
+    }
 }