DictPreferenceController.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Support\Facades\Log;
  4. use Illuminate\Http\Request;
  5. use App\Models\UserDict;
  6. use App\Models\WordIndex;
  7. use App\Http\Resources\DictPreferenceResource;
  8. use App\Http\Api\DictApi;
  9. class DictPreferenceController extends Controller
  10. {
  11. /**
  12. * Display a listing of the resource.
  13. *
  14. * @return \Illuminate\Http\Response
  15. */
  16. public function index(Request $request)
  17. {
  18. //
  19. $dict_id = DictApi::getSysDict('system_preference');
  20. if(!$dict_id){
  21. return $this->error('没有找到 system_preference 字典',200,200);
  22. }
  23. $table = WordIndex::where('user_dicts.dict_id',$dict_id)
  24. ->leftJoin('user_dicts','word_indices.word','=','user_dicts.word')
  25. ->select([
  26. 'user_dicts.id',
  27. 'word_indices.word',
  28. 'word_indices.count',
  29. 'user_dicts.factors',
  30. 'user_dicts.parent',
  31. 'user_dicts.note',
  32. 'user_dicts.confidence',
  33. ]);
  34. //处理搜索
  35. if(!empty($request->get("keyword"))){
  36. $table = $table->where('word_indices.word', 'like', "%".$request->get("keyword")."%");
  37. }
  38. //获取记录总条数
  39. $count = $table->count();
  40. //处理排序
  41. $table = $table->orderBy($request->get("order",'word_indices.count'),
  42. $request->get("dir",'desc'));
  43. //处理分页
  44. $table = $table->skip($request->get("offset",0))
  45. ->take($request->get("limit",200));
  46. //获取数据
  47. $result = $table->get();
  48. return $this->ok([
  49. "rows"=>DictPreferenceResource::collection($result),
  50. "count"=>$count
  51. ]);
  52. }
  53. /**
  54. * Store a newly created resource in storage.
  55. *
  56. * @param \Illuminate\Http\Request $request
  57. * @return \Illuminate\Http\Response
  58. */
  59. public function store(Request $request)
  60. {
  61. //
  62. }
  63. /**
  64. * Display the specified resource.
  65. *
  66. * @param \App\Models\UserDict $userDict
  67. * @return \Illuminate\Http\Response
  68. */
  69. public function show(UserDict $userDict)
  70. {
  71. //
  72. }
  73. /**
  74. * Update the specified resource in storage.
  75. *
  76. * @param \Illuminate\Http\Request $request
  77. * @param string $id
  78. * @return \Illuminate\Http\Response
  79. */
  80. public function update(Request $request, $id)
  81. {
  82. //
  83. $newData = $request->all();
  84. $result = UserDict::where('id', $id)
  85. ->update($newData);
  86. if($result){
  87. return $this->ok('ok');
  88. }else{
  89. return $this->error("没有查询到数据");
  90. }
  91. }
  92. /**
  93. * Remove the specified resource from storage.
  94. *
  95. * @param \App\Models\UserDict $userDict
  96. * @return \Illuminate\Http\Response
  97. */
  98. public function destroy(UserDict $userDict)
  99. {
  100. //
  101. }
  102. }