2019-09-06 23:53:10 +08:00

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);
}
}
}