admin
2019-03-20 435bed78efa8ab34bbf456ef55eb586ccfc113f1
fanli/src/main/java/com/yeshi/fanli/controller/client/SystemClientController.java
@@ -6,6 +6,7 @@
import javax.annotation.Resource;
import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
@@ -13,12 +14,14 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.push.DeviceActive;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.CustomerContent;
import com.yeshi.fanli.entity.system.System;
import com.yeshi.fanli.entity.system.SystemClientParams;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
import com.yeshi.fanli.service.inter.config.SystemService;
import com.yeshi.fanli.service.inter.push.DeviceActiveService;
import com.yeshi.fanli.service.inter.push.IOSPushService;
import com.yeshi.fanli.util.ThreadUtil;
@@ -29,7 +32,7 @@
public class SystemClientController {
   @Resource
   private SystemService systemService;
   private BusinessSystemService businessSystemService;
   @Resource
   private SystemClientParamsService systemClientParamsService;
@@ -40,15 +43,18 @@
   @Resource
   private ConfigService configService;
   @Resource
   private DeviceActiveService deviceActiveService;
   @RequestMapping("getsystemclientparams")
   public void getSystemClientParams(AcceptData acceptData, PrintWriter out) {
      System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages());
      if (system == null) {
         out.print("系统不存在");
         return;
      }
      List<SystemClientParams> systemClientParamsList = systemClientParamsService
            .getSystemClientParamsBySystemId(system.getId());
            .getSystemClientParamsBySystemId(system.getId(),Integer.parseInt(acceptData.getVersion()));
      if (systemClientParamsList == null || systemClientParamsList.size() == 0) {
         out.print(JsonUtil.loadFalseResult("暂无数据"));
         return;
@@ -57,13 +63,27 @@
      // TODO 需要改成数据库控制,暂时写成这样
      List<SystemClientParams> list = new ArrayList<>();
      list.addAll(systemClientParamsList);
      for (SystemClientParams sp : list) {
         if (sp.getKey().equalsIgnoreCase("iosonling") && "ios".equalsIgnoreCase(acceptData.getPlatform())
               && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
            sp.setValue("1");
            break;
      for (SystemClientParams sp : systemClientParamsList) {
         SystemClientParams ssp = new SystemClientParams();
         try {
            PropertyUtils.copyProperties(ssp, sp);
         } catch (Exception e) {
         }
         if (ssp.getKey().equalsIgnoreCase("iosonling") && "ios".equalsIgnoreCase(acceptData.getPlatform())
               && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
            ssp.setValue("1");
         } else if (ssp.getKey().equalsIgnoreCase("home_weex_url")) {
            if (("android".equalsIgnoreCase(acceptData.getPlatform())
                  && Integer.parseInt(acceptData.getVersion()) < 36)) {
               // 老版本weex(1.5.1之前的)
               ssp.setValue("http://ec-1255749512.file.myqcloud.com/resource/weex/flq_index_v2.js");
            } else if ("ios".equalsIgnoreCase(acceptData.getPlatform())
                  && Integer.parseInt(acceptData.getVersion()) < 44)
               ssp.setValue("http://ec-1255749512.file.myqcloud.com/resource/weex/flq_index_v2.js");
         }
         list.add(ssp);
      }
      Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
@@ -75,8 +95,15 @@
         @Override
         public void run() {
            try {
               iosPushService.addDeviceToken(null, Integer.parseInt(acceptData.getVersion()), null,
                     acceptData.getDevice());
               // 安卓平台添加设备活跃记录
               if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
                  DeviceActive da = new DeviceActive();
                  da.setDevice(acceptData.getDevice());
                  da.setPlatform(DeviceActive.PLATFORM_ANDROID);
                  da.setVersionCode(Integer.parseInt(acceptData.getVersion()));
                  deviceActiveService.addDeviceActive(da);
               }
            } catch (Exception e) {
            }
         }