Pārlūkot izejas kodu

百人千团app接口逻辑已编写完毕

Pota1ovO 2 gadi atpakaļ
vecāks
revīzija
5ab138d9a0
30 mainītis faili ar 1352 papildinājumiem un 17 dzēšanām
  1. 1 1
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsStatUserController.java
  2. 7 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbTradeMapper.java
  3. 19 2
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserTradeService.java
  4. 6 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java
  5. 2 2
      kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/controller/kxsapp/StoreAdvanceController.java
  6. 1 2
      kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/service/KxsWarehouseLimitService.java
  7. 1 1
      kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/service/impl/KxsWarehouseLimitServiceImpl.java
  8. 2 0
      kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/service/impl/KxsWarehouseMachineApplyServiceImpl.java
  9. 32 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/camp/CampAddBcqtTeamDTO.java
  10. 32 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/camp/CampOpenActivityDTO.java
  11. 14 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/camp/CampReturnTeamDTO.java
  12. 133 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/model/KxsBcqtTeam.java
  13. 136 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/model/KxsBcqtTeamDetail.java
  14. 95 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/CampCampUserPageVO.java
  15. 110 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/CampGetBcqtDetailVO.java
  16. 63 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/CampGetBcqtListVO.java
  17. 80 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/CampGetMyBcqtListVO.java
  18. 64 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/TeamUserItem.java
  19. 96 8
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/CampController.java
  20. 21 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsBcqtTeamDetailMapper.java
  21. 22 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsBcqtTeamMapper.java
  22. 15 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamDetailService.java
  23. 33 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamService.java
  24. 3 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsCampService.java
  25. 19 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamDetailServiceImpl.java
  26. 276 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamServiceImpl.java
  27. 3 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsCampServiceImpl.java
  28. 35 0
      kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamDetailMapper.xml
  29. 30 0
      kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamMapper.xml
  30. 1 1
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/feign/RemoteKxsUserService.java

+ 1 - 1
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsStatUserController.java

@@ -80,7 +80,7 @@ public class KxsStatUserController {
      */
     @GetMapping("/getMyTrade")
     public R getMyTrade(@ParameterObject StatUserGetMyTradeDTO param) {
-        return R.ok();
+        return kxsUserTradeService.getMyTrade(param);
     }
 
 

+ 7 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbTradeMapper.java

@@ -27,6 +27,13 @@ public interface KxsLkbTradeMapper extends BaseMapper<KxsLkbTrade> {
      */
     Cursor<KxsLkbTrade> getUserTradeMonthList(String month);
 
+    /**
+     * 获取来客吧交易额  根据月或日
+     * @param userId
+     * @param date 时间 月或日
+     * @param type 1 日  2 月
+     * @return
+     */
     TotalTradeAmtVO getLkbTrade(@Param("userId")Long userId, @Param("date")String date,@Param("type")Integer type);
 }
 

+ 19 - 2
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserTradeService.java

@@ -2,6 +2,7 @@ package com.kxs.stat.biz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kxs.common.core.util.R;
+import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
 import com.kxs.stat.api.model.KxsUserTrade;
 
@@ -23,11 +24,27 @@ public interface KxsUserTradeService extends IService<KxsUserTrade> {
      * 获取交易统计数据
      */
     BigDecimal getStatAmount(String month);
-
+    /**
+     * 用户详情-获取用户统计数据
+     *
+     * @param param 访问实体
+     * @return 用户详情-获取用户统计数据
+     */
     R getUserStatByDayOrMonth(StatUserGetUserStatByDayOrMonthDTO param);
 
-
+    /**
+     * 计奖交易-首页交易总额
+     *
+     * @return 计奖交易-首页交易总额
+     */
     R getHomeAmout(Long userId);
+    /**
+     * 计奖交易-我的业绩
+     *
+     * @param param 查询实体
+     * @return 计奖交易-我的业绩
+     */
+    R getMyTrade(StatUserGetMyTradeDTO param);
 
 }
 

+ 6 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kxs.common.core.constant.CommonConstants;
 import com.kxs.common.core.constant.SecurityConstants;
 import com.kxs.common.core.util.R;
+import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
 import com.kxs.stat.api.model.KxsLkbTrade;
 import com.kxs.stat.api.model.KxsUserActTrade;
@@ -301,6 +302,11 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         return R.ok(statUserGetHomeAmoutVO);
     }
 
