Skip to content
This repository was archived by the owner on Jul 17, 2020. It is now read-only.

Commit 7f20634

Browse files
committed
Jersey重新整理,开箱即用
1 parent 70952f0 commit 7f20634

File tree

8 files changed

+208
-647
lines changed

8 files changed

+208
-647
lines changed

Jersey--Demo/.idea/workspace.xml

+121-331
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Jersey--Demo/src/main/java/com/haikong/exception/ErrorCode.java renamed to Jersey--Demo/src/main/java/com/haikong/ResultVO.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
package com.haikong.exception;
1+
package com.haikong;
22

33
/**
44
* Created by 牛李 on 2016/7/26.
55
*/
6-
public enum ErrorCode {
6+
public enum ResultVO {
77
OK(0,"OK"),ID_INVALID(1,"ID is invalid"),OTHER_ERR(2,"未知错误");
88

99
private int code;
1010
private String message;
1111

12-
ErrorCode(int code, String message) {
12+
ResultVO(int code, String message) {
1313
this.code = code;
1414
this.message = message;
1515
}

Jersey--Demo/src/main/java/com/haikong/exception/DeviceException.java

-46
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package com.haikong.exception;
22

3+
import com.haikong.ResultVO;
4+
5+
import org.apache.log4j.Logger;
6+
37
import javax.ws.rs.core.MediaType;
48
import javax.ws.rs.core.Response;
59
import javax.ws.rs.ext.ExceptionMapper;
@@ -14,20 +18,18 @@ public class DeviceExceptionMapper implements ExceptionMapper<Exception> {
1418

1519
@Override
1620
public Response toResponse(Exception e) {
17-
// e.printStackTrace();
18-
System.out.println(e.toString());
21+
logger.error("错误信息:",e);
1922
Response.ResponseBuilder ResponseBuilder = null;
20-
if (e instanceof DeviceException){
21-
22-
//截取自定义类型
23-
DeviceException exp = (DeviceException) e;
24-
ErrorEntity entity = new ErrorEntity(exp.getCode(),exp.getMessage());
23+
if (e instanceof NumberFormatException){
24+
ErrorEntity entity = new ErrorEntity(ResultVO.OTHER_ERR.getCode(),ResultVO.OTHER_ERR.getMessage());
2525
ResponseBuilder = Response.ok(entity, MediaType.APPLICATION_JSON);
2626
}else {
27-
ErrorEntity entity = new ErrorEntity(ErrorCode.OTHER_ERR.getCode(),e.getMessage());
27+
ErrorEntity entity = new ErrorEntity(ResultVO.OTHER_ERR.getCode(),e.getMessage());
2828
ResponseBuilder = Response.ok(entity, MediaType.APPLICATION_JSON);
2929
}
3030
System.out.println("执行自定义异常");
3131
return ResponseBuilder.build();
3232
}
33+
34+
private static Logger logger = Logger.getLogger(DeviceExceptionMapper.class);
3335
}

Jersey--Demo/src/main/java/com/haikong/resources/DeviceController.java

+6-16
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
package com.haikong.resources;
22

33
import com.alibaba.fastjson.JSONObject;
4-
import com.haikong.exception.DeviceException;
5-
import com.haikong.exception.ErrorCode;
64
import com.haikong.service.DeviceService;
75
import com.haikong.util.CheckUtil;
86
import com.haikong.util.DeviceUtil;
7+
98
import org.springframework.stereotype.Controller;
109

1110
import javax.annotation.Resource;
1211
import javax.servlet.http.HttpServletRequest;
1312
import javax.servlet.http.HttpServletResponse;
14-
import javax.ws.rs.*;
13+
import javax.ws.rs.GET;
14+
import javax.ws.rs.POST;
15+
import javax.ws.rs.Path;
16+
import javax.ws.rs.Produces;
17+
import javax.ws.rs.QueryParam;
1518
import javax.ws.rs.core.Context;
1619
import javax.ws.rs.core.MediaType;
1720

@@ -25,19 +28,6 @@ public class DeviceController {
2528
@Resource(name = "DeviceService")
2629
private DeviceService deviceService;
2730

28-
/**
29-
* 测试全局异常托管
30-
* @throws DeviceException
31-
*/
32-
@GET
33-
@Path("/testexception")
34-
@Produces(MediaType.APPLICATION_JSON)
35-
public void testException() throws DeviceException {
36-
if (1==1){
37-
throw new DeviceException(ErrorCode.OTHER_ERR);
38-
}
39-
}
40-
4131
/**
4232
* 验证设备URL用的方法
4333
* @param signature

Jersey--Demo/src/main/java/com/haikong/service/DeviceService.java

+2-49
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package com.haikong.service;
22

3-
import com.alibaba.fastjson.JSON;
43
import com.alibaba.fastjson.JSONObject;
54
import com.haikong.dao.DeviceMapper;
6-
import com.haikong.model.ReqDevice;
5+
76
import org.apache.log4j.Logger;
87
import org.springframework.stereotype.Service;
98

@@ -24,80 +23,34 @@ public class DeviceService {
2423
* @param object
2524
*/
2625
public void deviceNotify(JSONObject object){
27-
ReqDevice device = JSON.parseObject(object.toJSONString(),ReqDevice.class);//解析json类
28-
device.setAsy_error_code(0);
29-
if (deviceMapper.updateDeviceDetail(device)){
30-
logger.info("notify类型设备状态"+object.toString());
31-
}else {
32-
logger.error("更新设备出错"+object.toString());
33-
}
3426
}
3527

3628
/**
3729
* 接收get_resp类型的设备消息,这里还要根据返回码来设置设备的其他状态
3830
* @param object
3931
*/
4032
public void deviceGetResp(JSONObject object){
41-
ReqDevice reqDevice = JSON.parseObject(object.toJSONString(),ReqDevice.class);//解析传来的串
42-
if (reqDevice.getAsy_error_code()==0){//这里有一种情况是请求的设备关闭
43-
if (deviceMapper.updateDeviceDetail(reqDevice)){
44-
logger.info("get_resp类型更新设备状态"+object.toString());
45-
}else {
46-
logger.error("get_resp类型更新设备出错"+object.toString());
47-
}
48-
}else{//无响应,则设置设备为关闭状态
49-
if (deviceMapper.updateDeviceOff(reqDevice)){
50-
logger.info("设备:"+reqDevice.getDevice_id()+"无响应,已设置为关闭");
51-
}else {
52-
logger.error("关闭设备出错"+object.toJSONString());
53-
}
54-
}
5533
}
5634

5735
/**
5836
* 接收set_resp类型的设备消息,这里还要根据返回码来设置设备的其他状态
5937
* @param object
6038
*/
6139
public void deviceSetResp(JSONObject object){
62-
ReqDevice reqDevice = JSON.parseObject(object.toJSONString(),ReqDevice.class);//解析传来的串
63-
int asy_error_code = reqDevice.getAsy_error_code();
64-
if (asy_error_code == 0){
65-
deviceMapper.updateDeviceDetail(reqDevice);
66-
logger.info("set_resp类型更新设备状态" + object.toString());
67-
}else {//证明未联网
68-
deviceMapper.updateDeviceOff(reqDevice);
69-
logger.error("设备未联网,已记录到数据库"+object.toString());
70-
}
7140
}
7241

7342
/**
7443
* 处理用户绑定事件
7544
* @param object
7645
*/
7746
public void deviceBind(JSONObject object){
78-
ReqDevice reqDevice = new ReqDevice();
79-
reqDevice.setDevice_id(object.getString("device_id"));
80-
reqDevice.setDevice_type(object.getString("device_type"));
81-
reqDevice.setUser(object.getString("open_id"));
82-
if (deviceMapper.insertDevice(reqDevice)){
83-
logger.info("用户:"+reqDevice.getUser()+"绑定设备:"+reqDevice.getDevice_id()+"成功");
84-
}else {
85-
logger.error("用户:"+reqDevice.getUser()+"绑定设备:"+reqDevice.getDevice_id()+"失败");
86-
}
8747
}
8848
/**
8949
* 处理用户解绑事件
9050
* @param object
9151
*/
9252
public void deviceUnBind(JSONObject object){
93-
ReqDevice reqDevice = new ReqDevice();
94-
reqDevice.setDevice_id(object.getString("device_id"));
95-
reqDevice.setUser(object.getString("open_id"));
96-
if (deviceMapper.deleteUserDevice(reqDevice)){
97-
logger.info("用户:"+reqDevice.getUser()+"解除绑定设备:"+reqDevice.getDevice_id()+"成功");
98-
}else {
99-
logger.error("用户:"+reqDevice.getUser()+"解除绑定设备:"+reqDevice.getDevice_id()+"失败");
100-
}
53+
10154
}
10255

10356
private static Logger logger = Logger.getLogger(DeviceService.class);
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,7 @@
1-
#\u914D\u7F6E\u81EA\u5DF1\u7684\u65E5\u5FD7\u5199\u5165\u5230\u6587\u4EF6\u4E2D
21
log4j.logger.com.haikong = warn, file
32
log4j.rootLogger=warn, stdout
43
#Console
54
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
65
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
7-
log4j.appender.stdout.layout.ConversionPattern=%-5p - %m%n
8-
#LogFile
9-
log4j.appender.file=org.apache.log4j.FileAppender
10-
log4j.appender.file.File=E://test/hklog.log
11-
log4j.appender.file.layout=org.apache.log4j.PatternLayout
12-
log4j.appender.file.encoding=UTF-8
13-
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
14-
15-
## MySQL
16-
log4j.appender.logindb.sql=INSERT INTO LOGIN_LOG_P(LOGIN_LOG_ID,LOGIN_NAME,IP_ADDRESS,LOGIN_TIME) VALUES(uuid(),'','',NOW())
17-
log4j.appender.logindb.layout=org.apache.log4j.PatternLayout
18-
log4j.logger.org.apache=info
19-
log4j.logger.org.springframework=info
6+
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss} [%t] %c %p - %m%n
207

0 commit comments

Comments
 (0)