Browse Source

课程题目类目

he2802 4 years ago
parent
commit
74b3ce3113
22 changed files with 348 additions and 52 deletions
  1. 12 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityConfigurationController.java
  2. 2 2
      zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityTaskController.java
  3. 3 2
      zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserStudyRecordController.java
  4. 62 30
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java
  5. 11 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityConfigurationMapper.java
  6. 7 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityTaskMapper.java
  7. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityConfigurationService.java
  8. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityTaskService.java
  9. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityTaskUserService.java
  10. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityConfigurationServiceImpl.java
  11. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityTaskServiceImpl.java
  12. 38 13
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityTaskUserServiceImpl.java
  13. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseQueryBo.java
  14. 33 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderActivityAddBo.java
  15. 36 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderActivityEditBo.java
  16. 46 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderActivityQueryBo.java
  17. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java
  18. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java
  19. 23 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java
  20. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/RanKingUser.java
  21. 30 0
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityConfigurationMapper.xml
  22. 5 0
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityTaskMapper.xml

+ 12 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityConfigurationController.java

@@ -14,6 +14,7 @@ import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseAddBo;
 import com.zhongzheng.modules.activity.service.IActivityConfigurationService;
 import com.zhongzheng.modules.activity.service.IActivityConfigurationUseService;
 import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.service.ICourseService;
 import com.zhongzheng.modules.course.vo.CourseConfigurationVo;
 import com.zhongzheng.modules.order.bo.CouponQueryBo;
@@ -61,6 +62,17 @@ public class ActivityConfigurationController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 查询活动配置列表
+     */
+    @ApiOperation("查询课程所做的活动")
+    @GetMapping("/listConfig")
+    public TableDataInfo<ActivityConfigurationVo> listConfiguration(CourseQueryBo bo) {
+        startPage();
+        List<ActivityConfigurationVo> list = iActivityConfigurationService.listConfiguration(bo);
+        return getDataTable(list);
+    }
+
 
     /**
      * 领取活动

+ 2 - 2
zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityTaskController.java

@@ -108,14 +108,14 @@ public class ActivityTaskController extends BaseController {
     /**
      * 学习时长
      */
-    @ApiOperation("学习时长")
+ /*   @ApiOperation("学习时长")
     @Log(title = "学习时长", businessType = BusinessType.UPDATE)
     @PostMapping("/learnTime")
     public AjaxResult<Void> learnTime(@RequestBody ActivityTaskUserAddBo bo){
         ClientLoginUser loginUser = WxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
         return toAjax(activityTaskUserService.learnTime(bo) ? 1 : 0);
-    }
+    }*/
 
     /**
      * 模拟考试

+ 3 - 2
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserStudyRecordController.java

@@ -5,6 +5,7 @@ import java.util.Arrays;
 
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.framework.web.service.WxTokenService;
+import com.zhongzheng.modules.activity.service.IActivityTaskUserService;
 import com.zhongzheng.modules.user.bo.UserStudyRecordAddBo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordEditBo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
@@ -77,10 +78,10 @@ public class UserStudyRecordController extends BaseController {
     @ApiOperation("新增用户学习记录")
     @Log(title = "用户学习记录", businessType = BusinessType.INSERT)
     @PostMapping()
-    public AjaxResult<Void> add(@RequestBody UserStudyRecordAddBo bo) {
+    public AjaxResult<Integer> add(@RequestBody UserStudyRecordAddBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
-        return toAjax(iUserStudyRecordService.insertByAddBo(bo) ? 1 : 0);
+        return AjaxResult.success(iUserStudyRecordService.insertByAddBo(bo));
     }
 
     /**

+ 62 - 30
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.framework.web.service;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -29,6 +30,7 @@ import com.zhongzheng.modules.user.vo.UserVo;
 import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.sql.Timestamp;
 import java.util.*;
@@ -53,10 +55,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     private CollectNoteMapper collectNoteMapper;
 
 
-
-
     @Override
-    public UserVo queryById(Long userId){
+    public UserVo queryById(Long userId) {
         User db = this.baseMapper.selectById(userId);
         return BeanUtil.toBean(db, UserVo.class);
     }
@@ -64,7 +64,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Override
     public User queryByUnionId(String unionId) {
         User user = getOne(new LambdaQueryWrapper<User>()
-                .eq(User::getUnionId,unionId)
+                .eq(User::getUnionId, unionId)
                 .last("limit 1"));
         if (Validator.isNotNull(user)) {
             return user;
@@ -73,7 +73,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     }
 
 
-
     @Override
     public List<UserVo> queryList(UserQueryBo bo) {
         LambdaQueryWrapper<User> lqw = Wrappers.lambdaQuery();
@@ -102,19 +101,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     }
 
     /**
-    * 实体类转化成视图对象
-    *
-    * @param collection 实体类集合
-    * @return
-    */
+     * 实体类转化成视图对象
+     *
+     * @param collection 实体类集合
+     * @return
+     */
     private List<UserVo> entity2Vo(Collection<User> collection) {
         List<UserVo> voList = collection.stream()
                 .map(any -> BeanUtil.toBean(any, UserVo.class))
                 .collect(Collectors.toList());
         if (collection instanceof Page) {
-            Page<User> page = (Page<User>)collection;
+            Page<User> page = (Page<User>) collection;
             Page<UserVo> pageVo = new Page<>();
-            BeanUtil.copyProperties(page,pageVo);
+            BeanUtil.copyProperties(page, pageVo);
             pageVo.addAll(voList);
             voList = pageVo;
         }
@@ -143,13 +142,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
      *
      * @param entity 实体类数据
      */
-    private void validEntityBeforeSave(User entity){
+    private void validEntityBeforeSave(User entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return this.removeByIds(ids);
@@ -158,12 +157,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Override
     public Integer getCollectTotal(Long userId) {
         Integer collectCourse = collectCourseMapper.selectCount(new LambdaQueryWrapper<CollectCourse>()
-                .eq(CollectCourse::getUserId,userId));
+                .eq(CollectCourse::getUserId, userId));
         Integer collectBank = collectBankMapper.selectCount(new LambdaQueryWrapper<CollectBank>()
-                .eq(CollectBank::getUserId,userId));
+                .eq(CollectBank::getUserId, userId));
         Integer collectNote = collectNoteMapper.selectCount(new LambdaQueryWrapper<CollectNote>()
-                .eq(CollectNote::getUserId,userId));
-        return collectCourse+collectBank+collectNote;
+                .eq(CollectNote::getUserId, userId));
+        return collectCourse + collectBank + collectNote;
     }
 
     @Override
