You've already forked FrameTour-BE
生成视频时发送通知,其他调整
This commit is contained in:
@@ -16,6 +16,8 @@ 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;
|
||||
import com.ycwl.basic.model.pc.mp.MpConfigEntity;
|
||||
import com.ycwl.basic.repository.ScenicRepository;
|
||||
import com.ycwl.basic.service.HttpService;
|
||||
import com.ycwl.basic.service.mobile.AppMemberService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
@@ -50,13 +52,17 @@ public class AppMemberServiceImpl implements AppMemberService {
|
||||
@Autowired
|
||||
private JwtTokenUtil jwtTokenUtil;
|
||||
|
||||
@Autowired
|
||||
private ScenicRepository scenicRepository;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getOpenId(String code) {
|
||||
public Map<String, Object> getOpenId(Long scenicId, String code) {
|
||||
Map<String, String> paramMap = new HashMap<>(NumberConstant.FOUR);
|
||||
paramMap.put("appid", config.getMiniProgramAppId());
|
||||
paramMap.put("secret", config.getMiniProgramSecret());
|
||||
MpConfigEntity scenicMpConfig = scenicRepository.getScenicMpConfig(scenicId);
|
||||
paramMap.put("appid", scenicMpConfig.getAppId());
|
||||
paramMap.put("secret", scenicMpConfig.getAppSecret());
|
||||
paramMap.put("js_code", code);
|
||||
paramMap.put("grant_type", config.getGrandType());
|
||||
paramMap.put("grant_type", "authorization_code");
|
||||
try {
|
||||
String response = httpService.doHttpsPost(WeiXinConstant.GET_OPEN_ID, paramMap, "UTF-8");
|
||||
if (StringUtils.isBlank(response)) {
|
||||
@@ -72,8 +78,8 @@ public class AppMemberServiceImpl implements AppMemberService {
|
||||
|
||||
|
||||
@Override
|
||||
public ApiResponse login(String code, WeChatUserInfoDTO userInfoDTO) throws Exception {
|
||||
Map<String, Object> weixinResponse = this.getOpenId(code);
|
||||
public ApiResponse login(Long scenicId, String code, WeChatUserInfoDTO userInfoDTO) throws Exception {
|
||||
Map<String, Object> weixinResponse = this.getOpenId(scenicId, code);
|
||||
if (CollectionUtils.isEmpty(weixinResponse)) {
|
||||
throw new AppException(BizCodeEnum.SERVER_INTERNAL_ERROR);
|
||||
}
|
||||
@@ -100,6 +106,7 @@ public class AppMemberServiceImpl implements AppMemberService {
|
||||
MemberEntity memberEntity = new MemberEntity();
|
||||
BeanCopierUtils.copyProperties(userInfoDTO, memberEntity);
|
||||
memberEntity.setId(SnowFlakeUtil.getLongId());
|
||||
memberEntity.setScenicId(scenicId);
|
||||
memberEntity.setOpenId(openId.toString());
|
||||
memberMapper.add(memberEntity);
|
||||
BeanCopierUtils.copyProperties(memberEntity, memberRespVO);
|
||||
|
||||
@@ -3,11 +3,13 @@ package com.ycwl.basic.service.impl.mobile;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.biz.OrderBiz;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.constant.NumberConstant;
|
||||
import com.ycwl.basic.mapper.*;
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.mobile.index.TopStateResp;
|
||||
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicIndexVO;
|
||||
@@ -67,6 +69,8 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
private BigDecimal faceScore;
|
||||
@Autowired
|
||||
private TemplateRepository templateRepository;
|
||||
@Autowired
|
||||
private OrderBiz orderBiz;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<ScenicAppVO>> pageQuery(ScenicReqQuery scenicReqQuery) {
|
||||
@@ -125,12 +129,18 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
Integer type = sourceRespVO.getType();
|
||||
if(type==1){
|
||||
contentPageVO.setName("原片集");
|
||||
}else {
|
||||
} else {
|
||||
contentPageVO.setName("照片集");
|
||||
}
|
||||
IsBuyRespVO isBuyRespVO = orderBiz.isBuy(worker.getUserId(), faceRespVO.getScenicId(), type, faceId);
|
||||
contentPageVO.setSourceType(isBuyRespVO.getGoodsType());
|
||||
contentPageVO.setContentId(isBuyRespVO.getGoodsId());
|
||||
if (isBuyRespVO.isBuy()) {
|
||||
contentPageVO.setIsBuy(1);
|
||||
} else {
|
||||
contentPageVO.setIsBuy(0);
|
||||
}
|
||||
contentPageVO.setContentType(2);
|
||||
contentPageVO.setSourceType(type);
|
||||
contentPageVO.setIsBuy(sourceRespVO.getIsBuy());
|
||||
contentList.add(contentPageVO);
|
||||
});
|
||||
|
||||
@@ -174,12 +184,18 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
Integer type = sourceRespVO.getType();
|
||||
if(type==1){
|
||||
contentPageVO.setName("原片集");
|
||||
}else {
|
||||
} else {
|
||||
contentPageVO.setName("照片集");
|
||||
}
|
||||
IsBuyRespVO isBuyRespVO = orderBiz.isBuy(userId, faceRespVO.getScenicId(), type, faceId);
|
||||
contentPageVO.setSourceType(isBuyRespVO.getGoodsType());
|
||||
contentPageVO.setContentId(isBuyRespVO.getGoodsId());
|
||||
if (isBuyRespVO.isBuy()) {
|
||||
contentPageVO.setIsBuy(1);
|
||||
} else {
|
||||
contentPageVO.setIsBuy(0);
|
||||
}
|
||||
contentPageVO.setContentType(2);
|
||||
contentPageVO.setSourceType(type);
|
||||
contentPageVO.setIsBuy(sourceRespVO.getIsBuy());
|
||||
contentList.add(contentPageVO);
|
||||
});
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ycwl.basic.service.impl.mobile;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.mapper.*;
|
||||
@@ -15,8 +16,11 @@ import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
|
||||
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.impl.pc.TaskServiceImpl;
|
||||
import com.ycwl.basic.service.impl.task.TaskTaskServiceImpl;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.repository.TemplateRepository;
|
||||
import com.ycwl.basic.service.task.TaskService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.DateUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -27,6 +31,7 @@ import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -42,16 +47,14 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
private SourceMapper sourceMapper;
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
@Autowired
|
||||
private TaskMapper taskMapper;
|
||||
@Autowired
|
||||
private DeviceMapper deviceMapper;
|
||||
@Autowired
|
||||
private FaceMapper faceMapper;
|
||||
@Autowired
|
||||
private TemplateRepository templateRepository;
|
||||
@Autowired
|
||||
private VideoTaskRepository videoTaskRepository;
|
||||
@Autowired
|
||||
private TaskService taskTaskService;
|
||||
|
||||
public ApiResponse<List<GoodsPageVO>> goodsList(GoodsReqQuery query) {
|
||||
//查询原素材
|
||||
@@ -194,10 +197,6 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
|
||||
@Override
|
||||
public ApiResponse<VideoGoodsDetailVO> videoGoodsDetail(Long userId, Long videoId) {
|
||||
MemberVideoEntity entity = videoMapper.queryUserVideo(userId, videoId);
|
||||
if (entity == null) {
|
||||
return ApiResponse.fail("该视频不属于您");
|
||||
}
|
||||
VideoGoodsDetailVO goodsDetailVO = new VideoGoodsDetailVO();
|
||||
VideoRespVO videoRespVO = videoMapper.getById(videoId);
|
||||
if(videoRespVO==null){
|
||||
@@ -211,7 +210,12 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
goodsDetailVO.setVideoUrl(videoRespVO.getVideoUrl());
|
||||
goodsDetailVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl());
|
||||
goodsDetailVO.setCreateTime(videoRespVO.getCreateTime());
|
||||
if (entity.getIsBuy() == 1) {
|
||||
MemberVideoEntity entity = videoMapper.queryUserVideo(userId, videoId);
|
||||
if (entity == null) {
|
||||
goodsDetailVO.setIsBuy(0);
|
||||
goodsDetailVO.setShare(true);
|
||||
goodsDetailVO.setPrice("未登录");
|
||||
} else if (entity.getIsBuy() == 1) {
|
||||
goodsDetailVO.setIsBuy(1);
|
||||
} else {
|
||||
goodsDetailVO.setIsBuy(0);
|
||||
@@ -222,16 +226,19 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
goodsDetailVO.setPrice(templatePrice==null?"":df.format(templatePrice.setScale(2, RoundingMode.HALF_UP)));
|
||||
goodsDetailVO.setSlashPrice(slashPrice==null?null:df.format(slashPrice.setScale(2, RoundingMode.HALF_UP)));
|
||||
}
|
||||
TaskRespVO taskRespVO = taskMapper.getById(videoRespVO.getTaskId());
|
||||
JSONObject paramJson = JSON.parseObject(taskRespVO.getTaskParams());
|
||||
TaskEntity task = videoTaskRepository.getTaskById(videoRespVO.getTaskId());
|
||||
JSONObject paramJson = JSON.parseObject(task.getTaskParams());
|
||||
long deviceCount;
|
||||
goodsDetailVO.setShotTime(taskTaskService.getTaskShotDate(task.getId()));
|
||||
if (paramJson == null) {
|
||||
deviceCount = 1;
|
||||
} else {
|
||||
deviceCount = paramJson.keySet().stream().filter(StringUtils::isNumeric).count();
|
||||
}
|
||||
goodsDetailVO.setLensNum((int) deviceCount);
|
||||
goodsDetailVO.setFaceId(entity.getFaceId());
|
||||
if (entity != null) {
|
||||
goodsDetailVO.setFaceId(entity.getFaceId());
|
||||
}
|
||||
return ApiResponse.success(goodsDetailVO);
|
||||
}
|
||||
|
||||
@@ -286,6 +293,7 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
List<MemberVideoEntity> taskList = videoMapper.listRelationByFaceAndTemplate(userId, faceId, templateId);
|
||||
VideoTaskStatusVO response = new VideoTaskStatusVO();
|
||||
response.setFaceId(faceId);
|
||||
response.setTemplateId(templateId);
|
||||
if (taskList.isEmpty()) {
|
||||
response.setStatus(0);
|
||||
return ApiResponse.success(response);
|
||||
|
||||
Reference in New Issue
Block a user