Browse Source

rent wiwidi

release_toaliyun_real
xhxu 5 years ago
parent
commit
a000ef3940
5 changed files with 116 additions and 9 deletions
  1. +6
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java
  2. +1
    -0
      mallinkService/src/main/java/com/iformall/service/DataTowerService.java
  3. +36
    -8
      mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java
  4. +6
    -0
      mallinkService/src/main/java/com/iformall/sms/wiwide/WiwideUtil.java
  5. +67
    -0
      mallinkService/src/main/java/com/iformall/utils/HttpUtil.java

+ 6
- 1
mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java View File

@@ -1,6 +1,7 @@
package com.iformall.controller.datatower;

import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.base.TenantEntity;
@@ -107,7 +108,11 @@ public class DataTowerController extends BaseController {
public ResultData queryWiWideData(@RequestBody Map<String,String> params) {
logger.debug("[" + getIpAddr() + "] DataTowerController::queryWiWideData");
String url = params.get("url");
return null;
if(StringUtils.isBlank(url)){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"url不能为空");
}
params.remove("url");
return dataTowerService.queryWiWideDataUrl(getTenantInfo(),url,params);
}

}

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/DataTowerService.java View File

@@ -21,4 +21,5 @@ public interface DataTowerService {

ResultData queryCustomerData(TenantEntity tenantEntity, Map<String, String> params);

ResultData queryWiWideDataUrl(TenantEntity tenantInfo, String url, Map<String, String> params);
}

+ 36
- 8
mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java View File

@@ -793,7 +793,8 @@ public class DataTowerServiceImpl implements DataTowerService {
if(list.size()>0){
wiWideInfo = list.get(0);
String wiwideUrl = wiWideInfo.getWiwideUrl();
datamap.put("token", getWiwideSercret(wiWideInfo));
// datamap.put("token", getWiwideSercret(wiWideInfo));
getWiwideSercret(wiWideInfo);
datamap.put("sign", WiwideEntry.encrypt(wiWideInfo));
datamap.put("url", wiwideUrl);
datamap.put("capability", wiWideInfo.getCapability());
@@ -819,14 +820,12 @@ public class DataTowerServiceImpl implements DataTowerService {
}
private void updateSercret(WxWiWideInfo wiWideInfo,WiwideSercret sercret) {
WxWiWideInfo record = new WxWiWideInfo();
record.setId(wiWideInfo.getId());
record.setWiwideId(sercret.getSecretId());
record.setWiwideKey(sercret.getSecretKey());
wiWideInfo.setWiwideId(sercret.getSecretId());
wiWideInfo.setWiwideKey(sercret.getSecretKey());
try {
logger.info("要更新的数据before>>>>>>>>>>"+JSONObject.toJSONString(record));
wxWiwideInfoMapper.updateSercret(record);
logger.info("要更新的数据after>>>>>>>>>>"+JSONObject.toJSONString(record));
// logger.info("要更新的数据before>>>>>>>>>>"+JSONObject.toJSONString(record));
wxWiwideInfoMapper.updateSercret(wiWideInfo);
logger.info("要更新的数据after>>>>>>>>>>"+JSONObject.toJSONString(wiWideInfo));
} catch (MallinkException e) {
logger.info("更新TOKEN失败:商场" + wiWideInfo.getTenantId());
}
@@ -898,6 +897,35 @@ public class DataTowerServiceImpl implements DataTowerService {
}
}

@Override
public ResultData queryWiWideDataUrl(TenantEntity tenantEntity, String url, Map<String, String> params) {
WxWiWideInfo wiWideInfo = new WxWiWideInfo();
wiWideInfo.updateTenantInfo(tenantEntity);
List<WxWiWideInfo> list = wxWiwideInfoMapper.findList(wiWideInfo);
if (list.isEmpty()){
return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND);
}
wiWideInfo = list.get(0);
String wiwideUrl = wiWideInfo.getWiwideUrl();
wiwideUrl += wiwideUrl + url;
WiwideSercret wiwideSercret = getWiwideSercret(wiWideInfo);
if(wiwideSercret == null){
return new ResultData(ErrorCode.WIWIDE_INFO_NOT_READY);
}
String sign = WiwideEntry.encrypt(wiWideInfo);
logger.info("迈外迪访问接口["+wiwideUrl+"]参数:" + params);
String res = WiwideUtil.queryDataNew(wiwideUrl,sign,params);
JSONObject result = JSONObject.parseObject(res);
if (result == null)
return new ResultData(ErrorCode.WIWIDE_INFO_NOT_READY);
if (result.getInteger("result") == 0){
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);


+ 6
- 0
mallinkService/src/main/java/com/iformall/sms/wiwide/WiwideUtil.java View File

@@ -214,6 +214,12 @@ public class WiwideUtil implements SMSExcutor {
String data = HttpUtil.doPostWiwide(wiWideInfo.getWiwideUrl() + "/reports/data", token, params);
return data;
}

public static String queryDataNew(String url, String sign, Map<String, String> params) {

String data = HttpUtil.doPostWiwideNew(url, sign, params);
return data;
}
public static void main(String[] args) {
Map<String, String> params = new HashMap<>(2);


+ 67
- 0
mallinkService/src/main/java/com/iformall/utils/HttpUtil.java View File

@@ -206,6 +206,73 @@ public class HttpUtil {
return null;
}

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

//CookieStore store= new BasicCookieStore();
//HttpClients.custom().setDefaultCookieStore(store).build();

// 定义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("Cookie", "Signature="+cookie);

//设置参数
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"));
StringBuilder sb = new StringBuilder("");
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


Loading…
Cancel
Save