taskStatus
This commit is contained in:
parent
c376e3b1b6
commit
a91389ca99
@ -95,7 +95,7 @@ public class AppGoodsController {
|
||||
@GetMapping("/task/face/{faceId}/template/{templateId}")
|
||||
public ApiResponse<VideoTaskStatusVO> getTemplateTaskStatus(@PathVariable("faceId") Long faceId, @PathVariable("templateId") Long templateId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
return goodsService.getTemplateTaskStatus(worker.getUserId(), faceId, templateId);
|
||||
return goodsService.getTaskStatusByTemplateId(worker.getUserId(), faceId, templateId);
|
||||
}
|
||||
|
||||
@PostMapping("/submitVideoTask")
|
||||
|
@ -0,0 +1,57 @@
|
||||
package com.ycwl.basic.controller.mobile;
|
||||
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.mobile.goods.VideoTaskReq;
|
||||
import com.ycwl.basic.model.mobile.goods.VideoTaskStatusVO;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.service.task.TaskService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
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;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/mobile/task/v1")
|
||||
public class AppTaskController {
|
||||
@Autowired
|
||||
private GoodsService goodsService;
|
||||
@Autowired
|
||||
private TaskService taskService;
|
||||
|
||||
@GetMapping("/face/{faceId}")
|
||||
public ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(@PathVariable("faceId") Long faceId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
return goodsService.getTaskStatusByFaceId(worker.getUserId(), faceId);
|
||||
}
|
||||
@GetMapping("/scenic/{scenicId}")
|
||||
public ApiResponse<VideoTaskStatusVO> getAllTaskStatusByScenicId(@PathVariable("scenicId") Long scenicId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
return goodsService.getTaskStatusByScenicId(worker.getUserId(), scenicId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户当前景区的具体模版视频合成任务状态
|
||||
*
|
||||
* @param templateId 模版id
|
||||
* @return 1 合成中 2 合成成功
|
||||
*/
|
||||
@ApiOperation("查询用户当前景区的具体模版视频合成任务状态 1 合成中 2 合成成功 ")
|
||||
@GetMapping("/face/{faceId}/template/{templateId}")
|
||||
public ApiResponse<VideoTaskStatusVO> getTemplateTaskStatus(@PathVariable("faceId") Long faceId, @PathVariable("templateId") Long templateId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
return goodsService.getTaskStatusByTemplateId(worker.getUserId(), faceId, templateId);
|
||||
}
|
||||
|
||||
@PostMapping("/submit")
|
||||
public ApiResponse<String> submitVideoTask(@RequestBody VideoTaskReq videoTaskReq) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
taskService.createTaskByFaceIdAndTempalteId(videoTaskReq.getFaceId(),videoTaskReq.getTemplateId(),0);
|
||||
return ApiResponse.success("成功");
|
||||
}
|
||||
}
|
@ -36,11 +36,6 @@ public class TaskController {
|
||||
public ApiResponse getById(@PathVariable Long id) {
|
||||
return taskService.getById(id);
|
||||
}
|
||||
@ApiOperation("添加任务")
|
||||
@PostMapping("/add")
|
||||
public ApiResponse add(@RequestBody TaskEntity taskEntity) {
|
||||
return taskService.add(taskEntity);
|
||||
}
|
||||
@ApiOperation("删除任务")
|
||||
@DeleteMapping("/delete/{id}")
|
||||
public ApiResponse deleteById(@PathVariable Long id) {
|
||||
|
@ -56,4 +56,6 @@ public interface TaskMapper {
|
||||
int setFail(TaskEntity taskUpdate);
|
||||
|
||||
TaskEntity getFaceAutomaticTask(Long faceId);
|
||||
|
||||
TaskEntity get(Long taskId);
|
||||
}
|
||||
|
@ -32,6 +32,6 @@ public interface TemplateMapper {
|
||||
int deleteConfigByTemplateId(Long templateId);
|
||||
int deleteConfigById(Long id);
|
||||
List<TemplateEntity> listEnabledByScenicId(Long scenicId);
|
||||
|
||||
List<Long> listEnabledTemplateIdByScenicId(Long scenicId);
|
||||
List<ContentPageVO> listFor(@Param("scenicId") Long scenicId);
|
||||
}
|
||||
|
@ -34,9 +34,8 @@ public interface VideoMapper {
|
||||
|
||||
List<MemberVideoEntity> userFaceTemplateVideo(Long userId, Long faceId, Long templateId);
|
||||
|
||||
List<TaskEntity> listTaskByFaceRelation(Long userId, Long faceId);
|
||||
|
||||
List<TaskEntity> listTaskByFaceTemplateRelation(Long userId, Long faceId, Long templateId);
|
||||
List<MemberVideoEntity> listRelationByFace(Long userId, Long faceId);
|
||||
List<MemberVideoEntity> listRelationByFaceAndTemplate(Long userId, Long faceId, Long templateId);
|
||||
|
||||
List<TaskEntity> listTaskByScenicRelation(Long userId, Long scenicId);
|
||||
|
||||
|
@ -5,6 +5,7 @@ import lombok.Data;
|
||||
@Data
|
||||
public class VideoTaskStatusVO {
|
||||
private int status;
|
||||
private Long taskId;
|
||||
private Long videoId;
|
||||
private Long templateId;
|
||||
private Long faceId;
|
||||
|
@ -23,11 +23,6 @@ public class TaskRespVO {
|
||||
@ApiModelProperty("执行任务的机器ID")
|
||||
private Long workerId;
|
||||
private Long faceId;
|
||||
/**
|
||||
* 用户ID,可以不和用户关联
|
||||
*/
|
||||
@ApiModelProperty("用户ID")
|
||||
private Long memberId;
|
||||
/**
|
||||
* 模板ID
|
||||
*/
|
||||
|
@ -1,7 +1,17 @@
|
||||
package com.ycwl.basic.repository;
|
||||
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class FaceRepository {
|
||||
@Autowired
|
||||
private RedisTemplate<String, String> redisTemplate;
|
||||
@Autowired
|
||||
private FaceMapper faceMapper;
|
||||
@Autowired
|
||||
private FaceSampleMapper faceSampleMapper;
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -30,12 +31,12 @@ public class TemplateRepository {
|
||||
@Autowired
|
||||
private RedisTemplate<String, String> redisTemplate;
|
||||
public static final String TEMPLATE_CACHE_KEY = "template:%s";
|
||||
public static final String TEMPLATE_ID_BY_SCENIC_ID_CACHE_KEY = "template:id:byScenic:%s";
|
||||
public static final String TEMPLATE_CONFIG_CACHE_KEY = "template:%s:config";
|
||||
|
||||
|
||||
public boolean determineTemplateCanGenerate(Long templateId, Long faceId) {
|
||||
TemplateRespVO template = templateMapper.getById(templateId);
|
||||
template.setChildren(templateMapper.getByPid(templateId));
|
||||
TemplateRespVO template = getTemplate(templateId);
|
||||
Map<String, Boolean> map = new HashMap<>();
|
||||
for (TemplateRespVO child : template.getChildren()) {
|
||||
if (child.getIsPlaceholder() == 1) {
|
||||
@ -59,6 +60,20 @@ public class TemplateRepository {
|
||||
return map.values().stream().filter(item -> item).count() >= templateConfig.getMinimalPlaceholderFill();
|
||||
}
|
||||
|
||||
public List<TemplateRespVO> getTemplateListByScenicId(Long scenicId) {
|
||||
List<Long> idList;
|
||||
if (redisTemplate.hasKey(String.format(TEMPLATE_ID_BY_SCENIC_ID_CACHE_KEY, scenicId))) {
|
||||
idList = JSONObject.parseArray(redisTemplate.opsForValue().get(String.format(TEMPLATE_ID_BY_SCENIC_ID_CACHE_KEY, scenicId)), Long.class);
|
||||
} else {
|
||||
idList = templateMapper.listEnabledTemplateIdByScenicId(scenicId);
|
||||
redisTemplate.opsForValue().set(String.format(TEMPLATE_ID_BY_SCENIC_ID_CACHE_KEY, scenicId), JSONObject.toJSONString(idList));
|
||||
}
|
||||
if (idList == null || idList.isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return idList.stream().map(this::getTemplate).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public TemplateRespVO getTemplate(Long templateId) {
|
||||
if (redisTemplate.hasKey(String.format(TEMPLATE_CACHE_KEY, templateId))) {
|
||||
return JSONObject.parseObject(redisTemplate.opsForValue().get(String.format(TEMPLATE_CACHE_KEY, templateId)), TemplateRespVO.class);
|
||||
@ -90,6 +105,10 @@ public class TemplateRepository {
|
||||
}
|
||||
|
||||
public boolean clearTemplateCache(Long templateId) {
|
||||
if (redisTemplate.hasKey(String.format(TEMPLATE_CACHE_KEY, templateId))) {
|
||||
TemplateRespVO template = getTemplate(templateId);
|
||||
redisTemplate.delete(String.format(TEMPLATE_ID_BY_SCENIC_ID_CACHE_KEY, template.getScenicId()));
|
||||
}
|
||||
redisTemplate.delete(String.format(TEMPLATE_CACHE_KEY, templateId));
|
||||
redisTemplate.delete(String.format(TEMPLATE_CONFIG_CACHE_KEY, templateId));
|
||||
return true;
|
||||
|
@ -1,4 +1,34 @@
|
||||
package com.ycwl.basic.repository;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ycwl.basic.mapper.TaskMapper;
|
||||
import com.ycwl.basic.mapper.VideoMapper;
|
||||
import com.ycwl.basic.model.pc.task.entity.TaskEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class VideoTaskRepository {
|
||||
@Autowired
|
||||
private RedisTemplate<String, String> redisTemplate;
|
||||
@Autowired
|
||||
private TaskMapper taskMapper;
|
||||
@Autowired
|
||||
private VideoMapper videoMapper;
|
||||
|
||||
public static final String USER_TASK_CACHE_KEY = "task:user:%s";
|
||||
public static final String TASK_CACHE_KEY = "task:byId:%s";
|
||||
|
||||
public TaskEntity getTaskById(Long taskId) {
|
||||
if (redisTemplate.hasKey(String.format(TASK_CACHE_KEY, taskId))) {
|
||||
return JSONObject.parseObject(redisTemplate.opsForValue().get(String.format(TASK_CACHE_KEY, taskId)), TaskEntity.class);
|
||||
} else {
|
||||
TaskEntity task = taskMapper.get(taskId);
|
||||
if (task != null) {
|
||||
redisTemplate.opsForValue().set(String.format(TASK_CACHE_KEY, taskId), JSONObject.toJSONString(task));
|
||||
}
|
||||
return task;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,9 +12,9 @@ import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
|
||||
import com.ycwl.basic.model.pc.task.entity.TaskEntity;
|
||||
import com.ycwl.basic.model.pc.task.resp.TaskRespVO;
|
||||
import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
|
||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
|
||||
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||
import com.ycwl.basic.repository.VideoTaskRepository;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.repository.TemplateRepository;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
@ -28,7 +28,6 @@ import java.math.RoundingMode;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -51,6 +50,8 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
private FaceMapper faceMapper;
|
||||
@Autowired
|
||||
private TemplateRepository templateRepository;
|
||||
@Autowired
|
||||
private VideoTaskRepository videoTaskRepository;
|
||||
|
||||
public ApiResponse<List<GoodsPageVO>> goodsList(GoodsReqQuery query) {
|
||||
//查询原素材
|
||||
@ -242,28 +243,35 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
*/
|
||||
@Override
|
||||
public ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(Long userId, Long faceId) {
|
||||
List<TaskEntity> taskList = videoMapper.listTaskByFaceRelation(userId, faceId);
|
||||
List<MemberVideoEntity> taskList = videoMapper.listRelationByFace(userId, faceId);
|
||||
VideoTaskStatusVO response = new VideoTaskStatusVO();
|
||||
response.setFaceId(faceId);
|
||||
if (taskList.isEmpty()) {
|
||||
response.setStatus(0);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
long nullTask = taskList.stream().filter(Objects::isNull).count();
|
||||
if (nullTask > 0) {
|
||||
response.setScenicId(taskList.get(0).getScenicId());
|
||||
response.setMaxCount(templateRepository.getTemplateListByScenicId(response.getScenicId()).size());
|
||||
List<MemberVideoEntity> notFinishedTasks = taskList.stream().filter(task -> {
|
||||
TaskEntity taskById = videoTaskRepository.getTaskById(task.getTaskId());
|
||||
if (taskById == null) {
|
||||
return true;
|
||||
}
|
||||
return taskById.getStatus() != 1;
|
||||
}).collect(Collectors.toList());
|
||||
if (!notFinishedTasks.isEmpty()) {
|
||||
response.setCount(taskList.size() - notFinishedTasks.size());
|
||||
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
|
||||
response.setTaskId(notFinishedTasks.get(0).getTaskId());
|
||||
response.setStatus(2);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
Optional<TaskEntity> taskEntity = taskList.stream().filter(task -> 1 == task.getStatus()).findFirst();
|
||||
if (taskEntity.isPresent()) {
|
||||
response.setTemplateId(taskEntity.get().getTemplateId());
|
||||
VideoEntity video = videoMapper.findByTaskId(taskEntity.get().getId());
|
||||
response.setVideoId(video.getId());
|
||||
response.setCount(taskList.size());
|
||||
response.setStatus(1);
|
||||
} else {
|
||||
response.setStatus(2);
|
||||
}
|
||||
MemberVideoEntity lastVideo = taskList.get(taskList.size() - 1);
|
||||
response.setTaskId(lastVideo.getTaskId());
|
||||
response.setTemplateId(lastVideo.getTemplateId());
|
||||
response.setVideoId(lastVideo.getVideoId());
|
||||
response.setCount(taskList.size());
|
||||
response.setStatus(1);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
|
||||
@ -274,23 +282,36 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<VideoTaskStatusVO> getTemplateTaskStatus(Long userId, Long faceId, Long templateId) {
|
||||
List<TaskEntity> taskList = videoMapper.listTaskByFaceTemplateRelation(userId, faceId, templateId);
|
||||
public ApiResponse<VideoTaskStatusVO> getTaskStatusByTemplateId(Long userId, Long faceId, Long templateId) {
|
||||
List<MemberVideoEntity> taskList = videoMapper.listRelationByFaceAndTemplate(userId, faceId, templateId);
|
||||
VideoTaskStatusVO response = new VideoTaskStatusVO();
|
||||
response.setFaceId(faceId);
|
||||
if (taskList.isEmpty()) {
|
||||
response.setStatus(0);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
Optional<TaskEntity> taskEntity = taskList.stream().filter(task -> task.getStatus() == 1).findFirst();
|
||||
if (taskEntity.isPresent()) {
|
||||
response.setTemplateId(taskEntity.get().getTemplateId());
|
||||
VideoEntity video = videoMapper.findByTaskId(taskEntity.get().getId());
|
||||
response.setVideoId(video.getId());
|
||||
response.setStatus(1);
|
||||
} else {
|
||||
response.setScenicId(taskList.get(0).getScenicId());
|
||||
response.setMaxCount(templateRepository.getTemplateListByScenicId(response.getScenicId()).size());
|
||||
List<MemberVideoEntity> notFinishedTasks = taskList.stream().filter(task -> {
|
||||
TaskEntity taskById = videoTaskRepository.getTaskById(task.getTaskId());
|
||||
if (taskById == null) {
|
||||
return true;
|
||||
}
|
||||
return taskById.getStatus() != 1;
|
||||
}).collect(Collectors.toList());
|
||||
if (!notFinishedTasks.isEmpty()) {
|
||||
response.setCount(taskList.size() - notFinishedTasks.size());
|
||||
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
|
||||
response.setTaskId(notFinishedTasks.get(0).getTaskId());
|
||||
response.setStatus(2);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
MemberVideoEntity lastVideo = taskList.get(taskList.size() - 1);
|
||||
response.setTaskId(lastVideo.getTaskId());
|
||||
response.setTemplateId(lastVideo.getTemplateId());
|
||||
response.setVideoId(lastVideo.getVideoId());
|
||||
response.setCount(taskList.size());
|
||||
response.setStatus(1);
|
||||
return ApiResponse.success(response);
|
||||
}
|
||||
|
||||
|
@ -41,16 +41,6 @@ public class TaskServiceImpl implements TaskService {
|
||||
return ApiResponse.success(taskMapper.getById(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Boolean> add(TaskEntity task) {
|
||||
int i = taskMapper.add(task);
|
||||
if (i > 0) {
|
||||
return ApiResponse.success(true);
|
||||
}else {
|
||||
return ApiResponse.fail("添加失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Boolean> deleteById(Long id) {
|
||||
int i = taskMapper.deleteById(id);
|
||||
|
@ -141,7 +141,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
TaskEntity taskEntity = new TaskEntity();
|
||||
taskEntity.setId(SnowFlakeUtil.getLongId());
|
||||
taskEntity.setFaceId(faceId);
|
||||
taskEntity.setMemberId(faceRespVO.getMemberId());
|
||||
taskEntity.setTemplateId(templateId);
|
||||
taskEntity.setScenicId(scenicId);
|
||||
taskEntity.setTaskParams(JSON.toJSONString(sourcesMap));
|
||||
@ -190,8 +189,7 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
if (faceSampleList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
// TODO: 优化
|
||||
List<TemplateEntity> templateList = templateMapper.listEnabledByScenicId(faceRespVO.getScenicId());
|
||||
List<TemplateRespVO> templateList = templateRepository.getTemplateListByScenicId(faceRespVO.getScenicId());
|
||||
if (templateList == null || templateList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@ -253,7 +251,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
taskEntity.setId(SnowFlakeUtil.getLongId());
|
||||
taskEntity.setScenicId(faceRespVO.getScenicId());
|
||||
taskEntity.setFaceId(faceId);
|
||||
taskEntity.setMemberId(faceRespVO.getMemberId());
|
||||
taskEntity.setTemplateId(templateId);
|
||||
taskEntity.setStatus(0);
|
||||
taskEntity.setAutomatic(automatic);
|
||||
@ -296,7 +293,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
video = new VideoEntity();
|
||||
video.setId(SnowFlakeUtil.getLongId());
|
||||
video.setScenicId(task.getScenicId());
|
||||
video.setMemberId(task.getMemberId());
|
||||
video.setTemplateId(task.getTemplateId());
|
||||
video.setTaskId(taskId);
|
||||
video.setWorkerId(worker.getId());
|
||||
|
@ -45,11 +45,9 @@ public interface GoodsService {
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(Long userId ,Long faceId);
|
||||
ApiResponse<VideoTaskStatusVO> getAllTaskStatus(Long userId);
|
||||
|
||||
ApiResponse<VideoTaskStatusVO> getTemplateTaskStatus(Long userId, Long faceId, Long templateId);
|
||||
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(Long userId ,Long faceId);
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByTemplateId(Long userId, Long faceId, Long templateId);
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByScenicId(Long userId, Long scenicId);
|
||||
|
||||
ApiResponse<GoodsDetailVO> sourceGoodsInfo(Long userId, Long sourceId);
|
||||
|
@ -16,7 +16,6 @@ public interface TaskService {
|
||||
ApiResponse<PageInfo<TaskRespVO>> pageQuery(TaskReqQuery taskReqQuery);
|
||||
ApiResponse<List<TaskRespVO>> list(TaskReqQuery taskReqQuery);
|
||||
ApiResponse<TaskRespVO> getById(Long id);
|
||||
ApiResponse<Boolean> add(TaskEntity task);
|
||||
ApiResponse<Boolean> deleteById(Long id);
|
||||
ApiResponse<Boolean> update(TaskEntity task);
|
||||
ApiResponse<Boolean> updateStatus(Long id,Integer status);
|
||||
|
@ -107,4 +107,9 @@ from task
|
||||
where face_id = #{faceId} and automatic = 1
|
||||
limit 1
|
||||
</select>
|
||||
<select id="get" resultType="com.ycwl.basic.model.pc.task.entity.TaskEntity">
|
||||
select *
|
||||
from task
|
||||
where id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -105,4 +105,9 @@
|
||||
where t.scenic_id = #{scenicId} and pid = 0 and t.status = 1
|
||||
order by sort
|
||||
</select>
|
||||
<select id="listEnabledTemplateIdByScenicId" resultType="java.lang.Long">
|
||||
select t.id
|
||||
from template t
|
||||
where t.scenic_id = #{scenicId} and t.pid = 0 and t.status = 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -110,16 +110,14 @@
|
||||
<select id="userFaceTemplateVideo" resultType="com.ycwl.basic.model.pc.video.entity.MemberVideoEntity">
|
||||
select * from member_video where member_id = #{userId} and face_id = #{faceId} and template_id = #{templateId} order by id desc
|
||||
</select>
|
||||
<select id="listTaskByFaceRelation" resultType="com.ycwl.basic.model.pc.task.entity.TaskEntity">
|
||||
select t.*
|
||||
<select id="listRelationByFace" resultType="com.ycwl.basic.model.pc.video.entity.MemberVideoEntity">
|
||||
select mv.*
|
||||
from member_video mv
|
||||
left join task t on mv.task_id = t.id
|
||||
where mv.member_id = #{userId} and mv.face_id = #{faceId}
|
||||
</select>
|
||||
<select id="listTaskByFaceTemplateRelation" resultType="com.ycwl.basic.model.pc.task.entity.TaskEntity">
|
||||
select t.*
|
||||
<select id="listRelationByFaceAndTemplate" resultType="com.ycwl.basic.model.pc.video.entity.MemberVideoEntity">
|
||||
select mv.*
|
||||
from member_video mv
|
||||
left join task t on mv.task_id = t.id
|
||||
where mv.member_id = #{userId} and mv.face_id = #{faceId} and mv.template_id = #{templateId}
|
||||
</select>
|
||||
<select id="listTaskByScenicRelation" resultType="com.ycwl.basic.model.pc.task.entity.TaskEntity">
|
||||
|
Loading…
x
Reference in New Issue
Block a user