CZT
2023-11-27 c206acfaedc69c390fb67daa81bc686f58a212ef
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package com.ld.igds.phone.controller;
 
import com.alibaba.fastjson.JSONObject;
import com.ld.igds.sec.manager.SecManager;
import com.ld.igds.camera.data.ApiCameraData;
import com.ld.igds.camera.data.ApiCameraResp;
import com.ld.igds.constant.RespCodeEnum;
import com.ld.igds.phone.util.PhoneRespUtil;
import com.ld.igds.phone.dto.AuthUser;
import com.ld.igds.phone.dto.PhoneResponse;
import com.ld.igds.phone.manager.PhoneManager;
import com.ld.igds.phone.param.PhoneRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
 
/**
 * 手机APP服务路由接口
 *
 * @author chen
 */
@Controller
@RequestMapping("api-phone")
public class PhoneController {
 
    @Autowired
    private PhoneManager phoneManager;
    @Autowired
    private SecManager securityManager;
 
    /**
     * 登录入口
     * @param req
     * @return
     */
    @SuppressWarnings("unchecked")
    @ResponseBody
    @RequestMapping("/login")
    public PhoneResponse<Object> phoneLogin(@RequestBody PhoneRequest<JSONObject> req){
 
        //判断参数
        if(null == req){
            return PhoneRespUtil.error(RespCodeEnum.CODE_1007,RespCodeEnum.CODE_1007.getMsg());
        }
 
        PhoneResponse<Object> result = PhoneRespUtil.error(RespCodeEnum.CODE_1111,RespCodeEnum.CODE_1111.getMsg());
 
        try {
            //执行业务操作
            result = phoneManager.execute(req,null);
        } catch (Exception e) {
            result = PhoneRespUtil.error(RespCodeEnum.CODE_1111,
                    "后端异常:" + e.getMessage());
        }
 
        return result;
    }
 
    /**
     * 业务分发入口
     * @param req
     * @return
     */
    @SuppressWarnings("unchecked")
    @ResponseBody
    @RequestMapping("/gateway")
    public PhoneResponse<Object> phoneGateway(@RequestBody PhoneRequest<JSONObject> req) {
 
        //判断参数
        if (null == req) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1007, RespCodeEnum.CODE_1007.getMsg());
        }
 
        //判断接口编码
        if (null == req.getInterfaceId()) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1007, RespCodeEnum.CODE_1007.getMsg());
        }
 
        //获取用户信息,如果有则更新,如果没有则跳出
        AuthUser authUser = phoneManager.checkTokenAuth(req);
        if (null == authUser) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1006, "您登录已超时,请重新登录!");
        }
 
        PhoneResponse<Object> result = PhoneRespUtil.error(RespCodeEnum.CODE_1111, RespCodeEnum.CODE_1111.getMsg());
 
        try {
 
            //执行业务操作
            result = phoneManager.execute(req,authUser);
 
        } catch (Exception e) {
            result = PhoneRespUtil.error(RespCodeEnum.CODE_1111,
                    "后端异常:" + e.getMessage());
        }
        return result;
    }
 
    /**
     * 值仓上传
     * @param files
     * @param req
     * @return
     * @throws IOException
     */
    @ResponseBody
    @RequestMapping("/upload-img")
    public PhoneResponse<Object> phoneUploadImg(
            @RequestParam("uploadkey") MultipartFile[] files,
            HttpServletRequest req) throws IOException {
 
        return phoneManager.phoneUploadImg(files[0],req);
    }
 
    /**
     * 视频保活
     * @param param
     * @return
     */
    @ResponseBody
    @RequestMapping("/keep-alive")
    public ApiCameraResp keepAlive(@RequestBody ApiCameraData param) {
        return securityManager.keepAlive(param);
    }
}