+    @Override
+    public R getMyTrade(StatUserGetMyTradeDTO param) {
+        return null;
+    }
+
     private BigDecimal getAmountToDayOrMonth(Long userId, String date, String tableName, BigDecimal amount, int type) {
         //pos交易
         TotalTradeAmtVO totalTradeAmtVO = baseMapper.getPosTrade(userId, tableName, date, type);

+ 2 - 2
kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/controller/kxsapp/StoreAdvanceController.java

@@ -85,9 +85,9 @@ public class StoreAdvanceController {
      * @return 小分仓-查询用户
      */
     @GetMapping("/getUserDetail")
-    public R getUserDetail(@RequestParam("userCode") String userCode, @RequestParam("amount") BigDecimal amount) {
+    public R getUserDetail(@RequestParam("userCode") String userCode) {
 
-        return R.ok(kxsWarehouseLimitService.getUserDetail(userCode, amount));
+        return R.ok(kxsWarehouseLimitService.getUserDetail(userCode));
     }
 
 

+ 1 - 2
kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/service/KxsWarehouseLimitService.java

@@ -20,10 +20,9 @@ public interface KxsWarehouseLimitService extends IService<KxsWarehouseLimit> {
      * 预发货小分仓 获取用户详细信息
      *
      * @param userCode 用户代码
-     * @param amount   量
      * @return {@link AdvanceUserDetailVO}
      */
-    AdvanceUserDetailVO getUserDetail(String userCode, BigDecimal amount);
+    AdvanceUserDetailVO getUserDetail(String userCode);
 
     /**
      * 用户预发机额度详情

+ 1 - 1
kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/service/impl/KxsWarehouseLimitServiceImpl.java

@@ -55,7 +55,7 @@ public class KxsWarehouseLimitServiceImpl extends ServiceImpl<KxsWarehouseLimitM
     private final KxsWarehouseCreditAmountMapper kxsWarehouseCreditAmountMapper;
 
     @Override
-    public AdvanceUserDetailVO getUserDetail(String userCode, BigDecimal amount) {
+    public AdvanceUserDetailVO getUserDetail(String userCode) {
 
 
         AdvanceUserDetailVO advanceUserDetailVO = new AdvanceUserDetailVO();

+ 2 - 0
kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/service/impl/KxsWarehouseMachineApplyServiceImpl.java

@@ -155,3 +155,5 @@ public class KxsWarehouseMachineApplyServiceImpl extends ServiceImpl<KxsWarehous
     }
 }
 
+
+

+ 32 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/camp/CampAddBcqtTeamDTO.java

@@ -0,0 +1,32 @@
+package com.kxs.system.api.dto.kxsapp.camp;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+
+/**
+ * 百城千团-创建团队-dto
+ *
+ * @author 系统
+ * @date 2024-05-22 14:29:06
+ */
+@Data
+public class CampAddBcqtTeamDTO {
+
+    /**
+     * 团队名称
+     */
+    @Schema(description = "团队名称")
+    private String teamName;
+
+
+    /**
+     * 队长id
+     */
+    @Schema(description = "队长id")
+    private Long captainId;
+
+
+
+
+}

+ 32 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/camp/CampOpenActivityDTO.java

@@ -0,0 +1,32 @@
+package com.kxs.system.api.dto.kxsapp.camp;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+
+/**
+ * 百城千团-开启活动-dto
+ *
+ * @author 系统
+ * @date 2024-05-22 14:29:06
+ */
+@Data
+public class CampOpenActivityDTO {
+
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    private Integer id;
+
+
+    /**
+     * 活动时长(单位:自然日)
+     */
+    @Schema(description = "活动时长(单位:自然日)")
+    private Integer activityDate;
+
+
+
+
+}

+ 14 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/camp/CampReturnTeamDTO.java

@@ -0,0 +1,14 @@
+package com.kxs.system.api.dto.kxsapp.camp;
+
+import lombok.Data;
+
+/**
+ * 百城千团-退出团队
+ */
+@Data
+public class CampReturnTeamDTO {
+    /**
+     * 团队id
+     */
+    private Long id;
+}

+ 133 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/model/KxsBcqtTeam.java

@@ -0,0 +1,133 @@
+package com.kxs.system.api.model;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+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;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 百城千团团队表(KxsBcqtTeam)表实体类
+ *
+ * @author 系统
+ * @since 2024-05-22 14:29:03
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KxsBcqtTeam extends Model<KxsBcqtTeam> implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    
+    
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+
+    /**
+     * 新增时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
+
+
+    /**
+     * 更新时间
+     */
+    @TableField(fill = FieldFill.UPDATE)
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+
+    /**
+     * 删除标记,0未删除,1已删除
+     */
+    @Schema(description = "删除标记,0未删除,1已删除")
+    private String delFlag;
+
+
+    /**
+     * 版本
+     */
+    @Schema(description = "版本")
+    private Integer version;
+
+
+    /**
+     * 团队名称
+     */
+    @Schema(description = "团队名称")
+    private String teamName;
+
+
+    /**
+     * 活动开始时间
+     */
+    @Schema(description = "活动开始时间")
+    private LocalDateTime startTime;
+
+
+    /**
+     * 活动结束时间
+     */
+    @Schema(description = "活动结束时间")
+    private LocalDateTime endTime;
+
+
+    /**
+     * 活动状态 0报名中 1已开始 2已结束
+     */
+    @Schema(description = "活动状态 0报名中 1已开始 2已结束")
+    private Integer status;
+
+
+    /**
+     * 达标状态 0未达标 1已达标
+     */
+    @Schema(description = "达标状态 0未达标 1已达标")
+    private Integer reachStatus;
+
+
+    /**
+     * 队长id
+     */
+    @Schema(description = "队长id")
+    private Long captainId;
+
+
+    /**
+     * 团队人数
+     */
+    @Schema(description = "团队人数")
+    private Integer teamNumber;
+
+
+    /**
+     * 活动时长(单位:自然日)
+     */
+    @Schema(description = "活动时长(单位:自然日)")
+    private Integer activityDate;
+
+    /**
+     * 队长名
+     */
+    @Schema(description = "队长名")
+    private String username;
+
+
+}
+

+ 136 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/model/KxsBcqtTeamDetail.java

@@ -0,0 +1,136 @@
+package com.kxs.system.api.model;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+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;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 百城千团团队明细表(KxsBcqtTeamDetail)表实体类
+ *
+ * @author 系统
+ * @since 2024-05-22 14:29:04
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KxsBcqtTeamDetail extends Model<KxsBcqtTeamDetail> implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    
+    
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+
+    /**
+     * 新增时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
+
+
+    /**
+     * 更新时间
+     */
+    @TableField(fill = FieldFill.UPDATE)
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+
+    /**
+     * 删除标记,0未删除,1已删除
+     */
+    @Schema(description = "删除标记,0未删除,1已删除")
+    private String delFlag;
+
+
+    /**
+     * 版本
+     */
+    @Schema(description = "版本")
+    private Integer version;
+
+
+    /**
+     * 用户id
+     */
+    @Schema(description = "用户id")
+    private Long userId;
+
+
+    /**
+     * 用户名
+     */
+    @Schema(description = "用户名")
+    private String username;
+
+
+    /**
+     * 用户编号
+     */
+    @Schema(description = "用户编号")
+    private String userCode;
+
+
+    /**
+     * pos激活数
+     */
+    @Schema(description = "pos激活数")
+    private Integer posActivateNumber;
+
+
+    /**
+     * 来客吧激活数
+     */
+    @Schema(description = "来客吧激活数")
+    private Integer lkbActivateNumber;
+
+
+    /**
+     * 广电卡激活数
+     */
+    @Schema(description = "广电卡激活数")
+    private Integer gdActivateNumber;
+
+
+    /**
+     * 队长标识0非队长1队长
+     */
+    @Schema(description = "队长标识0非队长1队长")
+    private Integer captainStatus;
+
+
+    /**
+     * 结束标识0参与中 1已结束参与
+     */
+    @Schema(description = "结束标识0参与中 1已结束参与")
+    private Integer endFlag;
+
+
+    /**
+     * 团队id
+     */
+    @Schema(description = "团队id")
+    private Long teamId;
+
+
+
+
+}
+

+ 95 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/CampCampUserPageVO.java

@@ -0,0 +1,95 @@
+package com.kxs.system.api.vo.kxsapp.camp;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 参与创客列表vo
+ *
+ * @author 系统
+ * @date 2024-05-22 14:29:05
+ */
+@Data
+@Schema(description = "参与创客列表返回实体")
+public class CampCampUserPageVO implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    private Integer id;
+
+
+    /**
+     * 用户ID
+     */
+    @Schema(description = "用户ID")
+    private Integer userId;
+
+
+    /**
+     * 用户姓名
+     */
+    @Schema(description = "用户姓名")
+    private String username;
+
+
+    /**
+     * 创客编号
+     */
+    @Schema(description = "创客编号")
+    private String userCode;
+
+
+    /**
+     * 团队开机总数
+     */
+    @Schema(description = "团队开机总数")
+    private Integer teamOpenNum;
+
+
+    /**
+     * 团队下单数量
+     */
+    @Schema(description = "团队下单数量")
+    private Integer teamOrderNum;
+
+
+    /**
+     * 创客订单奖金池
+     */
+    @Schema(description = "创客订单奖金池")
+    private BigDecimal teamOrderPool;
+
+
+    /**
+     * 创客盟主下单奖金池
+     */
+    @Schema(description = "创客盟主下单奖金池")
+    private BigDecimal teamLeaderPool;
+
+
+    /**
+     * 团队下单大小盟主
+     */
+    @Schema(description = "团队下单大小盟主")
+    private Integer teamLeaderNum;
+
+
+
+
+
+	
+
+}

+ 110 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/CampGetBcqtDetailVO.java

@@ -0,0 +1,110 @@
+package com.kxs.system.api.vo.kxsapp.camp;
+
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 百城千团-业绩查看vo
+ *
+ * @author 系统
+ * @date 2024-05-22 14:29:06
+ */
+@Data
+@Schema(description = "百城千团-业绩查看返回实体")
+public class CampGetBcqtDetailVO implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    private Integer id;
+
+
+    /**
+     * 团队名称
+     */
+    @Schema(description = "团队名称")
+    private String teamName;
+
+
+    /**
+     * 活动开始时间
+     */
+    @Schema(description = "活动开始时间")
+    private LocalDateTime startTime;
+
+
+    /**
+     * 活动结束时间
+     */
+    @Schema(description = "活动结束时间")
+    private LocalDateTime endTime;
+
+
+    /**
+     * 活动状态 0报名中 1已开始 2已结束
+     */
+    @Schema(description = "活动状态 0报名中 1已开始 2已结束")
+    private Integer status;
+
+
+    /**
+     * 队长id
+     */
+    @Schema(description = "队长id")
+    private Long captainId;
+
+
+    /**
+     * 团队人数
+     */
+    @Schema(description = "团队人数")
+    private Integer teamNumber;
+
+
+    /**
+     * 活动时长(单位:自然日)
+     */
+    @Schema(description = "活动时长(单位:自然日)")
+    private Integer activityDate;
+
+
+    /**
+     * 奖金池
+     */
+    @Schema(description = "奖金池")
+    private BigDecimal totalAmount;
+
+
+    /**
+     * 激活总量
+     */
+    @Schema(description = "激活总量")
+    private Integer activiteTotal;
+
+
+    /**
+     * 百城千团团队明细表
+     */
+    @Schema(description = "百城千团团队明细表")
+    private List<TeamUserItem> TeamUser;
+
+
+
+
+
+	
+
+}

