134 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
// | Author: CRMEB Team <admin@crmeb.com>
 | 
						||
// +----------------------------------------------------------------------
 | 
						||
declare (strict_types=1);
 | 
						||
 | 
						||
namespace app\services\wechat;
 | 
						||
 | 
						||
use app\services\BaseServices;
 | 
						||
use app\dao\wechat\WechatNewsCategoryDao;
 | 
						||
use app\services\article\ArticleServices;
 | 
						||
 | 
						||
/**
 | 
						||
 *
 | 
						||
 * Class UserWechatuserServices
 | 
						||
 * @package app\services\user
 | 
						||
 * @method delete($id, ?string $key = null)  删除
 | 
						||
 * @method update($id, array $data, ?string $key = null) 更新数据
 | 
						||
 * @method save(array $data) 插入数据
 | 
						||
 * @method get(int $id, ?array $field = []) 获取一条数据
 | 
						||
 */
 | 
						||
class WechatNewsCategoryServices extends BaseServices
 | 
						||
{
 | 
						||
 | 
						||
    /**
 | 
						||
     * UserWechatuserServices constructor.
 | 
						||
     * @param WechatNewsCategoryDao $dao
 | 
						||
     */
 | 
						||
    public function __construct(WechatNewsCategoryDao $dao)
 | 
						||
    {
 | 
						||
        $this->dao = $dao;
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * 获取配置分类
 | 
						||
     * @param array $where
 | 
						||
     * @return array
 | 
						||
     */
 | 
						||
    public function getAll($where = array())
 | 
						||
    {
 | 
						||
        [$page, $limit] = $this->getPageValue();
 | 
						||
        $model = $this->dao->getNewCtae($where);
 | 
						||
        $count = $model->count();
 | 
						||
        $list = $model->page($page, $limit)
 | 
						||
            ->select()
 | 
						||
            ->each(function ($item) {
 | 
						||
                /** @var ArticleServices $services */
 | 
						||
                $services = app()->make(ArticleServices::class);
 | 
						||
                $new = $services->articleList($item['new_id']);
 | 
						||
                if ($new) $new = $new->toArray();
 | 
						||
                $item['new'] = $new;
 | 
						||
            });
 | 
						||
        return compact('count', 'list');
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * 获取一条图文
 | 
						||
     * @param int $id
 | 
						||
     * @return array|false|\PDOStatement|string|\think\Model
 | 
						||
     */
 | 
						||
    public function getWechatNewsItem($id = 0)
 | 
						||
    {
 | 
						||
        if (!$id) return [];
 | 
						||
        $list = $this->dao->getOne(['id' => $id, 'status' => 1], 'cate_name as title,new_id');
 | 
						||
        if ($list) {
 | 
						||
            $list = $list->toArray();
 | 
						||
            /** @var ArticleServices $services */
 | 
						||
            $services = app()->make(ArticleServices::class);
 | 
						||
            $new = $services->articleList($list['new_id']);
 | 
						||
            if ($new) $new = $new->toArray();
 | 
						||
            $list['new'] = $new;
 | 
						||
        }
 | 
						||
        return $list;
 | 
						||
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * 发送客服消息选择文章列表
 | 
						||
     * @param $where
 | 
						||
     * @return array
 | 
						||
     */
 | 
						||
    public function list($where)
 | 
						||
    {
 | 
						||
        $list = $this->dao->getNewCtae($where)
 | 
						||
            ->page((int)$where['page'], (int)$where['limit'])
 | 
						||
            ->select()
 | 
						||
            ->each(function ($item) {
 | 
						||
                /** @var ArticleServices $services */
 | 
						||
                $services = app()->make(ArticleServices::class);
 | 
						||
                $item['new'] = $services->articleList($item['new_id']);
 | 
						||
            });
 | 
						||
        return ['list' => $list];
 | 
						||
    }
 | 
						||
 | 
						||
    /**整理图文资源
 | 
						||
     * @param $wechatNews
 | 
						||
     * @return bool
 | 
						||
     */
 | 
						||
    public function wechatPush($wechatNews)
 | 
						||
    {
 | 
						||
        /** @var WechatReplyServices $services */
 | 
						||
        $services = app()->make(WechatReplyServices::class);
 | 
						||
        return $services->tidyNews($wechatNews);
 | 
						||
    }
 | 
						||
 | 
						||
    /**发送的用户
 | 
						||
     * @param $user_ids
 | 
						||
     * @param $column
 | 
						||
     * @param $key
 | 
						||
     * @return array
 | 
						||
     */
 | 
						||
    public function getWechatUser($user_ids, $column, $key)
 | 
						||
    {
 | 
						||
        /** @var WechatUserServices $services */
 | 
						||
        $services = app()->make(WechatUserServices::class);
 | 
						||
        return $services->getColumnUser($user_ids, $column, $key);
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * 获取文章id
 | 
						||
     * @return array
 | 
						||
     */
 | 
						||
    public function getNewIds()
 | 
						||
    {
 | 
						||
        return $this->dao->getColumn([], 'new_id');
 | 
						||
    }
 | 
						||
}
 |