admin
2019-12-30 3f7bcb1fb68b78a2cd2a87b44098f1de70378d92
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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);
                }
 
            }
        });
    }
}