Преглед на файлове

Merge branch 'dev-xym-add-gh-interface' into dev-xym-add-alerts

xueyiming преди 3 месеца
родител
ревизия
70aa51e9d4

+ 6 - 0
api-module/src/main/java/com/tzld/piaoquan/api/service/impl/ThirdPartyServiceImpl.java

@@ -146,6 +146,12 @@ public class ThirdPartyServiceImpl implements ThirdPartyService {
             }
         }
 
+        //博虎UV需要去重
+        if (secretEnum == SecretEnum.SECRET_ENUM_10) {
+            List<ReportUvVo> res = new ArrayList<>();
+            return CommonResponse.success(res);
+        }
+
         //10点后可查询前一天数据
         long nowTimestamp = System.currentTimeMillis() / 1000;
         long limitTime = nowTimestamp - 34L * TimeConstant.HOUR;

+ 3 - 0
common-module/src/main/java/com/tzld/piaoquan/growth/common/dao/mapper/AttachmentWithMsgResultMapper.java

@@ -4,6 +4,7 @@ import com.tzld.piaoquan.growth.common.model.po.AttachmentWithMsgResult;
 import com.tzld.piaoquan.growth.common.model.po.AttachmentWithMsgResultExample;
 import java.util.List;
 
+import com.tzld.piaoquan.growth.common.model.po.HistoryMessage;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -32,4 +33,6 @@ public interface AttachmentWithMsgResultMapper {
     int updateByPrimaryKeySelective(AttachmentWithMsgResult record);
 
     int updateByPrimaryKey(AttachmentWithMsgResult record);
+
+    void insertList(@Param("list") List<AttachmentWithMsgResult> list);
 }

+ 28 - 15
common-module/src/main/java/com/tzld/piaoquan/growth/common/service/Impl/MessageAttachmentServiceImpl.java

@@ -67,27 +67,40 @@ public class MessageAttachmentServiceImpl implements MessageAttachmentService {
         List<Long> messageAttachmentIds = new ArrayList<>();
         for (MessageAttachment messageAttachment : messageAttachmentList) {
             MessageAttachmentExample example = new MessageAttachmentExample();
+            MessageAttachmentExample.Criteria criteria = example.createCriteria().andTypeEqualTo(messageAttachment.getType());
             if (messageAttachment.getType().equals(MessageAttachmentTypeEnum.IMAGE.getCode())) {
-                example.createCriteria()
-                        .andTypeEqualTo(messageAttachment.getType())
-                        .andMediaIdEqualTo(messageAttachment.getMediaId())
-                        .andPicUrlEqualTo(messageAttachment.getPicUrl());
+                if (messageAttachment.getMediaId() != null) {
+                    criteria.andMediaIdEqualTo(messageAttachment.getMediaId());
+                }
+                if (messageAttachment.getPicUrl() != null) {
+                    criteria.andPicUrlEqualTo(messageAttachment.getPicUrl());
+                }
             }
             if (messageAttachment.getType().equals(MessageAttachmentTypeEnum.MINI_PROGRAM.getCode())) {
-                example.createCriteria()
-                        .andTypeEqualTo(messageAttachment.getType())
-                        .andAppidEqualTo(messageAttachment.getAppid())
-                        .andMiniprogramVideoIdEqualTo(messageAttachment.getMiniprogramVideoId())
-                        .andStaffIdEqualTo(messageAttachment.getStaffId());
+                if (messageAttachment.getAppid() != null) {
+                    criteria.andAppidEqualTo(messageAttachment.getAppid());
+                }
+                if (messageAttachment.getMiniprogramVideoId() != null) {
+                    criteria.andMiniprogramVideoIdEqualTo(messageAttachment.getMiniprogramVideoId());
+                }
+                if (messageAttachment.getStaffId() != null) {
+                    criteria.andStaffIdEqualTo(messageAttachment.getStaffId());
+                }
             }
 
             if (messageAttachment.getType().equals(MessageAttachmentTypeEnum.LINK.getCode())) {
-                example.createCriteria()
-                        .andTypeEqualTo(messageAttachment.getType())
-                        .andTitleEqualTo(messageAttachment.getTitle())
-                        .andPicUrlEqualTo(messageAttachment.getPicUrl())
-                        .andDescEqualTo(messageAttachment.getDesc())
-                        .andUrlEqualTo(messageAttachment.getUrl());
+                if (messageAttachment.getTitle() != null) {
+                    criteria.andTitleEqualTo(messageAttachment.getTitle());
+                }
+                if (messageAttachment.getPicUrl() != null) {
+                    criteria.andPicUrlEqualTo(messageAttachment.getPicUrl());
+                }
+                if (messageAttachment.getDesc() != null) {
+                    criteria.andDescEqualTo(messageAttachment.getDesc());
+                }
+                if (messageAttachment.getUrl() != null) {
+                    criteria.andUrlEqualTo(messageAttachment.getUrl());
+                }
             }
 
             List<MessageAttachment> messageAttachments = messageAttachmentMapper.selectByExample(example);

+ 15 - 0
common-module/src/main/resources/mapper/AttachmentWithMsgResultMapper.xml

@@ -211,4 +211,19 @@
       update_time = #{updateTime,jdbcType=TIMESTAMP}
     where id = #{id,jdbcType=BIGINT}
   </update>
+
+  <insert id="insertList" parameterType="java.util.List">
+      insert IGNORE into we_com_attachment_with_msg_result
+      (
+      attachment_id,
+      msg_result_id
+      )
+      values
+      <foreach collection="list" item="item" separator=",">
+          (
+          #{item.attachmentId,jdbcType=BIGINT},
+          #{item.msgResultId,jdbcType=BIGINT}
+          )
+      </foreach>
+  </insert>
 </mapper>

+ 15 - 17
offline-module/src/main/java/com/tzld/piaoquan/offline/job/WeComHistoryDataJob.java

@@ -215,7 +215,7 @@ public class WeComHistoryDataJob {
                                         .getJSONObject(MessageAttachmentTypeEnum.IMAGE.getType());
                                 messageAttachment.setMediaId(image.getString("media_id"));
                                 messageAttachment.setPicUrl(image.getString("pic_url"));
-                                messageAttachment.setType(MessageAttachmentTypeEnum.MINI_PROGRAM.getCode());
+                                messageAttachment.setType(MessageAttachmentTypeEnum.IMAGE.getCode());
                                 messageAttachmentList.add(messageAttachment);
                             }
 
@@ -227,7 +227,7 @@ public class WeComHistoryDataJob {
                                 messageAttachment.setPicUrl(link.getString("picurl"));
                                 messageAttachment.setDesc(link.getString("desc"));
                                 messageAttachment.setUrl(link.getString("url"));
-                                messageAttachment.setType(MessageAttachmentTypeEnum.MINI_PROGRAM.getCode());
+                                messageAttachment.setType(MessageAttachmentTypeEnum.LINK.getCode());
                                 messageAttachmentList.add(messageAttachment);
 
                             }
@@ -289,7 +289,7 @@ public class WeComHistoryDataJob {
                                     .addMessageAttachment(messageAttachmentList, createTime);
                         }
                         insertHistoryMessageList(msgId, staffList.get(0), externalUsers, miniprogramRecordList,
-                                createTime, corpId, startTime, endTime, attachmentIds);
+                                createTime, corpId, startTime, endTime, attachmentIds, textContent);
                     }
                 }
                 String nextCursor = jsonObject.getString("next_cursor");
