Jelajahi Sumber

百人千团 统计定时任务已完成, 后台接口已完成

Pota1ovO 2 tahun lalu
induk
melakukan
4fa7023675
23 mengubah file dengan 694 tambahan dan 44 penghapusan
  1. 8 1
      kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/mq/RabbitKxsOrderQueueListener.java
  2. 51 0
      kxs-quartz/src/main/java/com/kxs/daemon/quartz/task/CampBcqtBeanTask.java
  3. 21 0
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/dto/statUser/GetActivityStatByIdAndTimeDTO.java
  4. 6 0
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/feign/RemoteKxsStatService.java
  5. 29 0
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/GetActivityStatByIdAndTimeVO.java
  6. 33 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsCampBcqtController.java
  7. 17 1
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserActTradeMapper.java
  8. 7 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserActTradeService.java
  9. 28 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserActTradeServiceImpl.java
  10. 35 0
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserActTradeMapper.xml
  11. 26 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/admin/GetByBcqtPageDTO.java
  12. 21 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/feign/RemoteUserService.java
  13. 106 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/admin/GetByBcqtPageVO.java
  14. 4 0
      kxs-system/kxs-system-biz/pom.xml
  15. 22 2
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/admin/SysCampController.java
  16. 39 1
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/CampController.java
  17. 6 1
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsBcqtTeamDetailMapper.java
  18. 6 1
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsBcqtTeamMapper.java
  19. 62 6
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamService.java
  20. 161 27
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamServiceImpl.java
  21. 1 1
      kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamDetailMapper.xml
  22. 4 2
      kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamMapper.xml
  23. 1 1
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/feign/RemoteKxsUserService.java

+ 8 - 1
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/mq/RabbitKxsOrderQueueListener.java

@@ -1,11 +1,14 @@
 package com.kxs.product.biz.mq;
 
 import com.alibaba.fastjson.JSON;
+import com.kxs.common.core.constant.SecurityConstants;
 import com.kxs.product.api.amqp.rabbit.RabbitKxsOrderQueueMQ;
 import com.kxs.product.api.amqp.rabbit.RabbitShopTimeoutQueueMQ;
 import com.kxs.product.api.model.KxsShopOrder;
 import com.kxs.product.biz.constant.enums.KxsShopEnum;
 import com.kxs.product.biz.service.KxsShopOrderService;
