Przeglądaj źródła

修复训练营bug

mac 2 lat temu
rodzic
commit
c9fa52e632

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

@@ -48,7 +48,7 @@ public class RabbitKxsOrderQueueListener {
 				remoteSysService.addBcqtTeam(campAddBcqtTeamDTO, SecurityConstants.FROM_IN);
 			}
 			//训练营订单处理
-			if(parse.getStatus() == 2
+			if((parse.getStatus() == 2 || parse.getStatus() == 3)
 					&& (parse.getProductId() == 10
 					|| parse.getProductId() == 11
 					|| parse.getProductId() == 77

+ 9 - 1
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsCampMapper.java

@@ -43,6 +43,14 @@ public interface KxsCampMapper extends BaseMapper<KxsCamp> {
      * @param userIds PID
      * @return {@link KxsCampUser}
      */
-    KxsCamp selectUsersCamp(@Param("userIds") String[] userIds);
+//    KxsCamp selectUsersCamp(@Param("userIds") String[] userIds);
+
+    /**
+     * 查询上级最近参加训练营的创客
+     *
+     * @param userIds 用户 ID
+     * @return {@link KxsCamp}
+     */
+    KxsCampUser selectParentUsersCamp(@Param("userIds") String[] userIds);
 }
 

+ 6 - 12
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsCampServiceImpl.java

@@ -219,17 +219,14 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
         String[] pidPaths = user.getPidPath().split(StrPool.COMMA);
         //翻转上级从最近的开始查询
         Arrays.sort(pidPaths, Collections.reverseOrder());
-        kxsCamp = baseMapper.selectUsersCamp(pidPaths);
-        if (kxsCamp != null) {
+        KxsCampUser kxsCampUser = baseMapper.selectParentUsersCamp(pidPaths);
+        if (kxsCampUser != null) {
             //给训练营加金额
+            kxsCamp = baseMapper.selectById(kxsCampUser.getCampId());
             kxsCamp.setBonusPool(NumberUtil.add(kxsCamp.getBonusPool(), amount));
             kxsCamp.setOrderNum(kxsCamp.getOrderNum() + number.intValue());
             baseMapper.updateById(kxsCamp);
 
-            //给创客团队加金额
-            KxsCampUser kxsCampUser = kxsCampUserService.getOne(Wrappers.<KxsCampUser>lambdaQuery()
-                    .eq(KxsCampUser::getCampId, kxsCamp.getId())
-                    .eq(KxsCampUser::getUserId, param.getUserId()));
             //给创客团队加金额
             kxsCampUser.setTeamOrderPool(NumberUtil.add(kxsCampUser.getTeamOrderPool(), amount));
             kxsCampUser.setTeamOrderNum(kxsCampUser.getTeamOrderNum() + number.intValue());
@@ -282,19 +279,16 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
         String[] pidPaths = user.getPidPath().split(StrPool.COMMA);
         //翻转上级从最近的开始查询
         Arrays.sort(pidPaths, Collections.reverseOrder());
-        kxsCamp = baseMapper.selectUsersCamp(pidPaths);
-        if (kxsCamp != null) {
+        KxsCampUser kxsCampUser = baseMapper.selectParentUsersCamp(pidPaths);
+        if (kxsCampUser != null) {
             //判断绑定时间
             if (!LocalDateTimeUtil.isIn(bindTime, kxsCamp.getStartTime(), kxsCamp.getEndTime(), false, false)) {
                 return;
             }
+            kxsCamp = baseMapper.selectById(kxsCampUser.getCampId());
             kxsCamp.setOpenNum(kxsCamp.getOpenNum() + (param.getActType() == 4 ? 2 : 1));
             baseMapper.updateById(kxsCamp);
 
-            //给创客团队加金额
-            KxsCampUser kxsCampUser = kxsCampUserService.getOne(Wrappers.<KxsCampUser>lambdaQuery()
-                    .eq(KxsCampUser::getCampId, kxsCamp.getId())
-                    .eq(KxsCampUser::getUserId, param.getUserId()));
             //给创客团队加金额
             switch (param.getActType()){
                 case 1 -> kxsCampUser.setTeamPosNum(kxsCampUser.getTeamPosNum() + 1);

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

@@ -52,8 +52,8 @@
         limit 1
     </select>
     
-    <select id="selectUsersCamp" resultType="com.kxs.system.api.model.KxsCamp">
-        SELECT a.id, a.status, a.camp_num, a.camp_type, a.pic_url, a.title, a.bonus_pool, a.open_num, a.order_num
+    <select id="selectParentUsersCamp" resultType="com.kxs.system.api.model.KxsCampUser">
+        SELECT b.id, b.camp_id, b.user_id, b.temp_order_pool, b.team_lkb_num, b.team_gd_num, b.team_pos_num, b.team_leader_pool, b.team_leader_num, b.team_order_num, b.team_open_num
         from kxs_camp a
         left join kxs_camp_user b on a.id = b.camp_id
         <where>