Public
Authored by hanfaxiang 😬

GOD-WXMP

外部链接

用到的实体类:

请求VO

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PlatformRequestVo {
    /**
     * 验证sysKey 如果不正确直接抛弃
     */
    private String sysKey;
    private Integer eventKey;
    private String eventVal;
    private String openId;
    private String unionId;
    private Integer platformId;
    private PlatformCallbackEventType eventType;
    private List<String> openIds;
    private List<String> unionIds;
    private WxUserInfoVo user;
    private List<WxUserInfoVo> userList;


    public Integer getEventKey() {
        return this.eventType == null ? null : eventType.getKey();
    }

    public String getEventVal() {
        return this.eventType == null ? null : eventType.getVal();
    }
}

返回Bo

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PlatformRequestBo {
    private String sysKey;
    private List<Info> list;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Info {
        private String unionId;
        private String openId;
        private Integer platformId;
    }
}

事件枚举

public enum PlatformCallbackEventType {
    GET_PLATFORM_USER_ID(100, "获取平台userId关联"),
    USER_SUBSCRIBE(101, "新增关注用户"),
    USER_UNSUBSCRIBE(102, "用户取关");

    private Integer key;
    private String val;

    PlatformCallbackEventType(Integer key, String val) {
        this.key = key;
        this.val = val;
    }

    public Integer getKey() {
        return key;
    }

    public String getVal() {
        return val;
    }

    public static Map<Integer, String> keyValMap = Arrays.stream(PlatformCallbackEventType.values())
            .collect(Collectors.toMap(PlatformCallbackEventType::getKey, PlatformCallbackEventType::getVal));

    public static String getValByKey(Integer key) {
        return keyValMap.get(key);
    }
}

1.初始化数据通过openId或unionId换取业务平台userId

请求数据:

请求数据10个一组 在初始化的时候进行请求 请求数据中,openIds不可能为空,unionIds可能为null或空 在未绑定公众平台的情况下没有unionIds

openIds 和 unionIds 对应的是相同的用户,平台根据自己需要遍历不同数组

{
  "eventKey": 100,
  "eventType": "GET_PLATFORM_USER_ID",
  "eventVal": "获取平台userId关联",
  "sysKey": "6BF4BCF10C384EDA882EC894A55D7000",
  "openIds": [
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
      "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg"
  ],
  "unionIds": [
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck",
      "o-M621EvT5GFcXJ-q60Re2drI0ck"
  ]
}

返回数据

返回数据 unionId openId 至少存在一个 platformId 不可为空

{
  "sysKey": "6BF4BCF10C384EDA882EC894A55D7000",
  "list": [
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      },
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      }
  ]
}

2.用户取消关注

请求数据

{
  "eventKey": 102,
  "eventType": "USER_UNSUBSCRIBE",
  "eventVal": "用户取关",
  "openId": "oef4F1bQebTmlAoUfVtbuulPAft0",
  "sysKey": "6BF4BCF10C384EDA882EC894A55D7000",
  "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck"
}

返回数据

{
  "code": 200,
  "message": "OK"
}

3.用户关注

请求数据

{
  "eventKey": 101,
  "eventType": "USER_SUBSCRIBE",
  "eventVal": "新增关注用户",
  "sysKey": "6BF4BCF10C384EDA882EC894A55D7000",
  "user": {
    "city": "",
    "country": "芬兰",
    "groupId": 0,
    "headImgUrl": "http://thirdwx.qlogo.cn/mmopen/7wLwFBHlJRIs1VeJG0m9ia99Koyjic8Pz0EXlw2p4nApzphSiayuvUNrTFic4Hialt3ibWIYcgD00LzwCYf8evF5vQvUFoLAE55a0S/132",
    "language": "zh_CN",
    "nickName": "金勇杰",
    "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
    "province": "",
    "remark": "",
    "sex": 1,
    "subscribe": 1,
    "subscribeScene": "ADD_SCENE_SEARCH",
    "subscribeTime": 1578546543,
    "tagIds": "[]",
    "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
    "wxMpBindId": 2
  }
}

返回数据

返回数据 unionId openId 至少存在一个 platformId 不可为空


{
  "sysKey": "6BF4BCF10C384EDA882EC894A55D7000",
  "list": [
      {
        "unionId": "o-M621EvT5GFcXJ-q60Re2drI0ck",
        "openId": "oef4F1VFCKXJhNGiRF0ZLsF-Uaqg",
        "platformId": 123
      }
  ]
}
Edited
TEST 4 Bytes
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment