All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hp.message.interfaces.IRetrofitApiService Maven / Gradle / Ivy

There is a newer version: 1.2.1
Show newest version
package com.hp.message.interfaces;

import com.github.lianjiatech.retrofit.spring.boot.annotation.RetrofitClient;
import com.github.lianjiatech.retrofit.spring.boot.interceptor.LogLevel;
import com.github.lianjiatech.retrofit.spring.boot.interceptor.LogStrategy;
import com.hp.message.annotation.ApiSign;
import com.hp.message.convert.FastJsonConverterFactory;
import com.hp.message.domain.ApiResp;
import com.hp.message.domain.param.AddEquiParam;
import com.hp.message.domain.result.*;
import retrofit2.http.*;

import java.util.List;

/**
 * @author 尚肖磊
 * @create 2021-06-22 17:01
 * @Description: 平台API接口类定义
 */
@RetrofitClient(
        baseUrl = "${hp.iot.api.api-host}",
        converterFactories = FastJsonConverterFactory.class,
        logLevel = LogLevel.INFO,
        logStrategy = LogStrategy.BASIC)
@ApiSign(include = {"/api/sdk/**"})
public interface IRetrofitApiService {

    /**
     * 新增项目接口
     *
     * @param projectName 项目名称
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/project/addProject")
    ApiResp addProject(@Field("projectName") int projectName);

    /**
     * 修改项目名称接口
     *
     * @param projectId   项目id
     * @param projectName 修改后项目名称
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/project/alterProject")
    ApiResp alterProject(@Field("projectId") int projectId, @Field("projectName") String projectName);

    /**
     * 删除项目
     *
     * @param projectId 项目id
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/project/removeProjectById")
    ApiResp removeProjectById(@Field("projectId") int projectId);

    /**
     * 获取应用 绑定项目列表接口
     *
     * @return
     */
    @GET("api/sdk/project/getAppProjectList")
    ApiResp> getAppProjectList();

    /**
     * 修改项目透传状态接口
     *
     * @param projectId      项目id
     * @param enableTransfer 透传状态 true 开启 false 关闭
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/project/alterProjectTransferStatus")
    ApiResp alterProjectTransferStatus(@Field("projectId") int projectId, @Field("enableTransfer") boolean enableTransfer);

    /**
     * 解绑应用与项目接口
     *
     * @param projectId 项目id
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/project/unbindProject")
    ApiResp unbindProject(@Field("projectId") int projectId);


    /**
     * 获取分组列表接口
     *
     * @param projectId 项目id
     * @param groupName 查询分组名称(模糊匹配)
     * @return
     */
    @GET("api/sdk/group/getGroupList")
    ApiResp> getGroupList(@Query("projectId") int projectId, @Query("groupName") String groupName);

    /**
     * 创建项目分组接口
     *
     * @param projectId 项目id
     * @param groupName 项目分组名称
     * @param groupSort 项目分组排序值
     * @param groupDesc 项目分组描述
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/group/addGroup")
    ApiResp addGroup(@Field("projectId") int projectId, @Field("groupName") String groupName,
                     @Field("groupSort") int groupSort, @Field("groupDesc") String groupDesc);

    /**
     * 修改项目分组接口
     *
     * @param groupId   项目分组id
     * @param groupName 项目分组名称
     * @param groupSort 项目分组排序值
     * @param groupDesc 项目分组描述
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/group/alterGroup")
    ApiResp alterGroup(@Field("groupId") int groupId, @Field("groupName") String groupName,
                       @Field("groupSort") int groupSort, @Field("groupDesc") String groupDesc);

    /**
     * 删除项目分组
     *
     * @param groupId 项目分组id
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/group/removeGroupById")
    ApiResp removeGroupById(@Field("groupId") int groupId);


    /**
     * 获取设备详情接口
     *
     * @param equiId 设备id
     * @return
     */
    @GET("api/sdk/equi/getEquiInfo")
    ApiResp getEquiInfo(@Query("equiId") int equiId);

    /**
     * 获取设备列表接口
     *
     * @param projectId  项目id
     * @param groupId    项目分组id
     * @param equiStatus 设备状态
     * @return
     */
    @GET("api/sdk/equi/getEquiList")
    ApiResp> getEquiList(@Query("projectId") int projectId,
                                          @Query("groupId") int groupId,
                                          @Query("equiStatus") int equiStatus);

    /**
     * 获取设备状态列表接口
     *
     * @return
     */
    @GET("api/sdk/equi/getEquiWorkStatusList")
    ApiResp> getEquiWorkStatusList();

    /**
     * 添加设备
     *
     * @param addEquiParam 注册设备JSON对象
     * @return
     */
    @POST("api/sdk/equi/addEqui")
    ApiResp addEqui(@Body AddEquiParam addEquiParam);

    /**
     * 批量添加设备
     *
     * @param addEquiParamList 注册设备JSON对象列表
     * @return
     */
    @POST("api/sdk/equi/addEquiByList")
    ApiResp> addEquiByList(@Body List addEquiParamList);

    /**
     * 修改设备信息接口
     *
     * @param equiId       设备id
     * @param projectId    项目id
     * @param groupId      分组id
     * @param equiName     设备名称
     * @param equiPassword 设备通讯密码
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/equi/alterEquiById")
    ApiResp alterEquiById(@Field("equiId") int equiId, @Field("projectId") int projectId,
                          @Field("groupId") int groupId, @Field("cloudEquiName") String equiName, @Field("cloudPassword") String equiPassword);

    /**
     * 删除设备接口
     *
     * @param equiId 设备id
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/equi/removeEquiById")
    ApiResp removeEquiById(@Field("equiId") int equiId);

    /**
     * 批量删除设备接口
     *
     * @param equiIds 设备ids(格式 1,2,3,4)
     * @return
     */
    @FormUrlEncoded
    @POST("api/sdk/equi/removeEquiByIds")
    ApiResp removeEquiByIds(@Field("equiIds") String equiIds);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy