新增查询手机号归属地代码
parent
c7b4cf0346
commit
a0db3b1249
|
@ -11,6 +11,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
|
@ -73,7 +74,10 @@ public class Company {
|
|||
*审核状态
|
||||
*/
|
||||
private Integer reviewStatus;
|
||||
|
||||
/**
|
||||
* 公司注册账户余额
|
||||
*/
|
||||
private BigDecimal companyMoney;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,131 @@
|
|||
package com.muyu.cloud.background.domin;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.muyu.cloud.background.domin.req.ProductAddReq;
|
||||
import com.muyu.cloud.background.domin.req.ProductUpdReq;
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.cloud.market.domin
|
||||
* @Project:cloud-market
|
||||
* @name:Product
|
||||
* @Date:2024/8/20 15:04
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@SuperBuilder
|
||||
@TableName(value = "product",autoResultMap = true)
|
||||
public class Product extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "product_id",type = IdType.AUTO)
|
||||
private Integer productId;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
private String productName;
|
||||
/**
|
||||
*产品价格
|
||||
*/
|
||||
private BigDecimal productPrice;
|
||||
/**
|
||||
*产品介绍
|
||||
*/
|
||||
private String productContent;
|
||||
/**
|
||||
*产品上架状态(是否上架 0未上架 1已上架)
|
||||
*/
|
||||
private Integer productState;
|
||||
/**
|
||||
*产品规格(按次购买/按日期购买)购买多少次
|
||||
*/
|
||||
private String productSpecification;
|
||||
/**
|
||||
*产品销量
|
||||
*/
|
||||
private Integer productSales;
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
private String productType;
|
||||
/**
|
||||
*产品上架日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Schema(description = "产品上架日期",defaultValue = "2024-8-9 10:47:57",type = "Date")
|
||||
private Date productShelvesdate;
|
||||
/**
|
||||
* 重要路径
|
||||
*/
|
||||
private String apiRouter;
|
||||
/**
|
||||
*接口地址
|
||||
*/
|
||||
private String apiAddress;
|
||||
/**
|
||||
* 返回格式
|
||||
*/
|
||||
private String returnFormat;
|
||||
/**
|
||||
*请求方式
|
||||
*/
|
||||
private String requestMethod;
|
||||
|
||||
public static Product addProductList(ProductAddReq productAddReq){
|
||||
return Product.builder()
|
||||
.productId(null)
|
||||
.productName(productAddReq.getProductName())
|
||||
.productPrice(productAddReq.getProductPrice())
|
||||
.productContent(productAddReq.getProductContent())
|
||||
.productState(productAddReq.getProductState())
|
||||
.productSpecification(productAddReq.getProductSpecification())
|
||||
.productSales(productAddReq.getProductSales())
|
||||
.productType(productAddReq.getProductType())
|
||||
.productShelvesdate(productAddReq.getProductShelvesdate())
|
||||
.apiAddress(productAddReq.getApiAddress())
|
||||
.returnFormat(productAddReq.getReturnFormat())
|
||||
.requestMethod(productAddReq.getRequestMethod())
|
||||
.apiRouter(productAddReq.getApiRouter())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
public static Product updProductList(ProductUpdReq productUpdReq, Supplier<Integer> idSupplier){
|
||||
return Product.builder()
|
||||
.productId(productUpdReq.getProductId())
|
||||
.productName(productUpdReq.getProductName())
|
||||
.productPrice(productUpdReq.getProductPrice())
|
||||
.productContent(productUpdReq.getProductContent())
|
||||
.productState(productUpdReq.getProductState())
|
||||
.productSpecification(productUpdReq.getProductSpecification())
|
||||
.productSales(productUpdReq.getProductSales())
|
||||
.productType(productUpdReq.getProductType())
|
||||
.productShelvesdate(productUpdReq.getProductShelvesdate())
|
||||
.apiAddress(productUpdReq.getApiAddress())
|
||||
.returnFormat(productUpdReq.getReturnFormat())
|
||||
.requestMethod(productUpdReq.getRequestMethod())
|
||||
.apiRouter(productUpdReq.getApiRouter())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
package com.muyu.cloud.background.domin.req;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.cloud.market.domin.req
|
||||
* @Project:cloud-market
|
||||
* @name:ProductAddReq
|
||||
* @Date:2024/8/22 0:55
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Tag(name = "添加产品接口请求对象",description = "进行产品接口的添加")
|
||||
public class ProductAddReq {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Integer productId;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
private String productName;
|
||||
/**
|
||||
*产品价格
|
||||
*/
|
||||
private BigDecimal productPrice;
|
||||
/**
|
||||
*产品介绍
|
||||
*/
|
||||
private String productContent;
|
||||
/**
|
||||
*产品上架状态(是否上架 0未上架 1已上架)
|
||||
*/
|
||||
private Integer productState;
|
||||
/**
|
||||
*产品规格(按次购买/按日期购买)购买多少次
|
||||
*/
|
||||
private String productSpecification;
|
||||
/**
|
||||
*产品销量
|
||||
*/
|
||||
private Integer productSales;
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
private String productType;
|
||||
/**
|
||||
*产品上架日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Schema(description = "产品上架日期",defaultValue = "2024-8-9 10:47:57",type = "Date")
|
||||
private Date productShelvesdate;
|
||||
/**
|
||||
*接口地址
|
||||
*/
|
||||
private String apiAddress;
|
||||
/**
|
||||
* 返回格式
|
||||
*/
|
||||
private String returnFormat;
|
||||
/**
|
||||
*请求方式
|
||||
*/
|
||||
private String requestMethod;
|
||||
/**
|
||||
* 重要路径
|
||||
*/
|
||||
private String apiRouter;
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
package com.muyu.cloud.background.domin.req;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.cloud.market.domin.req
|
||||
* @Project:cloud-market
|
||||
* @name:ProductListReq
|
||||
* @Date:2024/8/21 15:15
|
||||
*/
|
||||
|
||||
@Tag(name = "接口产品列表请求对象")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class ProductListReq {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Schema(description = "产品ID",defaultValue = "1",type = "Integer")
|
||||
private Integer id;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
@Schema(description = "产品名称",defaultValue = "根据产品名称查询",type = "String")
|
||||
private String productName;
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
@Schema(description = "产品类型",defaultValue = "金融科技",type = "String")
|
||||
private String productType;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@Schema(description = "产品状态 同数据字典-系统是否",defaultValue = "1",type = "Integer")
|
||||
private String productState;
|
||||
/**
|
||||
* 重要路径
|
||||
*/
|
||||
private String apiRouter;
|
||||
/**
|
||||
*接口地址
|
||||
*/
|
||||
private String apiAddress;
|
||||
/**
|
||||
* 返回格式
|
||||
*/
|
||||
private String returnFormat;
|
||||
/**
|
||||
*请求方式
|
||||
*/
|
||||
private String requestMethod;
|
||||
/**
|
||||
* 页码,从1开始
|
||||
*/
|
||||
private Integer pageNum=1;
|
||||
/**
|
||||
* 每页大小
|
||||
*/
|
||||
private Integer pageSize=9;
|
||||
|
||||
@Schema(description = "创建人",defaultValue = "muyu",type = "String")
|
||||
private String createBy;
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@Schema(description = "创建时间",defaultValue = "2024-07-31 14:30:29",type = "Date")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
package com.muyu.cloud.background.domin.req;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.cloud.market.domin.req
|
||||
* @Project:cloud-market
|
||||
* @name:ProductUpdReq
|
||||
* @Date:2024/8/22 8:35
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Tag(name = "修改产品接口请求对象",description = "进行产品接口的修改")
|
||||
public class ProductUpdReq {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Integer productId;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
private String productName;
|
||||
/**
|
||||
*产品价格
|
||||
*/
|
||||
private BigDecimal productPrice;
|
||||
/**
|
||||
*产品介绍
|
||||
*/
|
||||
private String productContent;
|
||||
/**
|
||||
*产品上架状态(是否上架 0未上架 1已上架)
|
||||
*/
|
||||
private Integer productState;
|
||||
/**
|
||||
*产品规格(按次购买/按日期购买)购买多少次
|
||||
*/
|
||||
private String productSpecification;
|
||||
/**
|
||||
*产品销量
|
||||
*/
|
||||
private Integer productSales;
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
private String productType;
|
||||
/**
|
||||
*产品上架日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Schema(description = "产品上架日期",defaultValue = "2024-8-9 10:47:57",type = "Date")
|
||||
private Date productShelvesdate;
|
||||
/**
|
||||
*接口地址
|
||||
*/
|
||||
private String apiAddress;
|
||||
/**
|
||||
* 返回格式
|
||||
*/
|
||||
private String returnFormat;
|
||||
/**
|
||||
*请求方式
|
||||
*/
|
||||
private String requestMethod;
|
||||
/**
|
||||
* 重要路径
|
||||
*/
|
||||
private String apiRouter;
|
||||
}
|
|
@ -0,0 +1,100 @@
|
|||
package com.muyu.cloud.background.domin.resp;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.muyu.cloud.background.domin.Product;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.cloud.market.domin.resp
|
||||
* @Project:cloud-market
|
||||
* @name:ProductListResp
|
||||
* @Date:2024/8/21 15:06
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@Tag(name="接口产品信息响应对象",description = "接口产品查询的响应结果")
|
||||
public class ProductListResp {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Integer productId;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
private String productName;
|
||||
/**
|
||||
*产品价格
|
||||
*/
|
||||
private BigDecimal productPrice;
|
||||
/**
|
||||
*产品介绍
|
||||
*/
|
||||
private String productContent;
|
||||
/**
|
||||
*产品上架状态(是否上架 0未上架 1已上架)
|
||||
*/
|
||||
private Integer productState;
|
||||
/**
|
||||
* 产品销量
|
||||
*/
|
||||
private Integer productSales;
|
||||
/**
|
||||
*接口地址
|
||||
*/
|
||||
private String apiAddress;
|
||||
/**
|
||||
* 返回格式
|
||||
*/
|
||||
private String returnFormat;
|
||||
/**
|
||||
*请求方式
|
||||
*/
|
||||
private String requestMethod;
|
||||
/**
|
||||
* 重要路径
|
||||
*/
|
||||
private String apiRouter;
|
||||
|
||||
@Schema(description = "创建人",defaultValue = "muyu",type = "String")
|
||||
private String createBy;
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@Schema(description = "创建时间",defaultValue = "2024-07-31 14:30:29",type = "Date")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 数据库对象构建为返回结果对象
|
||||
* @param product
|
||||
* @return
|
||||
*/
|
||||
public static ProductListResp productListRespbuild(Product product){
|
||||
return ProductListResp.builder()
|
||||
.productId(product.getProductId())
|
||||
.productName(product.getProductName())
|
||||
.productPrice(product.getProductPrice())
|
||||
.productContent(product.getProductContent())
|
||||
.productState(product.getProductState())
|
||||
.productSales(product.getProductSales())
|
||||
.apiAddress(product.getApiAddress())
|
||||
.returnFormat(product.getReturnFormat())
|
||||
.requestMethod(product.getRequestMethod())
|
||||
.apiRouter(product.getApiRouter())
|
||||
.createBy(product.getCreateBy())
|
||||
.createTime(product.getCreateTime())
|
||||
.build();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package com.muyu.cloud.background.domin.resp;
|
||||
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.cloud.market.domin.resp
|
||||
* @Project:cloud-market
|
||||
* @name:ProductTotalListResp
|
||||
* @Date:2024/8/26 8:32
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Tag(name="数据总数列表",description = "数据和总数的响应")
|
||||
public class ProductTotalListResp {
|
||||
|
||||
private List<ProductListResp> productListResps;
|
||||
|
||||
private long total;
|
||||
|
||||
public static ProductTotalListResp of(List<ProductListResp> productList, long total) {
|
||||
ProductTotalListResp response = new ProductTotalListResp();
|
||||
response.setProductListResps(productList);
|
||||
response.setTotal(total);
|
||||
return response;
|
||||
}
|
||||
}
|
|
@ -19,7 +19,29 @@
|
|||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- api接口 需要用到的依赖 -->
|
||||
<dependency>
|
||||
<groupId>commons-beanutils</groupId>
|
||||
<artifactId>commons-beanutils</artifactId>
|
||||
<version>1.9.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
<version>2.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.sf.json-lib</groupId>
|
||||
<artifactId>json-lib</artifactId>
|
||||
<version>2.4</version>
|
||||
<classifier>jdk13</classifier>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.muyu</groupId>
|
||||
|
@ -116,14 +138,7 @@
|
|||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- 加入maven deploy插件,当在deploy时,忽略些model-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
package com.muyu.cloud.background.api;
|
||||
|
||||
import com.muyu.common.core.domain.Result;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.cloud.background.api
|
||||
* @Project:cloud-background
|
||||
* @name:MobileLocation
|
||||
* @Date:2024/8/29 14:58
|
||||
*/
|
||||
@Configuration
|
||||
public class MobileLocation {
|
||||
// 手机归属地查询接口地址
|
||||
public static String API_URL = "http://apis.juhe.cn/mobile/get";
|
||||
// 接口请求Key
|
||||
public static String API_KEY = "2b47a626a51e371b56c82a937271ed38";
|
||||
|
||||
public static void main(String[] args) {
|
||||
String mobile = "18912341234";
|
||||
queryMobileLocation(mobile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机号码/手机号码前7位查询号码归属地
|
||||
*
|
||||
* @param mobile
|
||||
* @return
|
||||
*/
|
||||
public static Result queryMobileLocation(String mobile)
|
||||
{
|
||||
Map<String, Object> params = new HashMap<>();//组合参数
|
||||
params.put("phone", mobile);
|
||||
params.put("key", API_KEY);
|
||||
String queryParams = urlencode(params);
|
||||
|
||||
String response = doGet(API_URL, queryParams);
|
||||
try {
|
||||
JSONObject jsonObject = JSONObject.fromObject(response);
|
||||
int error_code = jsonObject.getInt("error_code");
|
||||
if (error_code == 0) {
|
||||
System.out.println("调用接口成功");
|
||||
|
||||
JSONObject result = jsonObject.getJSONObject("result");
|
||||
|
||||
System.out.printf("省份:%s%n", result.getString("province"));
|
||||
System.out.printf("城市:%s%n", result.getString("city"));
|
||||
System.out.printf("区号:%s%n", result.getString("areacode"));
|
||||
System.out.printf("邮编:%s%n", result.getString("zip"));
|
||||
System.out.printf("运营商:%s%n", result.getString("company"));
|
||||
|
||||
} else {
|
||||
System.out.println("调用接口失败:" + jsonObject.getString("reason"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* get方式的http请求
|
||||
*
|
||||
* @param httpUrl 请求地址
|
||||
* @return 返回结果
|
||||
*/
|
||||
public static String doGet(String httpUrl, String queryParams) {
|
||||
HttpURLConnection connection = null;
|
||||
InputStream inputStream = null;
|
||||
BufferedReader bufferedReader = null;
|
||||
String result = null;// 返回结果字符串
|
||||
try {
|
||||
// 创建远程url连接对象
|
||||
URL url = new URL(new StringBuffer(httpUrl).append("?").append(queryParams).toString());
|
||||
// 通过远程url连接对象打开一个连接,强转成httpURLConnection类
|
||||
connection = (HttpURLConnection) url.openConnection();
|
||||
// 设置连接方式:get
|
||||
connection.setRequestMethod("GET");
|
||||
// 设置连接主机服务器的超时时间:15000毫秒
|
||||
connection.setConnectTimeout(5000);
|
||||
// 设置读取远程返回的数据时间:60000毫秒
|
||||
connection.setReadTimeout(6000);
|
||||
// 发送请求
|
||||
connection.connect();
|
||||
// 通过connection连接,获取输入流
|
||||
if (connection.getResponseCode() == 200) {
|
||||
inputStream = connection.getInputStream();
|
||||
// 封装输入流,并指定字符集
|
||||
bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
|
||||
// 存放数据
|
||||
StringBuilder sbf = new StringBuilder();
|
||||
String temp;
|
||||
while ((temp = bufferedReader.readLine()) != null) {
|
||||
sbf.append(temp);
|
||||
sbf.append(System.getProperty("line.separator"));
|
||||
}
|
||||
result = sbf.toString();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
// 关闭资源
|
||||
if (null != bufferedReader) {
|
||||
try {
|
||||
bufferedReader.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (null != inputStream) {
|
||||
try {
|
||||
inputStream.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (connection != null) {
|
||||
connection.disconnect();// 关闭远程连接
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将map型转为请求参数型
|
||||
*
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
public static String urlencode(Map<String, ?> data) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (Map.Entry<String, ?> i : data.entrySet()) {
|
||||
try {
|
||||
sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue() + "", "UTF-8")).append("&");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
String result = sb.toString();
|
||||
result = result.substring(0, result.lastIndexOf("&"));
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package com.muyu.cloud.background.controller;
|
||||
|
||||
import com.muyu.cloud.background.api.MobileLocation;
|
||||
import com.muyu.common.core.domain.Result;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.cloud.background.controller
|
||||
* @Project:cloud-background
|
||||
* @name:ApiController
|
||||
* @Date:2024/8/29 15:18
|
||||
*/
|
||||
@Log4j2
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
@Tag(name = "接口调用",description = "进行不同接口调用")
|
||||
public class ApiController {
|
||||
|
||||
/**
|
||||
* 查询手机号归属地
|
||||
* @param phone
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/byphone/{phone}")
|
||||
@Operation(summary = "手机号归属地",description = "查询手机号归属地")
|
||||
public Result MobileLocation(@Validated @PathVariable String phone){
|
||||
return MobileLocation.queryMobileLocation(phone);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue