wangzongkui пре 6 месеци
родитељ
комит
efdae10c27

+ 5 - 2
renren-admin/src/main/java/io/renren/modules/qmjz/api/ApiTaskController.java

@@ -6,9 +6,12 @@ import io.renren.common.utils.R;
 import io.renren.modules.qmjz.service.TaskManageService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 /**
  *  积分任务
  */
@@ -20,8 +23,8 @@ public class ApiTaskController {
     private TaskManageService taskManageService;
 
     @PostMapping("/list")
-    public R list() {
-        return taskManageService.ApiList();
+    public R list(@RequestBody Map<String, Object> params) {
+        return taskManageService.ApiList(params);
     }
 
 

+ 8 - 0
renren-admin/src/main/java/io/renren/modules/qmjz/entity/TaskManage.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
+import org.springframework.data.annotation.Transient;
+
 
 /**
     * 任务管理
@@ -35,4 +37,10 @@ public class TaskManage {
      * 任务状态(1. 开启 0关闭)
      */
     private String taskStatus;
+
+    /**
+     * 完成标识
+     */
+    @Transient
+    private transient Boolean complete =false;
 }

+ 15 - 0
renren-admin/src/main/java/io/renren/modules/qmjz/service/ScoreStuService.java

@@ -68,4 +68,19 @@ public interface ScoreStuService extends IService<ScoreStu>{
      */
     ScoreStu querySingleTask(Long stuId, Long TaskType);
 
+    /**
+     * 单个任务是否完成
+     * @param stuId
+     * @param id
+     * @return
+     */
+    Boolean selectSingleTaskComplete(Long stuId, Long id);
+
+    /**
+     * 每日任务是否完成
+     * @param stuId
+     * @param id
+     * @return
+     */
+    Boolean selectDayTaskComplete(Long stuId, Long id);
 }

+ 3 - 1
renren-admin/src/main/java/io/renren/modules/qmjz/service/TaskManageService.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import io.renren.modules.qmjz.entity.bo.TaskManageBo;
 import io.renren.modules.qmjz.model.PageQuery;
 
+import java.util.Map;
+
 public interface TaskManageService extends IService<TaskManage>{
 
     /**
@@ -28,7 +30,7 @@ public interface TaskManageService extends IService<TaskManage>{
 
     TaskManage getById(Long id,Boolean isThrow);
 
-    R ApiList();
+    R ApiList(Map<String, Object> params);
 
     boolean add(TaskManageBo bo);
 

+ 17 - 5
renren-admin/src/main/java/io/renren/modules/qmjz/service/impl/ScoreStuServiceImpl.java

@@ -18,17 +18,12 @@ import io.renren.modules.qmjz.mapper.TaskManageMapper;
 import io.renren.modules.qmjz.model.PageQuery;
 import io.renren.modules.qmjz.service.ScoreStuService;
 import io.renren.modules.qmjz.utils.DateForStr;
-import io.renren.modules.sys.entity.SysUserEntity;
-import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDate;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 @Service
 public class ScoreStuServiceImpl extends ServiceImpl<ScoreStuMapper, ScoreStu> implements ScoreStuService {
@@ -215,4 +210,21 @@ public class ScoreStuServiceImpl extends ServiceImpl<ScoreStuMapper, ScoreStu> i
         );
     }
 
+    @Override
+    public Boolean selectSingleTaskComplete(Long stuId, Long id) {
+      return scoreStuMapper.selectOne(new LambdaQueryWrapper<ScoreStu>()
+                .eq(ScoreStu::getStuId, stuId)
+                .eq(ScoreStu::getTaskId, id)
+                .last("limit 1") ) != null;
+    }
+
+    @Override
+    public Boolean selectDayTaskComplete(Long stuId, Long id) {
+        return scoreStuMapper.selectOne(new LambdaQueryWrapper<ScoreStu>()
+                .eq(ScoreStu::getStuId, stuId)
+                .eq(ScoreStu::getTaskId, id)
+                .eq(ScoreStu::getDay, DateForStr.getInfoDateStr())
+                .last("limit 1") ) != null;
+    }
+
 }

+ 20 - 5
renren-admin/src/main/java/io/renren/modules/qmjz/service/impl/TaskManageServiceImpl.java

@@ -13,6 +13,7 @@ import io.renren.modules.qmjz.entity.TaskManage;
 import io.renren.modules.qmjz.entity.bo.TaskManageBo;
 import io.renren.modules.qmjz.mapper.TaskManageMapper;
 import io.renren.modules.qmjz.model.PageQuery;
+import io.renren.modules.qmjz.service.ScoreStuService;
 import io.renren.modules.qmjz.service.TaskManageService;
 import io.renren.modules.qmjz.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +27,8 @@ public class TaskManageServiceImpl extends ServiceImpl<TaskManageMapper, TaskMan
 
     @Autowired
     private TaskManageMapper taskManageMapper;
+    @Autowired
+    private ScoreStuService scoreStuService;
     /**
      * 分页查询任务管理
      *
@@ -83,17 +86,29 @@ public class TaskManageServiceImpl extends ServiceImpl<TaskManageMapper, TaskMan
 
 
     @Override
-    public R ApiList() {
+    public R ApiList(Map<String, Object> params) {
+        Long stuId = Long.parseLong(params.get("stuId").toString());
+        if (ObjectUtil.isEmpty(stuId)){
+            throw new RRException("用户不存在");
+        }
         List<TaskManage> singleTask = taskManageMapper.selectList(new LambdaQueryWrapper<TaskManage>()
-                .eq(TaskManage::getTaskStatus, true)
+                .eq(TaskManage::getTaskStatus, 1)
                 .eq(TaskManage::getTaskType,0)
         );
+        for (TaskManage taskManage : singleTask) {
+            Boolean complete = scoreStuService.selectSingleTaskComplete(stuId, taskManage.getId());
+            taskManage.setComplete(complete);
+        }
         List<TaskManage> dayTask = taskManageMapper.selectList(new LambdaQueryWrapper<TaskManage>()
-                .eq(TaskManage::getTaskStatus, true)
+                .eq(TaskManage::getTaskStatus, 1)
                 .eq(TaskManage::getTaskType,1)
         );
+        for (TaskManage taskManage : dayTask) {
+            Boolean complete = scoreStuService.selectDayTaskComplete(stuId, taskManage.getId());
+            taskManage.setComplete(complete);
+        }
         List<TaskManage> infiniteTask = taskManageMapper.selectList(new LambdaQueryWrapper<TaskManage>()
-                .eq(TaskManage::getTaskStatus, true)
+                .eq(TaskManage::getTaskStatus, 1)
                 .eq(TaskManage::getTaskType,2)
         );
         Map<String, Object> map = new HashMap<>();
@@ -108,7 +123,7 @@ public class TaskManageServiceImpl extends ServiceImpl<TaskManageMapper, TaskMan
         validateTaskNameExists(bo);
         TaskManage taskManage = new TaskManage();
         BeanUtil.copyProperties(bo,taskManage);
-        return taskManageMapper.updateById(taskManage)>0;
+        return taskManageMapper.insert(taskManage)>0;
     }
 
     @Override