孙永军 2 years ago
parent
commit
9eb6d52e48

+ 4 - 3
src/main/java/com/sxtvs/open/api/clue/controller/WxClueController.java

@@ -1,5 +1,6 @@
 package com.sxtvs.open.api.clue.controller;
 
+import com.sxtvs.open.api.clue.entity.WxMessage;
 import com.sxtvs.open.core.advice.NoAPIResponse;
 import com.sxtvs.open.core.sls.AliyunLogger;
 import jakarta.annotation.Resource;
@@ -29,10 +30,10 @@ public class WxClueController {
 
     @PostMapping(value = "wx_create")
     @NoAPIResponse
-    public void wxCreate(@RequestBody String wxXml,
+    public void wxCreate(@RequestBody WxMessage wxMessage,
                          HttpServletResponse response) throws IOException {
-        System.out.println(wxXml);
-        logger.info("wx xml", wxXml);
+
+        logger.info("wx xml", wxMessage);
         response.getWriter().write("OK");
 
     }

+ 57 - 0
src/main/java/com/sxtvs/open/api/clue/entity/WxMessage.java

@@ -0,0 +1,57 @@
+package com.sxtvs.open.api.clue.entity;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@Data
+//指定xml的根节点
+@XmlRootElement(name = "xml")
+//指定Xml映射的生效范围
+@XmlAccessorType(XmlAccessType.FIELD)
+public class WxMessage {
+    /**
+     * 开发者微信号
+     */
+    //指定Xml映射节点名
+    @XmlElement(name = "ToUserName")
+    protected String toUserName;
+    /**
+     * 发送方账号(一个OpenID)
+     */
+    @XmlElement(name = "FromUserName")
+    protected String fromUserName;
+    /**
+     * 消息类型,文本为text
+     */
+    @XmlElement(name = "MsgType")
+    protected String msgType;
+    /**
+     * 消息id,64位整型
+     */
+    @XmlElement(name = "MsgId")
+    protected String msgId;
+    /**
+     * 消息的数据ID(消息如果来自文章时才有)
+     */
+    @XmlElement(name = "MsgDataId")
+    protected String msgDataId;
+    /**
+     * 多图文时第几篇文章,从1开始(消息如果来自文章时才有)
+     */
+    @XmlElement(name = "Idx")
+    protected String idx;
+    /**
+     * 消息创建时间 (整型)
+     */
+    @XmlElement(name = "CreateTime")
+    protected long createTime;
+    /**
+     * 文本消息内容
+     */
+    @XmlElement(name = "Content")
+    private String content;
+}

+ 17 - 4
src/main/java/com/sxtvs/open/api/clue/service/impl/ClueServiceImpl.java

@@ -8,10 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sxtvs.open.api.clue.dto.ClueDTO;
 import com.sxtvs.open.api.clue.dto.VerifyDTO;
-import com.sxtvs.open.api.clue.entity.Clue;
-import com.sxtvs.open.api.clue.entity.ClueInfo;
-import com.sxtvs.open.api.clue.entity.ClueReply;
-import com.sxtvs.open.api.clue.entity.Info;
+import com.sxtvs.open.api.clue.entity.*;
 import com.sxtvs.open.api.clue.mapper.ClueMapper;
 import com.sxtvs.open.api.clue.service.IClueService;
 import com.sxtvs.open.core.advice.BizException;
@@ -25,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.ZoneOffset;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -125,4 +123,19 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements IC
         return info;
     }
 
+    public void wxCreate(WxMessage wxMessage){
+
+        Clue clue = new Clue();
+        clue.setSource(2);
+        clue.setSiteId(3L);
+        clue.setAscription(3);
+        clue.setTitle(wxMessage.getContent());
+        clue.setSummary(wxMessage.getContent());
+        clue.setAuthor(wxMessage.getFromUserName());
+        clue.setAddTime(LocalDateTime.ofEpochSecond(wxMessage.getCreateTime(), 0, ZoneOffset.ofHours(8)));
+
+        save(clue);
+
+    }
+
 }