package com.stylefeng.guns.modular.api;
|
|
import com.stylefeng.guns.modular.system.service.IDriverService;
|
import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
|
import com.stylefeng.guns.modular.system.warpper.SystemNoticeWarpper;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 个人系统消息和公告控制器
|
*/
|
@Api
|
@RestController
|
@RequestMapping("/api/systemNotice")
|
public class SystemNoticeController {
|
|
@Autowired
|
private ISystemNoticeService systemNoticeService;
|
|
@Autowired
|
private IDriverService driverService;
|
|
|
|
|
@ResponseBody
|
@PostMapping("/queryNoReadNoticeNum")
|
@ApiOperation(value = "获取未读的消息数量", tags = {"司机端-首页"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<BaseWarpper> queryNoReadNoticeNum(HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
int num = systemNoticeService.queryNoReadNoticeNum(uid);
|
BaseWarpper baseWarpper = new BaseWarpper();
|
baseWarpper.setNumber(num);
|
return ResultUtil.success(baseWarpper);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
/**
|
* 获取系统消息和公告
|
* @param type
|
* @param pageNum
|
* @param size
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/queryNotices")
|
@ApiOperation(value = "获取系统消息和公告", tags = {"司机端-消息"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "数据类型(1=公告,2=系统消息)", name = "type", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
|
@ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil<List<SystemNoticeWarpper>> queryNotices(Integer language, Integer type, Integer pageNum, Integer size, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
List<Map<String, Object>> list = systemNoticeService.queryList(language, type, pageNum, size, uid);
|
return ResultUtil.success(SystemNoticeWarpper.getSystemNoticeWarpper(list));
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 阅读操作
|
* @param id
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/readSystemNotice")
|
@ApiOperation(value = "阅读系统消息和公告操作", tags = {"司机端-消息"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "消息id", name = "id", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil readSystemNotice(Integer id, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
systemNoticeService.readSystemNotice(id, uid);
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 删除单个消息或公告
|
* @param id
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/delSystemNotice")
|
@ApiOperation(value = "删除单个消息或公告", tags = {"司机端-消息"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "消息id", name = "id", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil delSystemNotice(Integer id, HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
systemNoticeService.delSystemNotice(id, uid);
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 清除所有消息或公告
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/clearSystemNotice")
|
@ApiOperation(value = "清除所有消息或公告", tags = {"司机端-消息"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil clearSystemNotice(HttpServletRequest request){
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
systemNoticeService.clearSystemNotice(uid);
|
return ResultUtil.success();
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
}
|