96 lines
3.1 KiB
Java
96 lines
3.1 KiB
Java
package org.chenyon.message;
|
|
|
|
import org.chenyon.user.LoginCheck;
|
|
import org.chenyon.user.UserContext;
|
|
import org.chenyon.wx.AesException;
|
|
import org.rcy.framework.api.entity.PageResult;
|
|
import org.rcy.framework.api.entity.ResultMessage;
|
|
import org.rcy.framework.utils.aes.AESUtils;
|
|
import org.rcy.framework.utils.string.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.xml.parsers.ParserConfigurationException;
|
|
|
|
@RestController
|
|
@RequestMapping("/message")
|
|
public class MessageController {
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(MessageController.class);
|
|
|
|
@Autowired
|
|
private MessageService messageService;
|
|
|
|
@PostMapping("/queryPage")
|
|
@LoginCheck
|
|
public ResultMessage queryPage(@RequestBody MessageQueryCondition condition){
|
|
UserContext userContext = UserContext.get();
|
|
if(userContext == null || userContext.getCusNo() == null) {
|
|
return ResultMessage.success(new PageResult());
|
|
}
|
|
try {
|
|
condition.setMessageReceiver(userContext.getCusNo());
|
|
return ResultMessage.success(messageService.queryPage(condition));
|
|
}catch (Exception e) {
|
|
log.error(e.getMessage(), e);
|
|
}
|
|
return ResultMessage.success();
|
|
}
|
|
|
|
@GetMapping("/detail")
|
|
@LoginCheck
|
|
public ResultMessage detail(@RequestParam("id") Long id){
|
|
try {
|
|
return ResultMessage.success(messageService.detail(id));
|
|
}catch (Exception e) {
|
|
log.error(e.getMessage(), e);
|
|
}
|
|
return ResultMessage.success();
|
|
}
|
|
|
|
@GetMapping("/read")
|
|
@LoginCheck
|
|
public ResultMessage read(@RequestParam("id") Long id){
|
|
try {
|
|
messageService.read(id);
|
|
return ResultMessage.success();
|
|
}catch (Exception e) {
|
|
log.error(e.getMessage(), e);
|
|
}
|
|
return ResultMessage.success();
|
|
}
|
|
|
|
@GetMapping("/countUnread")
|
|
@LoginCheck
|
|
public ResultMessage countUnread(){
|
|
UserContext userContext = UserContext.get();
|
|
if(userContext == null || userContext.getCusNo() == null) {
|
|
return ResultMessage.success(0);
|
|
}
|
|
try {
|
|
return ResultMessage.success(messageService.countUnread(userContext.getCusNo()));
|
|
}catch (Exception e) {
|
|
log.error(e.getMessage(), e);
|
|
}
|
|
return ResultMessage.success(0);
|
|
}
|
|
|
|
|
|
@PostMapping("/sendMessage")
|
|
public ResultMessage sendMessage(@RequestBody MessageVo vo, HttpServletRequest request) throws Exception {
|
|
String internalToken = request.getHeader("internalToken");
|
|
if(StringUtils.isBlank(internalToken)) {
|
|
return ResultMessage.error("无权限");
|
|
}
|
|
String decrypt = AESUtils.decrypt(internalToken, "rent*123");
|
|
if(!"oa".equals(decrypt)){
|
|
return ResultMessage.error("无权限");
|
|
}
|
|
messageService.send(vo);
|
|
return ResultMessage.success();
|
|
}
|
|
}
|