+ 63 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/CampGetBcqtListVO.java

@@ -0,0 +1,63 @@
+package com.kxs.system.api.vo.kxsapp.camp;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 百城千团-获取列表vo
+ *
+ * @author 系统
+ * @date 2024-05-22 14:29:06
+ */
+@Data
+@Schema(description = "百城千团-获取列表返回实体")
+public class CampGetBcqtListVO implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    private Integer id;
+
+
+    /**
+     * 团队名称
+     */
+    @Schema(description = "团队名称")
+    private String teamName;
+
+
+    /**
+     * 团队人数
+     */
+    @Schema(description = "团队人数")
+    private Integer teamNumber;
+
+
+    /**
+     * 发起人
+     */
+    @Schema(description = "发起人")
+    private String username;
+    /**
+     * 关系
+     */
+    @Schema(description = "关系")
+    private Integer relation = 0;
+
+
+
+
+	
+
+}

+ 80 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/CampGetMyBcqtListVO.java

@@ -0,0 +1,80 @@
+package com.kxs.system.api.vo.kxsapp.camp;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 百城千团-获取我的参团记录vo
+ *
+ * @author 系统
+ * @date 2024-05-22 14:29:06
+ */
+@Data
+@Schema(description = "百城千团-获取我的参团记录返回实体")
+public class CampGetMyBcqtListVO implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    private Integer id;
+
+
+    /**
+     * 团队名称
+     */
+    @Schema(description = "团队名称")
+    private String teamName;
+
+
+    /**
+     * 活动开始时间
+     */
+    @Schema(description = "活动开始时间")
+    private LocalDateTime startTime;
+
+
+    /**
+     * 活动结束时间
+     */
+    @Schema(description = "活动结束时间")
+    private LocalDateTime endTime;
+
+
+    /**
+     * 活动状态 0报名中 1已开始 2已结束
+     */
+    @Schema(description = "活动状态 0报名中 1已开始 2已结束")
+    private Integer status;
+
+
+    /**
+     * 队长id
+     */
+    @Schema(description = "队长id")
+    private Long captainId;
+
+
+    /**
+     * 发起人姓名
+     */
+    @Schema(description = "发起人姓名")
+    private String username;
+
+
+
+
+
+	
+
+}

