Ver código fonte

Merge branch 'master' of http://git.izouma.com/xiongzhu/raex_back into dev-mata-ldz

 Conflicts:
	src/main/vue/src/router.js
lidongze 2 anos atrás
pai
commit
c9f61095fb

+ 1 - 1
src/main/java/com/izouma/nineth/domain/MetaResourcesLikeRecord.java

@@ -15,7 +15,7 @@ import java.time.LocalDate;
 @ApiModel("元宇宙资源点赞记录")
 public class MetaResourcesLikeRecord extends BaseEntity {
 
-    private Long metaResourcesId;
+    private String metaResourcesName;
 
     private Long userId;
 

+ 39 - 0
src/main/java/com/izouma/nineth/domain/MetaUserTaskAwardReceivedRecordNew.java

@@ -0,0 +1,39 @@
+package com.izouma.nineth.domain;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.izouma.nineth.annotations.Searchable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Entity;
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Entity
+@ApiModel("元宇宙玩家任务奖励领取记录")
+public class MetaUserTaskAwardReceivedRecordNew extends BaseEntity {
+
+    @Searchable
+    @ApiModelProperty("用户id")
+    @ExcelProperty("用户id")
+    private Long userId;
+
+    @Searchable
+    @ApiModelProperty("任务id")
+    @ExcelProperty("任务id")
+    private Long taskId;
+
+    @Searchable
+    @ApiModelProperty("原子任务id")
+    @ExcelProperty("原子任务id")
+    private Long atomTaskId;
+
+    @ApiModelProperty("领取时间")
+    @ExcelProperty("领取时间")
+    private LocalDateTime receivedTime;
+}

+ 6 - 1
src/main/java/com/izouma/nineth/domain/MetaUserTaskProgressNew.java

@@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
 
 import javax.persistence.Entity;
 import javax.persistence.Transient;
+import java.time.LocalDateTime;
 
 @Data
 @AllArgsConstructor
@@ -24,7 +25,7 @@ public class MetaUserTaskProgressNew extends BaseEntity {
     @ExcelProperty("用户id")
     private Long userId;
 
-    @ApiModelProperty("元宇宙玩家领取任务记录id")
+    @ApiModelProperty("玩家领取任务记录id")
     @ExcelProperty("玩家领取任务记录id")
     private Long metaTaskToUserNewId;
 
@@ -32,6 +33,10 @@ public class MetaUserTaskProgressNew extends BaseEntity {
     @ExcelProperty("备注")
     private String remark;
 
+    @ApiModelProperty("进度上传时间")
+    @ExcelProperty("进度上传时间")
+    private LocalDateTime progressTime;
+
     @ApiModelProperty("备注参数是否唯一,例如收集彩蛋的任务每个备注(彩蛋id)不允许重复完成")
     @ExcelProperty("备注参数是否唯一")
     private boolean remarkOnly;

+ 1 - 1
src/main/java/com/izouma/nineth/repo/MetaResourcesLikeRecordRepo.java

@@ -8,5 +8,5 @@ import java.time.LocalDate;
 
 public interface MetaResourcesLikeRecordRepo extends JpaRepository<MetaResourcesLikeRecord, Long>, JpaSpecificationExecutor<MetaResourcesLikeRecord> {
 
-    MetaResourcesLikeRecord findByMetaResourcesIdAndUserIdAndLikeTime(Long metaResourcesId, Long userId, LocalDate likeTime);
+    MetaResourcesLikeRecord findByMetaResourcesNameAndUserIdAndLikeTime(String name, Long userId, LocalDate likeTime);
 }

+ 15 - 0
src/main/java/com/izouma/nineth/repo/MetaUserTaskAwardReceivedRecordNewRepo.java

@@ -0,0 +1,15 @@
+package com.izouma.nineth.repo;
+
+import com.izouma.nineth.domain.MetaUserTaskAwardReceivedRecordNew;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import java.time.LocalDateTime;
+
+public interface MetaUserTaskAwardReceivedRecordNewRepo extends JpaRepository<MetaUserTaskAwardReceivedRecordNew, Long>, JpaSpecificationExecutor<MetaUserTaskAwardReceivedRecordNew> {
+
+    MetaUserTaskAwardReceivedRecordNew findByUserIdAndTaskIdAndAtomTaskIdAndDel(Long userId, Long taskId, Long atomTaskId, boolean del);
+
+    MetaUserTaskAwardReceivedRecordNew findByUserIdAndTaskIdAndAtomTaskIdAndDelAndReceivedTimeAfter(Long userId, Long taskId, Long atomTaskId, boolean del, LocalDateTime receivedTime);
+
+}

+ 43 - 0
src/main/java/com/izouma/nineth/service/MetaTaskNewService.java

@@ -1,6 +1,8 @@
 package com.izouma.nineth.service;
 
+import com.izouma.nineth.domain.MetaTaskBind;
 import com.izouma.nineth.domain.MetaTaskNew;
+import com.izouma.nineth.dto.MetaRestResult;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.enums.MetaTaskType;
 import com.izouma.nineth.exception.BusinessException;
@@ -13,6 +15,8 @@ import org.apache.commons.collections.CollectionUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 @AllArgsConstructor
 public class MetaTaskNewService {
@@ -64,4 +68,43 @@ public class MetaTaskNewService {
     public Page<MetaTaskNew> all(PageQuery pageQuery) {
         return metaTaskNewRepo.findAll(JpaUtils.toSpecification(pageQuery, MetaTaskNew.class), JpaUtils.toPageRequest(pageQuery));
     }
+
+    public MetaTaskNew get(Long id) {
+        MetaTaskNew metaTaskNew = metaTaskNewRepo.findById(id).orElseThrow(new BusinessException("无记录"));
+        buildAtomTask(metaTaskNew);
+        return metaTaskNew;
+    }
+
+    public MetaRestResult<List<MetaTaskNew>> canGet(Long userId, Long channelId) {
+        List<MetaTaskNew> metaTaskNews = metaTaskNewRepo.canGet(userId, channelId);
+        metaTaskNews.forEach(this::buildAtomTask);
+        return MetaRestResult.returnSuccess(metaTaskNews);
+    }
+
+    private void buildAtomTask(MetaTaskNew metaTaskNew) {
+        if (MetaTaskType.MAIN_LINE.equals(metaTaskNew.getType())) {
+            List<MetaTaskBind> metaNodeTask = metaTaskBindRepo.findByTaskIdAndTypeAndDel(metaTaskNew.getId(), MetaTaskType.NODE, false);
+            if (CollectionUtils.isNotEmpty(metaNodeTask)) {
+                metaTaskNew.setMetaNodeTask(metaNodeTask);
+            }
+            List<MetaTaskBind> metaBranchLineTask = metaTaskBindRepo.findByTaskIdAndTypeAndDel(metaTaskNew.getId(), MetaTaskType.BRANCH_LINE, false);
+            if (CollectionUtils.isNotEmpty(metaBranchLineTask)) {
+                metaTaskNew.setMetaBranchLineTask(metaBranchLineTask);
+            }
+            return;
+        }
+        if (MetaTaskType.BRANCH_LINE.equals(metaTaskNew.getType())) {
+            List<MetaTaskBind> metaBranchLineTask = metaTaskBindRepo.findByTaskIdAndTypeAndDel(metaTaskNew.getId(), MetaTaskType.BRANCH_LINE, false);
+            if (CollectionUtils.isNotEmpty(metaBranchLineTask)) {
+                metaTaskNew.setMetaBranchLineTask(metaBranchLineTask);
+            }
+            return;
+        }
+        if (MetaTaskType.DAILY.equals(metaTaskNew.getType())) {
+            List<MetaTaskBind> metaDailyTask = metaTaskBindRepo.findByTaskIdAndTypeAndDel(metaTaskNew.getId(), MetaTaskType.DAILY, false);
+            if (CollectionUtils.isNotEmpty(metaDailyTask)) {
+                metaTaskNew.setMetaDailyTask(metaDailyTask);
+            }
+        }
+    }
 }

+ 74 - 0
src/main/java/com/izouma/nineth/service/MetaUserTaskAwardReceivedRecordNewService.java

@@ -0,0 +1,74 @@
+package com.izouma.nineth.service;
+
+import com.izouma.nineth.domain.MetaAtomTask;
+import com.izouma.nineth.domain.MetaTaskToUserNew;
+import com.izouma.nineth.domain.MetaUserTaskAwardReceivedRecordNew;
+import com.izouma.nineth.dto.MetaAwardReceiveDTO;
+import com.izouma.nineth.dto.MetaRestResult;
+import com.izouma.nineth.dto.MetaServiceResult;
+import com.izouma.nineth.dto.PageQuery;
+import com.izouma.nineth.enums.MetaTaskStatus;
+import com.izouma.nineth.enums.MetaTaskTarget;
+import com.izouma.nineth.repo.MetaAtomTaskRepo;
+import com.izouma.nineth.repo.MetaTaskToUserNewRepo;
+import com.izouma.nineth.repo.MetaUserTaskAwardReceivedRecordNewRepo;
+import com.izouma.nineth.utils.JpaUtils;
+import com.izouma.nineth.utils.SecurityUtils;
+import lombok.AllArgsConstructor;
+import org.springframework.data.domain.Page;
+import org.springframework.stereotype.Service;
+
+import javax.transaction.Transactional;
+import java.time.LocalDateTime;
+import java.util.Objects;
+
+@Service
+@AllArgsConstructor
+public class MetaUserTaskAwardReceivedRecordNewService {
+
+    private MetaUserTaskAwardReceivedRecordNewRepo metaUserTaskAwardReceivedRecordNewRepo;
+
+    private MetaTaskToUserNewRepo metaTaskToUserNewRepo;
+
+    private MetaAtomTaskRepo metaAtomTaskRepo;
+
+    private MetaAwardReceiveService metaAwardReceiveService;
+
+    public Page<MetaUserTaskAwardReceivedRecordNew> all(PageQuery pageQuery) {
+        return metaUserTaskAwardReceivedRecordNewRepo.findAll(JpaUtils.toSpecification(pageQuery, MetaUserTaskAwardReceivedRecordNew.class), JpaUtils.toPageRequest(pageQuery));
+    }
+
+    @Transactional
+    public MetaRestResult<Void> receiveAward(Long taskId, Long atomTaskId) {
+        Long userId = SecurityUtils.getAuthenticatedUser().getId();
+        MetaAtomTask metaAtomTask = metaAtomTaskRepo.findByIdAndDel(atomTaskId, false);
+        if (Objects.isNull(metaAtomTask)) {
+            return MetaRestResult.returnError("奖励领取失败:基础任务不存在!");
+        }
+        MetaTaskToUserNew metaTaskToUserNew = metaTaskToUserNewRepo.findByUserIdAndTaskIdAndAtomTaskIdAndDel(userId, taskId, atomTaskId, false);
+        if (Objects.isNull(metaTaskToUserNew)) {
+            return MetaRestResult.returnError("奖励领取失败:用户未领取过该任务!");
+        }
+        if (MetaTaskStatus.PROGRESS.equals(metaTaskToUserNew.getStatus()) || MetaTaskStatus.FINISH.equals(metaTaskToUserNew.getStatus())) {
+            return MetaRestResult.returnError(String.format("奖励领取失败:当前任务状态为[%S]", metaTaskToUserNew.getStatus().getDescription()));
+        }
+        if (MetaTaskTarget.ON_LINE_TIME_DAILY.equals(metaAtomTask.getTargetType())) {
+            MetaUserTaskAwardReceivedRecordNew metaUserTaskAwardReceivedRecordNew = metaUserTaskAwardReceivedRecordNewRepo.findByUserIdAndTaskIdAndAtomTaskIdAndDelAndReceivedTimeAfter(userId, taskId, atomTaskId, false, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0));
+            if (Objects.nonNull(metaUserTaskAwardReceivedRecordNew)) {
+                return MetaRestResult.returnError("奖励领取失败:用户今天已经领取过该任务奖励,不可重复领取!");
+            }
+        }
+        if (!MetaTaskTarget.ON_LINE_TIME_DAILY.equals(metaAtomTask.getTargetType())) {
+            MetaUserTaskAwardReceivedRecordNew metaUserTaskAwardReceivedRecordNew = metaUserTaskAwardReceivedRecordNewRepo.findByUserIdAndTaskIdAndAtomTaskIdAndDel(userId, taskId, atomTaskId, false);
+            if (Objects.nonNull(metaUserTaskAwardReceivedRecordNew)) {
+                return MetaRestResult.returnError("奖励领取失败:用户已经领取过该任务奖励,不可重复领取!");
+            }
+        }
+        MetaServiceResult receive = metaAwardReceiveService.receive(new MetaAwardReceiveDTO(metaAtomTask.getAwardType(), metaAtomTask.getAwardConfig(), userId, "基础任务" + atomTaskId));
+        if (!receive.isSuccess()) {
+            return MetaRestResult.returnError(receive.getMessage());
+        }
+        metaUserTaskAwardReceivedRecordNewRepo.save(new MetaUserTaskAwardReceivedRecordNew(userId, taskId, atomTaskId, LocalDateTime.now()));
+        return MetaRestResult.returnSuccess(receive.getMessage());
+    }
+}

+ 2 - 0
src/main/java/com/izouma/nineth/service/MetaUserTaskProgressNewService.java

@@ -85,6 +85,7 @@ public class MetaUserTaskProgressNewService {
                 return MetaRestResult.returnError("该任务未配置达标次数");
             }
         }
+        metaUserTaskProgressNew.setProgressTime(LocalDateTime.now());
         // 在线时长任务 如记录存在则更新remark(每日在线时长) 如不存在则每日首次触发该任务
         if (metaAtomTask.getTargetType().equals(MetaTaskTarget.ON_LINE_TIME_DAILY)) {
             MetaUserTaskProgressNew dbMetaUserTaskProgressNew = metaUserTaskProgressNewRepo.findByMetaTaskToUserNewIdAndDelAndCreatedAtAfter(metaUserTaskProgressNew.getMetaTaskToUserNewId(), false, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0));
@@ -95,6 +96,7 @@ public class MetaUserTaskProgressNewService {
             }
             int remark = Integer.parseInt(metaUserTaskProgressNew.getRemark()) + Integer.parseInt(dbMetaUserTaskProgressNew.getRemark());
             dbMetaUserTaskProgressNew.setRemark(String.valueOf(remark));
+            dbMetaUserTaskProgressNew.setProgressTime(LocalDateTime.now());
             metaUserTaskProgressNewRepo.save(dbMetaUserTaskProgressNew);
             return MetaRestResult.returnSuccess(false);
         }

+ 9 - 9
src/main/java/com/izouma/nineth/web/MetaResourcesController.java

@@ -84,20 +84,20 @@ public class MetaResourcesController extends BaseController {
         return MetaRestResult.returnSuccess("查询成功", metaResources.getValue());
     }
 
-    @PostMapping("/like")
-    public MetaRestResult<Integer> like(Long id, Long userId) {
-        MetaResources metaResources = metaResourcesRepo.findById(id).orElse(null);
+    @PostMapping("/like/{name}/{userId}")
+    public MetaRestResult<Integer> like(@PathVariable String name, @PathVariable Long userId) {
+        MetaResources metaResources = metaResourcesRepo.findByNameAndDel(name, false);
         if (Objects.isNull(metaResources)) {
             return MetaRestResult.returnError("当前资源不存在!");
         }
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DateTimeUtils.DATE_FORMAT);
         LocalDate likeTime = LocalDate.parse(LocalDate.now().format(formatter), formatter);
-        MetaResourcesLikeRecord metaResourcesLikeRecord = metaResourcesLikeRecordRepo.findByMetaResourcesIdAndUserIdAndLikeTime(id, userId, likeTime);
+        MetaResourcesLikeRecord metaResourcesLikeRecord = metaResourcesLikeRecordRepo.findByMetaResourcesNameAndUserIdAndLikeTime(name, userId, likeTime);
         if (Objects.nonNull(metaResourcesLikeRecord)) {
             return MetaRestResult.returnError("该资源今天已经点过赞,不可重复点赞");
         }
         metaResourcesLikeRecord = new MetaResourcesLikeRecord();
-        metaResourcesLikeRecord.setMetaResourcesId(id);
+        metaResourcesLikeRecord.setMetaResourcesName(name);
         metaResourcesLikeRecord.setUserId(userId);
         metaResourcesLikeRecord.setLikeTime(likeTime);
         metaResourcesLikeRecordRepo.save(metaResourcesLikeRecord);
@@ -107,9 +107,9 @@ public class MetaResourcesController extends BaseController {
     }
 
 
-    @GetMapping("/getLikeNum/{id}/{userId}")
-    public MetaRestResult<MetaResourcesLikeDTO> getLikeNum(@PathVariable Long id, @PathVariable Long userId) {
-        MetaResources metaResources = metaResourcesRepo.findById(id).orElse(null);
+    @GetMapping("/getLikeNum/{name}/{userId}")
+    public MetaRestResult<MetaResourcesLikeDTO> getLikeNum(@PathVariable String name, @PathVariable Long userId) {
+        MetaResources metaResources = metaResourcesRepo.findByNameAndDel(name, false);
         if (Objects.isNull(metaResources)) {
             return MetaRestResult.returnError("当前资源不存在!");
         }
@@ -117,7 +117,7 @@ public class MetaResourcesController extends BaseController {
         metaResourcesLikeDTO.setNum(metaResources.getLikeNum());
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DateTimeUtils.DATE_FORMAT);
         LocalDate likeTime = LocalDate.parse(LocalDate.now().format(formatter), formatter);
-        MetaResourcesLikeRecord metaResourcesLikeRecord = metaResourcesLikeRecordRepo.findByMetaResourcesIdAndUserIdAndLikeTime(id,userId,likeTime);
+        MetaResourcesLikeRecord metaResourcesLikeRecord = metaResourcesLikeRecordRepo.findByMetaResourcesNameAndUserIdAndLikeTime(name, userId, likeTime);
         if (Objects.nonNull(metaResourcesLikeRecord)) {
             metaResourcesLikeDTO.setLike(true);
             return MetaRestResult.returnSuccess(metaResourcesLikeDTO);

+ 3 - 25
src/main/java/com/izouma/nineth/web/MetaTaskNewController.java

@@ -1,17 +1,12 @@
 package com.izouma.nineth.web;
 
-import com.izouma.nineth.domain.MetaTaskBind;
 import com.izouma.nineth.domain.MetaTaskNew;
 import com.izouma.nineth.dto.MetaRestResult;
 import com.izouma.nineth.dto.PageQuery;
-import com.izouma.nineth.enums.MetaTaskType;
-import com.izouma.nineth.exception.BusinessException;
-import com.izouma.nineth.repo.MetaTaskBindRepo;
 import com.izouma.nineth.repo.MetaTaskNewRepo;
 import com.izouma.nineth.service.MetaTaskNewService;
 import com.izouma.nineth.utils.excel.ExcelUtils;
 import lombok.AllArgsConstructor;
-import org.apache.commons.collections.CollectionUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.web.bind.annotation.*;
 
@@ -28,8 +23,6 @@ public class MetaTaskNewController extends BaseController {
 
     private MetaTaskNewRepo metaTaskNewRepo;
 
-    private MetaTaskBindRepo metaTaskBindRepo;
-
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
     public MetaTaskNew save(@RequestBody MetaTaskNew record) {
@@ -44,20 +37,7 @@ public class MetaTaskNewController extends BaseController {
 
     @GetMapping("/get/{id}")
     public MetaTaskNew get(@PathVariable Long id) {
-        MetaTaskNew metaTaskNew = metaTaskNewRepo.findById(id).orElseThrow(new BusinessException("无记录"));
-        List<MetaTaskBind> metaNodeTask = metaTaskBindRepo.findByTaskIdAndTypeAndDel(metaTaskNew.getId(), MetaTaskType.NODE, false);
-        if (CollectionUtils.isNotEmpty(metaNodeTask)) {
-            metaTaskNew.setMetaNodeTask(metaNodeTask);
-        }
-        List<MetaTaskBind> metaBranchLineTask = metaTaskBindRepo.findByTaskIdAndTypeAndDel(metaTaskNew.getId(), MetaTaskType.BRANCH_LINE, false);
-        if (CollectionUtils.isNotEmpty(metaBranchLineTask)) {
-            metaTaskNew.setMetaBranchLineTask(metaBranchLineTask);
-        }
-        List<MetaTaskBind> metaDailyTask = metaTaskBindRepo.findByTaskIdAndTypeAndDel(metaTaskNew.getId(), MetaTaskType.DAILY, false);
-        if (CollectionUtils.isNotEmpty(metaDailyTask)) {
-            metaTaskNew.setMetaDailyTask(metaDailyTask);
-        }
-        return metaTaskNew;
+        return metaTaskNewService.get(id);
     }
 
     @PostMapping("/del/{id}")
@@ -80,8 +60,6 @@ public class MetaTaskNewController extends BaseController {
 
     @GetMapping("/{userId}/{channelId}/canGet")
     public MetaRestResult<List<MetaTaskNew>> canGet(@PathVariable Long userId, @PathVariable Long channelId) {
-        List<MetaTaskNew> metaTaskNews = metaTaskNewRepo.canGet(userId, channelId);
-        return MetaRestResult.returnSuccess(metaTaskNews);
+        return metaTaskNewService.canGet(userId, channelId);
     }
-}
-
+}

+ 39 - 0
src/main/java/com/izouma/nineth/web/MetaUserTaskAwardReceivedRecordNewController.java

@@ -0,0 +1,39 @@
+package com.izouma.nineth.web;
+
+import com.izouma.nineth.domain.MetaUserTaskAwardReceivedRecordNew;
+import com.izouma.nineth.dto.MetaRestResult;
+import com.izouma.nineth.dto.PageQuery;
+import com.izouma.nineth.service.MetaUserTaskAwardReceivedRecordNewService;
+import com.izouma.nineth.utils.excel.ExcelUtils;
+import lombok.AllArgsConstructor;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+@RestController
+@RequestMapping("/metaUserTaskAwardReceivedRecordNew")
+@AllArgsConstructor
+public class MetaUserTaskAwardReceivedRecordNewController {
+
+    private MetaUserTaskAwardReceivedRecordNewService metaUserTaskAwardReceivedRecordNewService;
+
+    @PostMapping("/receiveAward/{taskId}/{atomTaskId}")
+    public MetaRestResult<Void> receiveAward(@PathVariable Long taskId, @PathVariable Long atomTaskId) {
+        return metaUserTaskAwardReceivedRecordNewService.receiveAward(taskId, atomTaskId);
+    }
+
+    @PostMapping("/all")
+    public Page<MetaUserTaskAwardReceivedRecordNew> all(@RequestBody PageQuery pageQuery) {
+        return metaUserTaskAwardReceivedRecordNewService.all(pageQuery);
+    }
+
+    @GetMapping("/excel")
+    @ResponseBody
+    public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
+        List<MetaUserTaskAwardReceivedRecordNew> data = all(pageQuery).getContent();
+        ExcelUtils.export(response, data);
+    }
+}

+ 26 - 1
src/main/vue/src/router.js

@@ -2030,6 +2030,31 @@ const router = new Router({
                        title: '元宇宙排行榜管理',
                     },
                }
+                },
+                {
+                    path: '/metaUserTaskAwardReceivedRecordNewList',
+                    name: 'MetaUserTaskAwardReceivedRecordNewList',
+                    component: () => import(/* webpackChunkName: "metaUserTaskAwardReceivedRecordNewList" */ '@/views/MetaUserTaskAwardReceivedRecordNewList.vue'),
+                    meta: {
+                        title: '任务奖励奖励记录',
+                    },
+                },
+                {
+                    path: '/metaUserTaskProgressNewList',
+                    name: 'MetaUserTaskProgressNewList',
+                    component: () => import(/* webpackChunkName: "metaUserTaskProgressNewList" */ '@/views/MetaUserTaskProgressNewList.vue'),
+                    meta: {
+                        title: '任务进度',
+                    },
+                },
+                {
+                    path: '/metaTaskToUserNewList',
+                    name: 'MetaTaskToUserNewList',
+                    component: () => import(/* webpackChunkName: "metaTaskToUserNewList" */ '@/views/MetaTaskToUserNewList.vue'),
+                    meta: {
+                        title: '任务领取记录',
+                    },
+                }
                 /**INSERT_LOCATION**/
             ]
         },
@@ -2089,4 +2114,4 @@ router.beforeEach((to, from, next) => {
     }
 });
 
-export default router;
+export default router;

+ 97 - 0
src/main/vue/src/views/MetaTaskToUserNewList.vue

@@ -0,0 +1,97 @@
+<template>
+    <div class="list-view">
+        <page-title>
+            <el-button @click="download" icon="el-icon-upload2" :loading="downloading" :disabled="fetchingData"
+                class="filter-item">
+                导出
+            </el-button>
+        </page-title>
+        <div class="filters-container">
+            <el-input placeholder="搜索..." v-model="search" clearable class="filter-item search"
+                @keyup.enter.native="getData">
+                <el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
+            </el-input>
+        </div>
+        <el-table :data="tableData" row-key="id" ref="table" header-row-class-name="table-header-row"
+            header-cell-class-name="table-header-cell" row-class-name="table-row" cell-class-name="table-cell"
+            :height="tableHeight" v-loading="fetchingData">
+            <el-table-column prop="id" align="center" label="ID"> </el-table-column>
+            <el-table-column prop="userId" align="center" label="用户id"> </el-table-column>
+            <el-table-column prop="getTime" align="center" label="领取时间"> </el-table-column>
+            <el-table-column prop="finishTime" align="center" label="完成时间"> </el-table-column>
+            <el-table-column prop="taskId" align="center" label="任务id"> </el-table-column>
+			<el-table-column prop="atomTaskId" align="center" label="基础任务id"> </el-table-column>
+			<el-table-column prop="status" align="center" label="当前状态" :formatter="taskStatusFormatter"> </el-table-column>
+            <el-table-column prop="channelId" align="center" label="所属频道"> </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <el-pagination background @size-change="onSizeChange" @current-change="onCurrentChange" :current-page="page"
+                :page-sizes="[10, 20, 30, 40, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
+                :total="totalElements">
+            </el-pagination>
+        </div>
+
+    </div>
+</template>
+<script>
+import { mapState } from 'vuex';
+import pageableTable from '@/mixins/pageableTable';
+
+export default {
+	name: 'MetaTaskToUserNewList',
+	mixins: [pageableTable],
+	data() {
+		return {
+			search: '',
+			url: '/metaTaskToUserNew/all',
+			downloading: false,
+			taskStatusOptions: [
+                { label: '进行中', value: 'PROGRESS' },
+                { label: '已完成', value: 'COMPLETION' }
+            ]
+		};
+	},
+	computed: {
+		selection() {
+			return this.$refs.table.selection.map(i => i.id);
+		}
+	},
+	methods: {
+		taskStatusFormatter(row, column, cellValue, index) {
+            let selectedOption = this.taskStatusOptions.find(i => i.value === cellValue);
+            if (selectedOption) {
+                return selectedOption.label;
+            }
+            return '';
+        },
+		beforeGetData() {
+			return { search: this.search, query: { del: false } };
+		},
+		download() {
+			this.downloading = true;
+			this.$axios
+				.get('/metaTaskToUserNew/excel', {
+					responseType: 'blob',
+					params: { size: 10000 }
+				})
+				.then(res => {
+					console.log(res);
+					this.downloading = false;
+					const downloadUrl = window.URL.createObjectURL(new Blob([res.data]));
+					const link = document.createElement('a');
+					link.href = downloadUrl;
+					link.setAttribute('download', res.headers['content-disposition'].split('filename=')[1]);
+					document.body.appendChild(link);
+					link.click();
+					link.remove();
+				})
+				.catch(e => {
+					console.log(e);
+					this.downloading = false;
+					this.$message.error(e.error);
+				});
+		}
+	}
+};
+</script>
+<style lang="less" scoped></style>

+ 86 - 0
src/main/vue/src/views/MetaUserTaskAwardReceivedRecordNewList.vue

@@ -0,0 +1,86 @@
+<template>
+    <div class="list-view">
+        <page-title>
+            <el-button @click="download" icon="el-icon-upload2" :loading="downloading" :disabled="fetchingData"
+                class="filter-item">
+                导出
+            </el-button>
+        </page-title>
+        <div class="filters-container">
+            <el-input placeholder="搜索..." v-model="search" clearable class="filter-item search"
+                @keyup.enter.native="getData">
+                <el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
+            </el-input>
+        </div>
+        <el-table :data="tableData" row-key="id" ref="table" header-row-class-name="table-header-row"
+            header-cell-class-name="table-header-cell" row-class-name="table-row" cell-class-name="table-cell"
+            :height="tableHeight" v-loading="fetchingData">
+            <el-table-column prop="userId" align="center" label="用户id">
+            </el-table-column>
+            <el-table-column prop="taskId" align="center" label="任务id">
+            </el-table-column>
+            <el-table-column prop="atomTaskId" align="center" label="基础任务id">
+            </el-table-column>
+            <el-table-column prop="receivedTime" align="center" label="领取时间">
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <el-pagination background @size-change="onSizeChange" @current-change="onCurrentChange" :current-page="page"
+                :page-sizes="[10, 20, 30, 40, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
+                :total="totalElements">
+            </el-pagination>
+        </div>
+
+    </div>
+</template>
+<script>
+import { mapState } from 'vuex';
+import pageableTable from '@/mixins/pageableTable';
+
+export default {
+	name: 'MetaUserTaskAwardReceivedRecordNewList',
+	mixins: [pageableTable],
+	data() {
+		return {
+			search: '',
+			url: '/metaUserTaskAwardReceivedRecordNew/all',
+			downloading: false
+		};
+	},
+	computed: {
+		selection() {
+			return this.$refs.table.selection.map(i => i.id);
+		}
+	},
+	methods: {
+		beforeGetData() {
+			return { search: this.search, query: { del: false } };
+		},
+		download() {
+			this.downloading = true;
+			this.$axios
+				.get('/metaUserTaskAwardReceivedRecordNew/excel', {
+					responseType: 'blob',
+					params: { size: 10000 }
+				})
+				.then(res => {
+					console.log(res);
+					this.downloading = false;
+					const downloadUrl = window.URL.createObjectURL(new Blob([res.data]));
+					const link = document.createElement('a');
+					link.href = downloadUrl;
+					link.setAttribute('download', res.headers['content-disposition'].split('filename=')[1]);
+					document.body.appendChild(link);
+					link.click();
+					link.remove();
+				})
+				.catch(e => {
+					console.log(e);
+					this.downloading = false;
+					this.$message.error(e.error);
+				});
+		}
+	}
+};
+</script>
+<style lang="less" scoped></style>

+ 87 - 0
src/main/vue/src/views/MetaUserTaskProgressNewList.vue

@@ -0,0 +1,87 @@
+<template>
+    <div class="list-view">
+        <page-title>
+            <el-button @click="download" icon="el-icon-upload2" :loading="downloading" :disabled="fetchingData"
+                class="filter-item">
+                导出
+            </el-button>
+        </page-title>
+        <div class="filters-container">
+            <el-input placeholder="搜索..." v-model="search" clearable class="filter-item search"
+                @keyup.enter.native="getData">
+                <el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
+            </el-input>
+        </div>
+        <el-table :data="tableData" row-key="id" ref="table" header-row-class-name="table-header-row"
+            header-cell-class-name="table-header-cell" row-class-name="table-row" cell-class-name="table-cell"
+            :height="tableHeight" v-loading="fetchingData">
+            <el-table-column prop="userId" align="center" label="用户id">
+            </el-table-column>
+            <el-table-column prop="metaTaskToUserNewId" align="center" label="玩家领取任务记录id">
+            </el-table-column>
+			<el-table-column prop="progressTime" align="center" label="进度上传时间">
+            </el-table-column>
+            <el-table-column prop="remark" align="center" label="进度备注">
+            </el-table-column>
+            
+        </el-table>
+        <div class="pagination-wrapper">
+            <el-pagination background @size-change="onSizeChange" @current-change="onCurrentChange" :current-page="page"
+                :page-sizes="[10, 20, 30, 40, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
+                :total="totalElements">
+            </el-pagination>
+        </div>
+
+    </div>
+</template>
+<script>
+import { mapState } from 'vuex';
+import pageableTable from '@/mixins/pageableTable';
+
+export default {
+	name: 'MetaUserTaskProgressNewList',
+	mixins: [pageableTable],
+	data() {
+		return {
+			search: '',
+			url: '/metaUserTaskProgressNew/all',
+			downloading: false
+		};
+	},
+	computed: {
+		selection() {
+			return this.$refs.table.selection.map(i => i.id);
+		}
+	},
+	methods: {
+		beforeGetData() {
+			return { search: this.search, query: { del: false } };
+		},
+		download() {
+			this.downloading = true;
+			this.$axios
+				.get('/metaUserTaskProgressNew/excel', {
+					responseType: 'blob',
+					params: { size: 10000 }
+				})
+				.then(res => {
+					console.log(res);
+					this.downloading = false;
+					const downloadUrl = window.URL.createObjectURL(new Blob([res.data]));
+					const link = document.createElement('a');
+					link.href = downloadUrl;
+					link.setAttribute('download', res.headers['content-disposition'].split('filename=')[1]);
+					document.body.appendChild(link);
+					link.click();
+					link.remove();
+				})
+				.catch(e => {
+					console.log(e);
+					this.downloading = false;
+					this.$message.error(e.error);
+				});
+		}
+	}
+};
+</script>
+<style lang="less" scoped></style>