2023-01-29 10:26:52 +08:00

161 lines
5.3 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | 自动控户开发测试代码 [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
namespace app\admin\controller;
use app\common\controller\Admin;
use think\Db;
use think\Cache;
class Postbackconfig extends Admin {
public function _initialize() {
parent::_initialize();
}
public function index(){
$this->setMeta('自动控户2.1');
return $this->fetch();
}
public function refreshs(){
$data = db('postbackconfig')->where('id',1)->find();
$data['rules'] = db('postbackconfig_bid')->order('cast(start as signed) asc')->select();
if(empty($data['rules'])){
$data['rules'][0]['start'] = '';
$data['rules'][0]['end'] = '';
}
exit(json_encode(array('status'=>1,'ruleForm'=>$data)));
}
public function setrules(){
$data = input('');
$data = $data['ruleForm'];
$rules = $data['rules'];
unset($data['rules']);
unset($data['id']);
db('postbackconfig')->where('id',1)->update($data);
foreach($rules as $k=>$v){
if($v['id'] && $v['start'] && $v['end']){
db('postbackconfig_bid')->where('id',$v['id'])->update(['start'=>$v['start'],'end'=>$v['end']]);
}
}
exit(json_encode(array('status'=>1)));
}
public function setruleslist(){
$data = input('');
$data = $data['rulelist'];
$is = $this->checknull($data);
if($is){
if(empty($data['bid'])){
$bid = db('postbackconfig_bid')->insertGetId(['start'=>$data['rule']['start'],'end'=>$data['rule']['end'],'preconditions'=>$data['preconditions'],'initial'=>$data['initial']]);
foreach($data['list'] as $k=>$v){
db('postbackconfig_list')->insert([
'oneval'=>$v['oneval'],
'twoval'=>$v['twoval'],
'update_time'=>time(),
'bid'=>$bid
]);
}
}else{
$data['rule']['preconditions'] = $data['preconditions'];
$data['rule']['initial'] = $data['initial'];
db('postbackconfig_bid')->where('id',$data['bid'])->update($data['rule']);
foreach($data['list'] as $k=>$v){
if(empty($v['id'])){
db('postbackconfig_list')->insert([
'oneval'=>$v['oneval'],
'twoval'=>$v['twoval'],
'update_time'=>time(),
'bid'=>$data['bid']
]);
}else{
db('postbackconfig_list')->where('id',$v['id'])->update([
'oneval'=>$v['oneval'],
'twoval'=>$v['twoval'],
'update_time'=>time()
]);
}
}
}
exit(json_encode(array('status'=>1)));
}else{
exit(json_encode(array('status'=>2,'msg'=>'参数错误')));
}
}
public function getrules(){
$id = input('id');
$list['bid'] = $id;
$list['preconditions'] = db('postbackconfig_bid')->where('id',$id)->value('preconditions');
$list['initial'] = db('postbackconfig_bid')->where('id',$id)->value('initial');
$list['list'] = db('postbackconfig_list')->where('bid',$id)->order('cast(oneval as signed) asc')->select();
if(empty($list['preconditions'])){
$list['preconditions'] = '';
$list['initial'] = '';
}
if(empty($list['list'])){
$list['list'][0]['oneval'] = '';
$list['list'][0]['twoval'] = '';
}
exit(json_encode(array('status'=>1,'list'=>$list)));
}
public function getlogs(){
$tid = input('tid');
$where = array();
if($tid){
$where['tid'] = $tid;
}
$data = db('controlaccout_log')->where($where)->whereTime('addtime', 'week')->order('id desc')->select();
foreach($data as $k=>$v){
$data[$k]['addtime'] = substr(date("Y-m-d H:i:s",$v['addtime']),5,14);
}
exit(json_encode(array('status'=>1,'logs'=>$data)));
}
public function delrules(){
$item = input('');
$item = $item['item'];
$bid = $item['id'];
db('postbackconfig_bid')->where('id',$bid)->delete();
db('postbackconfig_list')->where('bid',$bid)->delete();
exit(json_encode(array('status'=>1,'msg'=>'删除成功')));
}
public function delruleslist(){
$item = input('');
$item = $item['item'];
$id = $item['id'];
$r = db('postbackconfig_list')->where('id',$id)->delete();
if($r){
exit(json_encode(array('status'=>1,'msg'=>'删除成功')));
}else{
exit(json_encode(array('status'=>2,'msg'=>'删除失败')));
}
}
public function checknull($data){
if(empty($data)){
return false;
}
if(empty($data['preconditions']) || empty($data['list']) || empty($data['initial'])){
return false;
}
foreach($data['list'] as $k=>$v){
if(empty($v['oneval']) || empty($v['twoval'])){
return false;
}
}
if(empty($data['rule']) || empty($data['rule']['start']) || empty($data['rule']['end'])){
return false;
}
return true;
}
}