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

223 lines
9.4 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 Newpaysetting extends Admin {
public function _initialize() {
parent::_initialize();
}
public function index() {
$this->setMeta('新充值配置');
return $this->fetch();
}
public function refreshs(){
$info = array();
$twolist = array();
$info['list1'] = db('pay_setting_types')->where('type','0')->find();
$info['list2'] = db('pay_setting_types')->where('type','14')->find();
$info['list3'] = db('pay_setting_types')->where('type','13')->find();
$info['list4'] = db('pay_setting_types')->where('type','12')->find();
$info['list5'] = db('pay_setting_types')->where('type','11')->find();
$info['list6'] = db('pay_setting_types')->where('type','4-5-6')->find();
$info['list7'] = db('pay_setting_types')->where('type','8')->find();
$info['list8'] = db('pay_setting_types')->where('type','7')->find();
$twolist['twolist1'] = db('pay_setting_back')->where('type','0')->find();
$twolist['twolist2'] = db('pay_setting_back')->where('type','14')->find();
$twolist['twolist3'] = db('pay_setting_back')->where('type','13')->find();
$twolist['twolist4'] = db('pay_setting_back')->where('type','12')->find();
$twolist['twolist5'] = db('pay_setting_back')->where('type','11')->find();
$twolist['twolist6'] = db('pay_setting_back')->where('type','4-5-6')->find();
$twolist['twolist7'] = db('pay_setting_back')->where('type','8')->find();
$twolist['twolist8'] = db('pay_setting_back')->where('type','7')->find();
foreach($info as $k=>$v){
if($v){
$info[$k]['status'] = 1;
$info[$k]['index'] = db('pay_setting_types_list')->where(['pid'=>$v['id']])->order('sort asc')->select();
foreach($info[$k]['index'] as $k2=>$v2){
$info[$k]['index'][$k2]['moneys'] = db('pay_setting')->field('id,price,giveegold,title,ispay')->where('type',1)->order('price asc')->select();
$info[$k]['index'][$k2]['val'] = intval($v2['val']);
}
}else{
$info[$k]['status'] = 2;
$info[$k]['first'] = '';
$info[$k]['plural'] = '';
$info[$k]['radio'] = '';
$info[$k]['index'][0]['val'] = '';
$info[$k]['index'][0]['sort'] = '';
$info[$k]['index'][0]['moneys'] = db('pay_setting')->field('id,price,giveegold,title,ispay')->where('type',1)->order('price asc')->select();
}
}
foreach($twolist as $k=>$v){
if($v){
$twolist[$k]['status'] = 1;
$twolist[$k]['moneys'] = db('pay_setting')->field('id,price,giveegold,title,ispay')->where('type',1)->order('price asc')->select();
$twolist[$k]['first'] = intval($v['first']);
}else{
$twolist[$k]['status'] = 2;
$twolist[$k]['first'] = '';
$twolist[$k]['moneys'] = db('pay_setting')->field('id,price,giveegold,title,ispay')->where('type',1)->order('price asc')->select();
}
}
exit(json_encode(array('status'=>1,'info'=>$info,'twolist'=>$twolist)));
}
public function setOne(){
$data = input('');
if($data['list']['radio']){
$this->checkpaysetting($data['list']['index']);
$index = $data['list']['index'];
$is = db('pay_setting_types')->where('type',$data['t'])->find();
if($is){
unset($data['list']['status']);
unset($data['list']['index']);
db('pay_setting_types')->where('type',$data['t'])->update($data['list']);
foreach($index as $k=>$v){
$is = db('pay_setting_types_list')->where(['id'=>$v['id']])->count();
if($is){
$listarr['val'] = $v['val'];
$listarr['sort'] = $v['sort'];
db('pay_setting_types_list')->where(['id'=>$v['id']])->update($listarr);
}else{
$listarr['type'] = $data['t'];
$listarr['pid'] = $data['list']['id'];
$listarr['val'] = $v['val'];
$listarr['sort'] = $v['sort'];
db('pay_setting_types_list')->insert($listarr);
}
}
}else{
$data['list']['type'] = $data['t'];
unset($data['list']['status']);
unset($data['list']['index']);
$pid = db('pay_setting_types')->insertGetId($data['list']);
foreach($index as $k=>$v){
$listarr['type'] = $data['t'];
$listarr['pid'] = $pid;
$listarr['val'] = $v['val'];
$listarr['sort'] = $v['sort'];
db('pay_setting_types_list')->insert($listarr);
}
}
exit(json_encode(array('status'=>1)));
}else{
exit(json_encode(array('status'=>2,'msg'=>'请选择按章节或全本购买')));
}
}
public function checkpaysetting($list){
if(empty($list)){
exit(json_encode(array('status'=>2,'msg'=>'错误')));
}
foreach($list as $k=>$v){
$is = db('pay_setting')->where(['id'=>$v['val']])->count('id');
if(empty($is)){
exit(json_encode(array('status'=>2,'msg'=>'请添加对应充值项')));
}
}
}
public function getmoneys(){
$m = db('pay_setting')->field('id,price,giveegold,title,ispay')->where('type',1)->order('price asc')->select();
exit(json_encode(array('status'=>1,'moneys'=>$m)));
}
public function delOne(){
$data = input('');
$pid = db('pay_setting_types')->where('type',$data['t'])->value('id');
db('pay_setting_types_list')->where(['pid'=>$pid])->delete();
db('pay_setting_types')->where('type',$data['t'])->delete();
exit(json_encode(array('status'=>1)));
}
public function delOneList(){
$item = input('');
$item = $item['item'];
$pid = db('pay_setting_types_list')->where(['id'=>$item['id']])->value('pid');
$r = db('pay_setting_types_list')->where(['pid'=>$pid])->count('id');
if($r<=1){
exit(json_encode(array('status'=>2,'msg'=>'不能删除最后一条')));
}
db('pay_setting_types_list')->where(['id'=>$item['id']])->delete();
exit(json_encode(array('status'=>1)));
}
public function settwolist(){
$data = input('');
if($data['list']['first']){
$is = db('pay_setting_back')->where('type',$data['t'])->find();
if($is){
$r = db('pay_setting_back')->where('type',$data['t'])->update($data['list']);
}else{
$data['list']['type'] = $data['t'];
$r = db('pay_setting_back')->insert($data['list']);
}
if($r){
exit(json_encode(array('status'=>1)));
}else{
exit(json_encode(array('status'=>2,'msg'=>'错误或重复值')));
}
}else{
exit(json_encode(array('status'=>2,'msg'=>'错误')));
}
}
public function deltwolist(){
$data = input('');
$r = db('pay_setting_back')->where('type',$data['t'])->delete();
if($r){
exit(json_encode(array('status'=>1)));
}else{
exit(json_encode(array('status'=>2,'msg'=>'错误')));
}
}
public function gettwolist(){
$data = input('');
$toggtim = empty(input('toggtim'))?1:input('toggtim');
if($toggtim=='1'){ //今日
$startdata = date('Y-m-d 0:0:0'); //今日凌晨
$enddata = strtotime(date('Y-m-d H:i:s')); //现在
$enddata = date('Y-m-d H:i:s',$enddata);
$txt = '今日';
}else{ //昨日
$startdata=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$startdata = date('Y-m-d H:i:s',$startdata);
$enddata=mktime(0,0,0,date('m'),date('d'),date('Y'));
$enddata = date('Y-m-d H:i:s',$enddata);
$txt = '昨日';
}
$startdata = strtotime($startdata);
$enddata = strtotime($enddata);
$info = array();
$info['type'] = $data['type'];
if($data['type']=='4-5-6'){
$data['type'] = array('in','4,5,6');
}
$info['typeName'] = $data['typeName'];
$info['seeNum'] = db('member_backlog')->where('addtime', 'between', [$startdata,$enddata])->where(['type'=>$data['type']])->count('id');
$info['payNum'] = db('order')->where('iscontrol',0)->where('create_time', 'between', [$startdata,$enddata])->where(['isback'=>1,'userType'=>$data['type'],'status'=>1])->count('id');
$info['money'] = db('order')->where('iscontrol',0)->where('create_time', 'between', [$startdata,$enddata])->where(['isback'=>1,'userType'=>$data['type'],'status'=>1])->sum('money');
$info['totalMoney'] = db('order')->where('iscontrol',0)->where(['isback'=>1,'userType'=>$data['type'],'status'=>1])->sum('money');
$info['totalPayNum'] = db('order')->where('iscontrol',0)->where(['isback'=>1,'userType'=>$data['type'],'status'=>1])->count('id');
$info['alltotalMoney'] = db('order')->where('iscontrol',0)->where(['isback'=>1,'status'=>1])->sum('money');
$info['alltotalPayNum'] = db('order')->where('iscontrol',0)->where(['isback'=>1,'status'=>1])->count('id');
exit(json_encode(array('status'=>1,'info'=>$info,'txt'=>$txt)));
}
}