MiniprogramController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. $item->status_name = $item->status == 1 ?'启用':'禁用';
  32. return $item;
  33. });
  34. }
  35. public function store(MiniprogramRequest $request)
  36. {
  37. $validate_result = $request->validated();
  38. $validate_result['remark'] = $request->post('remark','') ?? '';
  39. return $this->miniprogram->create($validate_result)->toArray();
  40. }
  41. public function show($id)
  42. {
  43. return $this->miniprogram->find($id)->toArray();
  44. }
  45. public function update($id, MiniprogramRequest $request)
  46. {
  47. $validate_result = $request->validated();
  48. if($request->post('remark','')){
  49. $validate_result['remark'] = $request->post('remark','');
  50. }
  51. $this->miniprogram->where('id',$id)->update($validate_result);
  52. return [];
  53. }
  54. public function destroy($id)
  55. {
  56. }
  57. public function typeList(){
  58. $type_list = MiniprogramType::cases();
  59. $data = array_map( fn($item)=>['name'=>$item->name(),'value'=>$item->value()],$type_list );
  60. return $data;
  61. }
  62. }