+import com.kxs.system.api.dto.kxsapp.camp.CampAddBcqtTeamDTO;
+import com.kxs.system.api.feign.RemoteUserService;
 import com.rabbitmq.client.Channel;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -27,6 +30,7 @@ import java.io.IOException;
 @Slf4j
 @RequiredArgsConstructor
 public class RabbitKxsOrderQueueListener {
+	private final RemoteUserService remoteUserService;
 
 	/**
 	 * 监听 老平台订单队列
@@ -41,7 +45,10 @@ public class RabbitKxsOrderQueueListener {
 			RabbitKxsOrderQueueMQ.MsgEntity parse = RabbitKxsOrderQueueMQ.parse(msg);
 			//处理百城千团订单,创建活动
 			if(parse.getProductId() == 100 && parse.getStatus() == 2){
-
+				CampAddBcqtTeamDTO campAddBcqtTeamDTO = new CampAddBcqtTeamDTO();
+				campAddBcqtTeamDTO.setCaptainId(Long.valueOf(parse.getUserId()));
+				campAddBcqtTeamDTO.setTeamName(parse.getRemark());
+				remoteUserService.addBcqtTeam(campAddBcqtTeamDTO, SecurityConstants.FROM_IN);
 			}
 
 			channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);

+ 51 - 0
kxs-quartz/src/main/java/com/kxs/daemon/quartz/task/CampBcqtBeanTask.java

@@ -0,0 +1,51 @@
+package com.kxs.daemon.quartz.task;
+
+import com.kxs.common.core.constant.SecurityConstants;
+import com.kxs.daemon.quartz.constants.SkyQuartzEnum;
+import com.kxs.system.api.feign.RemoteUserService;
+import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+
+/**
+ * 训练营-百城千团定时任务
+ */
+@Slf4j
+@Component("campBcqtBeanTask")
+@RequiredArgsConstructor
+public class CampBcqtBeanTask {
+    private final RemoteUserService remoteUserService;
+    /**
+     *  关闭活动结束的team和用户状态
+     */
+    @SneakyThrows
+    public String setUserActiviteStatus(String para) {
+        log.info("百城千团定时扫描关闭活动结束的team和用户状态:{},输入参数{}", LocalDateTime.now(), para);
+        try {
+            remoteUserService.setUserActiviteStatus(SecurityConstants.FROM_IN);
+            return SkyQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
+
+        }catch (Exception e){
+            log.error(e.getLocalizedMessage());
+        }
+        return SkyQuartzEnum.JOB_LOG_STATUS_FAIL.getType();
+
+    }
+
+    @SneakyThrows
+    public String setUserActivityTimeStat(String para) {
+        log.info("百城千团定时统计活动期间人员激活:{},输入参数{}", LocalDateTime.now(), para);
+        try {
+            remoteUserService.setUserActivityTimeStat(SecurityConstants.FROM_IN);
+            return SkyQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
+
+        }catch (Exception e){
+            log.error(e.getLocalizedMessage());
+        }
+        return SkyQuartzEnum.JOB_LOG_STATUS_FAIL.getType();
+
+    }
+}

+ 21 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/dto/statUser/GetActivityStatByIdAndTimeDTO.java

@@ -0,0 +1,21 @@
+package com.kxs.stat.api.dto.statUser;
+
+import lombok.Data;
+import org.w3c.dom.stylesheets.LinkStyle;
+
+import java.util.List;
+
+/**
+ * 百城千团活动期间团队激活商户统计DTO
+ */
+@Data
+public class GetActivityStatByIdAndTimeDTO {
+    /**
+     * 用户Id
+     */
+    private Long userId;
+    /**
+     * 查询时间范围
+     */
+    private List<String> times;
+}

+ 6 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/feign/RemoteKxsStatService.java

@@ -4,7 +4,10 @@ package com.kxs.stat.api.feign;
 import com.kxs.common.core.constant.SecurityConstants;
 import com.kxs.common.core.util.R;
 
+import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
 import com.kxs.stat.api.model.KxsUserTrade;
+import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.service.annotation.GetExchange;
@@ -40,4 +43,7 @@ public interface RemoteKxsStatService {
 
 	@GetExchange("/stat-job/autoStatTableCreationTasks")
     void autoStatTableCreationTasks(@RequestHeader(SecurityConstants.FROM) String from);
+
+	@GetExchange("/campStat/getActivityStatByIdAndTime")
+	List<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTime(@RequestBody List<GetActivityStatByIdAndTimeDTO> param,@RequestHeader(SecurityConstants.FROM) String from);
 }

+ 29 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/GetActivityStatByIdAndTimeVO.java

@@ -0,0 +1,29 @@
+package com.kxs.stat.api.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 百城千团活动期间团队激活商户统计接口返回数据
+ */
+@Data
+public class GetActivityStatByIdAndTimeVO {
+    /**
+     * 用户Id
+     */
+    private Long userId;
+    /**
+     * pos激活数
+     */
+    private Integer posActivityNumber;
+    /**
+     * 广电激活数
+     */
+    private Integer gdActivityNumber;
+    /**
+     * 来客吧激活数
+     */
+    private Integer lkbActivityNumber;
+
+}

+ 33 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsCampBcqtController.java

@@ -0,0 +1,33 @@
+package com.kxs.stat.biz.controller;
+
+import com.kxs.common.core.util.R;
+import com.kxs.common.security.annotation.Inner;
+import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
+import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
+import com.kxs.stat.biz.service.KxsUserActTradeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 训练营表控制层
+ *
+ * @author Pota1ovO
+ * @since 2024-05-23
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("campStat")
+public class KxsCampBcqtController {
+    private final KxsUserActTradeService kxsUserActTradeService;
+    /**
+     * 百城千团活动期间团队激活商户统计
+     */
+    @GetMapping("/getActivityStatByIdAndTime")
+    @Inner
+    public List<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTime(@RequestBody List<GetActivityStatByIdAndTimeDTO> param) {
+        return kxsUserActTradeService.getActivityStatByIdAndTime(param);
+    }
+
+}

+ 17 - 1
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserActTradeMapper.java

@@ -28,7 +28,7 @@ public interface KxsUserActTradeMapper extends BaseMapper<KxsUserActTrade> {
     Cursor<KxsUserActTrade> getUserTradeMonthList(String thisMoth);
 
     /**
-     * 获取传入日期激活商户,根据品牌分组
+     * 获取传入日期团队激活商户,根据品牌分组
      * @param times 传入日期
      * @param userId 用户id
      * @return
@@ -44,5 +44,21 @@ public interface KxsUserActTradeMapper extends BaseMapper<KxsUserActTrade> {
      * @return
      */
     List<TrendTimesVO> getUserActListByDayOrMonth(@Param("times") List<String> times, @Param("userId") Long userId, @Param("brandId") Integer brandId, @Param("type") Integer type);
+
+    /**
+     * 查询指定日期个人激活数量,
+     * @param userId 用户Id
+     * @param times 指定日
+     * @param type 1 查询pos激活  2查询广电激活
+     * @return
+     */
+    Integer getActivityStatByGdOrPos(@Param("userId")Long userId,  @Param("times") List<String> times, @Param("type") int type);
+    /**
+     * 查询来客吧指定日期个人激活数量,
+     * @param userId 用户Id
+     * @param times 指定日
+     * @return
+     */
+    Integer getActivityStatByLkb(Long userId, List<String> times);
 }
 

+ 7 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserActTradeService.java

@@ -1,7 +1,12 @@
 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.GetActivityStatByIdAndTimeDTO;
 import com.kxs.stat.api.model.KxsUserActTrade;
+import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
+
+import java.util.List;
 
 /**
  * 创客激活统计表(KxsUserActTrade)表服务接口
@@ -11,5 +16,7 @@ import com.kxs.stat.api.model.KxsUserActTrade;
  */
 public interface KxsUserActTradeService extends IService<KxsUserActTrade> {
 
+
+    List<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTime(List<GetActivityStatByIdAndTimeDTO> param);
 }
 

+ 28 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserActTradeServiceImpl.java

@@ -1,11 +1,17 @@
 package com.kxs.stat.biz.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.util.R;
+import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
+import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
 import com.kxs.stat.biz.mapper.KxsUserActTradeMapper;
 import com.kxs.stat.api.model.KxsUserActTrade;
 import com.kxs.stat.biz.service.KxsUserActTradeService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 创客激活统计表(KxsUserActTrade)表服务实现类
  *
@@ -15,5 +21,27 @@ import org.springframework.stereotype.Service;
 @Service("kxsUserActTradeService")
 public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMapper, KxsUserActTrade> implements KxsUserActTradeService {
 
+
+    @Override
+    public List<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTime(List<GetActivityStatByIdAndTimeDTO> param) {
+        ArrayList<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTimeVOS = new ArrayList<>();
+        for (GetActivityStatByIdAndTimeDTO getActivityStatByIdAndTimeDTO : param) {
+            Long userId = getActivityStatByIdAndTimeDTO.getUserId();
+            List<String> times = getActivityStatByIdAndTimeDTO.getTimes();
+            //查询pos激活
+            Integer posNumber = baseMapper.getActivityStatByGdOrPos(userId,times,1);
+            //查询广电激活
+            Integer gdNumber = baseMapper.getActivityStatByGdOrPos(userId,times,2);
+            //查询来客吧激活
+            Integer lkbNumber = baseMapper.getActivityStatByLkb(userId,times);
+            GetActivityStatByIdAndTimeVO getActivityStatByIdAndTimeVO = new GetActivityStatByIdAndTimeVO();
+            getActivityStatByIdAndTimeVO.setUserId(userId);
+            getActivityStatByIdAndTimeVO.setPosActivityNumber(posNumber);
+            getActivityStatByIdAndTimeVO.setGdActivityNumber(gdNumber);
+            getActivityStatByIdAndTimeVO.setLkbActivityNumber(lkbNumber);
+            getActivityStatByIdAndTimeVOS.add(getActivityStatByIdAndTimeVO);
+        }
+        return getActivityStatByIdAndTimeVOS;
+    }
 }
 

+ 35 - 0
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserActTradeMapper.xml

@@ -89,5 +89,40 @@
             ,brand_id
         </if>
     </select>
+    <select id="getActivityStatByGdOrPos" resultType="java.lang.Integer">
+        select
+            sum(act_num)
+        from
+            kxs_user_act_trade
+        where
+            del_flag != 1
+            and total_type = 0
+            and user_id = #{userId}
+            and trade_date in
+            <foreach collection="times" item="time" open="(" separator="," close=")">
+                #{time}
+            </foreach>
+            <if test="type == 1">
+                and brand_id != 14
+            </if>
+            <if test="type == 2">
+                and brand_id = 14
+            </if>
+    </select>
+    <select id="getActivityStatByLkb" resultType="java.lang.Integer">
+        select
+        sum(act_num)
+        from
+        kxs_lkb_act_trade
+        where
+        del_flag != 1
+        and total_type = 0
+        and user_id = #{userId}
+        and trade_date in
+        <foreach collection="times" item="time" open="(" separator="," close=")">
+            #{time}
+        </foreach>
+    </select>
+
 
 </mapper>

+ 26 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/admin/GetByBcqtPageDTO.java

@@ -0,0 +1,26 @@
+package com.kxs.system.api.dto.admin;
+
+import lombok.Data;
+
+/**
+ * 百城千团列表查询dto
+ */
+@Data
+public class GetByBcqtPageDTO {
+    /**
+     * 活动状态
+     */
+    private Integer status;
+    /**
+     * 达标状态
+     */
+    private Integer reachStatus;
+    /**
+     * 团队名
+     */
+    private String teamName;
+    /**
+     * 参与用户id
+     */
+    private String userCode;
+}

+ 21 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/feign/RemoteUserService.java

@@ -4,9 +4,13 @@ package com.kxs.system.api.feign;
 import com.kxs.common.core.constant.SecurityConstants;
 import com.kxs.common.core.util.R;
 import com.kxs.system.api.dto.admin.UserInfo;
+import com.kxs.system.api.dto.kxsapp.camp.CampAddBcqtTeamDTO;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.service.annotation.GetExchange;
+import org.springframework.web.service.annotation.PostExchange;
 
 /**
  * @author Lxq
@@ -23,4 +27,21 @@ public interface RemoteUserService {
 	@GetExchange("/user/info/query")
 	R<UserInfo> info(@RequestParam("username") String username, @RequestHeader(SecurityConstants.FROM) String from);
 
+	/**
+	 * 创建百城千团
+	 */
+	@PostExchange("/camp/addBcqtTeam")
+	R addBcqtTeam(@RequestBody CampAddBcqtTeamDTO param, @RequestHeader(SecurityConstants.FROM) String from);
+
+	/**
+	 * 定时统计活动期间人员激活  定时任务
+	 */
+	@PostExchange("/setUserActivityTimeStat")
+	void setUserActivityTimeStat(@RequestHeader(SecurityConstants.FROM) String from);
+
+	/**
+	 * 定时任务,关闭活动结束的team和用户状态
+	 */
+	@PostExchange("/setUserActiviteStatus")
+	void setUserActiviteStatus(@RequestHeader(SecurityConstants.FROM) String from);
 }