+ 64 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/kxsapp/camp/TeamUserItem.java

@@ -0,0 +1,64 @@
+package com.kxs.system.api.vo.kxsapp.camp;
+
+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 io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+@Data
+public class TeamUserItem {
+
+
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+
+
+    /**
+     * 用户id
+     */
+    @Schema(description = "用户id")
+    private Long userId;
+
+
+    /**
+     * 用户名
+     */
+    @Schema(description = "用户名")
+    private String username;
+
+
+    /**
+     * 用户编号
+     */
+    @Schema(description = "用户编号")
+    private String userCode;
+
+
+    /**
+     * pos激活数
+     */
+    @Schema(description = "pos激活数")
+    private Integer posActivateNumber;
+
+
+    /**
+     * 团队id
+     */
+    @Schema(description = "团队id")
+    private Long teamId;
+
+
+
+
+
+
+
+}

+ 96 - 8
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/CampController.java

@@ -3,18 +3,19 @@ package com.kxs.system.biz.controller.kxsapp;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.kxs.common.core.util.R;
+import com.kxs.common.security.util.SecurityUtils;
+import com.kxs.system.api.dto.kxsapp.camp.CampAddBcqtTeamDTO;
+import com.kxs.system.api.dto.kxsapp.camp.CampOpenActivityDTO;
+import com.kxs.system.api.dto.kxsapp.camp.CampReturnTeamDTO;
+import com.kxs.system.api.model.KxsBcqtTeam;
 import com.kxs.system.api.model.KxsCamp;
-import com.kxs.system.api.vo.kxsapp.camp.CampGetByIdVO;
-import com.kxs.system.api.vo.kxsapp.camp.CampPageVO;
-import com.kxs.system.api.vo.kxsapp.camp.CampUserPageVO;
+import com.kxs.system.api.vo.kxsapp.camp.*;
+import com.kxs.system.biz.service.KxsBcqtTeamService;
 import com.kxs.system.biz.service.KxsCampService;
 import com.kxs.system.biz.service.KxsCampUserService;
 import lombok.RequiredArgsConstructor;
 import org.springdoc.core.annotations.ParameterObject;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * 训练营(Camp)控制层
