SettingsController.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?php
  2. namespace App\Http\Controllers\Admin\Settings;
  3. use App\Http\Controllers\Admin\Controller;
  4. use App\Models\BaseSettingsModel;
  5. use Illuminate\Http\Request;
  6. use App\Repositories\Settings\Banner\Criteria\MultiWhere;
  7. use App\Repositories\Settings\SettingsRepository;
  8. use App\Repositories\Base\Criteria\OrderBy;
  9. class SettingsController extends Controller
  10. {
  11. private $repository;
  12. public function __construct(SettingsRepository $repository) {
  13. if(!$this->repository) $this->repository = $repository;
  14. }
  15. public function banner(Request $request)
  16. {
  17. $search['keyword'] = $request->input('keyword');
  18. $query = $this->repository->pushCriteria(new MultiWhere($search));
  19. $request = $request->all();
  20. if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
  21. $query = $query->pushCriteria(new OrderBy($request['sort_field'],$request['sort_field_by']));
  22. }
  23. $list = $query->paginate();
  24. return view('admin.settings.banner.index',compact('list'));
  25. }
  26. public function bannerCreate(Request $reqeust)
  27. {
  28. if ($reqeust->method() == 'POST') {
  29. return $this->_createSave();
  30. }
  31. return view('admin.settings.banner.edit');
  32. }
  33. /**
  34. * 保存修改
  35. */
  36. private function _createSave(){
  37. $data = (array) request('data');
  38. $id = $this->repository->create($data);
  39. if($id) {
  40. $url[] = array('url'=>U( 'setting/banner/index'),'title'=>'返回列表');
  41. $url[] = array('url'=>U( 'setting/banner/create'),'title'=>'继续添加');
  42. $this->showMessage('添加成功',$url);
  43. }else{
  44. $url[] = array('url'=>U( 'setting/banner/index'),'title'=>'返回列表');
  45. return $this->showWarning('添加失败',$url);
  46. }
  47. }
  48. /**
  49. *
  50. * 修改
  51. *
  52. *
  53. */
  54. public function bannerUpdate(Request $reqeust) {
  55. if($reqeust->method() == 'POST') {
  56. return $this->_updateSave();
  57. }
  58. $data = $this->repository->find($reqeust->get('id'));
  59. return view('admin.settings.banner.edit',compact('data'));
  60. }
  61. /**
  62. * 保存修改
  63. */
  64. private function _updateSave() {
  65. $data = (array) request('data');
  66. $ok = $this->repository->update(request('id'),$data);
  67. if($ok) {
  68. $url[] = array('url'=>U( 'setting/banner/index'),'title'=>'返回列表');
  69. return $this->showMessage('操作成功',urldecode(request('_referer')));
  70. }else{
  71. $url[] = array('url'=>U( 'setting/banner/index'),'title'=>'返回列表');
  72. return $this->showWarning('操作失败',$url);
  73. }
  74. }
  75. public function bannerDestroy(Request $request)
  76. {
  77. $bool = $this->repository->destroy($request->id);
  78. if($bool) {
  79. return $this->showMessage('操作成功');
  80. }else {
  81. return $this->showWarning("操作失败");
  82. }
  83. }
  84. // 参数设置
  85. public function paihangEdit(Request $reqeust) {
  86. if ($reqeust->method() == 'POST') {
  87. $data = (array) request('data');
  88. $result = BaseSettingsModel::where('category','paihang')->get();
  89. if (count($result) == 0) {
  90. $data['category'] = 'paihang';
  91. $data['sort'] = 0;
  92. $data['pid'] = 0;
  93. $ok = BaseSettingsModel::create($data);
  94. if ($ok) {
  95. return $this->showMessage('操作成功');
  96. }else{
  97. return $this->showWarning('操作失败');
  98. }
  99. }else {
  100. $ok = BaseSettingsModel::where('category', 'paihang')->update($data);
  101. if ($ok) {
  102. return $this->showMessage('操作成功');
  103. } else {
  104. return $this->showWarning('操作失败');
  105. }
  106. }
  107. }
  108. $data = BaseSettingsModel::where('category','paihang')->first();
  109. return view('admin.settings.paihang.edit',compact('data'));
  110. }
  111. public function scoreEdit(Request $reqeust) {
  112. if ($reqeust->method() == 'POST') {
  113. $data = (array) request('data');
  114. $result = BaseSettingsModel::where('category','score')->get();
  115. if (count($result) == 0) {
  116. $data['category'] = 'score';
  117. $data['sort'] = 0;
  118. $data['pid'] = 0;
  119. $ok = BaseSettingsModel::create($data);
  120. if ($ok) {
  121. return $this->showMessage('操作成功');
  122. }else{
  123. return $this->showWarning('操作失败');
  124. }
  125. }else {
  126. $ok = BaseSettingsModel::where('category', 'score')->update($data);
  127. if ($ok) {
  128. return $this->showMessage('操作成功');
  129. } else {
  130. return $this->showWarning('操作失败');
  131. }
  132. }
  133. }
  134. $data = BaseSettingsModel::where('category','score')->first();
  135. return view('admin.settings.score.edit',compact('data'));
  136. }
  137. }