+ 106 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/admin/GetByBcqtPageVO.java

@@ -0,0 +1,106 @@
+package com.kxs.system.api.vo.admin;
+
+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;
+
+/**
+ * 百城千团列表查询vo
+ */
+@Data
+public class GetByBcqtPageVO {
+
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+
+    /**
+     * 新增时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
+
+
+
+    /**
+     * 团队名称
+     */
+    @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;
+    /**
+     * 队长编号
+     */
+    @Schema(description = "队长编号")
+    private String userCode;
+    /**
+     * 激活总量
+     */
+    @Schema(description = "激活总量")
+    private Integer activityTotal;
+
+}

+ 4 - 0
kxs-system/kxs-system-biz/pom.xml

@@ -93,6 +93,10 @@
             <groupId>com.kxs</groupId>
             <artifactId>kxs-common-oss</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.kxs</groupId>
+            <artifactId>kxs-stat-api</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 22 - 2
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/admin/SysCampController.java

@@ -7,10 +7,13 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.kxs.common.core.util.R;
 import com.kxs.common.log.annotation.SysLog;
+import com.kxs.system.api.dto.admin.GetByBcqtPageDTO;
+import com.kxs.system.api.model.KxsBcqtTeam;
 import com.kxs.system.api.model.KxsCamp;
 import com.kxs.system.api.model.KxsCampBonusLog;
 import com.kxs.system.api.model.KxsCampUser;
 import com.kxs.system.api.vo.admin.CampUserExcelVO;
