Guild.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace app\admin\controller\platprofit;
  3. use app\common\controller\Backend;
  4. /**
  5. * 公会收益
  6. *
  7. * @icon fa fa-circle-o
  8. */
  9. class Guild extends Backend
  10. {
  11. /**
  12. * Guild模型对象
  13. * @var \app\admin\model\platprofit\Guild
  14. */
  15. protected $model = null;
  16. public function _initialize()
  17. {
  18. parent::_initialize();
  19. $this->model = new \app\admin\model\platprofit\Guild;
  20. }
  21. public function import()
  22. {
  23. parent::import();
  24. }
  25. /**
  26. * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
  27. * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
  28. * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
  29. */
  30. /**
  31. * 查看
  32. */
  33. public function index()
  34. {
  35. //当前是否为关联查询
  36. $this->relationSearch = true;
  37. //设置过滤方法
  38. $this->request->filter(['strip_tags', 'trim']);
  39. if ($this->request->isAjax()) {
  40. //如果发送的来源是Selectpage,则转发到Selectpage
  41. if ($this->request->request('keyField')) {
  42. return $this->selectpage();
  43. }
  44. list($where, $sort, $order, $offset, $limit) = $this->buildparams();
  45. // $list = $this->model
  46. // ->with(['guilds','user'])
  47. // ->where($where)
  48. // ->where(["guilds.id"=>["gt",0]])
  49. // ->order($sort, $order)
  50. // ->group("guilds.party_id")
  51. // ->sum("plat_value");
  52. //
  53. // foreach ($list as $row) {
  54. //// $row->visible(['sum(plat_value) as plat_value']);
  55. // $row->visible(['guilds']);
  56. // $row->getRelation('guilds')->visible(['g_id','user_id','member','createtime']);
  57. // $row->visible(['user']);
  58. // $row->getRelation('user')->visible(['u_id','nickname']);
  59. // }
  60. // $where = json_decode(json_encode($where),true);
  61. $filter = $this->request->request('filter');
  62. $wheres = json_decode($filter,true);
  63. $where = [];
  64. if(isset($wheres["createtime"])) {
  65. $createtime = explode(" - ",$wheres["createtime"]);
  66. $where["guild.createtime"] = ["between",strtotime($createtime[0]).",".strtotime($createtime[1])];
  67. }
  68. isset($wheres["g_id"]) && $where["g_id"] = $wheres["g_id"];
  69. $list = $this->model->alias("guild")
  70. ->field("sum(guild.plat_value) as plat_value,guilds.g_id,guilds.user_id,guilds.member,guilds.createtime,user.u_id,user.nickname")
  71. ->join("hx_guild guilds","guild.party_id = guilds.party_id","inner")
  72. ->join("hx_user user","user.id = guild.user_id","left")
  73. ->order($sort, $order)
  74. ->where($where)
  75. ->where(["guilds.id"=>["gt",0]])
  76. ->group("guild.party_id")
  77. ->select();
  78. $result = array("total" => 1, "rows" => $list);
  79. return json($result);
  80. }
  81. return $this->view->fetch();
  82. }
  83. }