ChapterImageService.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: tandunzhao
  5. * Date: 2018/1/19
  6. * Time: 上午10:01
  7. */
  8. namespace App\Modules\Book\Services;
  9. use App\Modules\Book\Models\ChapterImage;
  10. use DB;
  11. use GuzzleHttp\Client;
  12. class ChapterImageService
  13. {
  14. public static function save($bid, $cid, $cid_sequence, $sequence, $image_url) {
  15. $data = [
  16. 'bid' => $bid,
  17. 'cid' => $cid,
  18. 'cid_sequence' => $cid_sequence,
  19. 'sequence' => $sequence,
  20. 'image_url' => $image_url,
  21. ];
  22. $client = new Client();
  23. $imageInfo = $client->request('GET', $image_url.'?x-oss-process=image/info')->getBody()->getContents();
  24. $imageInfo = json_decode($imageInfo,true);
  25. $data['file_size'] = isset($imageInfo['FileSize']['value'])?$imageInfo['FileSize']['value']:'';
  26. $data['image_height'] = isset($imageInfo['ImageHeight']['value'])?$imageInfo['ImageHeight']['value']:'';
  27. $data['image_width'] = isset($imageInfo['ImageWidth']['value'])?$imageInfo['ImageWidth']['value']:'';
  28. ChapterImage::create($data);
  29. }
  30. public static function delete($bid, $cid = '') {
  31. ChapterImage::deleteChapterImage($bid, $cid);
  32. }
  33. /**
  34. * @param $bid
  35. * @param string $cids [1,2,3,4,5]
  36. * @return mixed
  37. */
  38. public static function getChapterImage($bid, $cids = '') {
  39. return ChapterImage::getChapterImage($bid, $cids);
  40. }
  41. /**
  42. * 获取当前图书生成到第几章
  43. */
  44. public static function getChapterImgCount($bid){
  45. $sql = "SELECT COUNT(DISTINCT cid) as `count` FROM chapter_images WHERE bid = ".$bid;
  46. $res = DB::select($sql);
  47. return $res[0]->count;
  48. }
  49. public static function updateChapterImage($id,Array $param){
  50. return ChapterImage::where('id',$id)->update($param);
  51. }
  52. }