+import com.kxs.system.biz.service.KxsBcqtTeamService;
 import com.kxs.system.biz.service.KxsCampBonusLogService;
 import com.kxs.system.biz.service.KxsCampService;
 import com.kxs.system.biz.service.KxsCampUserService;
@@ -42,7 +45,7 @@ public class SysCampController {
     private final KxsCampService kxsCampService;
     private final KxsCampUserService kxsCampUserService;
     private final KxsCampBonusLogService kxsCampBonusLogService;
-
+    private final KxsBcqtTeamService kxsBcqtTeamService;
 
 
     /**
@@ -165,8 +168,25 @@ public class SysCampController {
     }
 
 
+    /**
+     * 训练营-百城千团列表
+     *
+     * @param page 分页对象
+     * @param param 查询实体
+     * @return 训练营-百城千团列表
+     */
+    @GetMapping("/bcqtPage")
+//    @PreAuthorize("@pms.hasPermission('sys_camp_bcqt_page')")
+    public R bcqtPage(Page<KxsBcqtTeam> page, @ParameterObject GetByBcqtPageDTO param) {
 
-
+        return kxsBcqtTeamService.getByBcqtPage(page, param);
+    }
+    @PostMapping("/updateBcqt")
+//    @PreAuthorize("@pms.hasPermission('sys_camp_bcqt_update')")
+    public R updateBcqt(@RequestBody KxsBcqtTeam kxsBcqtTeam) {
+        kxsBcqtTeamService.updateBcqt(kxsBcqtTeam);
+        return R.ok();
+    }
 
 }
 

+ 39 - 1
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/CampController.java

