yujian
2020-04-02 0ec22dcf4fd9c4496e6f681e7fab89f56c6e4e8a
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/HelpController.java
@@ -1,19 +1,23 @@
package com.yeshi.fanli.controller.client.v1;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
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.service.manger.AppUpdateManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.util.VersionUtil;
@Controller
@RequestMapping("api/v1/help")
@@ -21,6 +25,9 @@
   @Resource
   private AppPageNotificationService appPageNotificationService;
   @Resource
   private AppUpdateManager appUpdateManager;
   /**
    * 获取app页面的通知
@@ -36,7 +43,26 @@
         return;
      }
      AppPageNotification ap = appPageNotificationService.getAppPageNotificationByTypeCache(type);
      String platform = acceptData.getPlatform();
      String version = acceptData.getVersion();
      AppPageNotification ap = appPageNotificationService.getValidNotificationByTypeCache(type, platform,
            Integer.parseInt(version));
      if ("home".equalsIgnoreCase(type) && VersionUtil.smallerThan_1_5_1(platform, version) && 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(platform, version)));
         Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
         out.print(JsonUtil.loadTrueResult(gson.toJson(no)));
         return;
      }
      // 没有通知
      if (ap == null || !ap.getShow()) {
         out.print(JsonUtil.loadFalseResult(2, "无通知"));
@@ -46,4 +72,14 @@
      }
   }
   @RequestMapping(value = "updateApp")
   public void updateApp(AcceptData acceptData, PrintWriter out) {
      String result = appUpdateManager.getUpdateInfoCache(acceptData);
      try {
         out.print(new String(result.getBytes("ISO-8859-1"), "UTF-8"));
      } catch (UnsupportedEncodingException e) {
         out.print(result);
      }
   }
}