12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- /**
- * Created by PhpStorm.
- * User: hp
- * Date: 2017/11/21
- * Time: 10:42
- */
- namespace General\Services\User;
- use General\Models\User\SubscribeRecord;
- use General\Models\User\User;
- use Illuminate\Support\Facades\DB;
- class UserService
- {
- public function companyAuthUsers(int $channel_id, string $start_time = '', string $end_time = '', array $uids = [])
- {
- $sql = User::where('distribution_channel_id', $channel_id)
- ->orderBy('id', 'desc');
- if ($start_time) {
- $sql->where('created_at', '>=', $start_time);
- }
- if ($end_time) {
- $sql->where('created_at', '<=', $end_time);
- }
- if ($uids) {
- $sql->whereIn('id', $uids);
- }
- return $sql->paginate(100);
- }
- public function companyAuthUsersNew($channel_id,$start_time = '',$end_time = '',$uids = [])
- {
- $query = User::leftjoin('force_subscribe_users','force_subscribe_users.uid','users.id')
- ->leftjoin('ww_external_contact_infos','ww_external_contact_infos.uid','users.id')
- ->select('users.*','force_subscribe_users.appid','force_subscribe_users.openid','force_subscribe_users.is_subscribed',
- 'force_subscribe_users.subscribe_time','ww_external_contact_infos.external_user_id','ww_external_contact_infos.open_external_user_id',
- 'ww_external_contact_infos.unionid',
- DB::raw("(select ww_corp_infos.agent_id from ww_corp_infos where ww_corp_infos.corp_id=ww_external_contact_infos.corp_id and ww_corp_infos.state='normal') as agent_id"))
- ->where('users.distribution_channel_id',$channel_id)
- ->orderBy('id', 'desc');
- if($start_time){
- $query->where('users.created_at', '>=', $start_time);
- }
- if ($end_time) {
- $query->where('users.created_at', '<=', $end_time);
- }
- if ($uids) {
- $query->whereIn('users.id', $uids);
- }
- return $query->paginate(100);
- }
- public function findSubscribeRecords(int $channel_id, array $uids)
- {
- return SubscribeRecord::where('distribution_channel_id', $channel_id)
- ->whereIn('uid', $uids)
- ->paginate(100);
- }
- }
|