View.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. declare(strict_types=1);
  3. namespace app\mobile\controller;
  4. use app\model\VrFloder;
  5. use app\model\VrGroup;
  6. use app\model\VrView;
  7. use OSS\OssClient;
  8. use think\facade\Request;
  9. class View extends Base
  10. {
  11. /**
  12. * 添加场景
  13. */
  14. public function saveGroup()
  15. {
  16. $param = Request::only(['id'=>0,'title'=>'','logo_path'=>'','desc'=>'','size'=>'','status'=>1,'pic_path'=>'']);
  17. $where = [
  18. ['id','=',$param['id']],
  19. ['root_id','=',$this->rootId],
  20. ['emp_id','=',$this->employeeId]
  21. ];
  22. $info = VrGroup::where($where)->findOrEmpty();
  23. if($info->isEmpty()) return json(['code'=>1,'data'=>'','msg'=>'获取失败']);
  24. unset($param['id']);
  25. foreach ($param as $k => $v) {
  26. $info->$k = $v;
  27. }
  28. $info->updatetime = time();
  29. $info->save();
  30. return json(['code'=>0,'data'=>'保存完成','msg'=>'保存完成']);
  31. }
  32. /**
  33. * 编辑场景标题
  34. */
  35. public function editViewTitle()
  36. {
  37. $param = Request::only(['id'=>0,'view_title'=>'']);
  38. $where = [
  39. ['id','=',$param['id']],
  40. ['emp_id','=',$this->employeeId]
  41. ];
  42. $info = VrView::where($where)->findOrEmpty();
  43. if($info->isEmpty()) return json(['code'=>1,'data'=>'','msg'=>'编辑失败']);
  44. unset($param['id']);
  45. foreach ($param as $k => $v) {
  46. $info->$k = $v;
  47. }
  48. $info->updatetime = time();
  49. $info->save();
  50. return json(['code'=>0,'data'=>'保存完成','msg'=>'保存完成']);
  51. }
  52. /**
  53. * 删除场景
  54. */
  55. public function delView()
  56. {
  57. $param = Request::only(['id'=>0]);
  58. $where = [
  59. ['id','=',$param['id']],
  60. ['emp_id','=',$this->employeeId]
  61. ];
  62. $info = VrView::where($where)->findOrEmpty();
  63. if($info->isEmpty()) return json(['code'=>1,'data'=>'','msg'=>'删除失败']);
  64. VrView::where($where)->delete();
  65. //删除oss
  66. $this->delOss($info->structure,$info->vr_path);
  67. dataStatistics($this->rootId,'use_count',$info->size+$info->cut_img_size,'dec');//manage应用首页统计数据
  68. return json(['code'=>0,'data'=>'删除完成','msg'=>'删除完成']);
  69. }
  70. /**
  71. * 删除oss
  72. */
  73. public function delOss($str,$name)
  74. {
  75. $arr = ['image_b','image_d','image_f','image_l','image_r','image_u','preview','thumb',$name];
  76. $objects = [];
  77. foreach ($arr as $v) {
  78. $objects[] = $str.$v.'.jpg';
  79. }
  80. $accessKeyId = config('app.vr_ali_oss_access_key_id');
  81. $accessKeySecret = config('app.vr_ali_oss_access_key_secret');
  82. $endpoint = config('app.vr_ali_oss_end_point');
  83. $bucket = config('app.vr_ali_oss_bucket');
  84. $oss = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  85. try {
  86. $exist = $oss->deleteObjects($bucket, $objects);
  87. //删除空文件夹 oss自动删除空文件夹
  88. // $res = $oss->deleteBucket($bucket, $str);
  89. return true;
  90. } catch (OssException $e) {
  91. return false;
  92. }
  93. }
  94. /**
  95. * 编辑场景视角
  96. */
  97. public function editViewVisualAngle()
  98. {
  99. $param = Request::only(['id'=>0,'group_id'=>0,'hlookat'=>'','vlookat'=>'','fov'=>'']);
  100. $where = [
  101. ['id','=',$param['id']],
  102. ['emp_id','=',$this->employeeId],
  103. ['vr_group_id','=',$param['group_id']]
  104. ];
  105. $info = VrView::where($where)->findOrEmpty();
  106. if($info->isEmpty()) return json(['code'=>1,'data'=>'','msg'=>'编辑失败']);
  107. $info->hlookat = $param['hlookat'];
  108. $info->vlookat = $param['vlookat'];
  109. $info->fov = $param['fov'];
  110. $info->save();
  111. return json(['code'=>0,'data'=>'保存完成','msg'=>'保存完成']);
  112. }
  113. }