IKnowUInterface.java
3.44 KB
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
package com.erry.iclear.dateInterface.api;
import com.erry.iclear.dateInterface.api.request.HsCodeParam;
import com.erry.iclear.dateInterface.api.response.ResultHsCode;
import com.erry.iclear.dateInterface.entity.IClearApiHsCodeLog;
import com.erry.iclear.dateInterface.enums.ErrorCodeEnum;
import com.erry.iclear.dateInterface.service.HsCodeService;
import com.erry.iclear.dateInterface.service.IClearApiHsCodeLogService;
import com.erry.iclear.dateInterface.util.StringUtil;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
/**
* @author mt
* /iknowU/stampQuery
*/
@RestController
@RequestMapping("/iknowU")
@Slf4j
public class IKnowUInterface {
@Autowired
HsCodeService hsCodeService;
@Autowired
IClearApiHsCodeLogService iClearApiHsCodeLogService;
@ApiOperation(value = "抠图后的公章查询", httpMethod = "POST", notes = "ex: http://192.168.1.71:8080/iknowU/stampQuery")
@PostMapping("/stampQuery")
@ResponseBody
public ResultHsCode stampQuery(HttpServletRequest request
, @RequestBody String consignmentCode) {
log.info("接收到请求数据hscode:【"+consignmentCode+"】");
String appId = (String) request.getHeader("Appid");
String appkey = (String) request.getHeader("Appkey");
IClearApiHsCodeLog iclearApiHsCodeLog = new IClearApiHsCodeLog();
ResultHsCode resultHsCode = null;
long begin = System.currentTimeMillis();
try {
iclearApiHsCodeLog.setAppId(appId);
iclearApiHsCodeLog.setAppKey(appkey);
iclearApiHsCodeLog.setCreateTime(new Date());
iclearApiHsCodeLog.setCode(consignmentCode);
if (!StringUtil.isEmpty(consignmentCode)) {
resultHsCode = hsCodeService.findHsCodeListByCode(consignmentCode);
return resultHsCode;
} else {
//如果没有传hscode需要限制10分钟只能查询一次
boolean rs = iClearApiHsCodeLogService.findIClearApiHsCodeLog(appId);
if(rs == true){
resultHsCode = new ResultHsCode(Boolean.FALSE, ErrorCodeEnum.ERROR_10019.getCode(),ErrorCodeEnum.ERROR_10019.getName(),null);
}else{
resultHsCode = hsCodeService.findAllHsCodeList();
}
return resultHsCode;
}
}catch(Exception ex){
log.error(ex.getMessage(),ex);
resultHsCode = new ResultHsCode(Boolean.FALSE,ErrorCodeEnum.ERROR_30101.getCode(),ErrorCodeEnum.ERROR_30101.getName(),null);
return resultHsCode;
}finally {
iclearApiHsCodeLog.setReceiveResult(resultHsCode.getMsg());
iclearApiHsCodeLog.setErrorCode(resultHsCode.getCode());
iclearApiHsCodeLog.setResponseTime(new Date());
long end = System.currentTimeMillis();
iclearApiHsCodeLog.setSpendTime(end-begin);
//如果异常为hscode长度超过2000,将截取0到2000字符
if(resultHsCode.getCode().equals(ErrorCodeEnum.ERROR_30102.getCode())){
iclearApiHsCodeLog.setCode(consignmentCode.substring(0,2000));
}
iClearApiHsCodeLogService.saveIClearApiHsCodeLog(iclearApiHsCodeLog);
}
}
}