package com.yeshi.fanli.controller.client.v1;
|
|
import java.io.PrintWriter;
|
import java.io.UnsupportedEncodingException;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.yeshi.fanli.entity.accept.AcceptData;
|
import com.yeshi.fanli.entity.bus.help.AppPageNotification;
|
import com.yeshi.fanli.service.inter.help.AppPageNotificationService;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.VersionUtil;
|
|
import org.yeshi.utils.HttpUtil;
|
import org.yeshi.utils.JsonUtil;
|
|
@Controller
|
@RequestMapping("api/v1/help")
|
public class HelpController {
|
|
@Resource
|
private AppPageNotificationService appPageNotificationService;
|
|
/**
|
* 获取app页面的通知
|
*
|
* @param acceptData
|
* @param type
|
* @param out
|
*/
|
@RequestMapping(value = "getAppPageNotification")
|
public void getAppPageNotification(AcceptData acceptData, String type, PrintWriter out) {
|
if (StringUtil.isNullOrEmpty(type)) {
|
out.print(JsonUtil.loadFalseResult(1, "请上传类型"));
|
return;
|
}
|
|
AppPageNotification ap = appPageNotificationService.getAppPageNotificationByTypeCache(type);
|
if ("home".equalsIgnoreCase(type)
|
&& VersionUtil.smallerThan_1_5_1(acceptData.getPlatform(), acceptData.getVersion()) && ap != null) {
|
AppPageNotification no = new AppPageNotification();
|
no.setContentUrl("");
|
no.setMd5("111111111111111111");
|
no.setPageName(ap.getPageName());
|
no.setShow(true);
|
no.setType(ap.getType());
|
no.setUpdateTime(ap.getUpdateTime());
|
no.setCanClose(false);
|
no.setContent(String.format("尊敬的用户,为更加准确高效的为你返利、省钱,请升级到%s最新版本",Constant.getAppName(acceptData.getPlatform(), acceptData.getVersion())));
|
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
|
out.print(JsonUtil.loadTrueResult(gson.toJson(no)));
|
return;
|
}
|
|
// 没有通知
|
if (ap == null || !ap.getShow()) {
|
out.print(JsonUtil.loadFalseResult(2, "无通知"));
|
} else {// 有通知
|
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
|
out.print(JsonUtil.loadTrueResult(gson.toJson(ap)));
|
}
|
}
|
|
@RequestMapping(value = "updateApp")
|
public void updateApp(AcceptData acceptData, PrintWriter out) {
|
Map<String, String> params = new HashMap<>();
|
if ("android".equalsIgnoreCase(acceptData.getPlatform())) {// android更新
|
// acceptData.setVersion("10");
|
params.put("method", "update");
|
params.put("Platform", "Android");
|
params.put("Version", acceptData.getVersion());
|
params.put("device ", acceptData.getDevice());
|
params.put("time", System.currentTimeMillis() + "");
|
params.put("Package", acceptData.getPackages());
|
params.put("device", acceptData.getDevice());
|
params.put("platform", "Android");
|
params.put("key", "a3f390d88e4c41f2747bfa2f1b5f87db");
|
params.put("versionCode", acceptData.getVersion() + "");
|
} else {// IOS更新
|
params.put("method", "update");
|
params.put("Platform", "IOS");
|
params.put("Version", acceptData.getVersion());
|
params.put("device ", acceptData.getDevice());
|
params.put("time", System.currentTimeMillis() + "");
|
params.put("Package", acceptData.getPackages());
|
params.put("device", acceptData.getDevice());
|
params.put("platform", "IOS");
|
params.put("key", "32bb90e8976aab5298d5da10fe66f21d");
|
params.put("versionCode", acceptData.getVersion() + "");
|
}
|
String url = "http://update.yeshitv.com:8090/update/update";
|
String result = HttpUtil.post(url, params, null);
|
try {
|
out.print(new String(result.getBytes("ISO-8859-1"), "UTF-8"));
|
} catch (UnsupportedEncodingException e) {
|
out.print(result);
|
}
|
}
|
|
}
|