229 lines
3.3 KiB
PHP
Executable File
229 lines
3.3 KiB
PHP
Executable File
<?php
|
|
|
|
namespace wstmart\admin\model;
|
|
|
|
use think\Db;
|
|
|
|
/**
|
|
|
|
* ============================================================================
|
|
|
|
* 广告业务处理
|
|
|
|
*/
|
|
|
|
class ads extends Base{
|
|
|
|
/**
|
|
|
|
* 分页
|
|
|
|
*/
|
|
|
|
public function pageQuery(){
|
|
|
|
$where = [];
|
|
|
|
$where['a.dataFlag'] = 1;
|
|
|
|
$pt = (int)input('positionType');
|
|
|
|
$apId = (int)input('adPositionId');
|
|
|
|
if($pt>0)$where['a.positionType'] = $pt;
|
|
|
|
if($apId!=0)$where['a.adPositionId'] = $apId;
|
|
|
|
|
|
|
|
|
|
|
|
return Db::name('ads')->alias('a')
|
|
|
|
->join('ad_positions ap','a.positionType=ap.positionType AND a.adPositionId=ap.positionId AND ap.dataFlag=1','left')
|
|
|
|
->field('adId,adName,adPositionId,adURL,adStartDate,adEndDate,adPositionId,adFile,adClickNum,ap.positionName,a.adSort')
|
|
|
|
->where($where)->order('adId desc')
|
|
|
|
->order('adSort','asc')
|
|
|
|
->paginate(input('limit/d'));
|
|
|
|
}
|
|
|
|
public function getById($id){
|
|
|
|
return $this->get(['adId'=>$id,'dataFlag'=>1]);
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 新增
|
|
|
|
*/
|
|
|
|
public function add(){
|
|
|
|
$data = input('post.');
|
|
|
|
$data['createTime'] = date('Y-m-d H:i:s');
|
|
|
|
$data['adSort'] = (int)$data['adSort'];
|
|
|
|
WSTUnset($data,'adId');
|
|
|
|
Db::startTrans();
|
|
|
|
try{
|
|
|
|
$result = $this->validate('ads.add')->allowField(true)->save($data);
|
|
|
|
if(false !== $result){
|
|
|
|
WSTClearAllCache();
|
|
|
|
$id = $this->adId;
|
|
|
|
//启用上传图片
|
|
|
|
WSTUseImages(1, $id, $data['adFile']);
|
|
|
|
Db::commit();
|
|
|
|
return WSTReturn("新增成功", 1);
|
|
|
|
}else{
|
|
|
|
return WSTReturn($this->getError(),-1);
|
|
|
|
}
|
|
|
|
}catch (\Exception $e) {
|
|
|
|
Db::rollback();errLog($e);
|
|
|
|
}
|
|
|
|
return WSTReturn('新增失败',-1);
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 编辑
|
|
|
|
*/
|
|
|
|
public function edit(){
|
|
|
|
$data = input('post.');
|
|
|
|
$data['adSort'] = (int)$data['adSort'];
|
|
|
|
WSTUnset($data,'createTime');
|
|
|
|
Db::startTrans();
|
|
|
|
try{
|
|
|
|
WSTUseImages(1, (int)$data['adId'], $data['adFile'], 'ads-pic', 'adFile');
|
|
|
|
$result = $this->validate('ads.edit')->allowField(true)->save($data,['adId'=>(int)$data['adId']]);
|
|
|
|
if(false !== $result){
|
|
|
|
WSTClearAllCache();
|
|
|
|
Db::commit();
|
|
|
|
return WSTReturn("编辑成功", 1);
|
|
|
|
}else{
|
|
|
|
return WSTReturn($this->getError(),-1);
|
|
|
|
}
|
|
|
|
}catch (\Exception $e) {
|
|
|
|
Db::rollback();errLog($e);
|
|
|
|
}
|
|
|
|
return WSTReturn('编辑失败',-1);
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 删除
|
|
|
|
*/
|
|
|
|
public function del(){
|
|
|
|
$id = (int)input('post.id/d');
|
|
|
|
Db::startTrans();
|
|
|
|
try{
|
|
|
|
$result = $this->setField(['adId'=>$id,'dataFlag'=>-1]);
|
|
|
|
WSTUnuseImage('ads','adFile',$id);
|
|
|
|
if(false !== $result){
|
|
|
|
WSTClearAllCache();
|
|
|
|
Db::commit();
|
|
|
|
return WSTReturn("删除成功", 1);
|
|
|
|
}
|
|
|
|
}catch (\Exception $e) {
|
|
|
|
Db::rollback();errLog($e);
|
|
|
|
return WSTReturn('删除失败',-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 修改广告排序
|
|
|
|
*/
|
|
|
|
public function changeSort(){
|
|
|
|
$id = (int)input('id');
|
|
|
|
$adSort = (int)input('adSort');
|
|
|
|
$result = $this->setField(['adId'=>$id,'adSort'=>$adSort]);
|
|
|
|
if(false !== $result){
|
|
|
|
WSTClearAllCache();
|
|
|
|
return WSTReturn("操作成功", 1);
|
|
|
|
}else{
|
|
|
|
return WSTReturn($this->getError(),-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|