Files
qichenweapp/src/main/java/org/chenyon/message/MessageController.java
2026-04-21 20:04:59 +08:00

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();
}
}