Browse Source

Merge branch 'dev/2024/0607/update-app-Y' of feifan/mall-backend-app into master

修改团队成员的显示
Yangzw 9 months ago
parent
commit
7c476bacb7

+ 6 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathRespVO.java

@@ -72,4 +72,10 @@ public class SharePathRespVO {
 
     @Schema(description = "最高可获取积分(峰值 / 最大值)")
     private Long high_quota;
+
+    @Schema(description = "剩余的合赢奖额度 + 待确权直推奖")
+    private Long residueSocial;
+
+    @Schema(description = "用户名")
+    private String username;
 }

+ 2 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/sharepath/SharePathMapper.java

@@ -45,4 +45,6 @@ public interface SharePathMapper extends BaseMapperX<SharePathDO> {
 
     // 添加节点及其子节点的新祖先关系
     void addNewAncestors(@Param("nodeId") Long nodeId, @Param("newParentId") Long newParentId);
+
+    Long getAncestorIncreaseIntegralByUserId(@Param("userId") Long userId);
 }

+ 6 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitioncrash/PartitionCrashService.java

@@ -1,11 +1,9 @@
 package cn.newfeifan.mall.module.distri.service.partitioncrash;
 
-import java.util.*;
 import javax.validation.*;
 import cn.newfeifan.mall.module.distri.controller.admin.partitioncrash.vo.*;
 import cn.newfeifan.mall.module.distri.dal.dataobject.partitioncrash.PartitionCrashDO;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.framework.common.pojo.PageParam;
 
 /**
  * 分区碰撞 Service 接口
@@ -52,4 +50,10 @@ public interface PartitionCrashService {
      */
     PageResult<PartitionCrashDO> getPartitionCrashPage(PartitionCrashPageReqVO pageReqVO);
 
+    /**
+     * 获取用户的剩余额度
+     * @param userId 用户编号
+     * @return 剩余额度
+     */
+    Long getResidueSocial(Long userId);
 }

+ 10 - 3
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitioncrash/PartitionCrashServiceImpl.java

@@ -1,15 +1,13 @@
 package cn.newfeifan.mall.module.distri.service.partitioncrash;
 
+import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.util.*;
 import cn.newfeifan.mall.module.distri.controller.admin.partitioncrash.vo.*;
 import cn.newfeifan.mall.module.distri.dal.dataobject.partitioncrash.PartitionCrashDO;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
 
 import cn.newfeifan.mall.module.distri.dal.mysql.partitioncrash.PartitionCrashMapper;
@@ -71,4 +69,13 @@ public class PartitionCrashServiceImpl implements PartitionCrashService {
         return partitionCrashMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public Long getResidueSocial(Long userId) {
+        Long afterHitQuota = partitionCrashMapper.selectList(new LambdaQueryWrapperX<PartitionCrashDO>()
+                .eq(PartitionCrashDO::getUserId, userId)
+                .orderByDesc(PartitionCrashDO::getCreateTime)
+        ).get(0).getAfterHitQuota();
+        return afterHitQuota == null ? 0L : afterHitQuota;
+    }
+
 }

+ 23 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/SharePathServiceImpl.java

@@ -11,6 +11,7 @@ import cn.newfeifan.mall.module.distri.dal.mysql.orderpercentage.OrderPercentage
 import cn.newfeifan.mall.module.distri.enums.SocialStatusEnum;
 import cn.newfeifan.mall.module.distri.service.duser.DuserService;
 import cn.newfeifan.mall.module.distri.service.integral.IntegralService;
+import cn.newfeifan.mall.module.distri.service.partitioncrash.PartitionCrashService;
 import cn.newfeifan.mall.module.distri.service.socialstatus.SocialStatusService;
 import cn.newfeifan.mall.module.member.dal.dataobject.user.MemberUserDO;
 import cn.newfeifan.mall.module.member.service.user.MemberUserService;
@@ -66,6 +67,9 @@ public class SharePathServiceImpl implements SharePathService {
     @Resource
     private IntegralService integralService;
 
+    @Resource
+    private PartitionCrashService partitionCrashService;
+
 
     @Override
     public Long createSharePath(SharePathSaveReqVO createReqVO) {
@@ -154,13 +158,16 @@ public class SharePathServiceImpl implements SharePathService {
             ancestor.setAvatar(getAvatar(ancestor.getAncestor()));
             getSocialStatus(ancestor, ancestor.getAncestor());
             //获取最大可用额度
-            setHighQuota(ancestor, ancestor.getAncestor());
+//            setHighQuota(ancestor, ancestor.getAncestor());
 
             //获取团队数
             Long descendantsCount = sharePathMapper.selectCount(new LambdaQueryWrapper<SharePathDO>()
                     .eq(SharePathDO::getAncestor, ancestor.getAncestor())
             );
             ancestor.setDescendantsCount(descendantsCount);
+            ancestor.setResidueSocial(getResidueSocial(ancestor.getAncestor()));
+            //获取用户名
+            ancestor.setUsername(memberUserService.getUser(ancestor.getAncestor()).getUsername());
         }
 
         //获取团队成员
@@ -180,8 +187,12 @@ public class SharePathServiceImpl implements SharePathService {
             item.setDescendantsCount(descendantsCount);
 
             //获取最大可用额度
-            setHighQuota(item, item.getDescendant());
+//            setHighQuota(item, item.getDescendant());
 
+            //获取剩余碰撞额度 + 待确权直推奖
+            item.setResidueSocial(getResidueSocial(item.getDescendant()));
+            //获取用户名
+            item.setUsername(memberUserService.getUser(item.getDescendant()).getUsername());
         });
 
 
@@ -191,6 +202,16 @@ public class SharePathServiceImpl implements SharePathService {
                 .descendants(result).build();
     }
 
+    private Long getResidueSocial(Long userId){
+        if(!userId.equals(PT_ID)){
+            Long ancestorIncreaseIntegral = sharePathMapper.getAncestorIncreaseIntegralByUserId(userId);
+            if(ancestorIncreaseIntegral == null) ancestorIncreaseIntegral = 0L;
+            Long residueSocial = partitionCrashService.getResidueSocial(userId);
+            return ancestorIncreaseIntegral + residueSocial;
+        }
+        return 0L;
+    }
+
     /**
      * 获取最高可获取积分
      * @param sharePath 对象

+ 4 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/resources/mapper/sharepath/SharePathMapper.xml

@@ -48,6 +48,10 @@
     <select id="getMaxSortByParentId" resultType="int" parameterType="long">
         SELECT IFNULL(MAX(sort), 0) + 1 FROM distri_share_path WHERE ancestor = #{parentId} AND depth = 1
     </select>
+    <select id="getAncestorIncreaseIntegralByUserId" resultType="java.lang.Long">
+        SELECT sum(ancestor_increase_integral) AS ancestor_increase_integral FROM `trade_order_item`
+          where user_id = #{userId} and distribute_benefit = 0 and (after_sale_status = 0 or after_sale_status = 10) and deleted = 0
+    </select>
 
 
     <!-- 删除旧的祖先关系 -->