package com.yeshi.fanli.controller.client; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; 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.push.DeviceActive; 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.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; import net.sf.json.JSONObject; @Controller @RequestMapping("api/v1/systemclient") public class SystemClientController { @Resource private SystemService systemService; @Resource private SystemClientParamsService systemClientParamsService; @Resource private IOSPushService iosPushService; @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()); if (system == null) { out.print("系统不存在"); return; } List systemClientParamsList = systemClientParamsService .getSystemClientParamsBySystemId(system.getId()); if (systemClientParamsList == null || systemClientParamsList.size() == 0) { out.print(JsonUtil.loadFalseResult("暂无数据")); return; } // TODO 需要改成数据库控制,暂时写成这样 List 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; } } Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); JSONObject data = new JSONObject(); data.put("count", list.size()); data.put("systemClientParamsList", gson.toJson(list)); out.print(JsonUtil.loadTrueResult(data)); ThreadUtil.run(new Runnable() { @Override public void run() { try { // 安卓平台添加设备活跃记录 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) { } } }); return; } /** * * 方法说明: 联系客服接口 * * @author mawurui createTime 2018年4月10日 上午9:02:41 */ @RequestMapping("contactCustomerService") public void contactCustomerService(AcceptData acceptData, PrintWriter out) { String title = "联系客服"; List contentList = systemClientParamsService.contactCustomerService(title); JSONObject data = new JSONObject(); data.put("contentList", JsonUtil.getSimpleGsonWithDate().toJson(contentList)); out.print(JsonUtil.loadTrueResult(data)); } }