why.xingtongworld.com项目
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.
 
 
 
 
 

504 lines
20 KiB

<?php
// +----------------------------------------------------------------------
// | YFCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2015-2016 http://www.rainfer.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: rainfer <81818832@qq.com>
// +----------------------------------------------------------------------
namespace app\mobile\controller;
use think\Db;
class Index extends Base
{
public function video(){
$cid=input('cid',1);
$this->assign('cid',$cid);
return $this->view->fetch();
}
/**
* 艺术资产托管申请
*/
public function subscription(){
$params=request()->param();
$query=$this->_checksub($params);
if($query)$this->success('提交成功');
else $this->error('提交失败');
}
/**
* 检查是否允许托管
* @return string
*/
public function tg_check()
{
if(!session('hid')) return json(['code'=>0,'msg'=>'未登录','url'=>url('Login/index',['jump'=>urlencode(url('activity/index'))])]);
return json(['code'=>1,'url'=>url('activity/index')]);
}
/**
* 检查是否允许留言
* @return string
*/
public function fb_check()
{
if(!session('hid')) return json(['code'=>0,'msg'=>'未登录','url'=>url('Login/index',['jump'=>urlencode(url('Center/feedback'))])]);
return json(['code'=>1,'url'=>url('Center/feedback')]);
}
public function index()
{
$kind=4;
$childs=config("tuoguan.childs");
$parents=config('tuoguan.parents');
$state=input('state','','intval');
$states=[1=>['name'=>'预披露'],2=>['name'=>'正式披露'],['name'=>'成交公示'],['name'=>'艺术资产转让']];
$page=input('page',1);
$mprice=input('mprice');
$sprice=input('sprice');
if($mprice)$mprice=intval($mprice);
if($sprice)$sprice=intval($sprice);
$keyword=input('keyword','');
$cid=input('cid','','intval');
$kid=input('kid','','intval');
$showtype=input('showtype',0,'intval');
$yearsort=input('yearsort','asc');
$pricesort=input('pricesort','asc');
$timesort=input('timesort','asc');
if(!in_array($yearsort,['asc','desc']))$yearsort='asc';
if(!in_array($pricesort,['asc','desc']))$pricesort='asc';
if(!in_array($timesort,['asc','desc']))$timesort='asc';
$this->assign('yearsort',$yearsort);
$this->assign('pricesort',$pricesort);
$this->assign('timesort',$timesort);
$this->assign('showtype',$showtype);
$this->assign('page',$page);
$this->assign('keyword',$keyword);
$this->assign('mprice',$mprice);
$this->assign('sprice',$sprice);
$this->assign('state',$state);
if($cid||$state){
if($state){
$categorys=[];
$where=['c_status'=>1,'c_kind'=>$kind];
$where['c_state']=$state;
$stateslist=[1=>'预披露','正式披露','成交公示','艺术资产转让'];
$parent=isset($stateslist[$state])?$stateslist[$state]:'';
foreach ($states as $k=>$v){
if($k!=$state)unset($states[$k]);
}
}else{
$categorys=isset($childs[$cid])?$childs[$cid]:[];
$where=['c_status'=>1,'c_kind'=>$kind];
$where['c_parent']=array('like',[$cid.',%','%,'.$cid.'%',$cid],'OR');
foreach ($categorys as $k=>$v){
$where['c_child']=array('like',[$k.',%','%,'.$k.'%',$k],'OR');
$check=Db::name('finance')->where($where)->count();
if($check==0)unset($categorys[$k]);
}
if(isset($where['c_cid']))unset($where['c_cid']);
if(isset($where['c_child']))unset($where['c_child']);
$parent=isset($parents[$cid])?$parents[$cid]:'';
}
$this->assign('categorys',$categorys);
if($kid){
$where['c_child']=array('like',[$kid.',%','%,'.$kid.'%',$kid],'OR');
}
$db=Db::name('finance')->where($where);
if($keyword){
$db->where('c_name|c_code|c_content','like','%'.$keyword.'%');
}
if($mprice){
$db->where('c_price','<=',$mprice);
}
if($sprice){
$db->where('c_price','>=',$sprice);
}
$order=[];
$order['c_year']=$yearsort;
$order['c_price']=$pricesort;
$order['c_time']=$timesort;
$order['c_order']='desc';
$products=$db->order($order)->paginate(15,false,['query'=>get_query()]);
$show = $products->render();
if($products){
$products=$products->toArray();
$products=$products['data'];
foreach ($products as $k=>$item){
if($item['c_jump']){
if(strpos(strtolower($item['c_jump']),'http')===false){
$products[$k]['c_jump']='http://'.$item['c_jump'];
}
}
$products[$k]['c_name']=$this->replaceTitle($item['c_name']);
$products[$k]['c_content']=$this->replaceTitle($item['c_content']);
}
}
$this->assign('parent',$parent);
$this->assign('products',$products);
$this->assign('show',$show);
}else{
$list=[];
if(count($states)){
$where=['c_status'=>1,'c_kind'=>$kind];
foreach ($states as $id=>$item){
if($id==1){
unset($states[$id]);
continue;
}
$where['c_state']=$id;
$db=Db::name('finance')->where($where);
$products=$db->order('c_order desc,c_time desc')->limit(5)->select();
foreach ($products as $k=>$item){
if($item['c_jump']){
if(strpos(strtolower($item['c_jump']),'http')===false){
$products[$k]['c_jump']='http://'.$item['c_jump'];
}
}
$products[$k]['c_name']=$this->replaceTitle($item['c_name']);
$products[$k]['c_content']=$this->replaceTitle($item['c_content']);
}
$states[$id]['products']=$products;
}
}
if($kind==4&&$cid==''){
$row=[];
$id=11;
$row['id']=$id;
$row['name']=$parents[$id];
$childrow=isset($childs[$id])?$childs[$id]:[];
$row['has']=count($childrow)?1:0;
if(count($childrow)){
foreach ($childrow as $k=>$v){
$where['c_child']=array('like',[$k.',%','%,'.$k.'%',$k],'OR');
$check=Db::name('finance')->where($where)->count();
if($check==0)unset($childrow[$k]);
}
}
$row['childs']=$childrow;
$where=['c_status'=>1,'c_kind'=>$kind];
$where['c_parent']=array('like',[$id.',%','%,'.$id.'%',$id],'OR');
$db=Db::name('finance')->where($where)->order('c_order desc,c_time desc');
if($keyword){
$db->where('c_name|c_code','like','%'.$keyword.'%');
}
$products=$db->limit(10)->select();
foreach ($products as $k=>$item){
if($item['c_jump']){
if(strpos(strtolower($item['c_jump']),'http')===false){
$products[$k]['c_jump']='http://'.$item['c_jump'];
}
}
$products[$k]['c_name']=$this->replaceTitle($item['c_name']);
$products[$k]['c_content']=$this->replaceTitle($item['c_content']);
}
$row['products']=$products;
array_push($list, $row);
$row=[];
$row['id']='all';
$row['name']="专区";
$childrow=[];
$parentrow=[];
foreach ($parents as $k=>$jow){
if($k>4&&$k<11){
$childrow[$k]=$jow;
}else if($k>11){
$parentrow[$k]=$jow;
}
}
if(count($childrow)){
foreach ($childrow as $k=>$v){
$where['c_parent']=array('like',[$k.',%','%,'.$k.'%',$k],'OR');
$check=Db::name('finance')->where($where)->count();
if($check==0)unset($childrow[$k]);
}
}
$row['has']=count($childrow)?1:0;
$row['childs']=$childrow;
$where=['c_status'=>1,'c_kind'=>$kind];
$where['c_parent']=array('<>',10);
$db=Db::name('finance')->where($where)->order('c_order desc,c_time desc');
if($keyword){
$db->where('c_name|c_code','like','%'.$keyword.'%');
}
$products=$db->limit(10)->select();
foreach ($products as $k=>$item){
if($item['c_jump']){
if(strpos(strtolower($item['c_jump']),'http')===false){
$products[$k]['c_jump']='http://'.$item['c_jump'];
}
}
$products[$k]['c_name']=$this->replaceTitle($item['c_name']);
$products[$k]['c_content']=$this->replaceTitle($item['c_content']);
$cparent=$item['c_parent'];
$cparent=explode(",",$cparent);
$products[$k]['c_parent']=count($cparent)?$cparent[0]:'';
}
$row['products']=$products;
array_push($list, $row);
foreach ($parentrow as $k=>$item){
$id=$k;
$row=[];
$row['id']=$id;
$row['name']=$item;
$childrow=isset($childs[$id])?$childs[$id]:[];
$row['has']=count($childrow)?1:0;
if(count($childrow)){
foreach ($childrow as $k=>$v){
$where['c_child']=array('like',[$k.',%','%,'.$k.'%',$k],'OR');
$check=Db::name('finance')->where($where)->count();
if($check==0)unset($childrow[$k]);
}
}
$row['childs']=$childrow;
$where=['c_status'=>1,'c_kind'=>$kind];
$where['c_parent']=array('like',[$id.',%','%,'.$id.'%',$id],'OR');
$db=Db::name('finance')->where($where)->order('c_order desc,c_time desc');
if($keyword){
$db->where('c_name|c_code','like','%'.$keyword.'%');
}
$products=$db->limit(10)->select();
foreach ($products as $k=>$item){
if($item['c_jump']){
if(strpos(strtolower($item['c_jump']),'http')===false){
$products[$k]['c_jump']='http://'.$item['c_jump'];
}
}
$products[$k]['c_name']=$this->replaceTitle($item['c_name']);
$products[$k]['c_content']=$this->replaceTitle($item['c_content']);
}
$row['products']=$products;
array_push($list, $row);
}
$this->assign('menulist',$list);
}else{
if($kind==4&&$cid==0){
foreach ($parents as $k=>$item){
if($k<5||$k>10){unset($parents[$k]);}
}
}
foreach ($parents as $id=>$item){
$row=[];
$row['id']=$id;
$row['name']=$item;
$childrow=isset($childs[$id])?$childs[$id]:[];
$row['has']=count($childrow)?1:0;
$where=['c_status'=>1,'c_kind'=>$kind];
$where['c_parent']=array('like',[$id.',%','%,'.$id.'%',$id],'OR');
if(count($childrow)){
foreach ($childrow as $k=>$v){
$where['c_child']=array('like',[$k.',%','%,'.$k.'%',$k],'OR');
$check=Db::name('finance')->where($where)->count();
if($check==0)unset($childrow[$k]);
}
if(isset($where['c_cid']))unset($where['c_cid']);
if(isset($where['c_child']))unset($where['c_child']);
}
$row['childs']=$childrow;
$db=Db::name('finance')->where($where)->order('c_order desc,c_time desc');
if($keyword){
$db->where('c_name|c_code','like','%'.$keyword.'%');
}
$products=$db->limit(10)->select();
foreach ($products as $k=>$item){
if($item['c_jump']){
if(strpos(strtolower($item['c_jump']),'http')===false){
$products[$k]['c_jump']='http://'.$item['c_jump'];
}
}
$products[$k]['c_name']=$this->replaceTitle($item['c_name']);
$products[$k]['c_content']=$this->replaceTitle($item['c_content']);
}
$row['products']=$products;
array_push($list, $row);
}
}
if($kind==4&&$cid==0){
$this->assign('menulist',$list);
}
$this->assign('list',$list);
}
$this->assign('states',$states);
$this->assign('childs',$childs);
$this->assign('parents',$parents);
$this->assign('keyword',$keyword);
$this->assign('kind',$kind);
$this->assign('cid',$cid);
$this->assign('kid',$kid);
$banners=Db::name('link')->where(['lk_status'=>1,'lk_cid'=>15])->order('lk_order desc')->select();
$this->assign('banners',$banners);
return $this->view->fetch();
}
protected function replaceTitle($title=""){
$keys=["","唐代","","北宋","南宋","宋-元","","元代","","金代","","元-明","","明代","大明万历年制款","清中期","清同治","清康熙","清嘉庆","清光绪","宋金","元末明初","清中期","大清雍正年制款","大清乾隆年制款","清末","清初",
"元-明初","南北朝","明永乐","明宣德","明成化","明崇祯","明晚清初","民国","宋代","金(或元)","雍正年制款","大清","乾隆年制款","中和堂(款)","金元","乾隆御制","明代弘治年制","清代","大清雍正","大清同治年制款",
"明早期","宣德","崇祯","新石器时代","春秋-战国","战国-汉","","汉代","古汉代","西汉","东汉","清代乾隆款","乾隆","北魏","明末","清末","唐-五代","明以前","康熙款",
"商代","洪武","","商周","年制","大年制","","万历","康熙","嘉靖","雍正","光绪","(大年制楷书款)","万历",",光绪(康熙款)","北,","内府",",万历",",雍正",",康熙",",嘉靖",
"春秋战国","五代","战国","永乐","大弘治","正德","大正德","枢府","老玉","中期","早期","明,","(清)","元·","(元)","","古玉","宋·","金(或元)·","清乾隆·","明永乐·","明万历·",
"南宋·","北宋·","“大清光绪”","(早期)","(清光绪款)","柜台面议"];
arsort($keys);
$title=str_replace($keys,"",$title);
return $title;
}
public function search(){
$cid=input('cid','','intval');
$this->assign('cid',$cid);
$kid=input('kid','','intval');
$this->assign('kid',$kid);
$banners=Db::name('link')->where(['lk_status'=>1,'lk_cid'=>15])->order('lk_order desc')->select();
$this->assign('banners',$banners);
$kind=input('kind','','intval');
$page=input('page',1);
$mprice=input('mprice');
$sprice=input('sprice');
if($sprice){
$sprice=str_replace(',', '', $sprice);
$sprice=intval($sprice);
}
if($mprice){
$mprice=str_replace(',', '', $mprice);
$mprice=intval($mprice);
}
$keyword=input('keyword','');
$showtype=input('showtype',0,'intval');
$yearsort=input('yearsort','asc');
$pricesort=input('pricesort','asc');
$timesort=input('timesort','desc');
if(!in_array($yearsort,['asc','desc']))$yearsort='asc';
if(!in_array($pricesort,['asc','desc']))$pricesort='asc';
if(!in_array($timesort,['asc','desc']))$timesort='desc';
$this->assign('yearsort',$yearsort);
$this->assign('pricesort',$pricesort);
$this->assign('timesort',$timesort);
$this->assign('showtype',$showtype);
$this->assign('page',$page);
$this->assign('keyword',$keyword);
$this->assign('mprice',$mprice);
$this->assign('sprice',$sprice);
$this->assign('kind',$kind);
if($keyword)$keyword=$this->replaceTitle($keyword);
$where=['c_status'=>1,'c_kind'=>$kind];
$db=Db::name('finance')->where($where);
if($keyword){
$db->where('c_name|c_code|c_content','like','%'.$keyword.'%');
}
if($mprice){
$db->where('convert(`c_price`,SIGNED)<='.$mprice);
}
if($sprice){
$db->where('convert(`c_price`,SIGNED)>='.$sprice);
}
$order=['c_order'=>'desc','c_time'=>$timesort];
if($kind==4){
$db->order("c_year ".$yearsort);
}
$query=$db->order("c_price+0 ".$pricesort);
if($kind==4){
$order=[];
$order['c_time']=$timesort;
$order['c_order']='desc';
}
$query=$query->order($order);
$products=$query->paginate(20,false,['query'=>get_query(),'type'=>'bootstrap','var_page' =>'page']);
$show = $products->render();
if($products){
$products=$products->toArray();
$products=$products['data'];
foreach ($products as $k=>$item){
if($item['c_jump']){
if(strpos(strtolower($item['c_jump']),'http')===false){
$products[$k]['c_jump']='http://'.$item['c_jump'];
}
}
$products[$k]['c_name']=$this->replaceTitle($item['c_name']);
$products[$k]['c_content']=$this->replaceTitle($item['c_content']);
}
}
$this->assign('products',$products);
$this->assign('show',$show);
return $this->view->fetch();
}
public function finance(){
$c_id=input('c_id',0,'intval');
$cid=input('cid',0,'intval');
$c_kind=input('kind',0,'intval');
$c_type=input('parent','','intval');
$c_state=input('state','','intval');
$title='文化金融';
if($c_kind>3)$title='艺术金融';
$this->assign('title',$title);
$list=Db::name('finance')->where(['c_status'=>1,'c_id'=>$c_id])->find();
$childs=config("tuoguan.childs");
$showtypes=config("tuoguan.parents");
if(empty($c_type)){
$parents=explode(',',$list['c_parent']);
if(count($parents)){
$c_type=array_pop($parents);
}
}
$pic_list = array_filter(explode(",", $list['c_photos']));
$list['photos']=$pic_list;
if(empty($c_type)){
$parents=explode(',',$list['c_parent']);
if(count($parents)){
$c_type=array_pop($parents);
}
}
$parent=isset($showtypes[$c_type])?$showtypes[$c_type]:'';
if($c_state){
$states=[1=>'预披露','正式披露','成交公示','艺术资产转让'];
$parent=isset($states[$c_state])?$states[$c_state]:'';
}
$this->assign('c_parent',$c_type);
$this->assign('kind',$c_kind);
$this->assign('parent',$parent);
$this->assign('list',$list);
$this->assign('state',$c_state);
$this->assign('cid',$cid);
return $this->view->fetch();
}
}