SceneServiceImpl.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package com.fdkankan.tk.service.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.fdkankan.tk.common.PageInfo;
  6. import com.fdkankan.tk.common.ResultCode;
  7. import com.fdkankan.tk.common.util.JwtUtil;
  8. import com.fdkankan.tk.exception.BusinessException;
  9. import com.fdkankan.tk.httpClient.client.FdKKClient;
  10. import com.fdkankan.tk.httpClient.response.FdkkResponse;
  11. import com.fdkankan.tk.request.SceneParam;
  12. import com.fdkankan.tk.response.SceneProEntityVo;
  13. import com.fdkankan.tk.response.SceneVo;
  14. import com.fdkankan.tk.service.IScenePlusService;
  15. import com.fdkankan.tk.service.ISceneService;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import javax.annotation.Resource;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. @Service
  22. public class SceneServiceImpl implements ISceneService {
  23. @Resource
  24. FdKKClient fdKKClient;
  25. @Autowired
  26. IScenePlusService scenePlusService;
  27. @Override
  28. public List<SceneVo> getListByNumList(List<String> numList) {
  29. SceneParam param = new SceneParam();
  30. param.setPageSize(99999);
  31. param.setNumList(numList);
  32. Page<SceneVo> voPage = scenePlusService.pageList(param);
  33. for (SceneVo vo : voPage.getRecords()) {
  34. vo.setStatus( setLaserStatus(vo.getStatus(), vo.getPayStatus()));
  35. vo.setSceneName(vo.getTitle());
  36. }
  37. return voPage.getRecords();
  38. }
  39. private JSONArray fdkkList(SceneParam param ){
  40. FdkkResponse fdkkResponse = fdKKClient.sceneList(param);
  41. if (fdkkResponse.getCode() != 0) {
  42. return new JSONArray();
  43. }
  44. PageInfo pageInfo = JSONObject.parseObject(JSONObject.toJSONString(fdkkResponse.getData()), PageInfo.class);
  45. return JSONArray.parseArray(JSONObject.toJSONString(pageInfo.getList()));
  46. }
  47. @Override
  48. public PageInfo pageList(SceneParam param, String token) {
  49. String userName = JwtUtil.getUserName(token);
  50. param.setUserName(userName);
  51. Page<SceneVo> voPage = scenePlusService.pageList(param);
  52. for (SceneVo vo : voPage.getRecords()) {
  53. vo.setStatus( setLaserStatus(vo.getStatus(), vo.getPayStatus()));
  54. }
  55. return PageInfo.PageInfo(voPage);
  56. }
  57. /**
  58. * 四维看看返回数据格式转换
  59. */
  60. private List<SceneVo> overSceneVo(JSONArray list) {
  61. List<SceneVo> sceneVoList = new ArrayList<>();
  62. for (Object obj : list) {
  63. String res = JSONObject.toJSONString(obj);
  64. SceneProEntityVo fdkkScenePlusVo = JSONObject.parseObject(res, SceneProEntityVo.class);
  65. SceneVo sceneVo = new SceneVo();
  66. sceneVo.setId(fdkkScenePlusVo.getId());
  67. sceneVo.setBuildObjStatus(0);
  68. sceneVo.setCreateTime(fdkkScenePlusVo.getCreateTime());
  69. sceneVo.setName(fdkkScenePlusVo.getSceneName());
  70. sceneVo.setNum(fdkkScenePlusVo.getNum());
  71. sceneVo.setPayStatus(1);
  72. sceneVo.setSceneName(fdkkScenePlusVo.getSceneName());
  73. sceneVo.setSnCode(fdkkScenePlusVo.getSnCode());
  74. sceneVo.setStatus(setLaserStatus(fdkkScenePlusVo.getStatus(), fdkkScenePlusVo.getPayStatus()));
  75. sceneVo.setThumb(fdkkScenePlusVo.getThumb());
  76. sceneVo.setTitle(fdkkScenePlusVo.getSceneName());
  77. sceneVo.setViewCount(fdkkScenePlusVo.getViewCount());
  78. sceneVo.setIsLaser(false);
  79. sceneVo.setType(fdkkScenePlusVo.getSceneType());
  80. if (fdkkScenePlusVo.getUserId() == null) {
  81. sceneVo.setBind(false);
  82. }
  83. sceneVoList.add(sceneVo);
  84. }
  85. return sceneVoList;
  86. }
  87. private Integer setLaserStatus(Integer status,Integer payStatus){
  88. //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
  89. if(payStatus != 1){ //封存
  90. return 3;
  91. }
  92. if(status == -1){
  93. return 1;
  94. }
  95. if(status == -2){
  96. return 2;
  97. }
  98. if(status == 1){
  99. return 2;
  100. }
  101. return status;
  102. }
  103. }