@@ -178,46 +177,68 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
             long tt = calendar.getTime().getTime() / 1000;
             query.setStartTime(zero);
             query.setEndTime(tt);
-            ranKingUser= baseMapper.selectByRank(query);
+            ranKingUser = baseMapper.selectByRank(query);
             if (ranKingUser != null && ranKingUser.getHourse() != null) {
-                Integer rank = baseMapper.selectByRankOne(ranKingUser.getHourse());
+                Integer rank = baseMapper.selectByRankOne(Convert.toInt(ranKingUser.getHourse()));
                 ranKingUser.setRank(rank);
-            }else {
+            } else {
                 ranKingUser = baseMapper.selectByOneRank(query);
                 ranKingUser.setRank(0);
             }
             List<RanKingUser> ranKingUsers = baseMapper.selectByRanks(query);
             if (ranKingUsers != null && ranKingUsers.size() != 0) {
                 ranKingUser.setRanKingUsers(ranKingUsers);
-            }else {
+            } else {
                 ranKingUser.setRanKingUsers(new ArrayList<>());
             }
-        }else {
+        } else {
             Calendar cal = Calendar.getInstance();
             int month = cal.get(Calendar.MONTH) + 1;
             Long firstDayOfMonth = getFirstDayOfMonth(month);
             Long lastDayOfMonth = getLastDayOfMonth(month);
             query.setStartTime(firstDayOfMonth);
             query.setEndTime(lastDayOfMonth);
-            ranKingUser= baseMapper.selectByRank(query);
-            if (ranKingUser != null && ranKingUser.getHourse() != null)  {
-                Integer rank = baseMapper.selectByRankOne(ranKingUser.getHourse());
+            ranKingUser = baseMapper.selectByRank(query);
+            if (ranKingUser != null && ranKingUser.getHourse() != null) {
+                Integer rank = baseMapper.selectByRankOne(Convert.toInt(ranKingUser.getHourse()));
                 ranKingUser.setRank(rank);
-            }else {
+            } else {
                 ranKingUser = baseMapper.selectByOneRank(query);
                 ranKingUser.setRank(0);
             }
             List<RanKingUser> ranKingUsers = baseMapper.selectByRanks(query);
             if (ranKingUsers != null && ranKingUsers.size() != 0) {
                 ranKingUser.setRanKingUsers(ranKingUsers);
-            }else {
+            } else {
                 ranKingUser.setRanKingUsers(new ArrayList<>());
             }
         }
+        if (ranKingUser.getHourse() != null){
+            ranKingUser.setHourse(getHour(ranKingUser.getHourse()));
+        }
+        if (!CollectionUtils.isEmpty(ranKingUser.getRanKingUsers())){
+            ranKingUser.getRanKingUsers().stream().forEach(c -> {
+                c.setHourse(getHour(c.getHourse()));
+            });
+        }
         return ranKingUser;
 
     }
 
