1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.fdkankan.manage.httpClient.service;
- import com.alibaba.fastjson.JSONObject;
- import com.fdkankan.manage.common.RedisKeyUtil;
- import com.fdkankan.manage.common.ResultCode;
- import com.fdkankan.manage.config.FyunConfig;
- import com.fdkankan.manage.exception.BusinessException;
- import com.fdkankan.manage.httpClient.client.OverallClient;
- import com.fdkankan.manage.httpClient.param.WorkOfflineDTO;
- import com.fdkankan.manage.httpClient.vo.OverallParam;
- import com.fdkankan.manage.httpClient.vo.OverallVo;
- import com.fdkankan.manage.service.IDownService;
- import com.fdkankan.manage.task.ThreadBussService;
- import com.fdkankan.rabbitmq.util.RabbitMqProducer;
- import com.fdkankan.redis.util.RedisUtil;
- import lombok.Data;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Lazy;
- import org.springframework.stereotype.Service;
- @Service
- @Slf4j
- public class OverallService {
- @Autowired
- OverallClient overallClient;
- @Autowired
- RabbitMqProducer rabbitMqProducer;
- @Autowired
- IDownService downService;
- @Autowired
- FyunConfig fyunConfig;
- @Autowired
- RedisUtil redisUtil;
- @Autowired
- @Lazy
- ThreadBussService threadBussService;
- private static String appId ="BDA385EC848C1A425F746869011C8D23";
- private static String key ="appId";
- public OverallVo delete(String num) {
- return overallClient.delete(num,appId,key);
- }
- public OverallVo list(OverallParam param) {
- return overallClient.list(param,appId,key);
- }
- public synchronized Object downOfflinePage(String workId){
- try {
- String redisKey = String.format(RedisKeyUtil.overallDownOfflineProgressKey,workId);
- if(redisUtil.hasKey(redisKey)){
- WorkOfflineDTO dto = JSONObject.parseObject(redisUtil.get(redisKey),WorkOfflineDTO.class);
- if(dto.getProgress() == 100 || (dto.getOfflineStatus() != null && dto.getOfflineStatus() ==-1)){
- redisUtil.del(redisKey);
- }
- return dto;
- }
- WorkOfflineDTO param = new WorkOfflineDTO(workId);
- overallClient.UpdateDownloadOfflineStatus(param,appId,key);
- OverallVo offlineDetail = overallClient.getOfflineDetail(param,appId,key);
- if(offlineDetail == null || offlineDetail.getCode() !=0){
- throw new BusinessException(ResultCode.OVERALL_VIEW_ERROR);
- }
- Object data = offlineDetail.getData();
- String jsonString = JSONObject.toJSONString(data);
- WorkOfflineDTO dto = JSONObject.parseObject(jsonString,WorkOfflineDTO.class);
- redisUtil.set(redisKey,jsonString,RedisKeyUtil.overallDownOfflineProgressKeyTime);
- threadBussService.overallDownScene(dto,redisKey);
- return dto;
- }catch (Exception e){
- log.info("全景看看访问失败:{}",e);
- throw new BusinessException(ResultCode.OVERALL_VIEW_ERROR);
- }
- }
- }
|