@@ -32,7 +33,7 @@ public class CampController {
      */
     private final KxsCampService kxsCampService;
     private final KxsCampUserService kxsCampUserService;
-
+    private final KxsBcqtTeamService kxsBcqtTeamService;
 
 
     /**
@@ -75,6 +76,93 @@ public class CampController {
 
 
 
+    /**
+     * 百城千团-获取列表
+     *
+     * @param page 分页对象
+     * @param keyword 查询关键字
+     * @return 百城千团-获取列表
+     */
+    @GetMapping("/getBcqtList")
+    public R getBcqtList(@ParameterObject Page<KxsBcqtTeam> page, @RequestParam("keyword")  String keyword) {
+        return kxsBcqtTeamService.getBcqtList(page,keyword);
+    }
+
+
+    /**
+     * 百城千团-获取我的参团记录
+     *
+     * @param page 分页对象
+     * @return 百城千团-获取我的参团记录
+     */
+    @GetMapping("/getMyBcqtList")
+    public R getMyBcqtList(@ParameterObject Page<KxsBcqtTeam> page) {
+
+        return kxsBcqtTeamService.getMyBcqtList(page);
+    }
+
+
+    /**
+     * 百城千团-创建团队
+     *
+     * @param param 实体对象
+     * @return 百城千团-创建团队
+     */
+    @PostMapping("/addBcqtTeam")
+    public R addBcqtTeam(@RequestBody CampAddBcqtTeamDTO param) {
+
+        return  kxsBcqtTeamService.addBcqtTeam(param);
+    }
+    /**
+     * 百城千团-创建团队校验
+     *
+     * @param param 实体对象
+     * @return 百城千团-创建团队
+     */
+    @PostMapping("/verifyAddTeam")
+    public R verifyAddTeam(@RequestBody CampAddBcqtTeamDTO param) {
+        Long id = SecurityUtils.getUser().getId();
+        param.setCaptainId(id);
+        return R.ok(kxsBcqtTeamService.verifyAddTeam(param));
+    }
+
+    /**
+     * 百城千团-退出团队
+     *
+     * @param param 实体对象
+     * @return 百城千团-退出团队
+     */
+    @PostMapping("/returnTeam")
+    public R returnTeam(@RequestBody CampReturnTeamDTO param) {
+
+        return kxsBcqtTeamService.returnTeam(param);
+    }
+
+
+    /**
+     * 百城千团-开启活动
+     *
+     * @param param 实体对象
+     * @return 百城千团-开启活动
+     */
+    @PostMapping("/openActivity")
+    public R openActivity(@RequestBody CampOpenActivityDTO param) {
+        return kxsBcqtTeamService.openActivity(param);
+    }
+
+
+    /**
+     * 百城千团-业绩查看
+     *
+     * @param id 主键ID
+     * @return 百城千团-业绩查看
+     */
+    @GetMapping("/getBcqtDetail")
+    public R getBcqtDetail(@RequestParam("id") Integer id) {
+
+        return kxsBcqtTeamService.getBcqtDetail(id);
+    }
+
 
 
 }

+ 21 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsBcqtTeamDetailMapper.java

@@ -0,0 +1,21 @@
+package com.kxs.system.biz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kxs.system.api.model.KxsBcqtTeam;
+import com.kxs.system.api.model.KxsBcqtTeamDetail;
+import com.kxs.system.api.vo.kxsapp.camp.CampGetMyBcqtListVO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 百城千团团队明细表(KxsBcqtTeamDetail)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-05-22 14:29:03
+ */
+@Mapper
+public interface KxsBcqtTeamDetailMapper extends BaseMapper<KxsBcqtTeamDetail> {
+
+    Page<CampGetMyBcqtListVO> getMyBcqtList(Page<KxsBcqtTeam> page, Long userId);
+}
+

+ 22 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsBcqtTeamMapper.java

@@ -0,0 +1,22 @@
+package com.kxs.system.biz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kxs.system.api.model.KxsBcqtTeam;
+import com.kxs.system.api.vo.kxsapp.camp.CampGetBcqtListVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 百城千团团队表(KxsBcqtTeam)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-05-22 14:29:03
+ */
+@Mapper
+public interface KxsBcqtTeamMapper extends BaseMapper<KxsBcqtTeam> {
+
+    Page<CampGetBcqtListVO> getBcqtList(Page<KxsBcqtTeam> page, @Param("keyword") String keyword);
+
+}
+

+ 15 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamDetailService.java

@@ -0,0 +1,15 @@
+package com.kxs.system.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.system.api.model.KxsBcqtTeamDetail;
+
+/**
+ * 百城千团团队明细表(KxsBcqtTeamDetail)表服务接口
+ *
+ * @author 系统
+ * @since 2024-05-22 14:29:04
+ */
+public interface KxsBcqtTeamDetailService extends IService<KxsBcqtTeamDetail> {
+
+}
+

+ 33 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamService.java

@@ -0,0 +1,33 @@
+package com.kxs.system.biz.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.common.core.util.R;
+import com.kxs.system.api.dto.kxsapp.camp.CampAddBcqtTeamDTO;
+import com.kxs.system.api.dto.kxsapp.camp.CampOpenActivityDTO;
+import com.kxs.system.api.dto.kxsapp.camp.CampReturnTeamDTO;
+import com.kxs.system.api.model.KxsBcqtTeam;
+
+/**
+ * 百城千团团队表(KxsBcqtTeam)表服务接口
+ *
+ * @author 系统
+ * @since 2024-05-22 14:29:03
+ */
+public interface KxsBcqtTeamService extends IService<KxsBcqtTeam> {
+
+    R getBcqtList(Page<KxsBcqtTeam> page, String keyword);
+
+    R getMyBcqtList(Page<KxsBcqtTeam> page);
+
+    R addBcqtTeam(CampAddBcqtTeamDTO param);
+
+    boolean verifyAddTeam(CampAddBcqtTeamDTO param);
+
+    R returnTeam(CampReturnTeamDTO param);
+
+    R openActivity(CampOpenActivityDTO param);
+
+    R getBcqtDetail(Integer id);
+}
+

+ 3 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsCampService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kxs.common.core.util.R;
+import com.kxs.system.api.dto.kxsapp.camp.CampReturnTeamDTO;
 import com.kxs.system.api.model.KxsCamp;
 import com.kxs.system.api.vo.admin.CampUserExcelVO;
 import com.kxs.system.api.vo.kxsapp.camp.CampGetByIdVO;
@@ -75,5 +76,7 @@ public interface KxsCampService extends IService<KxsCamp> {
      * @return {@link IPage}<{@link KxsCamp}>
      */
     IPage<KxsCamp> getBySysPage(Page<KxsCamp> page, KxsCamp param);
+
+
 }
 

