You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.6 KiB
88 lines
2.6 KiB
<?php
|
|
|
|
namespace app\base\model\wechat;
|
|
|
|
use app\base\model\Base;
|
|
use think\model\concern\SoftDelete;
|
|
|
|
class WechatReply extends Base
|
|
{
|
|
use SoftDelete;
|
|
|
|
// 设置当前模型对应的完整数据表名称
|
|
protected $table = 'base_wechat_reply';
|
|
|
|
protected $type = [
|
|
'content' => 'serialize'
|
|
];
|
|
|
|
/**
|
|
* 获取器-回复消息类型文本
|
|
* @date 2020-10-20
|
|
*/
|
|
public function getTypeTextAttr($value, $data)
|
|
{
|
|
$text = [
|
|
'text' => '文本消息',
|
|
'image' => '图片消息',
|
|
'voice' => '语音消息',
|
|
'video' => '视频消息',
|
|
'music' => '音乐消息',
|
|
'news' => '图文消息',
|
|
'transfer' => '多客服消息',
|
|
];
|
|
return $text[$data['type']];
|
|
}
|
|
|
|
/**
|
|
* 查找全部数据--带分页
|
|
* @param array $where 查询条件
|
|
* @param string $field 查询字段
|
|
* @param string $order 排序方式
|
|
* @param int $page 当前页数
|
|
* @param int $per_page_number 每页条数
|
|
* @date 2020-09-10
|
|
*/
|
|
// public function getDataList($where, $field = '*', $order = '', $page, $per_page_number = 10)
|
|
// {
|
|
// $primary_key_name = $this->getPk();
|
|
//
|
|
// if (empty($order)) {
|
|
// $order = (empty($data[$primary_key_name]) ? 'id' : $data[$primary_key_name]) . ' desc';
|
|
// }
|
|
//
|
|
// //获取全部图文
|
|
// $wechat_news_model = new WechatNews();
|
|
// $news = $wechat_news_model->where([
|
|
// ['uid', '=', UID]
|
|
// ])->column('name', 'id');
|
|
//
|
|
// $dataList = $this->field($field)->where($where)->order($order)
|
|
// ->paginate(['list_rows' => $per_page_number, 'page' => $page], false)->each(function ($item, $key) use ($news) {
|
|
// if ($item->getData('type') == 'news') {
|
|
// $item->news_name = isset($news[$item->content['news_id']]) ? $news[$item->content['news_id']] : '图文已失效';
|
|
// }
|
|
// return $item;
|
|
// });
|
|
// return $dataList;
|
|
// }
|
|
|
|
|
|
/**
|
|
* 根据关键字获取回复信息
|
|
* @param string $keyword 触发关键字
|
|
* @date 2020-07-27
|
|
*/
|
|
public function getWechatReply($keyword)
|
|
{
|
|
return $this->where('("' . $keyword . '" REGEXP name and matching_type = 2) or ( name = "' . $keyword . '" and matching_type = 1)
|
|
or (name REGEXP "' . $keyword . '" and matching_type = 2) ')
|
|
->where([
|
|
['uid', '=', $this->mid],
|
|
['trigger_type', '=', 1],
|
|
])
|
|
->order('matching_type')
|
|
->find();
|
|
}
|
|
}
|