Palmpaysubaccount.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\model\PalmpaySubAccount as mPalmpaySubAccount;
  4. use app\common\controller\Backend;
  5. /**
  6. * 四方子商户账号管理
  7. *
  8. * @icon fa fa-circle-o
  9. */
  10. class Palmpaysubaccount extends Backend
  11. {
  12. /**
  13. * @var mPalmpaySubAccount
  14. */
  15. protected $model = null;
  16. public function _initialize()
  17. {
  18. parent::_initialize();
  19. $this->model = model('PalmpaySubAccount');
  20. $this->view->assign("subAccountTypeList", $this->model->getSubAccountTypeList());
  21. }
  22. /**
  23. * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个方法
  24. * 因此在当前控制器中可不用编写增删改查的代码,如果需要自己控制这部分逻辑
  25. * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
  26. */
  27. public function getPalmSubAccountList()
  28. {
  29. $model = new \app\admin\model\PalmpaySubAccount();
  30. $query = $model->where('sub_account_type', \app\main\constants\PayConstents::PALMPAY_ACCOUNT_CHANNEL)
  31. ->join('palmpay_company', 'palmpay_company.id=palmpay_sub_account.palmpay_company_id', 'LEFT')
  32. ->field([
  33. 'concat(palmpay_company.name,"|",palmpay_sub_account.nickname)' => 'name',
  34. 'concat(palmpay_company.id,"|",palmpay_sub_account.id)' => 'id',
  35. ]);
  36. $name = $this->request->post('name');
  37. $selected = $this->request->post('searchValue');
  38. if ($name) {
  39. $query->where(function ($query) use ($name) {
  40. $query->where('palmpay_company.name', 'like', '%' . $name . '%')
  41. ->whereOr('palmpay_sub_account.nickname', 'like', '%' . $name . '%');
  42. });
  43. }
  44. if ($selected) {
  45. $query->whereIn('palmpay_sub_account.id', explode(',', $selected));
  46. }
  47. $list = $query->select();
  48. $data = [];
  49. foreach ($list as $item) {
  50. $data[] = [
  51. 'id' => $item['id'],
  52. 'name' => $item['name'],
  53. ];
  54. }
  55. $result = ["total" => count($data), "list" => $data];
  56. return json($result);
  57. }
  58. }