+ 19 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamDetailServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.system.biz.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.system.biz.mapper.KxsBcqtTeamDetailMapper;
+import com.kxs.system.api.model.KxsBcqtTeamDetail;
+import com.kxs.system.biz.service.KxsBcqtTeamDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 百城千团团队明细表(KxsBcqtTeamDetail)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-05-22 14:29:04
+ */
+@Service("kxsBcqtTeamDetailService")
+public class KxsBcqtTeamDetailServiceImpl extends ServiceImpl<KxsBcqtTeamDetailMapper, KxsBcqtTeamDetail> implements KxsBcqtTeamDetailService {
+
+}
+

+ 276 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamServiceImpl.java

@@ -0,0 +1,276 @@
+package com.kxs.system.biz.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.constant.SecurityConstants;
+import com.kxs.common.core.util.R;
+import com.kxs.common.security.util.SecurityUtils;
+import com.kxs.system.api.dto.kxsapp.camp.CampAddBcqtTeamDTO;
+import com.kxs.system.api.dto.kxsapp.camp.CampOpenActivityDTO;
+import com.kxs.system.api.dto.kxsapp.camp.CampReturnTeamDTO;
+import com.kxs.system.api.model.KxsBcqtTeamDetail;
+import com.kxs.system.api.vo.kxsapp.camp.CampGetBcqtDetailVO;
+import com.kxs.system.api.vo.kxsapp.camp.CampGetBcqtListVO;
+import com.kxs.system.api.vo.kxsapp.camp.CampGetMyBcqtListVO;
+import com.kxs.system.api.vo.kxsapp.camp.TeamUserItem;
+import com.kxs.system.biz.mapper.KxsBcqtTeamDetailMapper;
+import com.kxs.system.biz.mapper.KxsBcqtTeamMapper;
+import com.kxs.system.api.model.KxsBcqtTeam;
+import com.kxs.system.biz.service.KxsBcqtTeamService;
+import com.kxs.user.api.feign.RemoteKxsUserService;
+import com.kxs.user.api.model.KxsUser;
+import lombok.RequiredArgsConstructor;
+import org.jacoco.agent.rt.internal_43f5073.core.internal.flow.IFrame;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.sql.Array;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 百城千团团队表(KxsBcqtTeam)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-05-22 14:29:03
+ */
+@Service("kxsBcqtTeamService")
+@RequiredArgsConstructor
+public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBcqtTeam> implements KxsBcqtTeamService {
+    private final KxsBcqtTeamDetailMapper kxsBcqtTeamDetailMapper;
+    private final RemoteKxsUserService remoteKxsUserService;
+
+    @Override
+    public R getBcqtList(Page<KxsBcqtTeam> page, String keyword) {
+        Page<CampGetBcqtListVO> kxsBcqtTeamPage = baseMapper.getBcqtList(page, keyword);
+        Long userId = SecurityUtils.getUser().getId();
+        KxsBcqtTeamDetail kxsBcqtTeamDetail = kxsBcqtTeamDetailMapper.selectOne(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getUserId, userId).eq(KxsBcqtTeamDetail::getEndFlag, 0));
+        if (kxsBcqtTeamDetail == null) {
+            return R.ok(kxsBcqtTeamPage);
+        }
+        //当用户存在正在参加的活动  需要判断列表关系
+        for (CampGetBcqtListVO record : kxsBcqtTeamPage.getRecords()) {
+            if (Objects.equals(kxsBcqtTeamDetail.getTeamId(), Long.valueOf(record.getId()))) {
+                record.setRelation(1);
+            }
+        }
+        return R.ok(kxsBcqtTeamPage);
+    }
+
+    @Override
+    public R getMyBcqtList(Page<KxsBcqtTeam> page) {
+        Long userId = SecurityUtils.getUser().getId();
+        return R.ok(kxsBcqtTeamDetailMapper.getMyBcqtList(page, userId));
+    }
+
+    @Override
+    public R addBcqtTeam(CampAddBcqtTeamDTO param) {
+        String teamName = param.getTeamName();
+        Long captainId = param.getCaptainId();
+        if (verifyAddTeam(param)) {
+            R.failed("校验未通过,非法参数");
+        }
+        R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(Math.toIntExact(captainId), SecurityConstants.FROM_IN);
+        KxsUser kxsUser = kxsUserR.getData();
+        //团队数据
+        KxsBcqtTeam kxsBcqtTeam = new KxsBcqtTeam();
+        kxsBcqtTeam.setCreateTime(LocalDateTime.now());
+        kxsBcqtTeam.setDelFlag("0");
+        kxsBcqtTeam.setTeamName(teamName);
+        kxsBcqtTeam.setStatus(0);
+        kxsBcqtTeam.setReachStatus(0);
+        kxsBcqtTeam.setCaptainId(captainId);
+        kxsBcqtTeam.setTeamNumber(1);
+        kxsBcqtTeam.setUsername(kxsUser.getUsername());
+        save(kxsBcqtTeam);
+        //团队人员数据
+        KxsBcqtTeamDetail kxsBcqtTeamDetail = new KxsBcqtTeamDetail();
+        kxsBcqtTeamDetail.setCreateTime(LocalDateTime.now());
+        kxsBcqtTeamDetail.setDelFlag("0");
+        kxsBcqtTeamDetail.setUserId(captainId);
+        kxsBcqtTeamDetail.setUsername(kxsUser.getUsername());
+        kxsBcqtTeamDetail.setUserCode(kxsUser.getUserCode());
+        kxsBcqtTeamDetail.setPosActivateNumber(0);
+        kxsBcqtTeamDetail.setLkbActivateNumber(0);
+        kxsBcqtTeamDetail.setGdActivateNumber(0);
+        kxsBcqtTeamDetail.setCaptainStatus(1);
+        kxsBcqtTeamDetail.setEndFlag(0);
+        //需要拿到存储的团队id,该方法无法添加事务
+        kxsBcqtTeamDetail.setTeamId(Long.valueOf(kxsBcqtTeam.getId()));
+        return R.ok();
+
+
+    }
+
+    @Override
+    public boolean verifyAddTeam(CampAddBcqtTeamDTO param) {
+        String teamName = param.getTeamName();
+        Long captainId = param.getCaptainId();
+        //不存在同名团队
+        KxsBcqtTeam kxsBcqtTeam = baseMapper.selectOne(Wrappers.<KxsBcqtTeam>query().lambda().eq(KxsBcqtTeam::getTeamName, teamName));
+        if (kxsBcqtTeam != null) {
+            return false;
+        }
+        //不存在未结束的团队
+        KxsBcqtTeamDetail kxsBcqtTeamDetail = kxsBcqtTeamDetailMapper.selectOne(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getUserId, captainId).eq(KxsBcqtTeamDetail::getEndFlag, 0));
+        if (kxsBcqtTeamDetail != null) {
+            return false;
+        }
+        //用户存在
+        R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(Math.toIntExact(captainId), SecurityConstants.FROM_IN);
+        if (kxsUserR.getData() == null){
+            return false;
+        }
+        //用户状态正常且已实名
+        return !kxsUserR.getData().getStatus().equals(1) || !kxsUserR.getData().getRealStatus().equals(1);
+    }
+
+    @Override
+    @Transactional
+    public R returnTeam(CampReturnTeamDTO param) {
+        Long id = param.getId();
+        Long userId = SecurityUtils.getUser().getId();
+        KxsBcqtTeam kxsBcqtTeam = getById(id);
+        if (kxsBcqtTeam == null){
+            return R.failed("该活动不存在");
+        }
+        if (kxsBcqtTeam.getCaptainId().equals(userId)){
+            return R.failed("团长无法退出");
+        }
+        if (!kxsBcqtTeam.getStatus().equals(0)){
+            return R.failed("非报名期间无法退出");
+        }
+        //退出
+        //修改团队人数
+        kxsBcqtTeam.setTeamNumber(kxsBcqtTeam.getTeamNumber()-1);
+        updateById(kxsBcqtTeam);
+        //删除明细
+        kxsBcqtTeamDetailMapper.delete(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getTeamId, kxsBcqtTeam.getId()).eq(KxsBcqtTeamDetail::getUserId, userId));
+        return R.ok();
+    }
+
+
+
+
+    @Override
+    public R openActivity(CampOpenActivityDTO param) {
+        Long userId = SecurityUtils.getUser().getId();
+        Integer id = param.getId();
+     Integer activityDate = param.getActivityDate();
+        KxsBcqtTeam kxsBcqtTeam = getById(id);
+        if (kxsBcqtTeam == null){
+            return R.failed("活动不存在");
+        }
+        if (!kxsBcqtTeam.getStatus().equals(0)){
+            return R.failed("活动已开始");
+        }
+        if (kxsBcqtTeam.getTeamNumber().equals(10)){
+            return R.failed("人员不足无法开启活动");
+        }
+        if (userId.equals(kxsBcqtTeam.getCaptainId())){
+            return R.failed("您无法开启该活动,请联系团长开启活动");
+        }
+        LocalDateTime dateTime = LocalDateTime.now();
+        LocalDate currentDate = dateTime.toLocalDate();
+        // 计算次日凌晨0点
+        LocalDateTime startTime = currentDate.plusDays(1).atStartOfDay();
+        // 计算次日后+活动时长凌晨0点
+        LocalDateTime endTime = currentDate.plusDays(activityDate + 1).atStartOfDay();
+        kxsBcqtTeam.setUpdateTime(dateTime);
+        kxsBcqtTeam.setStartTime(startTime);//开始时间
+        kxsBcqtTeam.setEndTime(endTime);//结束时间
+        kxsBcqtTeam.setStatus(1);//活动开启
+        kxsBcqtTeam.setActivityDate(activityDate);//活动时长
+        updateById(kxsBcqtTeam);
+        return R.ok();
+    }
+
+    @Override
+    public R getBcqtDetail(Integer id) {
+        CampGetBcqtDetailVO campGetBcqtDetailVO = new CampGetBcqtDetailVO();
+        KxsBcqtTeam kxsBcqtTeam = getById(id);
+        if (kxsBcqtTeam ==null){
+            return R.failed("该活动不存在");
+        }
+        //复制活动信息
+        BeanUtil.copyProperties(kxsBcqtTeam,campGetBcqtDetailVO);
+        //总激活
+        int activityTotal = 0;
+        //查询并复制人员信息
+        List<KxsBcqtTeamDetail> kxsBcqtTeamDetails = kxsBcqtTeamDetailMapper.selectList(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getTeamId, id));
+        ArrayList<TeamUserItem> teamUserItems = new ArrayList<>();
+        for (KxsBcqtTeamDetail kxsBcqtTeamDetail : kxsBcqtTeamDetails) {
+            TeamUserItem teamUserItem = new TeamUserItem();
+            //个人激活数
+            int personageActivity = 0;
+            BeanUtil.copyProperties(kxsBcqtTeamDetail,teamUserItem);
+            if (kxsBcqtTeamDetail.getGdActivateNumber() != null){
+                activityTotal += kxsBcqtTeamDetail.getGdActivateNumber();
+                personageActivity += kxsBcqtTeamDetail.getGdActivateNumber();
+            }
+            if (kxsBcqtTeamDetail.getLkbActivateNumber() != null){
+                activityTotal += kxsBcqtTeamDetail.getLkbActivateNumber();
+                personageActivity += kxsBcqtTeamDetail.getLkbActivateNumber();
+
+            }
+            if (kxsBcqtTeamDetail.getPosActivateNumber() != null){
+                activityTotal += kxsBcqtTeamDetail.getPosActivateNumber();
+                personageActivity += kxsBcqtTeamDetail.getPosActivateNumber();
+            }
+            //个人总激活数返回字段归于posActivateNumber
+            teamUserItem.setPosActivateNumber(personageActivity);
+            teamUserItems.add(teamUserItem);
+        }
+        //计算奖池
+        BigDecimal totalAmount = BigDecimal.ZERO;
+        if (activityTotal > 100 && 200 > activityTotal){
+            totalAmount = new BigDecimal(1000);
+        } else if (200 < activityTotal) {
+            totalAmount = new BigDecimal(2200);
+        }
+        //赋值
+        campGetBcqtDetailVO.setTotalAmount(totalAmount);
+        campGetBcqtDetailVO.setActiviteTotal(activityTotal);
+        campGetBcqtDetailVO.setTeamUser(teamUserItems);
+        return R.ok(campGetBcqtDetailVO);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+

