记得上下班打卡 | git大法好,push需谨慎

Commit 9ebc85bf authored by anjiabin's avatar anjiabin

提交chime社交相关

parent 0821bac4
......@@ -4,6 +4,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.chime.config.SecuringRequestInterceptor;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import feign.hystrix.FallbackFactory;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -46,4 +47,8 @@ public interface FeignKylinForChimeClient {
@RequestParam(value = "orderBy",defaultValue = "") String orderBy,
@RequestParam(value = "sort",defaultValue = "") String sort
);
@GetMapping(value = "/performance/list")
@ApiOperation("根据多个演出id获取演出列表")
ResponseDto<List<KylinPerformanceVo>> performanceList(@RequestParam("performancesIds") String... performancesIds);
}
......@@ -4,10 +4,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.chime.dto.ChimeJoinUserCountDto;
import com.liquidnet.service.chime.dto.PerformanceDto;
import com.liquidnet.service.chime.utils.DataUtils;
import com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo;
import com.liquidnet.service.feign.kylin.api.FeignKylinForChimeClient;
import com.liquidnet.service.kylin.constant.KylinPerformanceStatusEnum;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -31,6 +34,9 @@ import java.util.stream.Collectors;
public class ChimeUserBiz {
@Autowired
private DataUtils dataUtils;
@Autowired
private FeignKylinForChimeClient feignKylinForChimeClient;
/**
* Json转换list
* @param tags
......@@ -107,6 +113,29 @@ public class ChimeUserBiz {
* @return
*/
public boolean userIsOnline(String performanceId){
return true;
boolean isOnline = false;
if(StringUtil.isNotNull(performanceId)){
if(performanceId.equalsIgnoreCase("-1")){
isOnline = true;
}else{
//获取演出状态信息
ResponseDto<List<KylinPerformanceVo>> responseDto = feignKylinForChimeClient.performanceList(new String[]{performanceId});
if(responseDto.isSuccess()&&StringUtil.isNotNull(responseDto.getData())){
KylinPerformanceVo kylinPerformanceVo = responseDto.getData().get(0);
if(kylinPerformanceVo.getAppStatus() == KylinPerformanceStatusEnum.PERFORMANCESTATUS6.getIndex()
||kylinPerformanceVo.getAppStatus() == KylinPerformanceStatusEnum.PERFORMANCESTATUS8.getIndex()
||kylinPerformanceVo.getAppStatus() == KylinPerformanceStatusEnum.PERFORMANCESTATUS9.getIndex()){
isOnline = true;
}
}
//根据演出状态判断是否全部清退当前演出在场人数
if(!isOnline){
//把所有当前演出在场人清退,重置为云在场
dataUtils.updateUserIsOnline(performanceId);
}
}
}
return isOnline;
}
}
......@@ -138,4 +138,16 @@ public class DataUtils {
log.debug("排序后的code列表2:[{}]",results);
return joinUserCountDtoList;
}
/**
* 根据演出id更新在场演出id
* @param performanceId
* @return
*/
public boolean updateUserIsOnline(String performanceId){
Query query = Query.query(Criteria.where("joinPerformanceId").is("joinPerformanceId"));
Update update = Update.update("joinPerformanceId","-1");
UpdateResult updateResult = mongoTemplate.updateMulti(query,update,ChimeUserInfoVo.class,ChimeUserInfoVo.class.getSimpleName());
return updateResult.getModifiedCount()>0;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment