| | |
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | public class AitaokerApiUtil {
|
| | | |
| | | public static String APP_KEY = "1077080250";
|
| | | public static String SECRET_KEY = "7c6118bd-7aa5-65b8-c6d4-058728e9446f";
|
| | | |
| | | // 请求连接
|
| | | private static String SERVER_URL = "http://router.itaoke.org/api";
|
| | | |
| | | |
| | |
|
| | |
|
| | | private static String baseRequest(String method, Map<String, String> param) {
|
| | |
| | | baseMap.put(key, param.get(key));
|
| | | }
|
| | | }
|
| | | |
| | | url+= "sign=" + getSign(baseMap);
|
| | | |
| | | return HttpUtil.post(url, param);
|
| | | }
|
| | |
|
| | |
| | | * @return
|
| | | */
|
| | | public static QrcodeLoginDTO getQrcodeMaclogin(int robotId) {
|
| | | // 请求参数
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("robot_id", robotId +"");
|
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.qrcode.maclogin", map);
|
| | | |
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | resultJson = resultJson.optJSONObject("data");
|
| | | if (resultJson != null) {
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 检查是否扫码
|
| | | * @param robotId
|
| | | * @return
|
| | | */
|
| | | public static Boolean getQrcodeStatus(int robotId) {
|
| | | // 请求参数
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("robot_id", robotId +"");
|
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.qrcode.status", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | resultJson = resultJson.optJSONObject("data");
|
| | | if (resultJson != null && !StringUtil.isNullOrEmpty(resultJson.optString("status"))) {
|
| | | int optInt = resultJson.optInt("status");
|
| | | if (optInt == 1) {
|
| | | return true;
|
| | | } else {
|
| | | return false;
|
| | | }
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | * 检查是否登陆(真正的登录接口)
|
| | |
| | | map.put("robot_id", robotId +"");
|
| | | map.put("uuid", wId);
|
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.check.maclogin", map);
|
| | | String result = baseRequest("itaoke.robot.async.mlogin", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | resultJson = resultJson.optJSONObject("data");
|
| | | if (resultJson != null && !StringUtil.isNullOrEmpty(resultJson.optString("wcId"))) {
|
| | | Type type = new TypeToken<QrcodeLoginDTO>() {}.getType();
|
| | | return new Gson().fromJson(resultJson.toString(), type);
|
| | | if ("0000".equals(resultJson.optString("status"))) {
|
| | | resultJson = resultJson.optJSONObject("data");
|
| | | if (resultJson != null) {
|
| | | Type type = new TypeToken<QrcodeLoginDTO>() {}.getType();
|
| | | return new Gson().fromJson(resultJson.toString(), type);
|
| | | }
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
| | | * @return
|
| | | */
|
| | | public static boolean onlineCheck(int robotId) {
|
| | | // 请求参数
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("robot_id", robotId +"");
|
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.check.online", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | if ("0000".equals(resultJson.optString("code"))) {
|
| | | return true;
|
| | | if ("0000".equals(resultJson.optString("status"))) {
|
| | | resultJson = resultJson.optJSONObject("data");
|
| | | if (resultJson != null) {
|
| | | return resultJson.optBoolean("isOnline");
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.force.offline", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | if ("0000".equals(resultJson.optString("code"))) {
|
| | | if ("0000".equals(resultJson.optString("status"))) {
|
| | | return true;
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 掉线重连
|
| | | * @param robotId 机器人id
|
| | | * @return
|
| | | */
|
| | | public static boolean loseReconnet(int robotId) {
|
| | | // 请求参数
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("robot_id", robotId +"");
|
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.lose.reconnet", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | if ("0000".equals(resultJson.optString("code"))) {
|
| | | return true;
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 创建机器人
|
| | |
| | |
|
| | |
|
| | | /**
|
| | | * 获取好友-群列表
|
| | | * 获取群列表
|
| | | * @param robotId
|
| | | * @return
|
| | | */
|
| | |
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("robot_id", robotId +"");
|
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.get.contract", map);
|
| | | String result = baseRequest("itaoke.robot.room.list", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | if ("0000".equals(resultJson.optString("code"))) {
|
| | | resultJson = resultJson.optJSONObject("data");
|
| | | // 订阅号
|
| | | //JSONArray publicArray = resultJson.optJSONArray("public");
|
| | | |
| | | // 好友列表
|
| | | //JSONArray friendArray = resultJson.optJSONArray("friend");
|
| | | |
| | | // 群列表
|
| | | JSONArray groupArray = resultJson.optJSONArray("group");
|
| | | if ("0000".equals(resultJson.optString("status"))) {
|
| | | JSONArray groupArray = resultJson.optJSONArray("data");
|
| | | if (groupArray != null && groupArray.size() > 0) {
|
| | | List<WeiXinGroupDTO> listGroup = new ArrayList<>();
|
| | | Type type = new TypeToken<RobotInfoDTO>() {}.getType();
|
| | | Gson gson = new Gson();
|
| | | for (int i = 0 ;i < groupArray.size(); i ++) {
|
| | | listGroup.add(gson.fromJson(groupArray.get(i).toString(), type));
|
| | | }
|
| | | Type type = new TypeToken<ArrayList<WeiXinGroupDTO>>() {
|
| | | }.getType();
|
| | | List<WeiXinGroupDTO> goodsList = new Gson().fromJson(groupArray.toString(), type);
|
| | | return goodsList;
|
| | | }
|
| | | }
|
| | | return null;
|
| | |
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.macsend.circle", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | if ("1000".equals(resultJson.optString("code"))) {
|
| | | if ("0000".equals(resultJson.optString("status"))) {
|
| | | resultJson = resultJson.optJSONObject("data");
|
| | | return resultJson.optString("id");
|
| | | if (resultJson != null) {
|
| | | resultJson = resultJson.optJSONObject("object");
|
| | | if (resultJson != null) {
|
| | | return resultJson.optString("id");
|
| | | }
|
| | | }
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
| | | map.put("wx_id", wxId);
|
| | | map.put("msg_id", msgId);
|
| | | map.put("content", content);
|
| | | map.put("comment_id", "0");
|
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.macsend.circlecomment", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | if ("1000".equals(resultJson.optString("code"))) {
|
| | | if ("0000".equals(resultJson.optString("status"))) {
|
| | | return true;
|
| | | }
|
| | | return false;
|
| | |
| | | // 请求结果
|
| | | String result = baseRequest("itaoke.robot.macsend.text", map);
|
| | | JSONObject resultJson = JSONObject.fromObject(result);
|
| | | if (resultJson.optInt("code") == 1000) {
|
| | | if ("0000".equals(resultJson.optString("status"))) {
|
| | | return true;
|
| | | }
|
| | | return false;
|