From c402e614bacc5999e7df19ee56b233e7cfe92683 Mon Sep 17 00:00:00 2001
From: 彭雪彬 <1724387007@qq.com>
Date: Thu, 04 Sep 2025 12:30:46 +0800
Subject: [PATCH] 骑手上传送达图片
---
oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java | 96 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 89 insertions(+), 7 deletions(-)
diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java
index 0df458c..4ce11f6 100644
--- a/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java
+++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java
@@ -1,16 +1,25 @@
package com.oying.modules.message.rest;
+import com.alibaba.fastjson2.JSONObject;
import com.oying.annotation.Log;
import com.oying.modules.message.domain.MessageSystem;
+import com.oying.modules.message.domain.dto.SendMessageRequestDto;
import com.oying.modules.message.service.MessageSystemService;
import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria;
+import com.oying.modules.system.domain.User;
+import com.oying.modules.system.domain.UserSubscribe;
+import com.oying.utils.HttpRequest;
+import lombok.Data;
import lombok.RequiredArgsConstructor;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -18,10 +27,12 @@
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.io.IOException;
+import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.oying.utils.PageResult;
-
+import com.oying.modules.security.service.WeiXinService;
+import com.oying.utils.R;
/**
* @author 李萌
* @date 2025-05-20
@@ -32,7 +43,11 @@
@RequestMapping("/api/message/messageSystem")
public class MessageSystemController {
+ private static final Logger log = LoggerFactory.getLogger(MessageSystemController.class);
private final MessageSystemService messageSystemService;
+ private final WeiXinService weiXinService;
+
+
// @ApiOperation("导出数据")
// @GetMapping(value = "/download")
@@ -44,9 +59,10 @@
@GetMapping
@ApiOperation("查询消息_系统")
@PreAuthorize("@el.check('messageSystem:list')")
- public ResponseEntity<PageResult<MessageSystem>> queryMessageSystem(MessageSystemQueryCriteria criteria){
+ public R<PageResult<MessageSystem>> queryMessageSystem(MessageSystemQueryCriteria criteria){
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
- return new ResponseEntity<>(messageSystemService.queryAll(criteria,page),HttpStatus.OK);
+// return new ResponseEntity<>(messageSystemService.queryAll(criteria,page),HttpStatus.OK);
+ return R.success(messageSystemService.queryAll(criteria,page));
}
// @PostMapping
@@ -79,14 +95,15 @@
//查询一条系统消息
@GetMapping("/{id}")
@ApiOperation("查询一条系统消息")
- public ResponseEntity<MessageSystem> getMessageSystem(@PathVariable Integer id){
+ public R<MessageSystem> getMessageSystem(@PathVariable Integer id){
MessageSystem messageSystem = messageSystemService.getById(id);
- return new ResponseEntity<>(messageSystem,HttpStatus.OK);
+// return new ResponseEntity<>(messageSystem,HttpStatus.OK);
+ return R.success(messageSystem);
}
//插入一条系统消息 带两个参数start与end
@PostMapping()
@ApiOperation("插入一条系统消息")
- public ResponseEntity<Object> insertMessageSystem(
+ public R<Object> insertMessageSystem(
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
@@ -98,8 +115,73 @@
// 调用服务层保存数据
messageSystemService.save(messageSystem);
- return new ResponseEntity<>(HttpStatus.OK);
+// return new ResponseEntity<>(HttpStatus.OK);
+ return R.success("插入成功");
}
+ /**
+ * POST 该接口用于发送订阅消息。
+ * data 请求参数
+ * openid 用户openId
+ * templateId 订阅模板id
+ * page 小程序跳转链接
+ */
+// public void sendMessage(Map<String, Object> data, String openid, String templateId, String page) {
+// JSONObject jsonObject = new JSONObject();
+// if (wxEnabled) {
+// String url = weiXinProperties.getSendMessage();
+// url = url.replace("{accessToken}", getStableAccessToken());
+// Map<String, Object> map = getSendMessageDto(data, openid, templateId, page);
+// jsonObject = HttpRequest.exchangeJsonObject(HttpMethod.POST, url, map);
+// } else {
+// jsonObject.put("message", "测试环境");
+// }
+// User user = userService.findByOpenid(openid);
+// UserSubscribe sub = new UserSubscribe();
+// sub.setSubType(templateId);
+// sub.setUserId(user.getId());
+// sub.setOpenid(openid);
+// sub.setUsername(user.getUsername());
+// sub.setSendMessage(JSONObject.toJSONString(data));
+// sub.setSubMessage(jsonObject.toJSONString());
+// subscribeService.save(sub);
+// }
+ //调用微信发送消息接口sendMessage
+
+ //示例
+// {
+// "touser": "OPENID",
+// "template_id": "TEMPLATE_ID",
+// "page": "index",
+// "data":{
+// "phrase3": {
+// "value": "审核通过"
+// },
+// "name1": {
+// "value": "订阅"
+// },
+// "date2": {
+// "value": "2019-12-25 09:42"
+// }
+// }
+// }
+//todo 发送订阅消息 数据库暂未存储
+ @PostMapping("/sendMessage")
+ @ApiOperation("发送订阅消息")
+ public R<SendMessageRequestDto> sendMessage(@RequestBody SendMessageRequestDto request){
+ //打印request
+ //SendMessageRequestDto(touser=OPENID, template_id=TEMPLATE_ID, page=index, data={date2={"value":"2019-12-25 09:42"}, phrase3={"value":"审核通过"}, name1={"value":"订阅"}})
+ log.info("request:{}", request);
+ try {
+ weiXinService.sendMessage(request.getData(), request.getTouser(), request.getTemplate_id(), request.getPage());
+ return R.success(request);
+ } catch (Exception e) {
+ // 如果捕获到异常,返回错误信息
+ log.error("发送订阅消息失败", e);
+ return R.fail(request,"发送订阅消息失败 用真实数据:" + e.getMessage());
+ }
+ }
+
+
}
--
Gitblit v1.9.3