package com.ycl.controller.message;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ycl.annotation.LogSave;
|
import com.ycl.api.CommonResult;
|
import com.ycl.bo.AdminUserDetails;
|
import com.ycl.dto.message.MessageParam;
|
import com.ycl.entity.caseHandler.BaseCase;
|
import com.ycl.entity.message.Message;
|
import com.ycl.mapper.user.UmsAdminMapper;
|
import com.ycl.service.message.IMessageService;
|
import com.ycl.vo.message.MessageVO;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 消息管理 前端控制器
|
* </p>
|
*
|
* @author mg
|
* @since 2022-10-08
|
*/
|
@RestController
|
@RequestMapping("/message")
|
@Api(tags = "消息管理")
|
public class MessageController {
|
|
@Autowired
|
private IMessageService iMessageService;
|
@Resource
|
private UmsAdminMapper umsAdminMapper;
|
|
@ApiOperation(value = "发送消息")
|
@RequestMapping(value = "/sendMessage", method = RequestMethod.POST)
|
@ResponseBody
|
@LogSave(operationType = "消息管理", contain = "发送消息")
|
public CommonResult sendMessage(@Validated @RequestBody Message message) {
|
AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
//设置创建人
|
message.setCreateUser(user.getUserId());
|
iMessageService.sendMessage(message);
|
return CommonResult.success("send success");
|
}
|
|
|
@ApiOperation(value = "发送消息通过手机号码")
|
@RequestMapping(value = "/send_message_phone", method = RequestMethod.POST)
|
public CommonResult sendMessageByPhoneNumber(@RequestBody Message message) {
|
AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
//设置创建人
|
message.setCreateUser(user.getUserId());
|
iMessageService.sendMessageByPhone(message);
|
return CommonResult.success("send success");
|
}
|
|
|
@ApiOperation(value = "暂存消息")
|
@PostMapping("/saveMessage")
|
@ResponseBody
|
@LogSave(operationType = "消息管理", contain = "保存消息")
|
public CommonResult saveMessage(@Validated @RequestBody Message message) {
|
AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
//设置创建人
|
message.setCreateUser(user.getUserId());
|
message.setCreateTime(new Date());
|
message.setTargetFrom(umsAdminMapper.selectById(user.getUserId()).getUsername());
|
message.setIsView(0);
|
return CommonResult.success(iMessageService.save(message));
|
}
|
|
@ApiOperation(value = "获取消息分页查询")
|
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
@ResponseBody
|
@LogSave(operationType = "消息管理", contain = "查询消息")
|
public CommonResult<IPage<MessageVO>> list(MessageParam messageParam) {
|
return CommonResult.success(iMessageService.list(messageParam));
|
}
|
|
|
@ApiOperation("获取指定消息")
|
@RequestMapping(value = "/getMessage/{id}", method = RequestMethod.GET)
|
@ResponseBody
|
public CommonResult<Message> getMessage(@PathVariable Long id) {
|
Message message = iMessageService.getById(id);
|
return CommonResult.success(message);
|
}
|
|
@ApiOperation("修改指定消息")
|
@RequestMapping(value = "/update", method = RequestMethod.POST)
|
@ResponseBody
|
@LogSave(operationType = "消息管理", contain = "修改消息")
|
public CommonResult update(@RequestBody Message message) {
|
AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
//设置创建人
|
message.setUpdateUser(user.getUserId());
|
message.setUpdateTime(new Date());
|
boolean success = iMessageService.updateById(message);
|
if (success) {
|
return CommonResult.success(null);
|
}
|
return CommonResult.failed();
|
}
|
|
@ApiOperation(value = "查询我的消息")
|
@GetMapping("/queryMyMessage")
|
public CommonResult<Page<Message>> queryMyMessage(@RequestParam Integer pageSize,
|
@RequestParam Integer current){
|
AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
return CommonResult.success(iMessageService.queryMyMessage(new Page<Message>().setCurrent(current).setSize(pageSize), user.getUserId()));
|
}
|
|
|
@ApiOperation("消息已查看")
|
@PostMapping("/modification_batch")
|
public CommonResult updateBatchMessage(List<Long> ids) {
|
ids.forEach(item -> {
|
Message message = new Message();
|
message.setId(item);
|
message.setIsView(1);
|
iMessageService.updateById(message);
|
});
|
return CommonResult.success("success");
|
}
|
|
@ApiOperation("批量删除消息")
|
@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
|
@ResponseBody
|
@LogSave(operationType = "消息管理", contain = "删除消息")
|
public CommonResult delete(@RequestParam("ids") List<Long> ids) {
|
boolean success = iMessageService.deleteMessages(ids);
|
if (success) {
|
return CommonResult.success(null);
|
}
|
return CommonResult.failed();
|
}
|
}
|