+ 3 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsCampServiceImpl.java

@@ -17,6 +17,7 @@ import com.kxs.common.core.util.R;
 import com.kxs.common.core.util.RetOps;
 import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.product.api.feign.RemoteKxsProductService;
+import com.kxs.system.api.dto.kxsapp.camp.CampReturnTeamDTO;
 import com.kxs.system.api.feign.RemoteOldService;
 import com.kxs.system.api.model.KxsCampUser;
 import com.kxs.system.api.vo.admin.CampUserExcelVO;
@@ -257,6 +258,8 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
         return pageData;
     }
 
+
+
 //    @Override
 //    public void prizePoolIsRefreshed(RabbitOrderQueueMQ.MsgEntity parse) {
 //        //查询正在进行中的活动

+ 35 - 0
kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamDetailMapper.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kxs.system.biz.mapper.KxsBcqtTeamDetailMapper">
+
+    <resultMap type="com.kxs.system.api.model.KxsBcqtTeamDetail" id="KxsBcqtTeamDetailMap">
+        <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="username" property="username" />
+        <result column="user_code" property="userCode" />
+        <result column="pos_activate_number" property="posActivateNumber" />
+        <result column="lkb_activate_number" property="lkbActivateNumber" />
+        <result column="gd_activate_number" property="gdActivateNumber" />
+        <result column="captain_status" property="captainStatus" />
+        <result column="end_flag" property="endFlag" />
+        <result column="team_id" property="teamId" />
+
+    </resultMap>
+    <select id="getMyBcqtList" resultType="com.kxs.system.api.vo.kxsapp.camp.CampGetMyBcqtListVO">
+        select
+        kbt.id,kbt.team_name,kbt.start_time,kbt.end_time,kbt.status,kbt.captain_id.kbt.username
+        from
+            kxs_bcqt_team_detail kbtd
+                left join kxs_bcqt_team kbt on kbtd.team_id = kbt.id
+        <where>
+            and kbtd.del_flag != 1
+            and kbt.del_flag != 1
+            and kbtd.user_id = #{userId}
+        </where>
+    </select>
+
+</mapper>

