1
This commit is contained in:
54
README.md
54
README.md
@@ -194,8 +194,62 @@
|
|||||||
|
|
||||||
* 获取用户本周已摄入的营养元素的量: `getUser`得到当前用户的信息,解析后用`MyUser`的`getEaten_elements()`获取到Element对象.里面有各种元素信息
|
* 获取用户本周已摄入的营养元素的量: `getUser`得到当前用户的信息,解析后用`MyUser`的`getEaten_elements()`获取到Element对象.里面有各种元素信息
|
||||||
|
|
||||||
|
* **根据多个食材组合来搜菜**
|
||||||
|
|
||||||
|
```java
|
||||||
|
List<String> materialList = new ArrayList<>();
|
||||||
|
materialList.add("土豆");
|
||||||
|
materialList.add("茄子");
|
||||||
|
WebUtil.getInstance().getMenusByMaterials(materialList, new Callback() {
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call call, IOException e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call call, Response response) throws IOException {
|
||||||
|
String json = response.body().string();
|
||||||
|
FoodMenu[] menus = new Gson().fromJson(json, FoodMenu[].class);
|
||||||
|
for (FoodMenu menu : menus) {
|
||||||
|
System.out.println(menu.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
* **用户的浏览历史: 添加用户和菜谱的多对多关系**
|
* **用户的浏览历史: 添加用户和菜谱的多对多关系**
|
||||||
|
|
||||||
|
```java
|
||||||
|
//获取历史记录 传入username
|
||||||
|
WebUtil.getInstance().getEatenHistory("test5", new Callback() {
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call call, IOException e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call call, Response response) throws IOException {
|
||||||
|
String json = response.body().string();
|
||||||
|
History[] histories = new Gson().fromJson(json, History[].class);
|
||||||
|
System.out.println(Arrays.toString(histories));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//添加历史记录 传入username 和 Menu的名字
|
||||||
|
WebUtil.getInstance().addEatenHistory("test5", "多味茄子泥", new Callback() {
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call call, IOException e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call call, Response response) throws IOException {
|
||||||
|
String json = response.body().string();
|
||||||
|
History history = new Gson().fromJson(json, History.class);
|
||||||
|
System.out.println(history);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
* 菜名搜索: `getMenu`方法,传入菜名(菜名通过其他的各种关联方式获取) (menu.calorie是直接爬到的卡路里值,营养元素里的menu.elements.calorie卡路里是根据每个食材的卡路里计算的,相对来说,menu.calorie的值更准确)
|
* 菜名搜索: `getMenu`方法,传入菜名(菜名通过其他的各种关联方式获取) (menu.calorie是直接爬到的卡路里值,营养元素里的menu.elements.calorie卡路里是根据每个食材的卡路里计算的,相对来说,menu.calorie的值更准确)
|
||||||
|
|
||||||
* 功效搜菜 `getMenuClassification`传入分类(功效)参数,比如川菜.搜到所有的川菜名字.然后可以用菜名搜索搜某个菜的详细信息
|
* 功效搜菜 `getMenuClassification`传入分类(功效)参数,比如川菜.搜到所有的川菜名字.然后可以用菜名搜索搜某个菜的详细信息
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package com.example.ninefourone.nutritionmaster.bean;
|
||||||
|
|
||||||
|
public class History {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id : 13 time : 2018-11-02T15:35:20.015542+08:00 user : 11 menu : 多味茄子泥
|
||||||
|
*/
|
||||||
|
|
||||||
|
private int id;
|
||||||
|
private String time;
|
||||||
|
private int user;
|
||||||
|
private String menu;
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTime() {
|
||||||
|
return time;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTime(String time) {
|
||||||
|
this.time = time;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUser() {
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUser(int user) {
|
||||||
|
this.user = user;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMenu() {
|
||||||
|
return menu;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMenu(String menu) {
|
||||||
|
this.menu = menu;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "History{" + "id=" + id + ", time='" + time + '\'' + ", user=" + user + ", menu='" + menu + '\'' + '}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -71,7 +71,7 @@ public class WebUtil {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取count个随机菜谱,在回调中解析为一个Menu数组 根据用户的体质,病理,职业推荐
|
* 获取count个随机菜谱,在回调中解析为一个Menu数组 根据用户的体质,病理,职业推荐
|
||||||
*
|
*
|
||||||
* @param count
|
* @param count
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@@ -128,12 +128,6 @@ public class WebUtil {
|
|||||||
mClient.newCall(request).enqueue(callback);
|
mClient.newCall(request).enqueue(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void getAllOccupations(Callback callback) {
|
|
||||||
OkHttpClient mClient = new OkHttpClient();
|
|
||||||
Request request = new Request.Builder().url("http://120.77.182.38/occupation/").build();
|
|
||||||
mClient.newCall(request).enqueue(callback);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取体质需要的食材 { "physical_name": "气虚质", "cure_material": [ "人参", "人参须",
|
* 获取体质需要的食材 { "physical_name": "气虚质", "cure_material": [ "人参", "人参须",
|
||||||
* "去芯莲子", "去芯莲子(3~4人份)", "土茯苓", ... ] }
|
* "去芯莲子", "去芯莲子(3~4人份)", "土茯苓", ... ] }
|
||||||
@@ -336,52 +330,29 @@ public class WebUtil {
|
|||||||
mClient.newCall(request).enqueue(callback);
|
mClient.newCall(request).enqueue(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String HttpPost(String requestUrl, String accessToken, String params) throws Exception {
|
public void addEatenHistory(String username, String menuName, Callback callback) {
|
||||||
System.out.println(params);
|
String url = "http://120.77.182.38/myuser/add_eaten_history/";
|
||||||
String generalUrl = "";
|
RequestBody formBody = new FormBody.Builder().add("username", username).add("menu", menuName).build();
|
||||||
generalUrl = requestUrl + "?access_token=" + accessToken;
|
Request request = new Request.Builder().url(url).post(formBody).build();
|
||||||
System.out.println("发送的连接为:" + generalUrl);
|
mClient.newCall(request).enqueue(callback);
|
||||||
URL url = new URL(generalUrl);
|
}
|
||||||
// 打开和URL之间的连接
|
|
||||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
|
||||||
System.out.println("打开链接,开始发送请求" + new Date().getTime() / 1000);
|
|
||||||
connection.setRequestMethod("POST");
|
|
||||||
// 设置通用的请求属性
|
|
||||||
connection.setRequestProperty("Content-Type", "application/json");
|
|
||||||
connection.setRequestProperty("Connection", "Keep-Alive");
|
|
||||||
connection.setUseCaches(false);
|
|
||||||
connection.setDoOutput(true);
|
|
||||||
connection.setDoInput(true);
|
|
||||||
|
|
||||||
// 得到请求的输出流对象
|
public void getEatenHistory(String username, Callback callback) {
|
||||||
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
|
String url = "http://120.77.182.38/myuser/get_eaten_history?username=" + username;
|
||||||
out.writeBytes(params);
|
Request request = new Request.Builder().url(url).build();
|
||||||
out.flush();
|
mClient.newCall(request).enqueue(callback);
|
||||||
out.close();
|
}
|
||||||
|
|
||||||
// 建立实际的连接
|
public void getMenusByMaterials(List<String> materialList, Callback callback) {
|
||||||
connection.connect();
|
// POST
|
||||||
// 获取所有响应头字段
|
String url = "http://120.77.182.38/menus/get_menus_by_materials/";
|
||||||
Map<String, List<String>> headers = connection.getHeaderFields();
|
FormBody.Builder builder = new FormBody.Builder();
|
||||||
// 遍历所有的响应头字段
|
for (String material : materialList) {
|
||||||
for (String key : headers.keySet()) {
|
builder.add("material", material);
|
||||||
System.out.println(key + "--->" + headers.get(key));
|
|
||||||
}
|
}
|
||||||
// 定义 BufferedReader输入流来读取URL的响应
|
RequestBody formBody = builder.build();
|
||||||
BufferedReader in = null;
|
Request request = new Request.Builder().url(url).post(formBody).build();
|
||||||
if (requestUrl.contains("nlp"))
|
mClient.newCall(request).enqueue(callback);
|
||||||
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "GBK"));
|
|
||||||
else
|
|
||||||
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
|
|
||||||
String result = "";
|
|
||||||
String getLine;
|
|
||||||
while ((getLine = in.readLine()) != null) {
|
|
||||||
result += getLine;
|
|
||||||
}
|
|
||||||
in.close();
|
|
||||||
System.out.println("请求结束" + new Date().getTime() / 1000);
|
|
||||||
System.out.println("result:" + result);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|||||||
Reference in New Issue
Block a user