package com.yeshi.fanli.controller.wxmp;
|
|
import java.io.PrintWriter;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.yeshi.utils.IPUtil;
|
import org.yeshi.utils.JsonUtil;
|
|
import com.yeshi.fanli.dto.WXMPAcceptData;
|
import com.yeshi.fanli.entity.push.DeviceActive;
|
import com.yeshi.fanli.entity.system.BusinessSystem;
|
import com.yeshi.fanli.entity.system.SystemClientParams;
|
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
|
import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
|
import com.yeshi.fanli.service.inter.push.DeviceActiveService;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.ThreadUtil;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
@Controller("WXMPConfigController")
|
@RequestMapping("/wxmp/api/v1/config")
|
public class ConfigController {
|
|
@Resource
|
private SystemClientParamsService systemClientParamsService;
|
|
@Resource
|
private BusinessSystemService businessSystemService;
|
|
@Resource
|
private DeviceActiveService deviceActiveService;
|
|
/**
|
* 获取系统配置信息
|
*
|
* @param acceptData
|
* @param code
|
* @param out
|
*/
|
@RequestMapping("getSystemClientConfig")
|
public void getOpenId(WXMPAcceptData acceptData, HttpServletRequest request, PrintWriter out) {
|
BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
|
acceptData.getAppId());
|
if (system == null) {
|
out.print("系统不存在");
|
return;
|
}
|
List<SystemClientParams> systemClientParamsList = systemClientParamsService
|
.getSystemClientParamsBySystemId(system.getId(), Integer.parseInt(acceptData.getVersion()));
|
if (systemClientParamsList == null || systemClientParamsList.size() == 0) {
|
out.print(JsonUtil.loadFalseResult("暂无数据"));
|
return;
|
}
|
|
JSONArray array = new JSONArray();
|
for (SystemClientParams params : systemClientParamsList) {
|
JSONObject item = new JSONObject();
|
item.put(params.getKey(), params.getValue());
|
}
|
out.print(JsonUtil.loadTrueResult(array));
|
String ipInfo = IPUtil.getRemotIP(request) + ":" + request.getRemotePort();
|
ThreadUtil.run(new Runnable() {
|
|
@Override
|
public void run() {
|
if (!StringUtil.isNullOrEmpty(acceptData.getDevice())) {
|
// 安卓平台添加设备活跃记录
|
DeviceActive da = new DeviceActive();
|
da.setDevice(acceptData.getDevice());
|
da.setPlatform(DeviceActive.PLATFORM_WXMP);
|
da.setVersionCode(Integer.parseInt(acceptData.getVersion()));
|
da.setIpInfo(ipInfo);
|
da.setChannel("wxmp");
|
da.setMac(null);
|
deviceActiveService.addDeviceActive(da);
|
}
|
|
}
|
});
|
}
|
}
|