+ 30 - 0
kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kxs.system.biz.mapper.KxsBcqtTeamMapper">
+
+    <resultMap type="com.kxs.system.api.model.KxsBcqtTeam" id="KxsBcqtTeamMap">
+        <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="team_name" property="teamName" />
+        <result column="start_time" property="startTime" />
+        <result column="end_time" property="endTime" />
+        <result column="status" property="status" />
+        <result column="reach_status" property="reachStatus" />
+        <result column="captain_id" property="captainId" />
+        <result column="team_number" property="teamNumber" />
+        <result column="activity_date" property="activityDate" />
+
+    </resultMap>
+    <select id="getBcqtList" resultType="com.kxs.system.api.vo.kxsapp.camp.CampGetBcqtListVO">
+        select * from kxs_bcqt_team
+        <where>
+            and del_flag != 1
+            and status = 1
+            and (team_name like concat('%', #{keyword}, '%') or username like concat('%', #{keyword}, '%'))
+        </where>
+    </select>
+
+</mapper>

+ 1 - 1
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/feign/RemoteKxsUserService.java

@@ -63,7 +63,7 @@ public interface RemoteKxsUserService {
 	 * @return R
 	 */
 	@GetExchange("/user/loadUserById")
-	R<KxsUser> loadUserById(@RequestParam("userId") Integer userId, @RequestHeader(SecurityConstants.FROM) String from);
+	R<KxsUser> loadUserById(@RequestParam("userId") Integer userId, @RequestHeader(.FROM) String from);
 
 	/**
 	 * 通过用户ID查询用户实名认证信息