wangxiaoming 6 anni fa
parent
commit
053c2124c2

+ 1 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/channel/AttenStatistics.java

@@ -16,7 +16,7 @@ public class AttenStatistics  implements  Serializable{
     private Integer channelType;
     //关注人的Openid
     private String attenStatisticsOpenId;
-    //状态 1:关注
+    //状态  1:关注的人扫码  2:未关注的人扫码关注 3:其他
     private Integer attenStatisticsStatus;
     //创建时间'
     private Date attenStatisticsCreateTime;

+ 1 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/attenStatisticsMapper.xml

@@ -32,7 +32,7 @@
                 AND t.channel_type = #{channelType}
             </if >
             <if test="attenStatisticsOpenId != null and attenStatisticsOpenId != ''">
-                AND t.atten_statistics_open_id  like  CONCAT ('%',#{attenStatisticsOpenId},'%')
+                AND t.atten_statistics_open_id  = #{attenStatisticsOpenId}
             </if >
             <if test="attenStatisticsStatus != null ">
                 AND t.atten_statistics_status = #{attenStatisticsStatus}

+ 22 - 12
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/wechat/WeChatServiceImpl.java

@@ -169,9 +169,9 @@ public class WeChatServiceImpl implements WeChatService {
 				String eventType = requestMap.get("Event");// 事件类型
 				String eventKey = requestMap.get("EventKey");
 
-				for(String s:requestMap.keySet()){
-					logger.info("===事件推送:" + s +"="+ requestMap.get(s));
-				}
+//				for(String s:requestMap.keySet()){
+//					logger.info("===事件推送:" + s +"="+ requestMap.get(s));
+//				}
 
 
 				// 事件列表:CLICK(点击自定义菜单)/subscribe(关注)/unsubscribe(取消关注)/SCAN(扫描二维码)/LOCATION(上报地理位置)
@@ -346,18 +346,28 @@ public class WeChatServiceImpl implements WeChatService {
 		System.out.println("更改之后的值:"+senceid);
 
 		AttenStatistics attenStatistics = new AttenStatistics();
-		attenStatistics.setChannelType(1);
-		attenStatistics.setChannelId(Integer.valueOf(senceid));
 		attenStatistics.setAttenStatisticsOpenId(fromUserName);
-		attenStatistics.setAttenStatisticsStatus(1);
-		Integer flag = attenStatisticsService.save(attenStatistics);
-		if(flag > 0){
-			System.out.println("添加渠道"+ senceid +"统计成功,openid:"+ fromUserName);
-		}else{
-			System.out.println("添加渠道"+ senceid +"统计失败,openid:"+ fromUserName);
+		attenStatistics.setChannelId(Integer.valueOf(senceid));
+		attenStatistics.setChannelType(1);
+		List<AttenStatistics>  attenStatisticsList = attenStatisticsService.getAttenStatisticsList(attenStatistics);
+		if(attenStatisticsList == null || attenStatisticsList.size() < 1){
+			String eventType = requestMap.get("Event");// 事件类型
+			if(eventType.equals("SCAN")){
+				attenStatistics.setAttenStatisticsStatus(1);
+			}else if(eventType.equals("subscribe")){	//扫码订阅
+				attenStatistics.setAttenStatisticsStatus(2);
+			}else{
+				attenStatistics.setAttenStatisticsStatus(3);
+			}
+			Integer flag = attenStatisticsService.save(attenStatistics);
+			if(flag > 0){
+				System.out.println("添加渠道"+ senceid +"统计数据成功,openid为:"+ fromUserName);
+			}else{
+				System.out.println("添加渠道"+ senceid +"统计数据失败,openid为:"+ fromUserName);
+			}
 		}
-		status.setCountext("");
 		status.setFlag(false);
+		status.setCountext(ResultInfo.subDefaultResponseText);
 		return status;
 	}