AgentController.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?php
  2. /**
  3. * 经销商管理
  4. * @author system
  5. * @version 1.0
  6. * @date 2018-05-14 13:26:07
  7. *
  8. */
  9. namespace App\Http\Controllers\Admin\Album;
  10. use App\Http\Controllers\Admin\Controller;
  11. use App\Models\AgentBannerModel;
  12. use App\Models\AlbumAgentModel;
  13. use App\Models\AlbumProductPriceModel;
  14. use App\Models\AlbumUserModel;
  15. use App\Repositories\Album\Criteria\AgentWhere;
  16. use App\Services\OSS;
  17. use Illuminate\Http\Request;
  18. use App\Repositories\Base\Criteria\OrderBy;
  19. use App\Repositories\Album\Criteria\MultiWhere;
  20. use App\Repositories\Album\AgentRepository;
  21. class AgentController extends Controller
  22. {
  23. private $repository;
  24. public function __construct(AgentRepository $repository) {
  25. if(!$this->repository) $this->repository = $repository;
  26. }
  27. function index(Request $request) {
  28. $search['keyword'] = $request->input('keyword');
  29. $search['status'] = $request->input('status') ?? -1;
  30. $query = $this->repository->pushCriteria(new AgentWhere($search, $this->getStoreId()));
  31. if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
  32. $query = $query->pushCriteria(new OrderBy($request['sort_field'],$request['sort_field_by']));
  33. }else{
  34. $query = $query->pushCriteria(new OrderBy('id','DESC'));
  35. }
  36. $list = $query->paginate();
  37. foreach ($list as $item){
  38. $product = AlbumProductPriceModel::where([['agent_id',$item->id],['store_id',$this->getStoreId()]])->first();
  39. if(!empty($product)){
  40. $item->product_name = $product['mobile'];
  41. }
  42. $item->product_pic = $product['cover_pic'];
  43. }
  44. foreach ($list as $item){
  45. if($item->status == 0){
  46. $item->status = '待审核';
  47. }else{
  48. $item->status = '已审核';
  49. }
  50. $user = AlbumUserModel::where('id', $item->user_id)->first();
  51. $item->nickname = $user->username;
  52. $item->is_boss = $user->is_boss;
  53. $item->user_id = $user->id;
  54. }
  55. return view('admin.album.agent.index',compact('list'));
  56. }
  57. public function batch(Request $request)
  58. {
  59. $data = $request->input();
  60. $IdArr = $data['data'];
  61. foreach ($IdArr as $key => $val) {
  62. $check = AlbumUserModel::where([['id', $val]])->first();
  63. if ($check) {
  64. $check->is_boss = 1;
  65. $check->save();
  66. }
  67. }
  68. return response()->json(['code' => 0, 'message' => 'success', 'data' => []]);
  69. }
  70. /**
  71. * 添加
  72. *
  73. */
  74. public function create(Request $request)
  75. {
  76. if($request->method() == 'POST') {
  77. return $this->_createSave();
  78. }
  79. return view('admin.album.agent.edit');
  80. }
  81. /**
  82. * 保存修改
  83. */
  84. private function _createSave(){
  85. $data = (array) request('data');
  86. $id = $this->repository->create($data);
  87. if($id) {
  88. $url[] = array('url'=>U( 'Album/Agent/index'),'title'=>'返回列表');
  89. $url[] = array('url'=>U( 'Album/Agent/create'),'title'=>'继续添加');
  90. $this->showMessage('添加成功',$url);
  91. }else{
  92. $url[] = array('url'=>U( 'Album/Agent/index'),'title'=>'返回列表');
  93. return $this->showWarning('添加失败',$url);
  94. }
  95. }
  96. /**
  97. *
  98. * 修改
  99. *
  100. *
  101. */
  102. public function update(Request $request) {
  103. if($request->method() == 'POST') {
  104. return $this->_updateSave();
  105. }
  106. $data = $this->repository->find($request->get('id'));
  107. return view('admin.album.agent.edit',compact('data'));
  108. }
  109. /**
  110. * 保存修改
  111. */
  112. private function _updateSave() {
  113. $data = (array) request('data');//dd($data);
  114. $ok = $this->repository->update(request('id'),$data);
  115. if($ok) {
  116. $urls[] = array('url'=>U( 'Album/Agent/index'),'title'=>'返回列表');
  117. $this->showMessage('添加成功',$urls);
  118. }else{
  119. $urls[] = array('url'=>U( 'Album/Agent/index'),'title'=>'返回列表');
  120. return $this->showWarning('操作失败',$urls);
  121. }
  122. }
  123. public function view(Request $request) {
  124. $data = $this->repository->find(request('id'));
  125. return view('admin.album.agent.view',compact('data'));
  126. }
  127. /**
  128. *
  129. * 状态改变
  130. *
  131. */
  132. public function status(Request $request) {
  133. $ok = $this->repository->updateStatus(request('id'),request('status'));
  134. if(request('status')==1){
  135. $agent = AlbumAgentModel::find(request('id'));
  136. $user = AlbumUserModel::find($agent->user_id);
  137. $user->is_dealer = 1;
  138. $user->save();
  139. }
  140. if($ok) {
  141. return $this->showMessage('操作成功');
  142. }else{
  143. return $this->showWarning('操作失败');
  144. }
  145. }
  146. /**
  147. * 删除
  148. */
  149. public function destroy(Request $request) {
  150. $agent = AlbumAgentModel::find($request->get('id'));
  151. $id= $agent->user_id;
  152. $ok = $agent->delete();
  153. $save['is_dealer'] = 0;
  154. $save['is_boss'] = 0;
  155. AlbumUserModel::where('id',$id)->update($save);
  156. if($ok) {
  157. return $this->showMessage('操作成功');
  158. }else{
  159. return $this->showWarning("操作失败");
  160. }
  161. }
  162. }