Просмотр исходного кода

[系统][修复]:新增卖外迪接口访问

release_toaliyun_real
hupeng 7 лет назад
Родитель
Сommit
e0573c03d1
5 измененных файлов: 123 добавлений и 10 удалений
  1. +9
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/DataTowerController.java
  2. +4
    -0
      mallinkService/src/main/java/com/iformall/service/DataTowerService.java
  3. +40
    -10
      mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java
  4. +64
    -0
      mallinkService/src/main/java/com/iformall/utils/HttpUtil.java
  5. +6
    -0
      mallinkService/src/main/java/com/iformall/utils/WiwideUtil.java

+ 9
- 0
mallinkAdmin/src/main/java/com/iformall/controller/DataTowerController.java Просмотреть файл

@@ -8,6 +8,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@@ -75,5 +76,13 @@ public class DataTowerController extends BaseController {
return new ResultData(data);
}

@ApiOperation("查询客流")
@PostMapping("/queryCustomerData")
public ResultData queryCustomerData(@RequestBody Map<String, String> params) {
logger.debug("[" + getIpAddr() + "] DataTowerController::queryCustomer");

return dataTowerService.queryCustomerData(getTenantId(), params);
}


}

+ 4
- 0
mallinkService/src/main/java/com/iformall/service/DataTowerService.java Просмотреть файл

@@ -1,6 +1,8 @@
package com.iformall.service;


import com.iformall.common.ResultData;

import java.util.Map;

public interface DataTowerService {
@@ -15,4 +17,6 @@ public interface DataTowerService {

Map<String,Object> queryCustomer(String tenantId);

ResultData queryCustomerData(String tenantId, Map<String, String> params);

}

+ 40
- 10
mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java Просмотреть файл

@@ -673,17 +673,10 @@ public class DataTowerServiceImpl implements DataTowerService {
wxMall = list.get(0);
String wiwideUrl = wxMall.getWiwideUrl();
Map<String, Object> datamap = new HashMap<>(2);
Date expiredTime = wxMall.getExpiredTime();
String token = wxMall.getToken();
if (!StringUtils.isEmpty(token) && expiredTime!=null && expiredTime.after(new Date())) {
datamap.put("token", wxMall.getToken());
} else {
String data = WiwideUtil.queryToken(wxMall);
token = (String) JSONObject.parseObject(data).get("data");
datamap.put("token", token);
updateToken(wxMall, token);
}

datamap.put("token", getWiwideToken(wxMall));
datamap.put("url", wiwideUrl);

return datamap;
}

@@ -701,6 +694,43 @@ public class DataTowerServiceImpl implements DataTowerService {
}
}

private String getWiwideToken(WxMall wxMall) {
Date expiredTime = wxMall.getExpiredTime();
String token = wxMall.getToken();

if (StringUtils.isEmpty(token) || expiredTime == null || expiredTime.before(new Date())) {
String data = WiwideUtil.queryToken(wxMall);
token = (String) JSONObject.parseObject(data).get("data");
updateToken(wxMall, token);
}
return token;
}

@Override
public ResultData queryCustomerData(String tenantId, Map<String, String> params) {

WxMall wxMall = new WxMall();
wxMall.setTenantId(tenantId);
List<WxMall> list = wxMallMapper.findList(wxMall);
wxMall = list.get(0);
if (wxMall == null)
return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND);

String res = WiwideUtil.queryData(wxMall, getWiwideToken(wxMall), params);

JSONObject result = JSONObject.parseObject(res);

if (result.getInteger("result") == 200)
return new ResultData(result.getInteger("result"),
result.getString("msg"),
result.getJSONObject("data"));
else
return new ResultData(result.getInteger("result"),
result.getString("msg"));
}



public TreeMap getTimeTreeMap() {
TreeMap<Object, Object> timemap = new TreeMap();
timemap.put("06:00", 0);


+ 64
- 0
mallinkService/src/main/java/com/iformall/utils/HttpUtil.java Просмотреть файл

@@ -137,6 +137,70 @@ public class HttpUtil {
return null;
}

/**
* post请求(用于key-value格式的参数,wiwide)
* @param url
* @param params
* @return
*/
public static String doPostWiwide(String url, String token, Map params){

// 定义HttpClient
CloseableHttpClient client = HttpClients.createDefault();


BufferedReader in = null;
try {

// 实例化HTTP方法
HttpPost request = new HttpPost();
request.setURI(new URI(url));
request.setHeader("Content-Type", "application/x-www-form-urlencoded");
request.setHeader("Accept-Charset", "utf-8");
request.setHeader("wiwidefumaotoken", token);

//设置参数
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
for (Iterator iter = params.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
String value = String.valueOf(params.get(name));
nvps.add(new BasicNameValuePair(name, value));

//System.out.println(name +"-"+value);
}
request.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8));

HttpResponse response = client.execute(request);
int code = response.getStatusLine().getStatusCode();
if(code == 200){ //请求成功
in = new BufferedReader(new InputStreamReader(response.getEntity()
.getContent(),"utf-8"));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}

in.close();

client.close();

return sb.toString();
}
else{ //
logger.info("状态码:" + code);
client.close();
}
}
catch(Exception e){
logger.error(e.getMessage());
return null;
}

return null;
}

/**
* post请求(用于请求json格式的参数)
* @param url


+ 6
- 0
mallinkService/src/main/java/com/iformall/utils/WiwideUtil.java Просмотреть файл

@@ -142,4 +142,10 @@ public class WiwideUtil {
logger.info("商场:" + wxMall.getName() + ",返回TOKEN" + token);
return token;
}

public static String queryData(WxMall wxMall, String token, Map<String, String> params) {

String data = HttpUtil.doPostWiwide(wxMall.getWiwideUrl() + "/reports/data", token, params);
return data;
}
}

Загрузка…
Отмена
Сохранить