MiniprogramController.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Modules\Manage\Http\Controllers;
  3. use Illuminate\Routing\Controller;
  4. use Illuminate\Http\Request;
  5. use Modules\Manage\Enmus\MiniprogramType;
  6. use Modules\Manage\Http\Requests\MiniprogramRequest;
  7. use Modules\Manage\Models\Miniprogram;
  8. use Log;
  9. class MiniprogramController extends Controller
  10. {
  11. public function __construct(protected readonly Miniprogram $miniprogram)
  12. {
  13. }
  14. public function index(Request $request)
  15. {
  16. $name = $request->get('name');
  17. $play_name = $request->get('play_name');
  18. $company = $request->get('company');
  19. $where = [];
  20. if($name){
  21. $where[] = ['name','like','%'.$name.'%'];
  22. }
  23. if($play_name){
  24. $where[] = ['play_name','like','%'.$play_name.'%'];
  25. }
  26. if($company){
  27. $where[] = ['company','like','%'.$company.'%'];
  28. }
  29. return $this->miniprogram->where($where)->paginate(20)->map(function($item,$k){
  30. $item->type_name = MiniprogramType::from($item->type)->name();
  31. return $item;
  32. });
  33. }
  34. public function store(MiniprogramRequest $request)
  35. {
  36. $validate_result = $request->validated();
  37. $validate_result['remark'] = $request->post('remark','') ?? '';
  38. return $this->miniprogram->create($validate_result)->toArray();
  39. }
  40. public function show($id)
  41. {
  42. return $this->miniprogram->find($id)->toArray();
  43. }
  44. public function update($id, MiniprogramRequest $request)
  45. {
  46. $validate_result = $request->validated();
  47. if($request->post('remark','')){
  48. $validate_result['remark'] = $request->post('remark','');
  49. }
  50. $this->miniprogram->where('id',$id)->update($validate_result);
  51. return [];
  52. }
  53. public function destroy($id)
  54. {
  55. }
  56. public function typeList(){
  57. $type_list = MiniprogramType::cases();
  58. $data = array_map( fn($item)=>['name'=>$item->name(),'value'=>$item->value()],$type_list );
  59. return $data;
  60. }
  61. }