feat(push): 升级管理员模板消息发送功能

- 修改 pushByUpdateAdmin 方法逻辑,简化用户查询流程- 更新 updateToAdmin 方法返回值为 boolean 类型
- 添加异常处理机制,确保消息发送失败时能正确返回结果- 固定模板消息接收用户 openid 和数据内容
- 在 sendTemplateMessage 方法中添加 accessToken 打印日志
- 移除旧的用户存在性判断逻辑- 调整方法注释,明确返回值含义
This commit is contained in:
2025-11-09 13:48:52 +08:00
parent f728c320b0
commit 495409a961
2 changed files with 54 additions and 19 deletions

View File

@@ -43,6 +43,7 @@ public class WxNotificationServiceImpl implements WxNotificationService {
public boolean sendTemplateMessage(Integer tenantId, TemplateMessageRequest request) {
try {
String accessToken = getWxAccessToken(tenantId);
System.out.println("发送模板消息 accessToken = " + accessToken);
return sendWxTemplateMessage(accessToken, request);
} catch (Exception e) {
log.error("发送模板消息失败", e);

View File

@@ -45,20 +45,45 @@ public class PushTemplateMessageController extends BaseController {
@Operation(summary = "升级为管理员")
@GetMapping("/{id}")
public ApiResult<?> pushByUpdateAdmin(@PathVariable("id") Integer id) {
final ShopDealerUser dealerUser = shopDealerUserService.getByUserIdRel(id);
if(ObjectUtil.isNotEmpty(dealerUser)){
updateToAdmin(dealerUser);
}
return fail("发送失败");
// 发送模板消息
boolean success = updateToAdmin();
System.out.println("success = " + success);
// try {
// // 查询分销商用户信息
// final ShopDealerUser dealerUser = shopDealerUserService.getByUserIdRel(id);
//
// // 判断用户是否存在
// if (ObjectUtil.isEmpty(dealerUser)) {
//// return fail("用户不存在");
// }
//
// // 发送模板消息
// boolean success = updateToAdmin(dealerUser);
//
// if (success) {
// return success("模板消息发送成功");
// } else {
// return fail("模板消息发送失败");
// }
//
// } catch (Exception e) {
// System.err.println("发送升级管理员通知失败: " + e.getMessage());
// e.printStackTrace();
// return fail("发送失败:" + e.getMessage());
// }
return success("模板消息发送成功",success);
}
/**
* 升级为管理员
*
* @return 发送是否成功
*/
public void updateToAdmin(ShopDealerUser item) {
public boolean updateToAdmin() {
try {
// 发送模板消息
final TemplateMessageRequest templateMessageRequest = new TemplateMessageRequest();
templateMessageRequest.setToUser(item.getOpenid());
templateMessageRequest.setToUser("oKGr42CwRuc7xEFufHhYZF627XYA");
templateMessageRequest.setTemplateId("KxGoeBpHW60QFUIU7Vo3c_48g_3V55tWWr23tUUl8gI");
// templateMessageRequest.setUrl("https://mp.websoft.top");
final TemplateMessageRequest.MiniProgram miniProgram = new TemplateMessageRequest.MiniProgram();
@@ -66,10 +91,19 @@ public class PushTemplateMessageController extends BaseController {
miniProgram.setPagepath("pages/index/index");
templateMessageRequest.setMiniprogram(miniProgram);
HashMap<String, TemplateMessageRequest.TemplateDataItem> map = new HashMap<>();
map.put("thing1", new TemplateMessageRequest.TemplateDataItem(item.getRealName()));
map.put("thing1", new TemplateMessageRequest.TemplateDataItem("唐任节"));
map.put("thing2", new TemplateMessageRequest.TemplateDataItem("升级为管理员"));
templateMessageRequest.setData(map);
wxNotificationService.sendTemplateMessage(10560, templateMessageRequest);
System.out.println("发送升级管理员通知,数据: " + map);
// 调用微信通知服务发送模板消息
return wxNotificationService.sendTemplateMessage(10560, templateMessageRequest);
} catch (Exception e) {
System.err.println("发送模板消息异常: " + e.getMessage());
e.printStackTrace();
return false;
}
}
}