ChannelUserService.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: hp
  5. * Date: 2017/12/2
  6. * Time: 15:56
  7. */
  8. namespace App\Modules\Channel\Services;
  9. use App\Modules\Channel\Models\Channel;
  10. use App\Modules\Channel\Models\ChannelUser;
  11. use DB;
  12. class ChannelUserService
  13. {
  14. /**
  15. * 创建渠道
  16. * @param array $params ['password','name','pay_type','nickname','latest_login_ip','latest_login_time','remark','register_ip']
  17. * @return object
  18. */
  19. static function createUser($params)
  20. {
  21. return ChannelUser::createUser($params);
  22. }
  23. /**
  24. * 登陆
  25. */
  26. static function login($phone, $password)
  27. {
  28. return ChannelUser::login($phone, $password);
  29. }
  30. /**
  31. * 修改密码
  32. * @param string $phone 手机号码
  33. * @param string $password 加密后密码
  34. */
  35. static function modifyPassword($phone, $password)
  36. {
  37. return ChannelUser::modifyPassword($phone, $password);
  38. }
  39. /**
  40. * 判断是否注册
  41. */
  42. static function isRegistered($phone)
  43. {
  44. return ChannelUser::isRegistered($phone);
  45. }
  46. /**
  47. * 通过手机号码获取
  48. */
  49. static function getByPhone($phone)
  50. {
  51. return ChannelUser::getByPhone($phone);
  52. }
  53. /**
  54. * 通过ID获取
  55. */
  56. static function getById($id)
  57. {
  58. return ChannelUser::getById((int)$id);
  59. }
  60. /**
  61. * 通过ID获取 is_important
  62. */
  63. static function getImpotantById($id)
  64. {
  65. if (empty($id)) {
  66. return 0;
  67. }
  68. return ChannelUser::getImpotantById($id);
  69. }
  70. /**
  71. * 修改渠道信息
  72. * @param $id 渠道ID
  73. * @param $params []
  74. * name:渠道名称 可选
  75. * nickname:渠道昵称 可选
  76. * pay_merchant_id: 支付通道 可选
  77. * distribution_manages_id: 管理员 可选
  78. * phone:电话 可选
  79. * person_in_charge_name:负责人 可选
  80. * remark:备注 可选
  81. * is_enabled: 是否开通 0:未审核; 1:审核通过
  82. * company_id:
  83. * company_name:
  84. * @return mixed
  85. */
  86. public static function updateChannelData($id, $params = [])
  87. {
  88. return ChannelUser::updateChannelUserData($id, $params);
  89. }
  90. public static function updateChannelUserManager($distribution_manages_id, $company_id)
  91. {
  92. $channelUserList = ChannelUser::where('company_id', $company_id)->get();
  93. if ($channelUserList && count($channelUserList) > 0) {
  94. foreach ($channelUserList as $channelUser) {
  95. //更新 ChannelUser 对应 渠道 的商务 ID
  96. $distribution_manage = DB::table('distribution_manages')->find($distribution_manages_id);
  97. $manager = $distribution_manage?$distribution_manage->nickname:'';
  98. $affectedAA = DB::update('UPDATE distribution_channels SET distribution_manages_id=:distribution_manages_id,person_in_charge_name=:manager WHERE channel_user_id=:channel_user_id', ['distribution_manages_id' => $distribution_manages_id, 'channel_user_id' => $channelUser->id,'manager'=>$manager]);
  99. }
  100. }
  101. $company = DB::table('companies')->find($company_id);
  102. $company_name = $company?$company->name:'';
  103. $affected = DB::update('UPDATE channel_users SET distribution_manages_id=:distribution_manages_id,company_name=:company_name WHERE company_id=:company_id', ['distribution_manages_id' => $distribution_manages_id, 'company_id' => $company_id,'company_name'=>$company_name]);
  104. }
  105. /**
  106. * 获取渠道列表
  107. * @param $params []
  108. * channel_id:渠道ID 可选
  109. * channel_name:渠道名称 可选
  110. * search_name: 搜索名称
  111. * start_date:开始时间 可选
  112. * end_date:结束时间 可选
  113. * is_enabled: 是否开通 0:未审核; 1:审核通过
  114. * distribution_manages_id: 管理员 可选
  115. * @param $isAll
  116. * @return mixed
  117. */
  118. public static function getChannelList($params = [], $isAll = '')
  119. {
  120. return ChannelUser::getChannelUserList($params, $isAll);
  121. }
  122. /**
  123. * 获取公司对应的所有账户ID
  124. * @param $companyId
  125. * @return mixed
  126. */
  127. public static function getChannelUserIdListByCompany($companyId)
  128. {
  129. return ChannelUser::where('company_id', $companyId)->pluck('id');
  130. }
  131. /**
  132. * 获取渠道列表
  133. * @param $channelUserIds
  134. * @return mixed
  135. */
  136. public static function getChannelListByChannelUserIds($channelUserIds = [])
  137. {
  138. $search_object = Channel::select([
  139. 'distribution_channels.id',
  140. 'distribution_channels.name',
  141. 'distribution_channels.pay_merchant_id',
  142. 'distribution_channels.phone',
  143. 'distribution_channels.nickname',
  144. 'distribution_channels.person_in_charge_name',
  145. 'distribution_channels.latest_login_time',
  146. 'distribution_channels.remark',
  147. 'distribution_channels.latest_login_ip',
  148. 'distribution_channels.password',
  149. 'distribution_channels.register_ip',
  150. 'distribution_channels.is_enabled',
  151. 'distribution_channels.distribution_manages_id',
  152. 'distribution_channels.created_at',
  153. 'distribution_channels.channel_user_id',
  154. 'distribution_manages.account as distribution_manages_account',
  155. 'distribution_manages.number as distribution_manages_number',
  156. 'distribution_manages.nickname as distribution_manages_nickname',
  157. ])
  158. ->leftjoin('distribution_manages', 'distribution_manages.id', '=', 'distribution_channels.distribution_manages_id')
  159. ->orderBy('distribution_channels.id', 'desc')
  160. ->orderBy('distribution_channels.created_at', 'desc');
  161. return $search_object->whereIn('distribution_channels.channel_user_id', $channelUserIds)->get();
  162. }
  163. }