MiniprogramController.php 2.1 KB

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