ソースを参照

Merge remote-tracking branch 'origin/dev_1_2_20220802' into dev_1_2_20220802

# Conflicts:
#	cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityPlanServiceImpl.java
liweifan 3 年 前
コミット
a1be2e5001

+ 9 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ActivityPlanService.java

@@ -77,4 +77,13 @@ public interface ActivityPlanService extends IService<ActivityPlan>  {
 	 * @return
 	 */
 	Boolean joinEvaluation(Long evaluationId, SysUser user);
+
+	/**
+	 * 活动报名
+	 *
+	 * @param activityId 活动id
+	 * @param user 用户
+	 * @return
+	 */
+    Boolean joinActivity(Long activityId, SysUser user);
 }

+ 36 - 18
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityPlanServiceImpl.java

@@ -233,6 +233,8 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         activityRegistration.setActivityId(userOrderDetailVo.getBizId());
         activityRegistration.setCreateTime(new Date());
         activityRegistrationService.save(activityRegistration);
+
+        sendMessage(userOrderDetailVo.getGoodName(),userOrderDetailVo.getUserId());
     }
 
     @Override
@@ -243,26 +245,11 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         }
 
         checkActivityPay(activityEvaluation.getActivityId());
-        if (!checkoutJoinActivity(activityEvaluation.getActivityId(), user.getId())) {
-            ActivityPlan activityPlan = this.getById(activityEvaluation.getActivityId());
-            if (RegistrationMethodEnum.FREE.equals(activityPlan.getRegistrationMethod())) {
-
-                // 免费活动 参与时 添加报名记录
-                ActivityRegistration activityRegistration = new ActivityRegistration();
-                activityRegistration.setUserId(user.getId());
-                activityRegistration.setOrderNo(null);
-                activityRegistration.setSubOrderNo(null);
-                activityRegistration.setActivityId(activityEvaluation.getActivityId());
-                activityRegistration.setCreateTime(new Date());
-                activityRegistrationService.save(activityRegistration);
-
-
-            } else {
-                throw new BizException("请先报名参与");
-            }
+        if (!checkoutJoinActivity(activityEvaluation.getActivityId(),user.getId())) {
+            throw new BizException("请先报名参与");
         }
 
-        List<Long> joinEvaluationIdList = activityEvaluationRecordService.getJoinEvaluationIdList(activityEvaluation.getActivityId(), user.getId());
+        List<Long> joinEvaluationIdList = activityEvaluationRecordService.getJoinEvaluationIdList(activityEvaluation.getActivityId(),user.getId());
 
         // 保存参与活动项目记录
         if (CollectionUtils.isEmpty(joinEvaluationIdList)) {
@@ -280,6 +267,37 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         return true;
     }
 
+    @Override
+    public Boolean joinActivity(Long activityId, SysUser user) {
+        checkActivityPay(activityId);
+        ActivityPlan activityPlan = this.getById(activityId);
+        if (checkoutJoinActivity(activityId,user.getId())) {
+            throw new BizException("您已经报名了");
+        }
+        if (RegistrationMethodEnum.CHARGE.equals(activityPlan.getRegistrationMethod())) {
+            throw new BizException("收费活动,请下单报名");
+        }
+
+        // 免费活动 参与时 添加报名记录
+        ActivityRegistration activityRegistration = new ActivityRegistration();
+        activityRegistration.setUserId(user.getId());
+        activityRegistration.setOrderNo(null);
+        activityRegistration.setSubOrderNo(null);
+        activityRegistration.setActivityId(activityId);
+        activityRegistration.setCreateTime(new Date());
+        activityRegistrationService.save(activityRegistration);
+
+        sendMessage(activityPlan.getActivityName(),user.getId());
+
+        return true;
+    }
+
+    private void sendMessage(String activityName, Long userId) {
+
+        // TODO  发送消息
+
+    }
+
     private void checkActivityPay(Long planId) {
         if (planId == null) {
             throw new BizException("活动id不能为空");

+ 12 - 13
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicAlbumMapper.xml

@@ -44,15 +44,14 @@
             where find_in_set(mt.id_,t.album_tag_) and mt.del_flag_ = 0 and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
         where find_in_set(s.id_,t.subject_id_) and s.del_flag_ = 0 ) as subjectNames
-        , t1.num as musicSheetCount
+        ,(select count(1) as num
+        from album_music_relate amr
+        join music_sheet ms on amr.music_sheet_id_ = ms.id_
+        left join sys_user su on su.id_ = ms.user_id_
+        where ms.del_flag_ = 0 and ms.state_ = 1 and ms.audit_status_ = 'PASS' and su.del_flag_ = 0
+        and amr.album_id_ = t.id_) as musicSheetCount
         ,t2.num as albumFavoriteCount
         from music_album t
-        left join (select count(1) as num,amr.album_id_
-            from album_music_relate amr
-            join music_sheet ms on amr.music_sheet_id_ = ms.id_
-            left join sys_user su on su.id_ = ms.user_id_
-            where ms.del_flag_ = 0 and ms.state_ = 1 and ms.audit_status_ = 'PASS' and su.del_flag_ = 0
-        group by amr.album_id_) t1 on t1.album_id_ = t.id_
         left join (select count(1) as num,af.album_id_ from album_favorite af
             left join sys_user su on af.user_id_ = su.id_
             where su.del_flag_ = 0 group by af.album_id_
@@ -82,16 +81,16 @@
                 and t.audit_version_ = #{query.auditVersion}
             </if>
         </where>
-        order by t.sort_number_ desc,
+        order by t.sort_number_ desc
         <if test="query.sortBy != null">
             <choose>
                 <when test="query.sortBy == 1">
-                    t2.num desc
+                    ,t2.num desc
                 </when>
             </choose>
         </if>
         <if test="query.sortBy == null">
-            t.id_ desc
+            ,t.id_ desc
         </if>
     </select>
 
@@ -233,16 +232,16 @@
                 and t.audit_version_ = #{query.auditVersion}
             </if>
         </where>
-        order by t.sort_number_ desc,
+        order by t.sort_number_ desc
         <if test="query.sortBy != null">
             <choose>
                 <when test="query.sortBy == 1">
-                     t2.num desc
+                    ,t2.num desc
                 </when>
             </choose>
         </if>
         <if test="query.sortBy == null">
-             t.id_ desc
+            ,t.id_ desc
         </if>
     </select>
 </mapper>

+ 12 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentActivityController.java

@@ -56,5 +56,17 @@ public class StudentActivityController extends BaseController {
         return succeed(activityPlanService.joinEvaluation(evaluationId, user));
     }
 
+
+    @ApiOperation(value = "免费活动报名活动报名", notes = "活动id")
+    @PostMapping(value = "/joinActivity/{id}")
+    public HttpResponseResult<Boolean> joinActivity(@PathVariable Long id) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+
+        return succeed(activityPlanService.joinActivity(id, user));
+    }
+
 }