no message

This commit is contained in:
hellcat 2025-05-10 10:24:31 +08:00
parent 5f37124e8e
commit bdc811ee06
17 changed files with 601 additions and 455 deletions

View File

@ -50,9 +50,23 @@ final class HookController
$sCmd = $this->cleanCmd($aOption[0]);
list($sClass, $sFunc) = explode("#", $sCmd);
$sClass = ucfirst($sClass);
$sFunc = ucfirst($sFunc);
// list($sClass, $sFunc) = explode("#", $sCmd);
// $sClass = ucfirst($sClass);
// $sFunc = ucfirst($sFunc);
// 大于3个说明是hook或dove之类
$aCmd = explode("#", $sCmd);
if (count($aCmd) >= 3) {
$sHook = $aCmd[0];
// $sClass = $aCmd[1];
// $sFunc = $aCmd[2];
$sClass = $sHook;
$sFunc = "go";
// $aUpdate["subCmd"] = "/".$aCmd[1]."#".$aCmd[2];
} else {
$sClass = $aCmd[0];
$sFunc = $aCmd[1];
}
unset($aOption[0]);
unset($aArg[0]);
@ -64,11 +78,11 @@ final class HookController
if (method_exists($sClassPath, $sFunc)) {
$oInstans = new $sClassPath();
$r = $oInstans->$sFunc($aParams);
$r = $oInstans->$sFunc($aParams, $aUpdate);
// 可以不返回里面直接send
if (isset($r)) {
if (empty($r)) { $r = 'hook的mod返回空'; }
// if (empty($r)) { $r = 'hook的mod返回空'; }
// 返回可以是数组
if (is_array($r)) {
foreach ($r as $row) {

View File

@ -13,7 +13,7 @@ class SakaiController
{
public function test1()
{
tomd(123, 1);
// tomd(123, 1);
@$k = $_GET["k"];
@$s = $_GET["s"];
@ -27,7 +27,42 @@ class SakaiController
//test
// $s = "\/AticleSet__1115zz__sale_rate 1118.118";
// $s = "\/git#LastTime 1";
$s= "/cmd#list";
$s = "/hook#set site:cfn";
$s = "/dove#now";
$s = "/dove#set vcf";
$s = "/dove#unsetAll";
$s = "/doveSite#del vcf";
$s = "/doveSite#option__cfn__www 123";
$s = "/doveSite#limit 10";
$s = "/doveSite#like__memo c";
$s = "/dove#tool#list";
$s = "/dove#tool#exec html/client";
$s = "/dove#option#list";
$s = "/dove#option#add zzzzxxx";
$s = "/dove#option#option__test xxx111";
$s = "/dove#option#del test";
$s = "/dove#option#like__key xx";
$s = "/dove#option#like__value cc";
$s = "/dove#option#find jichang_ww";
$s = "/dove#option#add freenode_title";
$s = "/dove#tool#sql";
$s = "/dove#database#select select * from article_list limit 1";
$s = "/dove#database#sql ALTER TABLE test ADD COLUMN age INT";
$s = "/dove#toolOld#list";
$s = "/dove#toolOld#exec html/article";
$s = "/dove#test#FreenodeCrawUrl";
$s = "/dove#tool#freenode_up";
$s = "/dove#tool#toptag_html";
$s = "/dove#tool#like_auto";
$s = "/dove#tool#Article_freenode_up_limit 10 3";
$s = "/note#add skljdfkljsdkljf";
$s = "/note#now";
$s = "/note#keep 2";
$s = "/note#main";
// $s = "/note#set__1 告诉你啊,你就是个几把";
// $s = "/note#memo__1 股您吗的";
// $s = "/note#icon";
$s = "/note#add__now 脱裤子 112";
$oHttp = new Http();
$oHttp->sMethod = "post";
@ -59,7 +94,8 @@ class SakaiController
$r = $oHttp->send();
var_dump($r);
echo "<pre>";
echo($r);
exit;
}

View File

@ -1,10 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ArticleList extends Model
{
protected $table = 'article_list';
}

11
app/Models/DoveSite.php Executable file
View File

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class DoveSite extends Model
{
protected $table = 'dove_site';
public $timestamps = false;
}

11
app/Models/Hook.php Executable file
View File

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Hook extends Model
{
protected $table = 'hook';
public $timestamps = false;
}

11
app/Models/Note.php Executable file
View File

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Note extends Model
{
protected $table = 'note';
public $timestamps = false;
}

View File

@ -1,142 +0,0 @@
<?php
namespace App\Services\TG\Hook\Mod;
use App\Models\Article as ModelArticle;
class Article extends Base {
public function List($aParam)
{
if (isset($aParam['aOption'][1])) {
$sOrderBy = $aParam['aOption'][1];
} else {
$sOrderBy = "i_in10";
}
$aArticleList = ModelArticle::orderBy($sOrderBy)->get()->toArray();
foreach ($aArticleList as &$row) { // 使用引用来修改原数组
unset($row['updated_at']); // 移除 updated_at 字段
unset($row['created_at']); // 移除 created_at 字段
$this->oTGHttp->sendToTG(json_encode($row, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
}
$this->oHttp::response(200, 'ok');
}
public function Find($aParam)
{
$iId = $aParam['aArg'][1];
$aSingle = ModelArticle::find($iId)->toArray();
unset($aSingle['updated_at']);
unset($aSingle['created_at']);
return json_encode($aSingle, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
public function Like($aParams)
{
$aArticleList = ModelArticle::where($this->cmdGood($aParams['aOption'][1]), 'like', '%' . $aParams['aArg'][1] . '%')
->orderBy("user_name")
->get()
->toArray();
if (empty($aArticleList)) {
$this->oTGHttp->sendToTG("没有");
} else {
foreach ($aArticleList as &$row) { // 使用引用来修改原数组
unset($row['updated_at']); // 移除 updated_at 字段
unset($row['created_at']); // 移除 created_at 字段
$this->oTGHttp->sendToTG(json_encode($row, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
}
}
$this->oHttp::response(200, 'ok');
}
public function Clone($aParam)
{
$iId = $aParam['aArg'][1];
// 查找文章
$aArticle = ModelArticle::find($iId);
if ($aArticle) {
// 复制文章
$newArticle = $aArticle->replicate();
// 如果需要,可以修改新文章的某些字段,例如标题或状态
// $newArticle->title = $newArticle->title . ' - Copy'; // 修改标题
// $newArticle->status = 'draft'; // 例如,将状态设置为草稿
// 保存新文章
$newArticle->save();
// 发送新文章的 ID 到 Telegram
$sMsg = "新文章已创建ID: " . $newArticle->id;
$this->oTGHttp->sendToTG($sMsg);
// 返回 HTTP 响应
$this->oHttp::response(200, 'ok');
} else {
throw new \Exception("没有这个id");
}
}
public function Add($aParams)
{
$newArticle = new ModelArticle();
$newArticle->user_name = $aParams['aArg'][1];
$r = $newArticle->save();
$this->oTGHttp->sendToTG(json_encode($r, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
$this->oHttp::response(200, 'ok');
}
public function Del($aParams)
{
$article = ModelArticle::find($aParams['aArg'][1]);
if ($article) {
$r = $article->delete();
} else {
$r = false;
}
$this->oTGHttp->sendToTG(json_encode($r, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
$this->oHttp::response(200, 'ok');
}
// /ArticleSet__id__user_name xxx
public function Set($aParams)
{
$sField = $this->cmdGood($aParams['aOption'][2]);
$article = ModelArticle::find($aParams['aOption'][1]);
$sSet = $aParams['aArg'][1];
if ($article) {
$article->$sField = $sSet;
$r = $article->save();
} else {
// 处理未找到的情况
throw new \Exception("Article not found");
}
$this->oTGHttp->sendToTG(json_encode($r, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
$this->oHttp::response(200, 'ok');
}
}

View File

@ -15,29 +15,43 @@ class Base {
// $this->oTGHttp->sApiChatId = env("telegram_chatid");
}
protected function cmdGood($sCmd) {
$sCmdNew = "";
switch ($sCmd) {
case "user":
$sCmdNew = "user_name";
break;
case "project":
$sCmdNew = "project_name";
break;
case "code":
$sCmdNew = "sale_code";
break;
case "condition":
$sCmdNew = "cron_condition";
break;
default:
$sCmdNew = $sCmd;
break;
}
return $sCmdNew;
public function toJson($aData)
{
return json_encode($aData, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
public function eachSendTg($aData)
{
foreach ($aData as $row) {
$this->oTGHttp->sendToTG(json_encode($row, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
}
$this->oHttp::response(200, 'ok');
}
// protected function cmdGood($sCmd) {
//
// $sCmdNew = "";
// switch ($sCmd) {
// case "user":
// $sCmdNew = "user_name";
// break;
// case "project":
// $sCmdNew = "project_name";
// break;
// case "code":
// $sCmdNew = "sale_code";
// break;
// case "condition":
// $sCmdNew = "cron_condition";
// break;
// default:
// $sCmdNew = $sCmd;
// break;
// }
//
// return $sCmdNew;
//
// }
}

View File

@ -1,34 +0,0 @@
<?php
namespace App\Services\TG\Hook\Mod;
use App\Models\Article as ModelArticle;
class Cmd extends Base {
public function List()
{
$aCmdList = [
'优惠码list' => 'SaleCode#List',
'优惠码find' => 'SaleCode#Find xxhh',
'优惠码rate' => 'SaleCode#SetRate__xxzz 6.7',
'文章list' => 'Article#List',
'文章like' => 'Article#Like__field like',
'文章add' => 'Article#Add__name',
'文章del' => 'Article#Del__id',
'文章set' => 'Article#Set__id__fild set',
// '添加github的sshhost' => "System#AddSshHostGithub",
'文章clone' => "article#clone id",
'git手动重置' => "git#pullR",
'文章find' => "article#find id",
'cron暂停' => "option#pause 1",
'测试cron' => "test#cron_i 01",
];
$this->oTGHttp->sendToTG(json_encode($aCmdList, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
$this->oHttp::response(200, 'ok');
}
}

View File

@ -0,0 +1,91 @@
<?php
namespace App\Services\TG\Hook\Mod;
//use App\Models\Hook as ModelHook;
use App\Models\DoveSite as ModelDoveSite;
class Dove extends Base {
public function go($aParam, $aData)
{
$oDoveSiteCheckedList = ModelDoveSite::where("dove_checked", 1)->get();
list(, $sSubCmd) = explode("#", $aData['message']['text'], 2);
$aData['message']['text'] = "/".$sSubCmd;
$aData['dove_token'] = env('dove_token');
foreach ($oDoveSiteCheckedList as $row) {
$sApiUrl = "https://".$row->www.$row->api_path;
$this->oHttp->sMethod = "post";
$this->oHttp->bIsJson = true;
$this->oHttp->sToUrl = $sApiUrl;
$this->oHttp->aData = $aData;
$r = $this->oHttp->send();
return $r;
}
}
public function set($aParam)
{
$iSetValue = $aParam['iSetValue'] ?? 1;
$sCode = $aParam['aArg'][1];
$oDoveSite = ModelDoveSite::where("code", $sCode)->first();
if (!$oDoveSite) {
throw new \Exception("没有这个code");
}
$oDoveSite->dove_checked = $iSetValue;
$r = $oDoveSite->save();
if (!$r) {
throw new \Exception("没check上");
}
$r = $this->now();
return $r;
}
public function unsetAll()
{
$r = ModelDoveSite::query()->update(["dove_checked" => 0]);
return $r;
}
public function unset($aParam)
{
$aParam['iSetValue'] = 0;
$r = $this->set($aParam);
return $r;
}
public function now()
{
$aDoveSiteNow = ModelDoveSite::where("dove_checked", 1)->get()->toArray();
if ($aDoveSiteNow) {
$r = "";
foreach ($aDoveSiteNow as $row) {
$r .= "\n";
$r .= $row['code']."::".$row['www']."::".$row['class'];
}
} else {
$r = "没有";
}
return $r;
}
}

View File

@ -0,0 +1,67 @@
<?php
namespace App\Services\TG\Hook\Mod;
use App\Models\DoveSite as ModelDoveSite;
class DoveSite extends Base {
public function add($aParam)
{
$sCode = $aParam['aArg'][1];
$oDoveSite = new ModelDoveSite();
$oDoveSite->code = $sCode;
$r = $oDoveSite->save();
return $r;
}
public function del($aParam)
{
$sCode = $aParam['aArg'][1];
$r = ModelDoveSite::where("code", $sCode)->delete();
return $r;
}
public function limit($aParam)
{
$iLimit = $aParam['aArg'][1];
$oDoveSite = ModelDoveSite::orderBy("code")->limit($iLimit)->get();
$this->eachSendTg($oDoveSite);
}
public function like($aParam)
{
$sField = $aParam['aOption'][1];
$sValue = $aParam['aArg'][1];
$oDoveSiteLike = ModelDoveSite::where($sField, "like", "%".$sValue."%")->get();
$this->eachSendTg($oDoveSiteLike);
}
public function option($aParam)
{
$sCode = $aParam['aOption'][1];
$sField = $aParam['aOption'][2];
$sValue = $aParam['aArg'][1];
$oDoveSite = ModelDoveSite::where("code", $sCode)->first();
if (!$oDoveSite) {
throw new \Exception("没有这个code");
}
$oDoveSite->$sField = $sValue;
$r = $oDoveSite->save();
return $r;
}
}

View File

@ -1,128 +0,0 @@
<?php
namespace App\Services\TG\Hook\Mod;
use App\Models\Article as ModelArticle;
class Git extends Base {
public function UrlList()
{
$aArticleList = ModelArticle::orderBy('user_name')->get()->toArray();
$sMsg = '';
foreach ($aArticleList as $v) {
$sMsg .= "\n\n";
$sMsg .= "https://github.com/".$v['user_name']."/".$v['project_name'];
}
return $sMsg;
}
public function LastTime($aParam)
{
$iId = $aParam['aArg'][1];
$aArticle = ModelArticle::find($iId);
$sProjectPath = env("BASE_DIR") . "github/" . $aArticle->user_name . "-" . $aArticle->project_name;
// 进入指定目录
if (!chdir($sProjectPath)) {
throw new \Exception("无法进入目录" . $sProjectPath);
}
// 获取远程更新
$this->runCommand('git fetch origin');
// 获取最后提交的时间
$lastCommitTime = $this->runCommand('git log origin/main -1 --format=%cd');
$lastCommitTime = \DateTime::createFromFormat('D M d H:i:s Y O', $lastCommitTime[0]);
$lastCommitTime = json_encode($lastCommitTime->format('Y-m-d H:i:s'));
// 检查是否获取到时间
if (empty($lastCommitTime)) {
throw new \Exception("无法获取最后提交时间,可能是分支不存在或没有提交。");
}
return $lastCommitTime;
}
// 没用
public function AddSshHostGithub()
{
// 定义要添加的主机
$host = 'github.com';
// 执行 ssh-keyscan 命令
$key = shell_exec("ssh-keyscan -t ed25519 $host");
// 检查是否成功获取到公钥
if ($key) {
// 获取 known_hosts 文件的路径
$knownHostsFile = '/root/.ssh/known_hosts';
// 检查 known_hosts 文件中是否已经存在该主机的公钥
if (strpos(file_get_contents($knownHostsFile), $host) === false) {
// 将公钥写入 known_hosts 文件
file_put_contents($knownHostsFile, $key, FILE_APPEND);
$sMsg = "公钥已成功添加到 $knownHostsFile\n";
} else {
$sMsg = "公钥已存在于 $knownHostsFile\n";
}
} else {
$sMsg = "无法获取 $host 的公钥\n";
}
$this->oTGHttp->sendToTG($sMsg);
$this->oHttp::response(200, 'ok');
}
// /Git#PullR 3
public function PullR($aParam)
{
$iId = $aParam['aArg'][1];
$aArticle = ModelArticle::find($iId);
$sProjectPath = env("BASE_DIR")."github/".$aArticle->user_name."-".$aArticle->project_name;
// 进入指定目录
if (!chdir($sProjectPath)) {
throw new \Exception("无法进入目录".$sProjectPath);
}
// 获取远程更新
$this->runCommand('git fetch origin');
// 硬重置到远程主分支
$this->runCommand('git reset --hard origin/main');
$this->oTGHttp->sendToTG("操作完成:已重置到远程主分支");
$this->oHttp::response(200, 'ok');
}
private function runCommand($command) {
$output = [];
$returnVar = 0;
exec($command, $output, $returnVar);
if ($returnVar !== 0) {
$jsonOutput = json_encode($output, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
$errorMessage = "命令失败: $command\n" . $jsonOutput . "\n";
throw new \Exception($errorMessage);
} else {
return $output;
}
}
}

View File

@ -0,0 +1,84 @@
<?php
namespace App\Services\TG\Hook\Mod;
use App\Models\Hook as ModelHook;
use App\Models\SiteList as ModelSiteList;
class Hook extends Base {
public function set($aParam, $aData)
{
$sKey = $aParam['aArg'][1];
$iFromId = $aData["message"]["from"]["id"];
// 先清除,等于是覆盖,单进程
$r = ModelHook::where("tg_user_id", $iFromId)->delete();
// 添加
$oHook = new ModelHook();
$oHook->tg_user_id = $iFromId;
$oHook->key = $sKey;
$oHook->steap = 1;
$r = $oHook->save();
if ($r) {
$aKey = explode(":", $sKey, 2);
// site类hook处理
if ($aKey[0] === "site") {
// $sSite = $aKey[0];
$sCode = $aKey[1];
$oSiteSingle = ModelSiteList::where("code", $sCode)->first();
if ($oSiteSingle) {
$r = "site::".$oSiteSingle->code."@".$oSiteSingle->www." | 就绪!";
} else {
$r = "没有这个site";
}
}
}
return $r;
}
public function go($aParam, $aData)
{
// $aApiUrl =
}
public function now($aParam, $aData)
{
$iFromId = $aData["message"]["from"]["id"];
$oHookNow = ModelHook::where("tg_user_id", $iFromId)->first();
if ($oHookNow) {
$aHookNow = $oHookNow->toArray();
unset($aHookNow['id']);
unset($aHookNow['tg_user_id']);
$r = $this->toJson($aHookNow);
} else {
$r = "没有!";
}
return $r;
}
public function break($aParam, $aData)
{
$iFromId = $aData["message"]["from"]["id"];
$r = ModelHook::where("tg_user_id", $iFromId)->delete();
return $r;
}
}

View File

@ -0,0 +1,231 @@
<?php
namespace App\Services\TG\Hook\Mod;
use App\Models\Note as ModelNote;
class Note extends Base {
public function Score($aParam)
{
\
}
public function Set($aParam)
{
$iId = $aParam["aOption"][1];
$sValue = $aParam["aArg"][1];
$oModelNote = ModelNote::find($iId);
$oModelNote->content = $sValue;
$oModelNote->save();
$aParam["aArg"][1] = $iId;
$aData = $this->Find($aParam);
return $aData;
}
public function Memo($aParam)
{
$iId = $aParam["aOption"][1];
$sValue = $aParam["aArg"][1];
$oModelNote = ModelNote::find($iId);
$oModelNote->memo = $sValue;
$oModelNote->save();
$aParam["aArg"][1] = $iId;
$aData = $this->Find($aParam);
return $aData;
}
public function Find($aParam)
{
$iId = $aParam["aArg"][1];
$oNote = ModelNote::find($iId)->first();
$r = $this->noteToStr([$oNote]);
return $r;
}
public function Add($aParam)
{
$sType = $aParam["aOption"][1] ?? "under";
$sContent = $aParam["aArg"][1];
$iScore = $aParam["aArg"][2] ?? 0;
if (!isset($this->arrTypeIcon()[$sType])) {
return "没有这个type";
}
$oNote = new ModelNote();
$oNote->content = $sContent;
$oNote->type = $sType;
$oNote->score = $iScore;
$r = $oNote->save();
$aParam["aArg"][1] = $oNote->id;
return $this->magic($aParam, $sType);
}
public function Main($aParam)
{
$oWarning = ModelNote::where("type", "warning")->get();
$oMark = ModelNote::where("type", "mark")->get();
$oNow = ModelNote::where("type", "now")->get();
$oTrack = ModelNote::where("type", "track")->get();
$oKeep = ModelNote::where("type", "keep")->get();
$sWarning = $this->noteToStr($oWarning, "\n");
$sMark = $this->noteToStr($oMark, "\n");
$sNow = $this->noteToStr($oNow, "\n");
$sTrack = $this->noteToStr($oTrack, "\n");
$sKeep = $this->noteToStr($oKeep, "\n");
$str = $sWarning."\n".$sMark."\n".$sNow."\n".$sTrack."\n".$sKeep;
return $str;
}
public function Now($aParam)
{
return $this->magic($aParam, "now");
}
public function Keep($aParam)
{
return $this->magic($aParam, "keep");
}
public function wait($aParam)
{
return $this->magic($aParam, "wait");
}
public function under($aParam)
{
return $this->magic($aParam, "under");
}
public function del($aParam)
{
return $this->magic($aParam, "del");
}
public function done($aParam)
{
return $this->magic($aParam, "done");
}
public function mark($aParam)
{
return $this->magic($aParam, "mark");
}
public function track($aParam)
{
return $this->magic($aParam, "track");
}
public function warning($aParam)
{
return $this->magic($aParam, "warning");
}
public function tip($aParam)
{
return $this->magic($aParam, "tip");
}
public function icon()
{
return $this->toJson($this->arrTypeIcon());
}
private function magic($aParam, $sNoteType)
{
$iId = $aParam["aArg"][1] ?? false;
if ($iId) {
$oNote = ModelNote::find($iId);
$oNote->type = $sNoteType;
$oNote->save();
$oNote = ModelNote::where("type", $sNoteType)->get();
$r = $this->noteToStr($oNote);
} else {
$oNote = ModelNote::where("type", $sNoteType)->get();
$r = $this->noteToStr($oNote);
}
return $r;
}
private function noteToStr($oNote, $sBr = "\n\n")
{
$str = "";
foreach ($oNote as $row) {
$sIcon = $this->mapTypeIcon($row->type);
$str .= $sBr;
$str .= $sIcon."::".$row->id."::".$row->content;
if ($row->memo) {
$str .= "::".$row->memo;
}
}
return $str;
}
private function arrTypeIcon()
{
$aMap = [
"warning" => "🟥",
"now" => "🟩",
"wait" => "🟧",
"under" => "⚪️",
"keep" => "⬛️",
"del" => "",
"track" => "🟫",
"mark" => "🟪",
"done" => "",
"tip" => "💡",
];
return $aMap;
}
private function mapTypeIcon($sType)
{
// $aMap = [
// "warning" => "⚠️",
// "now" => "🎸",
// "wait" => "🚦",
// "under" => "⚪️",
// "keep" => "📌",
// "del" => "❌",
// "track" => "🌀",
// "mark" => "⭐️",
// "done" => "✅",
// "tip" => "💡",
// ];
$aMap = $this->arrTypeIcon();
if (isset($aMap[$sType])) {
$sIcon = $aMap[$sType];
} else {
$sIcon = "::";
}
return $sIcon;
}
}

View File

@ -1,34 +0,0 @@
<?php
namespace App\Services\TG\Hook\Mod;
use App\Models\Option as ModelOption;
class Option extends Base {
public function Pause($aParam)
{
$v = $aParam['aArg'][1];
// 获取第一个匹配的选项
$oOption = ModelOption::where("type", "pause")->first();
// 检查是否找到了选项
if ($oOption) {
$oOption->value = $v;
// 保存并返回结果
return json_encode($oOption->save());
}
// 如果没有找到选项,返回一个错误信息
return json_encode(['error' => 'Option not found']);
}
public function List()
{
$aOptionList = ModelOption::all()->toArray();
return json_encode($aOptionList, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
}

View File

@ -1,48 +0,0 @@
<?php
namespace App\Services\TG\Hook\Mod;
use App\Models\Article as ModelArticle;
class SaleCode extends Base {
public function SetRate($aParams)
{
$updatedRows = ModelArticle::where('sale_code', $aParams['aOption'][1])
->update(['sale_rate' => $aParams['aArg'][1]]);
$this->oTGHttp->sendToTG(json_encode($updatedRows, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
$this->oHttp::response(200, 'ok');
}
public function List()
{
$aSaleCodeList = ModelArticle::select('sale_code', 'sale_rate')
->distinct()
->orderBy("sale_code")
->get()
->toArray();
$this->oTGHttp->sendToTG(json_encode($aSaleCodeList, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
$this->oHttp::response(200, 'ok');
}
public function Find($aParams)
{
$aSaleCodeList = ModelArticle::select('sale_code', 'sale_rate')
->where("sale_code", $aParams['aArg'][1])
->distinct()
->orderBy("sale_code")
->get()
->toArray();
$this->oTGHttp->sendToTG(json_encode($aSaleCodeList, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
$this->oHttp::response(200, 'ok');
}
}

View File

@ -1,28 +0,0 @@
<?php
namespace App\Services\TG\Hook\Mod;
//use App\Services\TomTool\Http;
class Test extends Base {
public function Cron($aParam)
{
$sTimeType = $aParam["aOption"][1];
$sValue = $aParam["aArg"][1];
$this->oHttp->sMethod = "get";
$this->oHttp->sToUrl = env("APP_URL")."/cron";
$this->oHttp->bIsJson = true;
$this->oHttp->aData = [
"is_test" => true,
"time_type" => $sTimeType,
"v" => $sValue
];
$r = $this->oHttp->send();
return $r;
}
}