+
+    //Util.java
+    public static String getHour(String date) {
+        //秒数
+		Integer dt = Integer.parseInt(date) ;
+		if (dt < 3600) return Math.round(dt / 60) + "分钟";
+		int hour = Math.round(dt / 3600);
+		int minute = Math.round((dt - (hour * 3600)) / 60);
+		return hour + "h" + (minute == 0 ? "" : minute + "m");
+    }
+
+
+
+
     @Override
     public Integer getRank(Long userId) {
         RanKingUserQuery query = new RanKingUserQuery();
@@ -232,7 +253,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         query.setEndTime(tt);
         RanKingUser ranKingUser = baseMapper.selectByRank(query);
         if (ranKingUser != null && ranKingUser.getHourse() != null) {
-            Integer rank = baseMapper.selectByRankOne(ranKingUser.getHourse());
+            Integer rank = baseMapper.selectByRankOne(Convert.toInt(ranKingUser.getHourse()));
             return rank;
          }
         return 0;
@@ -251,7 +272,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         int firstDay = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
         // 设置日历中月份的最小天数
         calendar.set(Calendar.DAY_OF_MONTH, firstDay);
-
+        //将小时至0
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        //将分钟至0
+        calendar.set(Calendar.MINUTE, 0);
+        //将秒至0
+        calendar.set(Calendar.SECOND,0);
         Date time = calendar.getTime();
         return time.getTime() / 1000;
     }
@@ -270,6 +296,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         }
         // 设置日历中月份的最大天数
         calendar.set(Calendar.DAY_OF_MONTH, lastDay);
+        //将小时至0
+        calendar.set(Calendar.HOUR_OF_DAY, 24);
+        //将分钟至0
+        calendar.set(Calendar.MINUTE, 0);
+        //将秒至0
+        calendar.set(Calendar.SECOND,0);
         Date time = calendar.getTime();
         return time.getTime() / 1000;
     }

+ 11 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityConfigurationMapper.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo;
 import com.zhongzheng.modules.activity.domain.ActivityConfiguration;
 import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.vo.CourseConfigurationVo;
 
 import java.util.Collection;
+import java.util.List;
 
 /**
  * 活动配置Mapper接口
@@ -40,4 +42,13 @@ public interface ActivityConfigurationMapper extends BaseMapper<ActivityConfigur
      * @return Collection<CourseConfigurationVo> 详细配置
      */
     Collection<CourseConfigurationVo> selectConfiguraIssueList(ActivityConfigurationQueryBo bo);
+
+
+    /**
+     * 查询课程能做的活动
+     *
+     * @param bo 详细配置信息
+     * @return Collection<CourseConfigurationVo> 详细配置
+     */
+    List<ActivityConfigurationVo> selectlistConfiguration(CourseQueryBo bo);
 }

+ 7 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityTaskMapper.java

