Selaa lähdekoodia

新增微信消息发送记录

dzx 6 kuukautta sitten
vanhempi
commit
1c96b1fff0

+ 4 - 4
src/main/java/com/xjrsoft/common/utils/WeChatUtil.java

@@ -201,19 +201,19 @@ public class WeChatUtil {
     //                   }
     //           }
     //       }
-    public Boolean sendTemplateMessage(JSONObject object){
+    public String sendTemplateMessage(JSONObject object){
         String active = SpringUtil.getActiveProfile();
         if("dev".equals(active)){
             log.info("测试环境,无法执行数据推送");
-            return false;
+            return null;
         }
         String token = this.getToken(WeChatType.WEWEB);
         String result = HttpUtil.post("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token, JSONObject.toJSONString(object));
         if(!result.contains("ok")){
             log.error(JSONObject.toJSONString(object), result);
         }
-        System.err.printf(result);
-        return true;
+//        System.err.printf(result);
+        return result;
     }
 
     public String getTicket(String type) {

+ 1 - 1
src/main/java/com/xjrsoft/module/oa/utils/SendMessageUtil.java

@@ -186,7 +186,7 @@ public class SendMessageUtil {
             object.put("url", StrUtil.format("{}/xjrsoft/pages/home/home", cpConfig.getDomainApp()));
 //            object.put("client_msg_id", param.getTaskId());
             object.put("data", data);
-            Boolean isSuccess = weChatUtil.sendTemplateMessage(object);
+            weChatUtil.sendTemplateMessage(object);
             //System.err.println(isSuccess);
         }
     }

+ 12 - 1
src/main/java/com/xjrsoft/module/organization/service/impl/WeChatServiceImgl.java

@@ -16,6 +16,8 @@ import com.xjrsoft.module.organization.entity.User;
 import com.xjrsoft.module.organization.service.IDepartmentService;
 import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.organization.service.IWeChatService;
+import com.xjrsoft.module.system.entity.WechatMessageSendLog;
+import com.xjrsoft.module.system.mapper.WechatMessageSendLogMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -30,6 +32,7 @@ public class WeChatServiceImgl implements IWeChatService {
     private final IDepartmentService departmentService;
     private final IUserService userService;
     private List<WeChatDepartDto> deptDepartlist = new ArrayList<>();
+    private final WechatMessageSendLogMapper wechatMessageSendLogMapper;
 
     @Override
     public boolean updateInfo() {
@@ -50,7 +53,15 @@ public class WeChatServiceImgl implements IWeChatService {
         object.put("url", dto.getUrl());
         object.put("client_msg_id", dto.getMsgId());
         object.put("data", dto.getContent());
-        weChatUtil.sendTemplateMessage(object);
+        String result = weChatUtil.sendTemplateMessage(object);
+
+        //新增微信模板消息发送记录
+        wechatMessageSendLogMapper.insert(new WechatMessageSendLog(){{
+            setOpenId(dto.getUserId());
+            setTemplateId(dto.getTemplateId());
+            setResult(result);
+            setParams(dto.getContent().toString());
+        }});
     }
 
     private boolean updatedepart() {

+ 65 - 0
src/main/java/com/xjrsoft/module/system/entity/WechatMessageSendLog.java

@@ -0,0 +1,65 @@
+package com.xjrsoft.module.system.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+
+/**
+ * @title: 微信消息发送记录
+ * @Author dzx
+ * @Date: 2025年5月26日
+ * @Version 1.0
+ */
+@Data
+@TableName("wechat_message_log")
+@ApiModel(value = "微信消息发送记录", description = "微信消息发送记录")
+public class WechatMessageSendLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+
+    @ApiModelProperty("微信消息模板id")
+    private String templateId;
+
+    @ApiModelProperty("发送参数")
+    private String params;
+
+    @ApiModelProperty("接口调用返回参数")
+    private String result;
+
+    @ApiModelProperty("用户的open_id")
+    private String openId;
+
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/system/mapper/WechatMessageSendLogMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.system.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.system.entity.WechatMessageLog;
+import com.xjrsoft.module.system.entity.WechatMessageSendLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @title: 微信消息发送记录
+ * @Author dzx
+ * @Date: 2024年6月11日
+ * @Version 1.0
+ */
+@Mapper
+public interface WechatMessageSendLogMapper extends MPJBaseMapper<WechatMessageSendLog> {
+
+}