小程序首页景区列表,任务状态接口

This commit is contained in:
songmingsong
2024-12-06 16:15:13 +08:00
parent 961df0a151
commit 8cb58289df
21 changed files with 270 additions and 26 deletions

View File

@ -11,8 +11,8 @@ import com.ycwl.basic.enums.WechatErrorCodeEnum;
import com.ycwl.basic.exception.AppException;
import com.ycwl.basic.mapper.pc.MemberMapper;
import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.mobile.DTO.WeChatUserInfoDTO;
import com.ycwl.basic.model.mobile.DTO.WeChatUserInfoUpdateDTO;
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoDTO;
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoUpdateDTO;
import com.ycwl.basic.model.pc.member.entity.MemberEntity;
import com.ycwl.basic.model.pc.member.req.MemberReqQuery;
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;

View File

@ -3,18 +3,25 @@ package com.ycwl.basic.service.impl.mobile;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ycwl.basic.constant.BaseContextHandler;
import com.ycwl.basic.mapper.pc.DeviceMapper;
import com.ycwl.basic.mapper.pc.ScenicMapper;
import com.ycwl.basic.constant.NumberConstant;
import com.ycwl.basic.mapper.pc.*;
import com.ycwl.basic.model.mobile.index.TopStateResp;
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
import com.ycwl.basic.model.mobile.scenic.ScenicIndexVO;
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
import com.ycwl.basic.service.mobile.AppScenicService;
import com.ycwl.basic.utils.ApiResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
/**
@ -29,6 +36,15 @@ public class AppScenicServiceImpl implements AppScenicService {
private ScenicMapper scenicMapper;
@Autowired
private DeviceMapper deviceMapper;
@Autowired
private FaceMapper faceMapper;
@Autowired
private SourceMapper sourceMapper;
@Autowired
private TaskMapper taskMapper;
@Value("${face.score}")
private BigDecimal faceScore;
@Override
public ApiResponse<PageInfo<ScenicAppVO>> pageQuery(ScenicReqQuery scenicReqQuery) {
@ -41,7 +57,7 @@ public class AppScenicServiceImpl implements AppScenicService {
@Override
public ApiResponse<ScenicDeviceCountVO> deviceCountByScenicId(Long scenicId) {
String userId = BaseContextHandler.getUserId();
ScenicDeviceCountVO scenicDeviceCountVO=deviceMapper.deviceCountByScenicId(scenicId,userId);
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(scenicId, userId);
return ApiResponse.success(scenicDeviceCountVO);
}
@ -49,4 +65,42 @@ public class AppScenicServiceImpl implements AppScenicService {
public ApiResponse<ScenicRespVO> getDetails(Long id) {
return scenicMapper.getAppById(id);
}
@Override
public ApiResponse<List<ScenicAppVO>> scenicList(ScenicIndexVO scenicIndexVO) {
List<ScenicAppVO> dataList = scenicMapper.scenicListByLnLa(scenicIndexVO);
return ApiResponse.success(dataList);
}
@Override
public ApiResponse<TopStateResp> topState() {
TopStateResp topStateResp = new TopStateResp();
String userId = BaseContextHandler.getUserId();
if (StringUtils.isBlank(userId)) {
return ApiResponse.success(topStateResp);
}
// 查询是否有人脸
FaceReqQuery faceReqQuery = new FaceReqQuery();
faceReqQuery.setMemberId(Long.parseLong(userId));
List<FaceRespVO> list = faceMapper.list(faceReqQuery);
for (FaceRespVO faceRespVO : list) {
if (faceRespVO.getScore().compareTo(faceScore) >= NumberConstant.ZERO) {
topStateResp.setIsFace(true);
}
}
// 查询是否有专属视频待制作
int sourceNum = sourceMapper.countByMemberId(userId);
topStateResp.setMadeVideos(sourceNum > 0);
// 是否有专属视频合成中
int taskSynthesizingNum = taskMapper.countByMemberIdStau(userId);
topStateResp.setCompositingVideo(taskSynthesizingNum > 0);
// AI合成了多少个视频 完成
int taskFinishNum = taskMapper.countByMemberIdStauFinish(userId);
topStateResp.setAiVideoNum(taskFinishNum);
return ApiResponse.success(topStateResp);
}
}

View File

@ -1,7 +1,7 @@
package com.ycwl.basic.service.mobile;
import com.ycwl.basic.model.mobile.DTO.WeChatUserInfoDTO;
import com.ycwl.basic.model.mobile.DTO.WeChatUserInfoUpdateDTO;
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoDTO;
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoUpdateDTO;
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
import com.ycwl.basic.utils.ApiResponse;

View File

@ -1,12 +1,16 @@
package com.ycwl.basic.service.mobile;
import com.github.pagehelper.PageInfo;
import com.ycwl.basic.model.mobile.index.TopStateResp;
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
import com.ycwl.basic.model.mobile.scenic.ScenicIndexVO;
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
import com.ycwl.basic.utils.ApiResponse;
import java.util.List;
/**
* @Authorlongbinbin
* @Date2024/12/6 10:23
@ -17,4 +21,19 @@ public interface AppScenicService {
ApiResponse<ScenicDeviceCountVO> deviceCountByScenicId(Long scenicId);
ApiResponse<ScenicRespVO> getDetails(Long id);
/**
* 首页景区列表,按照距离排序
*
* @param scenicIndexVO
* @return
*/
ApiResponse<List<ScenicAppVO>> scenicList(ScenicIndexVO scenicIndexVO);
/**
* 首页顶部状态
*
* @return
*/
ApiResponse<TopStateResp> topState();
}