123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- package com.ym.mec.teacher.controller;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import java.io.IOException;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import com.ym.mec.auth.api.client.SysUserFeignService;
- import com.ym.mec.auth.api.entity.SysUser;
- import com.ym.mec.biz.dal.entity.SysMessage;
- import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
- import com.ym.mec.biz.service.SysMessageService;
- import com.ym.mec.common.controller.BaseController;
- import com.ym.mec.common.exception.BizException;
- import com.ym.mec.common.page.PageInfo;
- import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
- import com.ym.mec.util.validator.CommonValidator;
- @RestController
- @Api(tags = "消息服务")
- @RequestMapping("sysMessage")
- public class SysMessageController extends BaseController {
- @Autowired
- private SysMessageService sysMessageService;
- @Autowired
- private SysUserFeignService sysUserFeignService;
- @ApiOperation("获取所有消息列表")
- @GetMapping(value = "list")
- public Object list(SysMessageQueryInfo queryInfo) throws IOException {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed(HttpStatus.FORBIDDEN, "请登录");
- }
- queryInfo.setUserId(sysUser.getId());
- queryInfo.setType(3);
- PageInfo<SysMessage> pageInfo = sysMessageService.queryPage(queryInfo);
- return succeed(pageInfo);
- }
- @ApiOperation("一键已读")
- @PostMapping("batchSetRead")
- public Object batchSetRead() {
- int status = 1;
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed(HttpStatus.FORBIDDEN, "请登录");
- }
- return sysMessageService.updateStatus(sysUser.getId(), status) > 0 ? succeed() : failed();
- }
- @ApiOperation("设置已读")
- @PostMapping("setRead")
- public Object setRead(Long id) {
- int status = 1;
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed(HttpStatus.FORBIDDEN, "请登录");
- }
- return sysMessageService.updateOneStatus(id, status) > 0 ? succeed() : failed();
- }
- @ApiOperation(value = "查询用户未读消息条数")
- @GetMapping("/queryCountOfUnread")
- public Object queryCountOfUnread() {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("请重新登录");
- }
- return succeed(sysMessageService.queryCountOfUnread(sysUser.getId()));
- }
- /*
- @ApiOperation(value = "发送短信验证码")
- @PostMapping("/sendSmsCode")
- public Object sendSmsCode(String sendCodeType, String mobileNo) {
- SysUser sysUser;
- if (StringUtils.isBlank(mobileNo)) {
- sysUser = sysUserFeignService.queryUserInfo();
- } else {
- sysUser = sysUserFeignService.queryUserByMobile(mobileNo);
- }
- if (sysUser == null) {
- return failed(HttpStatus.FORBIDDEN, "请登录");
- }
- Integer userId = sysUser.getId();
- mobileNo = sysUser.getPhone();
- MessageType messageType = MessageType.getMessageType(sendCodeType);
- if (messageType == null) {
- throw new BizException("消息类型参数错误");
- }
- if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
- throw new BizException("请输入正确的手机号");
- }
- sysMessageService.sendSecurityCode(MessageSender.YIMEI, userId, MessageSendMode.SMS, messageType, mobileNo);
- return succeed();
- }
- @ApiOperation(value = "发送短信验证码")
- @PostMapping("/noAuth/sendSmsCode")
- public Object noAuthSendSmsCode(String sendCodeType, String mobileNo) {
- MessageType messageType = MessageType.getMessageType(sendCodeType);
- if (messageType == null) {
- throw new BizException("消息类型参数错误");
- }
- if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
- throw new BizException("请输入正确的手机号");
- }
- // sysMessageService.sendSecurityCode(MessageSender.YIMEI, userId, MessageSendMode.SMS, messageType, mobileNo);
- return succeed();
- }*/
- @ApiOperation(value = "发送消息")
- @PostMapping("/sendMessage")
- public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url) {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed(HttpStatus.FORBIDDEN, "请登录");
- }
- Integer userId = sysUser.getId();
- String mobileNo = sysUser.getPhone();
- if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
- throw new BizException("请输入正确的手机号");
- }
- sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url);
- return succeed();
- }
- }
|