SuccessCaseController.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?php
  2. namespace App\Web\Controllers;
  3. use App\Http\Controllers\BaseController;
  4. use App\Web\Services\SuccessCaseService;
  5. use Illuminate\Http\Request;
  6. class SuccessCaseController extends BaseController
  7. {
  8. protected $service = null;
  9. /**
  10. * 构造函数
  11. * SuccessCaseController constructor.
  12. * @param SuccessCaseService $service
  13. */
  14. public function __construct(SuccessCaseService $service)
  15. {
  16. $this->service = $service;
  17. }
  18. /**
  19. * 获取成功案例列表
  20. * */
  21. public function getSuccessCaseList(Request $request)
  22. {
  23. $params = $request->only(['page_size', 'page', 'status', 'keyword']);
  24. $ret = $this->service->getSuccessCaseList($params);
  25. return $this->jsonResponse(
  26. 'ok',
  27. $ret
  28. );
  29. }
  30. /**
  31. * 获取成功案例详情
  32. * */
  33. public function getSuccessCaseInfo(Request $request)
  34. {
  35. $this->validate($request, [
  36. 'id' => 'required',
  37. ], [
  38. 'id.required' => '成功案例id不能为空',
  39. ]);
  40. $id = $request->input('id', 0);
  41. $ret = $this->service->getSuccessCaseInfo(['id' => $id]);
  42. return $this->jsonResponse(
  43. 'ok',
  44. $ret
  45. );
  46. }
  47. /**
  48. * 变更成功案例状态
  49. * */
  50. public function changeSuccessCaseStatus(Request $request)
  51. {
  52. $this->validate($request, [
  53. 'id' => 'required',
  54. ], [
  55. 'id.required' => 'id不能为空',
  56. ]);
  57. $params = $request->only(['id', 'status']);
  58. $ret = $this->service->saveSuccessCase($params);
  59. return $this->jsonResponse(
  60. 'ok',
  61. $ret
  62. );
  63. }
  64. /**
  65. * 保存成功案例数据
  66. * */
  67. public function saveSuccessCase(Request $request)
  68. {
  69. $this->validate($request, [
  70. 'title' => 'required',
  71. 'content' => 'required|string',
  72. ]);
  73. $params = $request->only(['id', 'pub_date', 'title', 'content','description',
  74. 'image_url', 'image_alt','main_image','main_image_alt', 'up_data', 'function_id', 'industry_id',
  75. 'company_name', 'company_desc', 'company_logo', 'virtual_view', 'seo_id', 'sort', 'status', 'seo_data']);
  76. $ret = $this->service->saveSuccessCase($params);
  77. return $this->jsonResponse(
  78. 'ok',
  79. $ret
  80. );
  81. }
  82. /**
  83. * 新闻排序上下移
  84. * @url /api/case/change-sort
  85. */
  86. public function changeSuccessCaseSort(Request $request)
  87. {
  88. $this->validate($request, [
  89. 'id' => 'required',
  90. 'sort' => 'required',
  91. ]);
  92. $ret = $this->service->changeSuccessCaseSort($request->input('id'), $request->input('sort'));
  93. return $this->jsonResponse('ok', $ret);
  94. }
  95. /**
  96. * 更新成功案例的浏览量
  97. * */
  98. public function upSuccessCasePv(Request $request)
  99. {
  100. $this->validate($request, [
  101. 'id' => 'required',
  102. ], [
  103. 'id.required' => 'id不能为空',
  104. ]);
  105. $caseId = $request->input('id', 0);
  106. $incValue = $request->input('inc_val', 1);
  107. $ret = $this->service->upSuccessCasePv($caseId, $incValue);
  108. return $this->jsonResponse(
  109. 'ok',
  110. $ret
  111. );
  112. }
  113. /**
  114. * 搜索获取已发布的案例
  115. * */
  116. public function getSearchCaseList(Request $request){
  117. $params=$request->only(['page_size','keyword','function_id','industry_id','page','is_handpick']);
  118. $ret=$this->service->getSuccessCaseList($params);
  119. return $this->jsonResponse(
  120. 'ok',
  121. $ret
  122. );
  123. }
  124. /**
  125. * 文章推荐设置
  126. * */
  127. public function handpickSet(Request $request){
  128. $this->validate($request, [
  129. 'id' => 'required',
  130. ]);
  131. $params = $request->only(['id','is_handpick']);
  132. $ret=$this->service->handpickSet($params);
  133. return $this->jsonResponse(
  134. 'ok',
  135. $ret
  136. );
  137. }
  138. }