Преглед изворни кода

补充了百城千团一个接口bug

Pota1ovO пре 2 година
родитељ
комит
f96e176d4e

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

@@ -1,6 +1,8 @@
 package com.kxs.system.api.dto.kxsapp.camp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
 
@@ -17,6 +19,7 @@ public class CampAddBcqtTeamDTO {
      * 团队名称
      */
     @Schema(description = "团队名称")
+    @NotEmpty(message = "团队名不能为空")
     private String teamName;
 
 
@@ -24,6 +27,7 @@ public class CampAddBcqtTeamDTO {
      * 队长id
      */
     @Schema(description = "队长id")
+    @NotNull(message = "用户id不能为空")
     private Long captainId;
 
 

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

@@ -0,0 +1,14 @@
+package com.kxs.system.api.dto.kxsapp.camp;
+
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * 百城千团 - 加入团队dto
+ */
+@Data
+public class JoinTheTeamDTO {
+    @NotNull(message = "加入团队id不能为空")
+    private long id;
+}

+ 13 - 2
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/CampController.java

@@ -8,6 +8,7 @@ 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.dto.kxsapp.camp.JoinTheTeamDTO;
 import com.kxs.system.api.model.KxsBcqtTeam;
 import com.kxs.system.api.model.KxsBcqtTeamDetail;
 import com.kxs.system.api.model.KxsCamp;
@@ -15,6 +16,7 @@ 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 jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import org.springdoc.core.annotations.ParameterObject;
 import org.springframework.web.bind.annotation.*;
@@ -114,7 +116,7 @@ public class CampController {
      */
     @PostMapping("/addBcqtTeam")
     @Inner
-    public R addBcqtTeam(@RequestBody CampAddBcqtTeamDTO param) {
+    public R addBcqtTeam(@Valid @RequestBody CampAddBcqtTeamDTO param) {
 
         return  kxsBcqtTeamService.addBcqtTeam(param);
     }
@@ -125,7 +127,7 @@ public class CampController {
      * @return 百城千团-创建团队
      */
     @PostMapping("/verifyAddTeam")
-    public R verifyAddTeam(@RequestBody CampAddBcqtTeamDTO param) {
+    public R verifyAddTeam(@Valid @RequestBody CampAddBcqtTeamDTO param) {
         Long id = SecurityUtils.getUser().getId();
         param.setCaptainId(id);
         return R.ok(kxsBcqtTeamService.verifyAddTeam(param));
@@ -190,7 +192,16 @@ public class CampController {
 
 
 
+    /**
+     * 百城千团-加入团队
+     *
+     * @return 百城千团-加入团队
+     */
+    @PostMapping("/joinTheTeam")
+    public R joinTheTeam(@Valid @RequestBody JoinTheTeamDTO joinTheTeamDTO) {
 
+        return kxsBcqtTeamService.joinTheTeam(joinTheTeamDTO.getId());
+    }
 
 
 

+ 25 - 3
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamService.java

@@ -80,11 +80,33 @@ public interface KxsBcqtTeamService extends IService<KxsBcqtTeam> {
      * 关闭结束活动team
      */
     void setUserActiviteStatus();
-
+    /**
+     * 训练营-百城千团列表
+     *
+     * @param page 分页对象
+     * @param param 查询实体
+     * @return 训练营-百城千团列表
+     */
     R getByBcqtPage(Page<KxsBcqtTeam> page, GetByBcqtPageDTO param);
-
+    /**
+     * 修改团名
+     * @param kxsBcqtTeam  实体
+     * @return
+     */
     void updateBcqt(KxsBcqtTeam kxsBcqtTeam);
-
+    /**
+     * 训练营-百城千团列表-激活统计
+     *
+     * @param id 查询团队id
+     * @return 训练营-百城千团列表
+     */
     R bcqtGetDetail(Long id);
+
+    /**
+     * 百城千团 - 加入团队
+     * @param id
+     * @return
+     */
+    R joinTheTeam(long id);
 }
 

+ 54 - 4
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamServiceImpl.java

@@ -126,6 +126,7 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
     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) {
@@ -212,6 +213,11 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
         if (kxsBcqtTeam ==null){
             return R.failed("该活动不存在");
         }
+        Long userId = SecurityUtils.getUser().getId();
+        KxsBcqtTeamDetail bcqtTeamDetail = kxsBcqtTeamDetailMapper.selectOne(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getTeamId, id).eq(KxsBcqtTeamDetail::getUserId, userId));
+        if (bcqtTeamDetail == null){
+            return R.failed("非法参数,无法查看未加入的团队");
+        }
         //复制活动信息
         BeanUtil.copyProperties(kxsBcqtTeam,campGetBcqtDetailVO);
         //总激活
@@ -415,11 +421,55 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
         return R.ok(kxsBcqtTeamDetails);
     }
 
+    @Override
+    @Transactional
+    public R joinTheTeam(long id) {
+        Long userId = SecurityUtils.getUser().getId();
+        KxsBcqtTeamDetail bcqtTeamDetail = kxsBcqtTeamDetailMapper.selectOne(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getUserId, userId).eq(KxsBcqtTeamDetail::getEndFlag, 0));
+        if (bcqtTeamDetail != null){
+            return R.failed("每个用户同一时间只能加入一个团队");
+        }
+        KxsBcqtTeam kxsBcqtTeam = kxsBcqtTeamMapper.selectById(id);
+        if (kxsBcqtTeam == null){
+            return R.failed("非法参数,团队不存在");
+        }
+        if (kxsBcqtTeam.getStatus() != 0){
+            return R.failed("只能加入未开始的团队");
+        }
+        R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(Math.toIntExact(userId),SecurityConstants.FROM_IN);
+        KxsUser kxsUser = kxsUserR.getData();
+        if (kxsUser == null){
+            return R.failed("系统错误,请重新登录");
+        }
+        Long captainId = kxsBcqtTeam.getCaptainId();
+        String pidPath = kxsUser.getPidPath();
+        String pid = "," + captainId + ",";
+        if (!pidPath.contains(pid)){
+            return R.failed("您无法加入您体系外的团队");
+        }
+        Integer teamNumber = kxsBcqtTeam.getTeamNumber();
+        if (teamNumber >= 10){
+            return R.failed("该团队人数已满");
+        }
+        //加入
+        kxsBcqtTeam.setTeamNumber(teamNumber + 1);
+        kxsBcqtTeamMapper.updateById(kxsBcqtTeam);
+        KxsBcqtTeamDetail kxsBcqtTeamDetail = new KxsBcqtTeamDetail();
+        kxsBcqtTeamDetail.setCreateTime(LocalDateTime.now());
+        kxsBcqtTeamDetail.setDelFlag("0");
+        kxsBcqtTeamDetail.setUserId(Long.valueOf(kxsUser.getId()));
+        kxsBcqtTeamDetail.setUsername(kxsUser.getUsername());
+        kxsBcqtTeamDetail.setUserCode(kxsUser.getUserCode());
+        kxsBcqtTeamDetail.setPosActivateNumber(0);
+        kxsBcqtTeamDetail.setLkbActivateNumber(0);
+        kxsBcqtTeamDetail.setGdActivateNumber(0);
+        kxsBcqtTeamDetail.setCaptainStatus(0);
+        kxsBcqtTeamDetail.setEndFlag(0);
+        kxsBcqtTeamDetail.setTeamId(id);
+        kxsBcqtTeamDetailMapper.insert(kxsBcqtTeamDetail);
 
-
-
-
-
+        return R.ok();
+    }