@@ -11,4 +11,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ActivityTaskMapper extends BaseMapper<ActivityTask> {
 
+    /**
+     * 查询类型活动
+     *
+     * @param taskId 类型id
+     *
+     */
+    ActivityTask queryByTaskId(Long taskId);
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityConfigurationService.java

@@ -6,6 +6,7 @@ import com.zhongzheng.modules.activity.bo.ActivityConfigurationEditBo;
 import com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo;
 import com.zhongzheng.modules.activity.domain.ActivityConfiguration;
 import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.vo.CourseConfigurationVo;
 
 
@@ -59,4 +60,11 @@ public interface IActivityConfigurationService extends IService<ActivityConfigur
 	 * @return List<CourseConfigurationVo>
 	 */
     List<CourseConfigurationVo> queryIssueList(ActivityConfigurationQueryBo bo);
+
+	/**
+	 * 查询活动课程
+	 * @param bo
+	 * @return List<ActivityConfigurationVo>
+	 */
+    List<ActivityConfigurationVo> listConfiguration(CourseQueryBo bo);
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityTaskService.java

@@ -49,4 +49,12 @@ public interface IActivityTaskService extends IService<ActivityTask> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+
+	/**
+	 * 查询当前做的任务类型
+	 * @param taskId 主键集合
+	 * @return
+	 */
+    ActivityTaskVo queryByTaskId(Long taskId);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityTaskUserService.java

@@ -87,7 +87,7 @@ public interface IActivityTaskUserService extends IService<ActivityTaskUser> {
 	 * @param bo 参数
 	 * @return
 	 */
-	boolean learnTime(ActivityTaskUserAddBo bo);
+	Integer learnTime(ActivityTaskUserAddBo bo);
 
 	/**
 	 * 模拟考试

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityConfigurationServiceImpl.java

@@ -13,6 +13,7 @@ import com.zhongzheng.modules.activity.mapper.ActivityConfigurationCourseMapper;
 import com.zhongzheng.modules.activity.mapper.ActivityConfigurationMapper;
 import com.zhongzheng.modules.activity.service.IActivityConfigurationService;
 import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.vo.CourseConfigurationVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -137,6 +138,13 @@ public class ActivityConfigurationServiceImpl extends ServiceImpl<ActivityConfig
         return courseConfigurationVos;
     }
 
+    @Override
+    public List<ActivityConfigurationVo> listConfiguration(CourseQueryBo bo) {
+        bo.setStartTime(DateUtils.getNowTime());
+        List<ActivityConfigurationVo> activityConfigurations =baseMapper.selectlistConfiguration(bo) ;
+        return activityConfigurations;
+    }
+
     /**
      * 实体类转化成视图对象
      *

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityTaskServiceImpl.java

@@ -159,4 +159,10 @@ public class ActivityTaskServiceImpl extends ServiceImpl<ActivityTaskMapper, Act
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public ActivityTaskVo queryByTaskId(Long taskId) {
+        ActivityTask db = baseMapper.queryByTaskId(taskId);
+        return BeanUtil.toBean(db,ActivityTaskVo.class);
+    }
 }

+ 38 - 13
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityTaskUserServiceImpl.java

@@ -308,25 +308,45 @@ public class ActivityTaskUserServiceImpl extends ServiceImpl<ActivityTaskUserMap
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean learnTime(ActivityTaskUserAddBo bo) {
+    public Integer learnTime(ActivityTaskUserAddBo bo) {
         //判断是否是每日分享
         if (bo.getTaskType() != 4){
-            throw new IllegalArgumentException("该请求是完善信息");
+            throw new IllegalArgumentException("该请求是学习时长");
+        }
+        if (validReceiver(bo) == false){
+            return 0;
         }
-        validReceiver(bo);
 
-        ActivityTaskVo activityTaskVo = activityTaskService.queryById(bo.getTaskId());
+        ActivityTaskVo activityTaskVo = activityTaskService.queryByTaskId(Convert.toLong(bo.getTaskType()));
 
         //增加用户积分
-        UserVo userVo = userService.queryById(bo.getUserId());
-        ActivityGradeVo list1 = activityGradeService.queryByInteger(userVo.getIntegral()+activityTaskVo.getStartIntegral());
-        userVo.setUserLevel(list1.getGrade());
-        increaseUser(userVo,userVo.getIntegral()+activityTaskVo.getStartIntegral());
+        if ((activityTaskVo.getLongTime()*60) > Convert.toInt(bo.getScore())) {
+            return 0;
+        }
+        Integer integer = (int)Math.ceil(Convert.toInt(bo.getScore())/(activityTaskVo.getLongTime()*60));
+
+            UserVo userVo = userService.queryById(bo.getUserId());
+            Long socor = 0L;
+            if (userVo.getIntegral() != null) {
+                socor = userVo.getIntegral() + (activityTaskVo.getStartIntegral() * integer);
+            }else {
+                socor =  Convert.toLong(activityTaskVo.getStartIntegral() * integer);
+
+            }
+        ActivityGradeVo list1 = activityGradeService.queryByInteger(socor);
+            userVo.setUserLevel(list1.getGrade());
+            increaseUser(userVo, socor);
 
         //增加领取记录
         ActivityTaskUser add = BeanUtil.toBean(bo, ActivityTaskUser.class);
         add.setScore(Convert.toStr(activityTaskVo.getStartIntegral()));
-        return this.save(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        add.setTaskType(bo.getTaskType());
+        add.setUserId(bo.getUserId());
+        add.setTaskId(activityTaskVo.getId());
+        this.save(add);
+        return (activityTaskVo.getStartIntegral()*integer);
     }
 
 
@@ -403,7 +423,7 @@ public class ActivityTaskUserServiceImpl extends ServiceImpl<ActivityTaskUserMap
     }
 
 
-    private void validReceiver(ActivityTaskUserAddBo bo) {
+    private Boolean validReceiver(ActivityTaskUserAddBo bo) {
         ActivityTaskVo activityTaskVo = activityTaskService.queryById(bo.getTaskId());
         switch (bo.getTaskType()){
             //每日签到逻辑,当日有领取即无法签到
@@ -446,13 +466,17 @@ public class ActivityTaskUserServiceImpl extends ServiceImpl<ActivityTaskUserMap
                 break;
             case 4:
                 //连续学习,大于三次达到上线
-                LambdaQueryChainWrapper<ActivityTaskUser> study = lambdaQuery();
+                LambdaQueryWrapper<ActivityTaskUser> study = Wrappers.lambdaQuery();
                 study.eq(bo.getTaskType() !=null,ActivityTaskUser::getTaskType,bo.getTaskType());
                 study.eq(bo.getUserId() !=null,ActivityTaskUser::getUserId,bo.getUserId());
                 study.between(ActivityTaskUser::getCreateTime,getTimesmorning(),getTimesnight());
                 List<ActivityTaskUser> listStudy = this.list(study);
-                if (!CollectionUtils.isEmpty(listStudy) && listStudy.size() == 3){
-                    throw new IllegalArgumentException("当日领取连续学习积分已达上线");
+                Integer score = 0;
+                for (ActivityTaskUser activityTaskUser : listStudy) {
+                     score = score+Convert.toInt(activityTaskUser.getScore());
+                }
+                if (!CollectionUtils.isEmpty(listStudy) && activityTaskVo.getEndIntegral().equals(score)){
+                    return false;
                 }
                 break;
             case 5:
@@ -466,6 +490,7 @@ public class ActivityTaskUserServiceImpl extends ServiceImpl<ActivityTaskUserMap
                 }
                 break;
         }
+        return true;
     }
 
 

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseQueryBo.java

@@ -24,6 +24,8 @@ import com.zhongzheng.common.core.domain.BaseEntity;
 @ApiModel("课程分页查询对象")
 public class CourseQueryBo extends BaseEntity {
 
+	/** 课程id */
+	@ApiModelProperty("课程id")
 	private Long courseId;
 
 	/** 分页大小 */

+ 33 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderActivityAddBo.java

@@ -0,0 +1,33 @@
+package com.zhongzheng.modules.order.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 活动订单添加对象 order_activity
+ *
+ * @author ruoyi
+ * @date 2021-07-01
+ */
+@Data
+@ApiModel("活动订单添加对象")
+public class OrderActivityAddBo {
+
+    /** 订单号 */
+    @ApiModelProperty("订单号")
+    private Long orderId;
+    /** 活动ID */
+    @ApiModelProperty("活动ID")
+    private Long activityId;
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+}

+ 36 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderActivityEditBo.java

@@ -0,0 +1,36 @@
+package com.zhongzheng.modules.order.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 活动订单编辑对象 order_activity
+ *
+ * @author ruoyi
+ * @date 2021-07-01
+ */
+@Data
+@ApiModel("活动订单编辑对象")
+public class OrderActivityEditBo {
+
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long id;
+
+    /** 订单号 */
+    @ApiModelProperty("订单号")
+    private Long orderId;
+
+    /** 活动ID */
+    @ApiModelProperty("活动ID")
+    private Long activityId;
+
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+}

+ 46 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderActivityQueryBo.java

@@ -0,0 +1,46 @@
+package com.zhongzheng.modules.order.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 活动订单分页查询对象 order_activity
+ *
+ * @author ruoyi
+ * @date 2021-07-01
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("活动订单分页查询对象")
+public class OrderActivityQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 订单号 */
+	@ApiModelProperty("订单号")
+	private Long orderId;
+	/** 活动ID */
+	@ApiModelProperty("活动ID")
+	private Long activityId;
+
+}

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java

@@ -23,6 +23,11 @@ public class OrderAddBo {
     /** 优惠券ID */
     @ApiModelProperty("优惠券ID")
     private Long couponId;
+
+    /** 活動ID */
+    @ApiModelProperty("活動ID")
+    private Long activityId;
+
     /** 订单价格 */
     @ApiModelProperty("商品列表")
     private List<OrderGoodsAddBo> goodsList;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java

@@ -35,7 +35,7 @@ public interface IUserStudyRecordService extends IService<UserStudyRecord> {
 	 * @param bo 用户学习记录新增业务对象
 	 * @return
 	 */
-	Boolean insertByAddBo(UserStudyRecordAddBo bo);
+	Integer insertByAddBo(UserStudyRecordAddBo bo);
 
 	/**
 	 * 根据编辑业务对象修改用户学习记录

+ 23 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java

@@ -1,8 +1,14 @@
 package com.zhongzheng.modules.user.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.activity.bo.ActivityTaskUserAddBo;
+import com.zhongzheng.modules.activity.domain.ActivityTaskUser;
+import com.zhongzheng.modules.activity.service.IActivityTaskUserService;
+import com.zhongzheng.modules.activity.vo.ActivityGradeVo;
+import com.zhongzheng.modules.activity.vo.ActivityTaskVo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordAddBo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordEditBo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
@@ -10,12 +16,14 @@ import com.zhongzheng.modules.user.domain.UserStudyRecord;
 import com.zhongzheng.modules.user.mapper.UserStudyRecordMapper;
 import com.zhongzheng.modules.user.service.IUserStudyRecordService;
 import com.zhongzheng.modules.user.vo.UserStudyRecordVo;
+import com.zhongzheng.modules.user.vo.UserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -34,6 +42,9 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
     @Autowired
     private UserStudyRecordMapper userStudyRecordMapper;
 
+    @Autowired
+    private IActivityTaskUserService activityTaskUserServiceImpl;
+
     @Override
     public UserStudyRecordVo queryById(Long recordId){
         UserStudyRecord db = this.baseMapper.selectById(recordId);
@@ -78,12 +89,22 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
     }
 
     @Override
-    public Boolean insertByAddBo(UserStudyRecordAddBo bo) {
+    @Transactional(rollbackFor = Exception.class)
+    public Integer insertByAddBo(UserStudyRecordAddBo bo) {
         UserStudyRecord add = BeanUtil.toBean(bo, UserStudyRecord.class);
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        return this.save(add);
+
+        //学习时长达到规定时长即加分
+        ActivityTaskUserAddBo activityTaskUserAddBo = new ActivityTaskUserAddBo();
+        activityTaskUserAddBo.setUserId(bo.getUserId());
+        activityTaskUserAddBo.setTaskType(4);
+        activityTaskUserAddBo.setScore(Convert.toStr(bo.getStudyDuration()));
+        Integer integer = activityTaskUserServiceImpl.learnTime(activityTaskUserAddBo);
+
+        this.save(add);
+        return integer;
     }
 
     @Override

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/RanKingUser.java

@@ -36,7 +36,7 @@ public class RanKingUser {
     /** 头像 */
     @Excel(name = "时间")
     @ApiModelProperty("时间")
-    private Integer hourse;
+    private String hourse;
 
     /** 头像 */
     @Excel(name = "排行榜排名")

+ 30 - 0
zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityConfigurationMapper.xml

@@ -216,4 +216,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
         order by c.update_time desc
     </select>
+
+
+    <select id="selectlistConfiguration" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo" resultMap="ActivityConfigurationResult">
+        SELECT
+        c.id,
+        c.activity_name,
+        c.activity_type,
+        c.description,
+        c.start_time ,
+        c.end_time ,
+        c.price ,
+        c.quantity ,
+        c.live_content ,
+        c.live_adress,
+        c.create_time,
+        c.update_time,
+        c.status  ,
+        c.coupon_end
+        FROM
+        activity_configuration c
+        LEFT JOIN activity_configuration_course f ON c.id = f.configuration_id
+        LEFT JOIN course s ON f.course_id = s.course_id
+        WHERE 1=1
+        and c.status = 3
+          and c.activity_type in (3,4,5)
+        <if test="courseId != null" >
+            and f.course_id = #{courseId}
+        </if>
+        order by c.update_time desc
+    </select>
 </mapper>

+ 5 - 0
zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityTaskMapper.xml

@@ -19,5 +19,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status" column="status"/>
     </resultMap>
 
+    <select id="queryByTaskId" parameterType="Long" resultMap="ActivityTaskResult">
+        select * FROM activity_task where 1=1
+            and task_type = #{taskId} limit 1
+
+    </select>
 
 </mapper>