Commit 80c850e6 by 肖康

Merge branch 'feature/20251222/notice' of…

Merge branch 'feature/20251222/notice' of http://git.ichunt.net/liyang/CMS-Message into feature/20251222/notice
parents 2088790d aab5cb67
...@@ -33,6 +33,14 @@ class MessageApiController extends Controller ...@@ -33,6 +33,14 @@ class MessageApiController extends Controller
exit(); exit();
} }
private function setJson()
{
header('Content-Type: application/json; charset=utf-8');
// 可选:禁止浏览器缓存 JSON 响应(接口场景推荐)
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
}
//获取系统更新信息列表 //获取系统更新信息列表
private function systemUpdateList($request) private function systemUpdateList($request)
...@@ -106,6 +114,7 @@ class MessageApiController extends Controller ...@@ -106,6 +114,7 @@ class MessageApiController extends Controller
private function businessNoticeList($request) private function businessNoticeList($request)
{ {
$this->setJson();
$data = $request->all(); $data = $request->all();
try{ try{
$returnData = (new SystemNoticeLogic())->businessNoticeList($data); $returnData = (new SystemNoticeLogic())->businessNoticeList($data);
...@@ -120,6 +129,7 @@ class MessageApiController extends Controller ...@@ -120,6 +129,7 @@ class MessageApiController extends Controller
//保存系统更新信息 //保存系统更新信息
private function saveBusinessNotice($request) private function saveBusinessNotice($request)
{ {
$this->setJson();
$data = $request->all(); $data = $request->all();
try{ try{
(new SystemNoticeLogic())->saveBusinessNotice($data); (new SystemNoticeLogic())->saveBusinessNotice($data);
...@@ -131,6 +141,8 @@ class MessageApiController extends Controller ...@@ -131,6 +141,8 @@ class MessageApiController extends Controller
private function showBusinessNotice($request) private function showBusinessNotice($request)
{ {
$this->setJson();
$data = $request->all(); $data = $request->all();
try{ try{
(new SystemNoticeLogic())->showBusinessNotice($data); (new SystemNoticeLogic())->showBusinessNotice($data);
...@@ -142,6 +154,8 @@ class MessageApiController extends Controller ...@@ -142,6 +154,8 @@ class MessageApiController extends Controller
private function delBusinessNotice($request) private function delBusinessNotice($request)
{ {
$this->setJson();
$data = $request->all(); $data = $request->all();
try{ try{
(new SystemNoticeLogic())->delBusinessNotice($data); (new SystemNoticeLogic())->delBusinessNotice($data);
...@@ -153,9 +167,10 @@ class MessageApiController extends Controller ...@@ -153,9 +167,10 @@ class MessageApiController extends Controller
private function topBusinessNotice($request) private function topBusinessNotice($request)
{ {
$this->setJson();
$data = $request->all(); $data = $request->all();
try{ try{
(new SystemNoticeLogic())->delBusinessNotice($data); (new SystemNoticeLogic())->topBusinessNotice($data);
$this->Export(0, '操作成功'); $this->Export(0, '操作成功');
}catch(\Exception $e){ }catch(\Exception $e){
$this->Export(400, $e->getMessage()); $this->Export(400, $e->getMessage());
......
...@@ -34,10 +34,11 @@ class NoticeController extends Controller ...@@ -34,10 +34,11 @@ class NoticeController extends Controller
{ {
$data = $request->all(); $data = $request->all();
try{ try{
$data['show_status'] = 1;
$returnData = (new SystemNoticeLogic())->businessNoticeList($data); $returnData = (new SystemNoticeLogic())->businessNoticeList($data);
$this->codeExport(0, '公告获取成功',$returnData); return $this->codeExport(0, '公告获取成功',$returnData);
}catch(\Exception $e){ }catch(\Exception $e){
$this->codeExport(1, $e->getMessage()); return $this->codeExport(1, $e->getMessage());
} }
} }
...@@ -46,9 +47,9 @@ class NoticeController extends Controller ...@@ -46,9 +47,9 @@ class NoticeController extends Controller
$data = $request->all(); $data = $request->all();
try{ try{
$returnData = (new SystemNoticeLogic())->saveBusinessNotice($data); $returnData = (new SystemNoticeLogic())->saveBusinessNotice($data);
$this->codeExport(0, '保存成功',$returnData); return $this->codeExport(0, '保存成功',$returnData);
}catch(\Exception $e){ }catch(\Exception $e){
$this->codeExport(1, $e->getMessage()); return $this->codeExport(1, $e->getMessage());
} }
} }
...@@ -63,7 +64,6 @@ class NoticeController extends Controller ...@@ -63,7 +64,6 @@ class NoticeController extends Controller
} }
private function codeExport($errcode=0,$errmsg='成功',$data=''){ private function codeExport($errcode=0,$errmsg='成功',$data=''){
echo json_encode(['code'=>$errcode,'msg'=>$errmsg,'data'=>$data]); return response()->json(['code'=>$errcode,'msg'=>$errmsg,'data'=>$data]);
exit();
} }
} }
\ No newline at end of file
...@@ -85,7 +85,7 @@ Route::get ('/notice/getNotice','NoticeController@getNotice'); ...@@ -85,7 +85,7 @@ Route::get ('/notice/getNotice','NoticeController@getNotice');
Route::get('/sync/businessNoticeList','NoticeController@businessNoticeList'); Route::get('/sync/businessNoticeList','NoticeController@businessNoticeList');
Route::get('/sync/saveBusinessNotice','NoticeController@saveBusinessNotice'); Route::post('/sync/saveBusinessNotice','NoticeController@saveBusinessNotice');
......
...@@ -404,11 +404,11 @@ class SystemNoticeLogic ...@@ -404,11 +404,11 @@ class SystemNoticeLogic
foreach ($returnData['data'] as &$value){ foreach ($returnData['data'] as &$value){
$value['create_time_cn'] = date('Y-m-d H:i:s',$value['create_time']); $value['create_time_cn'] = date('Y-m-d H:i:s',$value['create_time']);
$value['system_id_cn'] = BusinessNoticeModel::$systemIdCn[$value['system_id']]??''; $value['system_id_cn'] = array_get(BusinessNoticeModel::$systemIdCn,$value['system_id'],'');
$value['type_cn'] = BusinessNoticeModel::$typeCn[$value['type']]??'';; $value['type_cn'] = array_get(BusinessNoticeModel::$typeCn,$value['type'],'');;
$value['show_status_cn'] = BusinessNoticeModel::$showCn[$value['show_status']]??''; $value['show_status_cn'] = array_get(BusinessNoticeModel::$showCn,$value['show_status'],'');
$value['top_status_cn'] = BusinessNoticeModel::$topCn[$value['top_status']]??''; $value['top_status_cn'] = array_get(BusinessNoticeModel::$topCn,$value['top_status'],'');
$value['source_cn'] = BusinessNoticeModel::$sourceCn[$value['source']]??''; $value['source_cn'] = array_get(BusinessNoticeModel::$sourceCn,$value['source'],'');
} }
return $returnData; return $returnData;
...@@ -417,16 +417,21 @@ class SystemNoticeLogic ...@@ -417,16 +417,21 @@ class SystemNoticeLogic
public function saveBusinessNotice($requestData) public function saveBusinessNotice($requestData)
{ {
$id = $requestData['business_notice_id']??0; $id = isset($requestData['business_notice_id'])?$requestData['business_notice_id']:0;
$model = new BusinessNoticeModel(); $model = new BusinessNoticeModel();
$time = time(); $time = time();
$field = ['info','type','show_status','system_id']; $field = ['info','type','show_status','system_id','title'];
$data = []; $data = [];
$user = app('request')->user;
foreach ($field as $value){ foreach ($field as $value){
if (isset($requestData[$value])){
$data[$value] = $requestData[$value]; $data[$value] = $requestData[$value];
} }
}
if (empty($id)){ if (empty($id)){
$data['create_name'] = $user->name;
$data['create_id'] = $user->userId;
$data['create_time'] = $time; $data['create_time'] = $time;
$model->insertGetId($data); $model->insertGetId($data);
}else{ }else{
...@@ -441,21 +446,26 @@ class SystemNoticeLogic ...@@ -441,21 +446,26 @@ class SystemNoticeLogic
public function delBusinessNotice($requestData) public function delBusinessNotice($requestData)
{ {
$idArr = explode(',',$requestData['business_notice_id']); $idArr = explode(',',$requestData['business_notice_id']);
(new BusinessNoticeModel())->where('business_notice_id',$idArr)->delete(); (new BusinessNoticeModel())->whereIn('business_notice_id',$idArr)->delete();
return []; return [];
} }
public function showBusinessNotice($requestData) public function showBusinessNotice($requestData)
{ {
$idArr = explode(',',$requestData['business_notice_id']); $idArr = explode(',',$requestData['business_notice_id']);
(new BusinessNoticeModel())->where('business_notice_id',$idArr)->update(['show_status'=>$requestData['show_status']]); (new BusinessNoticeModel())->whereIn('business_notice_id',$idArr)->update(['show_status'=>$requestData['show_status']]);
return []; return [];
} }
public function topBusinessNotice($requestData) public function topBusinessNotice($requestData)
{ {
$idArr = explode(',',$requestData['business_notice_id']); $idArr = explode(',',$requestData['business_notice_id']);
(new BusinessNoticeModel())->where('business_notice_id',$idArr)->update(['top_status'=>$requestData['top_status']]); if($requestData['top_status']){
if (BusinessNoticeModel::where('top_status',1)->count('business_notice_id') >= 5){
throw new \Exception('当前全系统置顶已满5条,暂时无法置顶新公告,请先取消一条现有置顶 !');
}
}
(new BusinessNoticeModel())->whereIn('business_notice_id',$idArr)->update(['top_status'=>$requestData['top_status']]);
return []; return [];
} }
......
...@@ -23,14 +23,14 @@ class BusinessNoticeModel extends Model ...@@ -23,14 +23,14 @@ class BusinessNoticeModel extends Model
//类型1最新补货,2最新入库,3优势货源,4个人消息 //类型1最新补货,2最新入库,3优势货源,4个人消息
static public $typeCn = [1=>'最新补货',2=>'最新入库',3=>'优势货源',4=>'个人消息']; static public $typeCn = [1=>'最新补货',2=>'最新入库',3=>'优势货源',4=>'个人消息'];
static public $showCn = [0=>'显示',1=>'隐藏']; static public $showCn = [1=>'显示',0=>'隐藏'];
static public $topCn = [0=>'置顶',1=>'非置顶']; static public $topCn = [1=>'置顶',0=>'非置顶'];
static public $sourceCn = [0=>'系统生成',1=>'手动新增']; static public $sourceCn = [0=>'系统生成',1=>'手动新增'];
public function getWhereObj($data) public function getWhereObj($data)
{ {
$obj = self::orderBy('business_notice_id','desc'); $obj = self::orderBy('top_status','desc')->orderBy('business_notice_id','desc');
foreach ($data as $key=>$val){ foreach ($data as $key=>$val){
if ($val === '')continue; if ($val === '')continue;
switch ($key){ switch ($key){
...@@ -45,6 +45,9 @@ class BusinessNoticeModel extends Model ...@@ -45,6 +45,9 @@ class BusinessNoticeModel extends Model
case 'update_title': case 'update_title':
case 'update_content': case 'update_content':
$obj = $obj->where($key,'like','%'.$val.'%');break; $obj = $obj->where($key,'like','%'.$val.'%');break;
case 'create_time':
list($start, $end) = explode('~', $val);
$obj = $obj->where($key,'>=',strtotime($start))->where($key,'<=',strtotime($end) + 86399);break;
case 'create_time_begin': case 'create_time_begin':
$obj = $obj->where('create_time','>',strtotime($val));break; $obj = $obj->where('create_time','>',strtotime($val));break;
case 'create_time_end': case 'create_time_end':
......
...@@ -358,7 +358,7 @@ layui.use(['form', 'table', 'laydate', 'layedit'], function () { ...@@ -358,7 +358,7 @@ layui.use(['form', 'table', 'laydate', 'layedit'], function () {
offset: '250px', offset: '250px',
move: false move: false
}, function (i) { }, function (i) {
Request('/msgapi/topBusinessNotice', 'POST', { business_notice_id:data.business_notice_id,show_status:data.top_status==1?0:1 }, function (res) { Request('/msgapi/topBusinessNotice', 'POST', { business_notice_id:data.business_notice_id,top_status:data.top_status==1?0:1 }, function (res) {
if (res.errcode == 0) { if (res.errcode == 0) {
layer.msg('操作成功', { shift: 0, time: 2000 }, function () { layer.msg('操作成功', { shift: 0, time: 2000 }, function () {
layer.closeAll(); layer.closeAll();
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">创建时间</label> <label class="layui-form-label">创建时间</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="create_time_begin" placeholder="请选择创建时间" autocomplete="off" class="layui-input" id="create_time" /> <input type="text" name="create_time" placeholder="请选择创建时间" autocomplete="off" class="layui-input" id="create_time" />
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment