2026-03-21 02:55:24 +08:00
|
|
|
<?php
|
|
|
|
|
// +----------------------------------------------------------------------
|
2026-03-29 11:22:52 +08:00
|
|
|
// | Author: ScottPan Team
|
2026-03-21 02:55:24 +08:00
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
namespace app\services\work;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use app\dao\work\WorkClientFollowDao;
|
|
|
|
|
use app\services\BaseServices;
|
|
|
|
|
use think\annotation\Inject;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 企业微信客户跟踪
|
|
|
|
|
* Class WorkClientFollowServices
|
|
|
|
|
* @package app\services\work
|
|
|
|
|
* @mixin WorkClientFollowDao
|
|
|
|
|
*/
|
|
|
|
|
class WorkClientFollowServices extends BaseServices
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var WorkClientFollowDao
|
|
|
|
|
*/
|
|
|
|
|
#[Inject]
|
|
|
|
|
protected WorkClientFollowDao $dao;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取扫描渠道码添加的客户列表
|
|
|
|
|
* @param int $channelId
|
|
|
|
|
* @param string $name
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
public function getChannelCodeClientList(int $channelId, string $name = '')
|
|
|
|
|
{
|
|
|
|
|
[$page, $limit] = $this->getPageValue();
|
|
|
|
|
$where = ['state' => 'channelCode-' . $channelId, 'user_name' => $name, 'is_del_user' => 0];
|
|
|
|
|
$list = $this->dao->getDataList($where, ['createtime as create_time', 'client_id'], $page, $limit, 'create_time', ['client' => function ($query) {
|
|
|
|
|
$query->field(['id', 'name', 'avatar']);
|
|
|
|
|
}]);
|
|
|
|
|
$count = $this->dao->count($where);
|
|
|
|
|
return compact('list', 'count');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取渠道码客户数量
|
|
|
|
|
* @param int $channelId 渠道码ID
|
|
|
|
|
* @return int
|
|
|
|
|
*/
|
|
|
|
|
public function getChannelCodeClientCount($channelId)
|
|
|
|
|
{
|
|
|
|
|
return $this->dao->count(['state' => 'channelCode-' . $channelId, 'is_del_user' => 0]) ?? 0;
|
|
|
|
|
}
|
|
|
|
|
}
|