Browse Source

修改家族管理

Alex 4 years ago
parent
commit
c66a36f7db

+ 15 - 38
ruoyi-app/src/main/java/com/ruoyi/app/controller/FamilyController.java

@@ -91,7 +91,8 @@ public class FamilyController extends AppBaseController {
      */
     @ApiOperation("我的默认家族")
     @GetMapping("/myFamily")
-    public AjaxResult myFamily(@LoginAppUser AppMemberVo memberVo){
+    public AjaxResult myFamily(){
+        AppMemberVo memberVo = getLoginUser().getUser();
         Long memberId = memberVo.getMemberId();
         if (memberId == null) {
             return AjaxResult.error("成员id不能为空");
@@ -102,7 +103,8 @@ public class FamilyController extends AppBaseController {
 
     @ApiOperation("我的家族列表")
     @GetMapping("/myList")
-    public AjaxResult myList(@LoginAppUser AppMemberVo memberVo){
+    public AjaxResult myList(){
+        AppMemberVo memberVo = getLoginUser().getUser();
         Long memberId = memberVo.getMemberId();
         if (memberId == null) {
             return AjaxResult.error("成员id不能为空");
@@ -116,7 +118,8 @@ public class FamilyController extends AppBaseController {
     @ApiOperation("创建家族")
     @PostMapping("/create")
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult add(@LoginAppUser AppMemberVo memberVo,@RequestBody TbFamily tbFamily) {
+    public AjaxResult add(@RequestBody TbFamily tbFamily) {
+        AppMemberVo memberVo = getLoginUser().getUser();
         Date date = new Date();
         tbFamily.setCreateTime(date);
         tbFamily.setUpdateTime(date);
@@ -140,7 +143,8 @@ public class FamilyController extends AppBaseController {
     @ApiOperation("切换家族")
     @ApiImplicitParam(name = "familyId", value = "切换的家族ID",paramType="Long")
     @GetMapping("/change")
-    public AjaxResult change(@LoginAppUser AppMemberVo memberVo,Long familyId) {
+    public AjaxResult change(Long familyId) {
+        AppMemberVo memberVo = getLoginUser().getUser();
         Long memberId = memberVo.getMemberId();
         if(familyService.change(memberId,familyId)){
             return AjaxResult.success();
@@ -153,44 +157,16 @@ public class FamilyController extends AppBaseController {
      * @param familyId
      * @return
      */
-    @Transactional(rollbackFor = Exception.class)
     @ApiOperation("申请加入家族")
     @ApiImplicitParam(name = "familyId", value = "申请的家族ID",paramType="Long")
     @GetMapping("/join")
-    public AjaxResult join(@LoginAppUser AppMemberVo memberVo, Long familyId) {
-
-        List<TbMemberMiddle> middles = middleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
-                .eq(TbMemberMiddle::getFamilyId,familyId)
-                .eq(TbMemberMiddle::getMemberId,memberVo.getMemberId())
-                .eq(TbMemberMiddle::getStatus,"2")
-        );
-        if (middles.size() > 0) {
-            return AjaxResult.error("已在该家族,不允许重复加入");
-        }
-
-        memberVo.setJoins("Y");
-        // 保存成员
-        if(appUserService.saveOrUpdate(memberVo)){
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return AjaxResult.error("申请失败");
-        }
-        // 是否已加入过家族
-        List<TbMemberMiddle> middleList = middleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
-                .eq(TbMemberMiddle::getMemberId,memberVo.getMemberId())
-        );
-        TbMemberMiddle middle = new TbMemberMiddle();
-        if (middleList.size() == 0) {
-            // 如果从未加入过家族,则设置为默认家族
-            middle.setAcquiesce("Y");
-        }
-        middle.setFamilyId(familyId);
-        middle.setMemberId(memberVo.getMemberId());
-        middle.setStatus("1"); // 申请
-        if(!middleService.save(middle)){
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return AjaxResult.error("申请失败");
+    public AjaxResult join(Long familyId) {
+        if (familyId == null) {
+            return AjaxResult.error("家族id不能为空");
         }
-        return AjaxResult.success("申请成功");
+        AppMemberVo memberVo = getLoginUser().getUser();
+        memberVo.setFamilyId(familyId);
+        return familyService.applyFamily(memberVo);
     }
 
 
@@ -254,6 +230,7 @@ public class FamilyController extends AppBaseController {
         TbMemberMiddle middle = middleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
                 .eq(TbMemberMiddle::getMemberId,user.getMemberId())
                 .eq(TbMemberMiddle::getFamilyId,familyId)
+                .last("limit 1")
         );
         if (middle == null){
             return AjaxResult.error("未加入家族");

+ 1 - 0
ruoyi-app/src/main/java/com/ruoyi/app/controller/MyFriendController.java

@@ -107,6 +107,7 @@ public class MyFriendController extends AppBaseController {
                         i -> i.eq(TbMyFriends::getAppUserId,friends.getFriendsUserId())
                         .eq(TbMyFriends::getFriendsUserId,friends.getAppUserId())
                 )
+                .last("limit 1")
         );
         // 已存在并已通过
         if (item != null && item.getStatus().equals("2")) {

+ 1 - 0
ruoyi-app/src/main/java/com/ruoyi/app/controller/PublishThumbsController.java

@@ -57,6 +57,7 @@ public class PublishThumbsController extends AppBaseController {
         TbPublishThumbs thumbs = thumbsService.getOne(new LambdaQueryWrapper<TbPublishThumbs>()
                 .eq(TbPublishThumbs::getPublishId, publishId)
                 .eq(TbPublishThumbs::getAppUserId,appUserId)
+                .last("limit 1")
         );
         Date date = new Date();
         // 点赞

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

@@ -5,6 +5,8 @@ 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 com.ruoyi.app.domain.vo.AppMemberVo;
+import com.ruoyi.common.core.domain.AjaxResult;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -23,4 +25,5 @@ public interface ITbFamilyService extends IService<TbFamily> {
     boolean saveFamily(TbFamily family);
     TbFamily myFamily(Long memberId);
     boolean change(Long memberId,Long familyId);
+    AjaxResult applyFamily(AppMemberVo memberVo);
 }

+ 3 - 1
ruoyi-system/src/main/java/com/ruoyi/app/service/impl/TbFamilyMemberServiceImpl.java

@@ -75,6 +75,7 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
         TbMemberMiddle memberMiddle = memberMiddleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
                 .eq(TbMemberMiddle::getFamilyId, member.getFamilyId())
                 .eq(TbMemberMiddle::getMemberId, member.getMemberId())
+                .last("limit 1")
         );
         //新增
         if (memberMiddle == null) {
@@ -219,7 +220,8 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
         return memberMiddleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
                 .eq(TbMemberMiddle::getFamilyId,familyId)
                 .eq(TbMemberMiddle::getStatus,"2")
-                .eq(TbMemberMiddle::getParentId, 0).last("limit 1")
+                .eq(TbMemberMiddle::getParentId, 0)
+                .last("limit 1")
         );
     }
     /**

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

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.app.domain.TbMemberMiddle;
 import com.ruoyi.app.domain.vo.AppFamilyVo;
+import com.ruoyi.app.domain.vo.AppMemberVo;
+import com.ruoyi.app.service.ITbAppUserService;
 import com.ruoyi.app.service.ITbMemberMiddleService;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.StringUtils;
@@ -13,6 +15,8 @@ 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 org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.util.Date;
 import java.util.List;
@@ -30,6 +34,8 @@ public class TbFamilyServiceImpl extends ServiceImpl<TbFamilyMapper, TbFamily> i
     private ITbFamilyService familyService;
     @Autowired
     private ITbMemberMiddleService middleService;
+    @Autowired
+    private ITbAppUserService userService;
 
     /**
      * 根据会员id获取家族列表
@@ -55,6 +61,43 @@ public class TbFamilyServiceImpl extends ServiceImpl<TbFamilyMapper, TbFamily> i
         return baseMapper.pageList(wrapper);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public AjaxResult applyFamily(AppMemberVo memberVo){
+
+        List<TbMemberMiddle> middles = middleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
+                .eq(TbMemberMiddle::getFamilyId,memberVo.getFamilyId())
+                .eq(TbMemberMiddle::getMemberId,memberVo.getMemberId())
+                .eq(TbMemberMiddle::getStatus,"2")
+        );
+        if (middles.size() > 0) {
+            return AjaxResult.error("已在该家族,不允许重复加入");
+        }
+
+        memberVo.setJoins("Y");
+        // 保存成员
+        if(userService.saveOrUpdate(memberVo)){
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("申请失败");
+        }
+        // 是否已加入过家族
+        List<TbMemberMiddle> middleList = middleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
+                .eq(TbMemberMiddle::getMemberId,memberVo.getMemberId())
+        );
+        TbMemberMiddle middle = new TbMemberMiddle();
+        if (middleList.size() == 0) {
+            // 如果从未加入过家族,则设置为默认家族
+            middle.setAcquiesce("Y");
+        }
+        middle.setFamilyId(memberVo.getFamilyId());
+        middle.setMemberId(memberVo.getMemberId());
+        middle.setStatus("1"); // 申请
+        if(!middleService.save(middle)){
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("申请失败");
+        }
+        return AjaxResult.success("申请成功");
+    }
 
     @Override
     public boolean saveFamily(TbFamily family){
@@ -70,11 +113,13 @@ public class TbFamilyServiceImpl extends ServiceImpl<TbFamilyMapper, TbFamily> i
         TbMemberMiddle middle = middleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
                 .eq(TbMemberMiddle::getMemberId, memberId)
                 .eq(TbMemberMiddle::getAcquiesce, "Y")
+                .last("limit 1")
         );
         if (middle == null) {
             // 没有默认家族,则设置第一个家族为默认
             middle = middleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
-                    .eq(TbMemberMiddle::getMemberId, memberId).last("limit 1")
+                    .eq(TbMemberMiddle::getMemberId, memberId)
+                    .last("limit 1")
             );
             if (middle == null) {
                 return null;
@@ -84,6 +129,7 @@ public class TbFamilyServiceImpl extends ServiceImpl<TbFamilyMapper, TbFamily> i
         }
         TbFamily family = familyService.getOne(new LambdaQueryWrapper<TbFamily>()
                 .eq(TbFamily::getId, middle.getFamilyId())
+                .last("limit 1")
         );
         return family;
     }