@@ -406,7 +406,8 @@ public class WeComHistoryDataJob {
 
     private void insertHistoryMessageList(String msgId, Staff staff, List<ExternalUser> externalUsers,
                                           List<MiniprogramRecord> miniprogramRecordList,
-                                          Long createTime, Long corpId, Long startTime, Long endTime, List<Long> attachmentIds) {
+                                          Long createTime, Long corpId, Long startTime, Long endTime,
+                                          List<Long> attachmentIds, String textContent) {
         if (CollectionUtils.isEmpty(externalUsers)) {
             return;
         }
@@ -438,6 +439,7 @@ public class WeComHistoryDataJob {
                 SendMsgResult sendMsgResult = new SendMsgResult();
                 sendMsgResult.setMsgId(msgId);
                 sendMsgResult.setUserId(userId);
+                sendMsgResult.setTextContent(textContent);
                 sendMsgResult.setStaffId(staff.getId());
                 if (sendTime != null) {
                     sendMsgResult.setSendTime(new Date(sendTime));
@@ -491,23 +493,19 @@ public class WeComHistoryDataJob {
         if (CollectionUtils.isEmpty(attachmentIds) || CollectionUtils.isEmpty(sendMsgResultIds)) {
             return;
         }
+        List<AttachmentWithMsgResult> list = new ArrayList<>();
         for (Long attachmentId : attachmentIds) {
             for (Long sendMsgResultId : sendMsgResultIds) {
-                AttachmentWithMsgResultExample example = new AttachmentWithMsgResultExample();
-                example.createCriteria().andAttachmentIdEqualTo(attachmentId).andMsgResultIdEqualTo(sendMsgResultId);
-                long l = attachmentWithMsgResultMapper.countByExample(example);
-                if (l == 0) {
-                    try {
-                        AttachmentWithMsgResult attachmentWithMsgResult = new AttachmentWithMsgResult();
-                        attachmentWithMsgResult.setAttachmentId(attachmentId);
-                        attachmentWithMsgResult.setMsgResultId(sendMsgResultId);
-                        attachmentWithMsgResultMapper.insertSelective(attachmentWithMsgResult);
-                    } catch (Exception e) {
-                        log.error("insert error", e);
-                    }
-                }
+                AttachmentWithMsgResult attachmentWithMsgResult = new AttachmentWithMsgResult();
+                attachmentWithMsgResult.setAttachmentId(attachmentId);
+                attachmentWithMsgResult.setMsgResultId(sendMsgResultId);
+                list.add(attachmentWithMsgResult);
             }
         }
+        List<List<AttachmentWithMsgResult>> partition = Lists.partition(list, 2000);
+        for (List<AttachmentWithMsgResult> AttachmentWithMsgResults : partition) {
+            attachmentWithMsgResultMapper.insertList(AttachmentWithMsgResults);
+        }
     }
 
     private String getGroupMsgList(Long startTime, Long endTime, String cursor, Long corpId) throws IOException {