@@ -3,11 +3,13 @@ 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.annotation.Inner;
 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.KxsBcqtTeamDetail;
 import com.kxs.system.api.model.KxsCamp;
 import com.kxs.system.api.vo.kxsapp.camp.*;
 import com.kxs.system.biz.service.KxsBcqtTeamService;
@@ -17,6 +19,8 @@ import lombok.RequiredArgsConstructor;
 import org.springdoc.core.annotations.ParameterObject;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * 训练营(Camp)控制层
  *
@@ -84,7 +88,7 @@ public class CampController {
      * @return 百城千团-获取列表
      */
     @GetMapping("/getBcqtList")
-    public R getBcqtList(@ParameterObject Page<KxsBcqtTeam> page, @RequestParam("keyword")  String keyword) {
+    public R getBcqtList(@ParameterObject Page<KxsBcqtTeam> page, @ParameterObject  String keyword) {
         return kxsBcqtTeamService.getBcqtList(page,keyword);
     }
 
@@ -109,6 +113,7 @@ public class CampController {
      * @return 百城千团-创建团队
      */
     @PostMapping("/addBcqtTeam")
+    @Inner
     public R addBcqtTeam(@RequestBody CampAddBcqtTeamDTO param) {
 
         return  kxsBcqtTeamService.addBcqtTeam(param);
@@ -164,6 +169,39 @@ public class CampController {
     }
 
 
+    /**
+     * 定时统计活动期间人员激活  定时任务
+     *
+     */
+    @PostMapping("/setUserActivityTimeStat")
+    @Inner
+    public void setUserActivityTimeStat() {
+        kxsBcqtTeamService.setUserActivityTimeStat();
+    }
+
+    /**
+     * 定时任务,关闭活动结束的team和用户状态
+     */
+    @PostMapping("/setUserActiviteStatus")
+    @Inner
+    public void setUserActiviteStatus() {
+        kxsBcqtTeamService.setUserActiviteStatus();
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 }
 

+ 6 - 1
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsBcqtTeamDetailMapper.java

@@ -15,7 +15,12 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface KxsBcqtTeamDetailMapper extends BaseMapper<KxsBcqtTeamDetail> {
-
+    /**
+     * 获取我的参团记录
+     * @param page
+     * @param userId
+     * @return
+     */
     Page<CampGetMyBcqtListVO> getMyBcqtList(Page<KxsBcqtTeam> page, Long userId);
 }
 

+ 6 - 1
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsBcqtTeamMapper.java

@@ -15,7 +15,12 @@ import org.apache.ibatis.annotations.Param;
  */
 @Mapper
 public interface KxsBcqtTeamMapper extends BaseMapper<KxsBcqtTeam> {
-
+    /**
+     * 获取未开始的team列表
+     * @param page
+     * @param keyword 查询关键字
+     * @return
+     */
     Page<CampGetBcqtListVO> getBcqtList(Page<KxsBcqtTeam> page, @Param("keyword") String keyword);
 
 }

+ 62 - 6
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamService.java

@@ -3,10 +3,14 @@ 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.admin.GetByBcqtPageDTO;
 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.KxsBcqtTeamDetail;
+
+import java.util.List;
 
 /**
  * 百城千团团队表(KxsBcqtTeam)表服务接口
@@ -16,18 +20,70 @@ import com.kxs.system.api.model.KxsBcqtTeam;
  */
 public interface KxsBcqtTeamService extends IService<KxsBcqtTeam> {
 
+    /**
+     * 百城千团-获取列表
+     *
+     * @param page 分页对象
+     * @param keyword 查询关键字
+     * @return 百城千团-获取列表
+     */
     R getBcqtList(Page<KxsBcqtTeam> page, String keyword);
-
+    /**
+     * 百城千团-获取我的参团记录
+     *
+     * @param page 分页对象
+     * @return 百城千团-获取我的参团记录
+     */
     R getMyBcqtList(Page<KxsBcqtTeam> page);
-
+    /**
+     * 百城千团-创建团队
+     *
+     * @param param 实体对象
+     * @return 百城千团-创建团队
+     */
     R addBcqtTeam(CampAddBcqtTeamDTO param);
-
+    /**
+     * 百城千团-创建团队校验
+     *
+     * @param param 实体对象
+     * @return 百城千团-创建团队
+     */
     boolean verifyAddTeam(CampAddBcqtTeamDTO param);
-
+    /**
+     * 百城千团-退出团队
+     *
+     * @param param 实体对象
+     * @return 百城千团-退出团队
+     */
     R returnTeam(CampReturnTeamDTO param);
-
+    /**
+     * 百城千团-开启活动
+     *
+     * @param param 实体对象
+     * @return 百城千团-开启活动
+     */
     R openActivity(CampOpenActivityDTO param);
-
+    /**
+     * 百城千团-业绩查看
+     *
+     * @param id 主键ID
+     * @return 百城千团-业绩查看
+     */
     R getBcqtDetail(Integer id);
+    /**
+     * 定时统计活动期间人员激活  定时任务
+     *
+     */
+    void setUserActivityTimeStat();
+
+    /**
+     * 关闭结束活动team
+     */
+    void setUserActiviteStatus();
+
+    R getByBcqtPage(Page<KxsBcqtTeam> page, GetByBcqtPageDTO param);
+
+    void updateBcqt(KxsBcqtTeam kxsBcqtTeam);
+
 }
 

+ 161 - 27
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamServiceImpl.java

@@ -1,16 +1,24 @@
 package com.kxs.system.biz.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.LocalDateTimeUtil;
 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.exception.GlobalCustomerException;
 import com.kxs.common.core.util.R;
 import com.kxs.common.security.util.SecurityUtils;
+import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
+import com.kxs.stat.api.feign.RemoteKxsStatService;
+import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
+import com.kxs.system.api.dto.admin.GetByBcqtPageDTO;
 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.admin.GetByBcqtPageVO;
 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;
@@ -22,6 +30,7 @@ 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.checkerframework.checker.units.qual.K;
 import org.jacoco.agent.rt.internal_43f5073.core.internal.flow.IFrame;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
@@ -31,6 +40,7 @@ import java.math.BigDecimal;
 import java.sql.Array;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -46,6 +56,8 @@ import java.util.Objects;
 public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBcqtTeam> implements KxsBcqtTeamService {
     private final KxsBcqtTeamDetailMapper kxsBcqtTeamDetailMapper;
     private final RemoteKxsUserService remoteKxsUserService;
+    private final RemoteKxsStatService remoteKxsStatService;
+    private final KxsBcqtTeamMapper kxsBcqtTeamMapper;
 
     @Override
     public R getBcqtList(Page<KxsBcqtTeam> page, String keyword) {
@@ -74,8 +86,8 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
     public R addBcqtTeam(CampAddBcqtTeamDTO param) {
         String teamName = param.getTeamName();
         Long captainId = param.getCaptainId();
-        if (verifyAddTeam(param)) {
-            R.failed("校验未通过,非法参数");
+        if (!verifyAddTeam(param)) {
+            return R.failed("校验未通过,非法参数");
         }
         R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(Math.toIntExact(captainId), SecurityConstants.FROM_IN);
         KxsUser kxsUser = kxsUserR.getData();
@@ -104,6 +116,7 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
         kxsBcqtTeamDetail.setEndFlag(0);
         //需要拿到存储的团队id,该方法无法添加事务
         kxsBcqtTeamDetail.setTeamId(Long.valueOf(kxsBcqtTeam.getId()));
+        kxsBcqtTeamDetailMapper.insert(kxsBcqtTeamDetail);
         return R.ok();
 
 
@@ -129,7 +142,7 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
             return false;
         }
         //用户状态正常且已实名
-        return !kxsUserR.getData().getStatus().equals(1) || !kxsUserR.getData().getRealStatus().equals(1);
+        return kxsUserR.getData().getStatus().equals(1) || kxsUserR.getData().getRealStatus().equals(1);
     }
 
     @Override
@@ -171,10 +184,10 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
         if (!kxsBcqtTeam.getStatus().equals(0)){
             return R.failed("活动已开始");
         }
-        if (kxsBcqtTeam.getTeamNumber().equals(10)){
+        if (!kxsBcqtTeam.getTeamNumber().equals(10)){
             return R.failed("人员不足无法开启活动");
         }
-        if (userId.equals(kxsBcqtTeam.getCaptainId())){
+        if (!userId.equals(kxsBcqtTeam.getCaptainId())){
             return R.failed("您无法开启该活动,请联系团长开启活动");
         }
         LocalDateTime dateTime = LocalDateTime.now();
@@ -242,34 +255,155 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
         return R.ok(campGetBcqtDetailVO);
     }
 
+    @Override
+    @Transactional
+    public void setUserActivityTimeStat() {
+        //获取全部活动中团队
+        List<KxsBcqtTeam> list = list(Wrappers.<KxsBcqtTeam>query().lambda().eq(KxsBcqtTeam::getStatus, 1));
+        //构造查询数据
+        for (KxsBcqtTeam kxsBcqtTeam : list) {
+            ArrayList<GetActivityStatByIdAndTimeDTO> getActivityStatByIdAndTimeDTOS = new ArrayList<>();
+            //构造该团队的查询日期
+            LocalDateTime startTime = kxsBcqtTeam.getStartTime();//开始时间
+            Integer activityDate = kxsBcqtTeam.getActivityDate();//活动时长
+            //获取从开始时间开始未来活动时长的每天字符串
+            List<String> futureDates = new ArrayList<>();
+            for (int i = 0; i <= activityDate; i++) {
+                LocalDate currentDate = startTime.toLocalDate().plusDays(i);
+                String currentDateString = LocalDateTimeUtil.format(currentDate, DatePattern.PURE_DATE_PATTERN);
+                futureDates.add(currentDateString);
+            }
+            //查询所有团队成员
+            List<KxsBcqtTeamDetail> kxsBcqtTeamDetailS = kxsBcqtTeamDetailMapper.selectList(Wrappers.<KxsBcqtTeamDetail>query().lambda()
+                    .eq(KxsBcqtTeamDetail::getTeamId,kxsBcqtTeam.getId()));
+            //构造dto
+            for (KxsBcqtTeamDetail kxsBcqtTeamDetail : kxsBcqtTeamDetailS) {
+                GetActivityStatByIdAndTimeDTO getActivityStatByIdAndTimeDTO = new GetActivityStatByIdAndTimeDTO();
+                getActivityStatByIdAndTimeDTO.setUserId(kxsBcqtTeamDetail.getUserId());
+                getActivityStatByIdAndTimeDTO.setTimes(futureDates);
+                getActivityStatByIdAndTimeDTOS.add(getActivityStatByIdAndTimeDTO);
+            }
+            //查询得到统计数据
+            List<GetActivityStatByIdAndTimeVO> activityStatByIdAndTime = remoteKxsStatService.getActivityStatByIdAndTime(getActivityStatByIdAndTimeDTOS, SecurityConstants.FROM_IN);
+            int reachNumber = 0;
+            //修改查询到的数据的当前激活数
+            for (GetActivityStatByIdAndTimeVO getActivityStatByIdAndTimeVO : activityStatByIdAndTime) {
+                Long userId = getActivityStatByIdAndTimeVO.getUserId();
+                Integer posActivityNumber = getActivityStatByIdAndTimeVO.getPosActivityNumber();
+                if (posActivityNumber != null){
+                    reachNumber += posActivityNumber;
+                }
+                Integer gdActivityNumber = getActivityStatByIdAndTimeVO.getGdActivityNumber();
+                if (gdActivityNumber != null){
+                    reachNumber += gdActivityNumber;
+                }
+                Integer lkbActivityNumber = getActivityStatByIdAndTimeVO.getLkbActivityNumber();
+                if (lkbActivityNumber != null){
+                    reachNumber += lkbActivityNumber;
+                }
+                //查询当前在活动的该用户
+                KxsBcqtTeamDetail kxsBcqtTeamDetail = kxsBcqtTeamDetailMapper.selectOne(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getUserId, userId).eq(KxsBcqtTeamDetail::getEndFlag, 0));
+                kxsBcqtTeamDetail.setUpdateTime(LocalDateTime.now());
+                kxsBcqtTeamDetail.setPosActivateNumber(posActivityNumber);
+                kxsBcqtTeamDetail.setLkbActivateNumber(lkbActivityNumber);
+                kxsBcqtTeamDetail.setGdActivateNumber(gdActivityNumber);
+                //修改激活数
+                kxsBcqtTeamDetailMapper.updateById(kxsBcqtTeamDetail);
+            }
+            //判断当前团队是否达标
+            if (reachNumber >= 100 && kxsBcqtTeam.getReachStatus() != 1){
+                kxsBcqtTeam.setReachStatus(1);
+                updateById(kxsBcqtTeam);
+            }
 
+        }
+    }
 
+    @Override
+    @Transactional
+    public void setUserActiviteStatus() {
+        //获取全部活动中团队
+        List<KxsBcqtTeam> list = list(Wrappers.<KxsBcqtTeam>query().lambda().eq(KxsBcqtTeam::getStatus, 1));
+        LocalDateTime now = LocalDateTime.now();
+        for (KxsBcqtTeam kxsBcqtTeam : list) {
+            LocalDateTime endTime = kxsBcqtTeam.getEndTime();
+            //当前时间在结束时间之后
+            if (now.isAfter(endTime)){
+                //设置活动状态为已结束
+                kxsBcqtTeam.setStatus(2);
+                updateById(kxsBcqtTeam);
+                //修改团队人员明细
+                List<KxsBcqtTeamDetail> kxsBcqtTeamDetailS = kxsBcqtTeamDetailMapper.selectList(Wrappers.<KxsBcqtTeamDetail>query().lambda()
+                        .eq(KxsBcqtTeamDetail::getTeamId,kxsBcqtTeam.getId()));
+                for (KxsBcqtTeamDetail kxsBcqtTeamDetail : kxsBcqtTeamDetailS) {
+                    //结束参与状态
+                    kxsBcqtTeamDetail.setEndFlag(1);
+                    kxsBcqtTeamDetailMapper.updateById(kxsBcqtTeamDetail);
+                }
+            }
+        }
+    }
 
+    @Override
+    public R getByBcqtPage(Page<KxsBcqtTeam> page, GetByBcqtPageDTO param) {
+        ArrayList<Long> teamIds = new ArrayList<>();
+        if (param.getUserCode() != null && !param.getUserCode().equals("")){
+            List<KxsBcqtTeamDetail> kxsBcqtTeamDetails = kxsBcqtTeamDetailMapper.selectList(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getUserCode, param.getUserCode()));
+            if (kxsBcqtTeamDetails.size() == 0){
+                return R.ok();
+            }
+            for (KxsBcqtTeamDetail kxsBcqtTeamDetail : kxsBcqtTeamDetails) {
+                teamIds.add(kxsBcqtTeamDetail.getTeamId());
+            }
+        }
 
+        Page<KxsBcqtTeam> page1 = page(page, Wrappers.<KxsBcqtTeam>query().lambda()
+                .eq(param.getStatus() != null, KxsBcqtTeam::getStatus, param.getStatus())
+                .eq(param.getReachStatus() != null, KxsBcqtTeam::getReachStatus, param.getReachStatus())
+                .like(param.getTeamName() != null && !param.getTeamName().equals(""),KxsBcqtTeam::getTeamName,param.getTeamName())
+                .in(teamIds.size() != 0, KxsBcqtTeam::getId, teamIds));
+        ArrayList<GetByBcqtPageVO> getByBcqtPageVOS = new ArrayList<>();
+        for (KxsBcqtTeam record : page1.getRecords()) {
+            GetByBcqtPageVO getByBcqtPageVO = new GetByBcqtPageVO();
+            BeanUtil.copyProperties(record,getByBcqtPageVO);
+            List<KxsBcqtTeamDetail> kxsBcqtTeamDetails = kxsBcqtTeamDetailMapper.selectList(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getTeamId, record.getId()));
+            int activityTotal = 0;
+            for (KxsBcqtTeamDetail kxsBcqtTeamDetail : kxsBcqtTeamDetails) {
+                if (kxsBcqtTeamDetail.getGdActivateNumber() != null){
+                    activityTotal += kxsBcqtTeamDetail.getGdActivateNumber();
+                    activityTotal += kxsBcqtTeamDetail.getGdActivateNumber();
+                }
+                if (kxsBcqtTeamDetail.getLkbActivateNumber() != null){
+                    activityTotal += kxsBcqtTeamDetail.getLkbActivateNumber();
+                    activityTotal += kxsBcqtTeamDetail.getLkbActivateNumber();
+
+                }
+                if (kxsBcqtTeamDetail.getPosActivateNumber() != null){
+                    activityTotal += kxsBcqtTeamDetail.getPosActivateNumber();
+                    activityTotal += kxsBcqtTeamDetail.getPosActivateNumber();
+                }
+                if (kxsBcqtTeamDetail.getCaptainStatus() == 1){
+                    //队长编号
+                    getByBcqtPageVO.setUserCode(kxsBcqtTeamDetail.getUserCode());
+                }
+            }
+            //总激活
+            getByBcqtPageVO.setActivityTotal(activityTotal);
+            getByBcqtPageVOS.add(getByBcqtPageVO);
+        }
 
+        return R.ok(getByBcqtPageVOS);
+    }
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+    @Override
+    public void updateBcqt(KxsBcqtTeam kxsBcqtTeam) {
+        KxsBcqtTeam kxsBcqtTeam1 = kxsBcqtTeamMapper.selectById(kxsBcqtTeam.getId());
+        if (kxsBcqtTeam1 == null){
+            throw new GlobalCustomerException("团队不存在");
+        }
+        kxsBcqtTeam1.setTeamName(kxsBcqtTeam.getTeamName());
+        kxsBcqtTeamMapper.updateById(kxsBcqtTeam1);
+    }
 
 
 }

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

@@ -21,7 +21,7 @@
     </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
+        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

+ 4 - 2
kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamMapper.xml

@@ -22,8 +22,10 @@
         select * from kxs_bcqt_team
         <where>
             and del_flag != 1
-            and status = 1
-            and (team_name like concat('%', #{keyword}, '%') or username like concat('%', #{keyword}, '%'))
+            and `status` = 0
+            <if test="keyword != null and keyword != ''">
+                and (team_name like concat('%', #{keyword}, '%') or username like concat('%', #{keyword}, '%'))
+            </if>
         </where>
     </select>
 

+ 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(.FROM) String from);
+	R<KxsUser> loadUserById(@RequestParam("userId") Integer userId, @RequestHeader(SecurityConstants.FROM) String from);
 
 	/**
 	 * 通过用户ID查询用户实名认证信息