MediaCostLogic.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | saiadmin [ saiadmin快速开发框架 ]
  4. // +----------------------------------------------------------------------
  5. // | Author: your name
  6. // +----------------------------------------------------------------------
  7. namespace app\v1\logic\advert;
  8. use app\v1\logic\center\GameLogic;
  9. use plugin\saiadmin\basic\BaseLogic;
  10. use plugin\saiadmin\exception\ApiException;
  11. use plugin\saiadmin\utils\Helper;
  12. use app\v1\model\advert\MediaCost;
  13. use plugin\saiadmin\app\logic\system\SystemUserLogic;
  14. /**
  15. * 媒体消耗逻辑层
  16. */
  17. class MediaCostLogic extends BaseLogic
  18. {
  19. protected $agentSiteLogic;
  20. protected $agentListLogic;
  21. protected $gameLogic;
  22. protected $systemUserLogic;
  23. /**
  24. * 构造函数
  25. */
  26. public function __construct()
  27. {
  28. $this->model = new MediaCost();
  29. $this->agentSiteLogic = new AgentSiteLogic();
  30. $this->agentListLogic = new AgentListLogic();
  31. $this->gameLogic = new GameLogic();
  32. $this->systemUserLogic = new SystemUserLogic();
  33. }
  34. /**
  35. * 保存媒体消耗
  36. */
  37. public function save($data)
  38. {
  39. $site_id = $data['site_id'];
  40. $site_info = $this->agentSiteLogic->read($site_id);
  41. $auth_id = $site_info['auth_id'];
  42. $data['auth_id'] = $auth_id;
  43. $this->model->save($data);
  44. }
  45. public function trandformListColumn($data, $fields=['site', 'agent', 'game', 'auth']){
  46. if(in_array('site', $fields)){
  47. $agentSiteList = $this->agentSiteLogic->field('id,name')->column('name', 'id');
  48. }
  49. if(in_array('agent', $fields)){
  50. $agentList = $this->agentListLogic->field('id,name')->column('name', 'id');
  51. }
  52. if(in_array('game', $fields)){
  53. $gameList = $this->gameLogic->field('id,name')->select()->column('name', 'id');
  54. }
  55. if(in_array('auth', $fields)){
  56. $authList = $this->systemUserLogic->field('id,username')->column('username', 'id');
  57. }
  58. foreach ($data as $key => $value) {
  59. $data[$key]['site_name'] = $agentSiteList ? $agentSiteList[$value['site_id']] ?? '':'';
  60. $data[$key]['agent_name'] = $agentList ? $agentList[$value['agent_id']] ?? '':'';
  61. $data[$key]['game_name'] = $gameList ? $gameList[$value['game_id']] ?? '':'';
  62. $data[$key]['auth_name'] = $authList ? $authList[$value['auth_id']] ?? '':'';
  63. }
  64. return $data;
  65. }
  66. }