部分逻辑修改

This commit is contained in:
Jerry Yan 2024-12-16 16:23:09 +08:00
parent 37e6f29a33
commit dab3f4356f
14 changed files with 72 additions and 18 deletions

View File

@ -4,6 +4,7 @@ import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.mobile.goods.*; import com.ycwl.basic.model.mobile.goods.*;
import com.ycwl.basic.model.pc.source.resp.SourceRespVO; import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
import com.ycwl.basic.service.mobile.GoodsService; 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.ApiResponse;
import com.ycwl.basic.utils.JwtTokenUtil; import com.ycwl.basic.utils.JwtTokenUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -26,6 +27,8 @@ public class AppGoodsController {
@Autowired @Autowired
private GoodsService goodsService; private GoodsService goodsService;
@Autowired
private TaskService taskService;
@ApiOperation("商品列表") @ApiOperation("商品列表")
@PostMapping("/goodsList") @PostMapping("/goodsList")
@ -53,14 +56,14 @@ public class AppGoodsController {
/** /**
* 查询用户当前景区的视频合成任务状态 * 查询用户当前景区的视频合成任务状态
* @param scenicId 景区id * @param faceId 景区id
* @return 0没有任务 1 合成中 2 合成成功 * @return 0没有任务 1 合成中 2 合成成功
*/ */
@ApiOperation("查询用户当前景区的整体视频合成任务状态 0没有任务 1 合成中 2 合成成功 ") @ApiOperation("查询用户当前景区的整体视频合成任务状态 0没有任务 1 合成中 2 合成成功 ")
@GetMapping("/getTaskStatus/{scenicId}") @GetMapping("/getTaskStatus/{faceId}")
public ApiResponse<Integer> getAllTaskStatus(@PathVariable("scenicId") Long scenicId) { public ApiResponse<Integer> getAllTaskStatus(@PathVariable("faceId") Long faceId) {
JwtInfo worker = JwtTokenUtil.getWorker(); JwtInfo worker = JwtTokenUtil.getWorker();
return goodsService.getAllTaskStatus(worker.getUserId(),scenicId); return goodsService.getAllTaskStatus(worker.getUserId(),faceId);
} }
/** /**
@ -75,5 +78,10 @@ public class AppGoodsController {
return goodsService.getTemplateTaskStatus(worker.getUserId(),templateId); return goodsService.getTemplateTaskStatus(worker.getUserId(),templateId);
} }
@PostMapping("/submitVideoTask")
public ApiResponse<String> submitVideoTask(@RequestBody VideoTaskReq videoTaskReq) {
JwtInfo worker = JwtTokenUtil.getWorker();
taskService.autoCreateTaskByFaceIdAndTempalteId(videoTaskReq.getFaceId(),videoTaskReq.getTemplateId(),0);
return ApiResponse.success("成功");
}
} }

View File

@ -50,9 +50,9 @@ public class AppScenicController {
} }
@ApiOperation("景区视频源素材列表") @ApiOperation("景区视频源素材列表")
@GetMapping("/contentList/{scenicId}") @GetMapping("/contentList/{faceId}")
public ApiResponse<List<ContentPageVO>> contentList(@PathVariable Long scenicId) { public ApiResponse<List<ContentPageVO>> contentList(@PathVariable Long faceId) {
return appScenicService.contentList(scenicId); return appScenicService.contentList(faceId);
} }

View File

@ -58,8 +58,8 @@ public class TemplateController {
return templateService.update(template); return templateService.update(template);
} }
@ApiOperation("修改模板状态") @ApiOperation("修改模板状态")
@PostMapping("/updateStatus") @PostMapping("/updateStatus/{id}")
public ApiResponse<Boolean> updateStatus(@RequestBody Long id) { public ApiResponse<Boolean> updateStatus(@PathVariable("id") Long id) {
return templateService.updateStatus(id); return templateService.updateStatus(id);
} }

View File

@ -54,4 +54,6 @@ public interface TaskMapper {
int setStart(TaskEntity taskUpdate); int setStart(TaskEntity taskUpdate);
int setSuccess(TaskEntity taskUpdate); int setSuccess(TaskEntity taskUpdate);
int setFail(TaskEntity taskUpdate); int setFail(TaskEntity taskUpdate);
TaskEntity getFaceAutomaticTask(Long faceId);
} }

View File

@ -0,0 +1,9 @@
package com.ycwl.basic.model.mobile.face;
import lombok.Data;
@Data
public class FaceRecognizeResp {
private String url;
private Long faceId;
}

View File

@ -0,0 +1,10 @@
package com.ycwl.basic.model.mobile.goods;
import lombok.Data;
@Data
public class VideoTaskReq {
private Long scenicId;
private Long templateId;
private Long faceId;
}

View File

@ -29,6 +29,7 @@ public class TaskReqQuery extends BaseQueryParameterReq {
*/ */
@ApiModelProperty("用户ID") @ApiModelProperty("用户ID")
private Long memberId; private Long memberId;
private Long faceId;
/** /**
* 模板ID * 模板ID
*/ */

View File

@ -22,6 +22,8 @@ public class VideoReqQuery extends BaseQueryParameterReq {
*/ */
@ApiModelProperty("景区id") @ApiModelProperty("景区id")
private Long scenicId; private Long scenicId;
@ApiModelProperty("人脸id")
private Long faceId;
/** /**
* 用户id * 用户id
*/ */

View File

@ -131,14 +131,16 @@ public class AppScenicServiceImpl implements AppScenicService {
} }
@Override @Override
public ApiResponse<List<ContentPageVO>> contentList(Long scenicId) { public ApiResponse<List<ContentPageVO>> contentList(Long faceId) {
JwtInfo worker = JwtTokenUtil.getWorker(); JwtInfo worker = JwtTokenUtil.getWorker();
//查询原素材 //查询原素材
List<ContentPageVO> contentList = new ArrayList<>(); List<ContentPageVO> contentList = new ArrayList<>();
FaceRespVO faceRespVO = faceMapper.getById(faceId);
HashMap<Long, String> videoMap = new HashMap<>(); HashMap<Long, String> videoMap = new HashMap<>();
VideoReqQuery videoReqQuery = new VideoReqQuery(); VideoReqQuery videoReqQuery = new VideoReqQuery();
videoReqQuery.setScenicId(scenicId); videoReqQuery.setFaceId(faceId);
videoReqQuery.setMemberId(worker.getUserId()); videoReqQuery.setMemberId(worker.getUserId());
//查询成片vlog //查询成片vlog
List<VideoRespVO> videoList = videoMapper.list(videoReqQuery); List<VideoRespVO> videoList = videoMapper.list(videoReqQuery);
@ -154,7 +156,7 @@ public class AppScenicServiceImpl implements AppScenicService {
}); });
TemplateReqQuery templateReqQuery = new TemplateReqQuery(); TemplateReqQuery templateReqQuery = new TemplateReqQuery();
templateReqQuery.setScenicId(scenicId); templateReqQuery.setScenicId(faceRespVO.getScenicId());
List<TemplateRespVO> list = templateMapper.list(templateReqQuery); List<TemplateRespVO> list = templateMapper.list(templateReqQuery);
list.forEach(templateRespVO -> { list.forEach(templateRespVO -> {
Long templateId = templateRespVO.getId(); Long templateId = templateRespVO.getId();
@ -169,7 +171,7 @@ public class AppScenicServiceImpl implements AppScenicService {
}); });
SourceReqQuery sourceReqQuery = new SourceReqQuery(); SourceReqQuery sourceReqQuery = new SourceReqQuery();
videoReqQuery.setScenicId(scenicId); videoReqQuery.setScenicId(faceRespVO.getScenicId());
videoReqQuery.setMemberId(worker.getUserId()); videoReqQuery.setMemberId(worker.getUserId());
//查询源素材 //查询源素材
List<SourceRespVO> sourceList = sourceMapper.listGroupByType(sourceReqQuery); List<SourceRespVO> sourceList = sourceMapper.listGroupByType(sourceReqQuery);

View File

@ -200,14 +200,14 @@ public class GoodsServiceImpl implements GoodsService {
/** /**
* 查询用户当前景区的视频合成任务状态 * 查询用户当前景区的视频合成任务状态
* @param scenicId 景区id * @param faceId 景区id
* @return 0没有任务 1 合成中 2 合成成功 * @return 0没有任务 1 合成中 2 合成成功
*/ */
@Override @Override
public ApiResponse<Integer> getAllTaskStatus(Long userId, Long scenicId) { public ApiResponse<Integer> getAllTaskStatus(Long userId, Long faceId) {
TaskReqQuery taskReqQuery = new TaskReqQuery(); TaskReqQuery taskReqQuery = new TaskReqQuery();
taskReqQuery.setMemberId(userId); taskReqQuery.setMemberId(userId);
taskReqQuery.setScenicId(scenicId); taskReqQuery.setFaceId(faceId);
int allCount=taskMapper.countTask(taskReqQuery); int allCount=taskMapper.countTask(taskReqQuery);
if(allCount==0){//没有任务 if(allCount==0){//没有任务
return ApiResponse.success(0); return ApiResponse.success(0);

View File

@ -8,6 +8,7 @@ import com.ycwl.basic.exception.BaseException;
import com.ycwl.basic.mapper.StatisticsMapper; import com.ycwl.basic.mapper.StatisticsMapper;
import com.ycwl.basic.mapper.FaceMapper; import com.ycwl.basic.mapper.FaceMapper;
import com.ycwl.basic.model.jwt.JwtInfo; import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.mobile.face.FaceRecognizeResp;
import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq; import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq;
import com.ycwl.basic.model.pc.face.entity.FaceEntity; import com.ycwl.basic.model.pc.face.entity.FaceEntity;
import com.ycwl.basic.model.pc.face.req.FaceReqQuery; import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
@ -157,7 +158,10 @@ public class FaceServiceImpl implements FaceService {
statisticsRecordAddReq.setScenicId(scenicId); statisticsRecordAddReq.setScenicId(scenicId);
statisticsRecordAddReq.setMorphId(faceEntity.getId()); statisticsRecordAddReq.setMorphId(faceEntity.getId());
statisticsMapper.addStatisticsRecord(statisticsRecordAddReq); statisticsMapper.addStatisticsRecord(statisticsRecordAddReq);
return ApiResponse.success(faceUrl); FaceRecognizeResp resp = new FaceRecognizeResp();
resp.setUrl(faceUrl);
resp.setFaceId(faceEntity.getId());
return ApiResponse.success(resp);
} }
@Override @Override

View File

@ -199,6 +199,10 @@ public class TaskTaskServiceImpl implements TaskService {
if (templateList == null || templateList.isEmpty()) { if (templateList == null || templateList.isEmpty()) {
return; return;
} }
TaskEntity faceAutomaticTask = taskMapper.getFaceAutomaticTask(id);
if (faceAutomaticTask != null) {
return;
}
autoCreateTaskByFaceIdAndTempalteId(id, templateList.get(0).getId(), 1); autoCreateTaskByFaceIdAndTempalteId(id, templateList.get(0).getId(), 1);
} }
@Override @Override

View File

@ -91,6 +91,7 @@ from task
<where> <where>
<if test="workerId!= null">and worker_id = #{workerId} </if> <if test="workerId!= null">and worker_id = #{workerId} </if>
<if test="memberId!= null">and member_id = #{memberId} </if> <if test="memberId!= null">and member_id = #{memberId} </if>
<if test="faceId!= null">and face_id = #{faceId} </if>
<if test="templateId!= null">and template_id = #{templateId} </if> <if test="templateId!= null">and template_id = #{templateId} </if>
<if test="scenicId!= null">and scenic_id = #{scenicId} </if> <if test="scenicId!= null">and scenic_id = #{scenicId} </if>
<if test="status!= null">and `status` = #{status} </if> <if test="status!= null">and `status` = #{status} </if>
@ -98,4 +99,10 @@ from task
<if test="endTime!= null">and create_time &lt;= #{endTime} </if> <if test="endTime!= null">and create_time &lt;= #{endTime} </if>
</where> </where>
</select> </select>
<select id="getFaceAutomaticTask" resultType="com.ycwl.basic.model.pc.task.entity.TaskEntity">
select *
from task
where face_id = #{faceId} and automatic = 1
limit 1
</select>
</mapper> </mapper>

View File

@ -40,6 +40,11 @@
</if> </if>
<if test="startTime!= null">and v.create_time &gt;= #{startTime} </if> <if test="startTime!= null">and v.create_time &gt;= #{startTime} </if>
<if test="endTime!= null">and v.create_time &lt;= #{endTime} </if> <if test="endTime!= null">and v.create_time &lt;= #{endTime} </if>
<if test="faceId!= null">
and v.task_id in (
select id from task where face_id = #{faceId}
)
</if>
</where> </where>
</select> </select>
<select id="getById" resultType="com.ycwl.basic.model.pc.video.resp.VideoRespVO"> <select id="getById" resultType="com.ycwl.basic.model.pc.video.resp.VideoRespVO">