package com.fdkankan.tk.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.tk.common.PageInfo; import com.fdkankan.tk.common.ResultCode; import com.fdkankan.tk.common.util.JwtUtil; import com.fdkankan.tk.exception.BusinessException; import com.fdkankan.tk.httpClient.client.FdKKClient; import com.fdkankan.tk.httpClient.response.FdkkResponse; import com.fdkankan.tk.request.SceneParam; import com.fdkankan.tk.response.SceneProEntityVo; import com.fdkankan.tk.response.SceneVo; import com.fdkankan.tk.service.IScenePlusService; import com.fdkankan.tk.service.ISceneService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @Service public class SceneServiceImpl implements ISceneService { @Resource FdKKClient fdKKClient; @Autowired IScenePlusService scenePlusService; @Override public List getListByNumList(List numList) { SceneParam param = new SceneParam(); param.setPageSize(99999); param.setNumList(numList); Page voPage = scenePlusService.pageList(param); for (SceneVo vo : voPage.getRecords()) { vo.setStatus( setLaserStatus(vo.getStatus(), vo.getPayStatus())); vo.setSceneName(vo.getTitle()); } return voPage.getRecords(); } private JSONArray fdkkList(SceneParam param ){ FdkkResponse fdkkResponse = fdKKClient.sceneList(param); if (fdkkResponse.getCode() != 0) { return new JSONArray(); } PageInfo pageInfo = JSONObject.parseObject(JSONObject.toJSONString(fdkkResponse.getData()), PageInfo.class); return JSONArray.parseArray(JSONObject.toJSONString(pageInfo.getList())); } @Override public PageInfo pageList(SceneParam param, String token) { String userName = JwtUtil.getUserName(token); param.setUserName(userName); Page voPage = scenePlusService.pageList(param); for (SceneVo vo : voPage.getRecords()) { vo.setStatus( setLaserStatus(vo.getStatus(), vo.getPayStatus())); } return PageInfo.PageInfo(voPage); } /** * 四维看看返回数据格式转换 */ private List overSceneVo(JSONArray list) { List sceneVoList = new ArrayList<>(); for (Object obj : list) { String res = JSONObject.toJSONString(obj); SceneProEntityVo fdkkScenePlusVo = JSONObject.parseObject(res, SceneProEntityVo.class); SceneVo sceneVo = new SceneVo(); sceneVo.setId(fdkkScenePlusVo.getId()); sceneVo.setBuildObjStatus(0); sceneVo.setCreateTime(fdkkScenePlusVo.getCreateTime()); sceneVo.setName(fdkkScenePlusVo.getSceneName()); sceneVo.setNum(fdkkScenePlusVo.getNum()); sceneVo.setPayStatus(1); sceneVo.setSceneName(fdkkScenePlusVo.getSceneName()); sceneVo.setSnCode(fdkkScenePlusVo.getSnCode()); sceneVo.setStatus(setLaserStatus(fdkkScenePlusVo.getStatus(), fdkkScenePlusVo.getPayStatus())); sceneVo.setThumb(fdkkScenePlusVo.getThumb()); sceneVo.setTitle(fdkkScenePlusVo.getSceneName()); sceneVo.setViewCount(fdkkScenePlusVo.getViewCount()); sceneVo.setIsLaser(false); sceneVo.setType(fdkkScenePlusVo.getSceneType()); if (fdkkScenePlusVo.getUserId() == null) { sceneVo.setBind(false); } sceneVoList.add(sceneVo); } return sceneVoList; } private Integer setLaserStatus(Integer status,Integer payStatus){ //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中 if(payStatus != 1){ //封存 return 3; } if(status == -1){ return 1; } if(status == -2){ return 2; } if(status == 1){ return 2; } return status; } }