Browse Source

盟主中心app接口

mac 2 years ago
parent
commit
9f65a5adda

+ 6 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/admin/camp/CampPageLogDTO.java

@@ -34,6 +34,12 @@ public class CampPageLogDTO {
     @Schema(description = "来源创客编号")
     private String userCode;
 
+    /**
+     * 创客姓名
+     */
+    @Schema(description = "创客姓名")
+    private String username;
+
 
     /**
      * 组 ID

+ 33 - 3
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/model/KxsLeader.java

@@ -5,7 +5,10 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -15,7 +18,7 @@ import lombok.EqualsAndHashCode;
  * 盟主表(KxsLeader)表实体类
  *
  * @author 系统
- * @since 2024-02-22 15:39:26
+ * @since 2024-07-18 10:57:10
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
@@ -54,7 +57,7 @@ public class KxsLeader extends Model<KxsLeader> implements Serializable {
      * 删除标记,0未删除,1已删除
      */
     @Schema(description = "删除标记,0未删除,1已删除")
-    private String delFlag;
+    private Integer delFlag;
 
 
     /**
@@ -99,6 +102,33 @@ public class KxsLeader extends Model<KxsLeader> implements Serializable {
     private Integer leaderLevel;
 
 
+    /**
+     * 创建人
+     */
+    @Schema(description = "创建人")
+    private String createBy;
+
+
+    /**
+     * 修改人
+     */
+    @Schema(description = "修改人")
+    private String updateBy;
+
+
+    /**
+     * 备注
+     */
+    @Schema(description = "备注")
+    private String remark;
+
+
+    /**
+     * 状态 1正常版本 0基础版本
+     */
+    @Schema(description = "状态 1正常版本 0基础版本")
+    private Integer status;
+
 
 
 

+ 6 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/leader/LeaderInfoVO.java

@@ -38,6 +38,12 @@ public class LeaderInfoVO implements Serializable {
     private BigDecimal leaderBalanceAmount;
 
 
+    /**
+     * 状态 1正常版本 0基础版本
+     */
+    @Schema(description = "状态 1正常版本 0基础版本")
+    private Integer status;
+
 
 
 

+ 1 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/KxsLeaderController.java

@@ -38,7 +38,7 @@ public class KxsLeaderController {
     @GetMapping("info")
     public R info(){
 
-        return R.ok(kxsUserAmountService.leaderInfo());
+        return R.ok(kxsLeaderService.leaderInfo());
     }
 
     /**

+ 7 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsLeaderService.java

@@ -2,6 +2,7 @@ package com.kxs.user.biz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kxs.user.api.model.KxsLeader;
+import com.kxs.user.api.vo.kxsapp.leader.LeaderInfoVO;
 
 import java.util.List;
 
@@ -13,5 +14,11 @@ import java.util.List;
  */
 public interface KxsLeaderService extends IService<KxsLeader> {
 
+    /**
+     * 盟主信息
+     *
+     * @return {@link LeaderInfoVO}
+     */
+    LeaderInfoVO leaderInfo();
 }
 

+ 0 - 6
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsUserAmountService.java

@@ -42,12 +42,6 @@ public interface KxsUserAmountService extends IService<KxsUserAmount> {
      */
     R refund(RefundRequestDTO req);
 
-    /**
-     * 盟主信息
-     *
-     * @return {@link LeaderInfoVO}
-     */
-    LeaderInfoVO leaderInfo();
 
 }
 

+ 40 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsLeaderServiceImpl.java

@@ -1,12 +1,24 @@
 package com.kxs.user.biz.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.exception.GlobalCustomerException;
+import com.kxs.common.security.util.SecurityUtils;
+import com.kxs.user.api.model.KxsPartner;
+import com.kxs.user.api.model.KxsUserAmount;
+import com.kxs.user.api.vo.kxsapp.leader.LeaderInfoVO;
 import com.kxs.user.biz.mapper.KxsLeaderMapper;
 import com.kxs.user.api.model.KxsLeader;
+import com.kxs.user.biz.mapper.KxsPartnerMapper;
+import com.kxs.user.biz.mapper.KxsUserAmountMapper;
 import com.kxs.user.biz.service.KxsLeaderService;
+import com.kxs.user.biz.service.KxsPartnerService;
+import com.kxs.user.biz.service.KxsUserAmountService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * 盟主表(KxsLeader)表服务实现类
@@ -15,7 +27,35 @@ import java.util.List;
  * @since 2024-02-22 15:39:26
  */
 @Service("kxsLeaderService")
+@RequiredArgsConstructor
 public class KxsLeaderServiceImpl extends ServiceImpl<KxsLeaderMapper, KxsLeader> implements KxsLeaderService {
 
+    private final KxsUserAmountMapper kxsUserAmountMapper;
+
+    private final KxsPartnerMapper kxsPartnerMapper;
+
+
+    @Override
+    public LeaderInfoVO leaderInfo() {
+
+        Long userId = SecurityUtils.getUser().getId();
+
+        KxsLeader leader = getById(userId);
+        Optional.ofNullable(leader).orElseThrow(() -> new GlobalCustomerException("盟主信息不存在"));
+
+        KxsUserAmount userAmount = kxsUserAmountMapper.selectById(userId);
+        Optional.ofNullable(userAmount).orElseThrow(() -> new GlobalCustomerException("用户账户不存在"));
+
+        KxsPartner kxsPartner = kxsPartnerMapper.selectByPartner(userId.intValue(), LocalDateTime.now());
+        if(kxsPartner != null){
+            userAmount.setLeaderBalanceAmount(userAmount.getLeaderBalanceAmount().add(kxsPartner.getWithdrawalAmount()));
+            userAmount.setLeaderReserve(userAmount.getLeaderReserve().add(kxsPartner.getAmount()));
+        }
+
+        return LeaderInfoVO.builder()
+                .status(leader.getStatus())
+                .leaderReserve(userAmount.getLeaderReserve())
+                .leaderBalanceAmount(userAmount.getLeaderBalanceAmount()).build();
+    }
 }
 

+ 0 - 18
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsUserAmountServiceImpl.java

@@ -177,24 +177,6 @@ public class KxsUserAmountServiceImpl extends ServiceImpl<KxsUserAmountMapper, K
                 .refundFee(trade.getTradeAmount()).build());
     }
 
-    @Override
-    public LeaderInfoVO leaderInfo() {
-        Long userId = SecurityUtils.getUser().getId();
-
-        KxsUserAmount userAmount = getById(userId);
-        Optional.ofNullable(userAmount).orElseThrow(() -> new GlobalCustomerException("用户账户不存在"));
-
-        KxsPartner kxsPartner = kxsPartnerMapper.selectByPartner(userId.intValue(), LocalDateTime.now());
-        if(kxsPartner != null){
-            userAmount.setLeaderBalanceAmount(userAmount.getLeaderBalanceAmount().add(kxsPartner.getWithdrawalAmount()));
-            userAmount.setLeaderReserve(userAmount.getLeaderReserve().add(kxsPartner.getAmount()));
-        }
-
-        return LeaderInfoVO.builder()
-                .leaderReserve(userAmount.getLeaderReserve())
-                .leaderBalanceAmount(userAmount.getLeaderBalanceAmount()).build();
-    }
-
 
 }
 

+ 14 - 34
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsLeaderMapper.xml

@@ -3,41 +3,21 @@
 <mapper namespace="com.kxs.user.biz.mapper.KxsLeaderMapper">
 
     <resultMap type="com.kxs.user.api.model.KxsLeader" id="KxsLeaderMap">
-        <result column="id" property="id"/>
-        <result column="create_time" property="createTime"/>
-        <result column="update_time" property="updateTime"/>
-        <result column="del_flag" property="delFlag"/>
-        <result column="version" property="version"/>
-        <result column="user_id" property="userId"/>
-        <result column="leader_type" property="leaderType"/>
-        <result column="expired_date" property="expiredDate"/>
-        <result column="last_buy_date" property="lastBuyDate"/>
-        <result column="leader_level" property="leaderLevel"/>
+        <result column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="del_flag" property="delFlag" />
+        <result column="version" property="version" />
+        <result column="user_id" property="userId" />
+        <result column="leader_type" property="leaderType" />
+        <result column="expired_date" property="expiredDate" />
+        <result column="last_buy_date" property="lastBuyDate" />
+        <result column="leader_level" property="leaderLevel" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="remark" property="remark" />
+        <result column="status" property="status" />
 
     </resultMap>
-    <select id="selectByLeader" resultMap="KxsLeaderMap">
-        select *
-        from kxs_leader
-        where user_id = #{userId}
-          and expired_date > #{expiredDate}
-          and del_flag = 0
-    </select>
-    <select id="selectUserTopLeaderInfo" resultType="com.kxs.user.api.model.KxsUser">
-        select ku.*
-        from kxs_leader kl
-        left join kxs_user ku on kl.user_id = ku.id
-        <where>
-            and kl.del_flag = 0
-            and kl.leader_type &lt;= 2
-            and kl.user_id in
-            <foreach collection="pidPath" item="userId" open="(" separator="," close=")">
-                #{userId}
-            </foreach>
-            and kl.expired_date > NOW()
-        </where>
-        ORDER BY FIELD(kl.user_id, <foreach collection="pidPath" item="userId" separator=",">#{userId}</foreach>)
-        limit 1
-    </select>
-
 
 </mapper>