HsCodeService.java
5.41 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
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
132
133
134
package com.erry.iclear.dateInterface.service;
import com.erry.iclear.dateInterface.ErrorCodeEnum;
import com.erry.iclear.dateInterface.api.request.HsCodeParam;
import com.erry.iclear.dateInterface.api.response.ResultHsCode;
import com.erry.iclear.dateInterface.entity.HsCode;
import com.erry.iclear.dateInterface.repository.HsCodeRepository;
import com.erry.iclear.dateInterface.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* hscode service
* mt
* 2022年2月10日16:26:34
*/
@Service
@Slf4j
public class HsCodeService {
@Autowired
HsCodeRepository hsCodeRepository;
/**
* 根据hscode编码查询对应的hscode
* @param hscode
* @return
*/
public ResultHsCode findHsCodeListByCode(String hscode){
ResultHsCode resultHsCode = new ResultHsCode(Boolean.FALSE,"","",null);
try{
if(hscode.length() > 2000){
resultHsCode.setCode(ErrorCodeEnum.ERROR_30102.getCode());
resultHsCode.setMsg(ErrorCodeEnum.ERROR_30102.getName());
return resultHsCode;
}
String[] hscodeArrays = hscode.split(",");
if(hscodeArrays.length > 100){
resultHsCode.setCode(ErrorCodeEnum.ERROR_30100.getCode());
resultHsCode.setMsg(ErrorCodeEnum.ERROR_30100.getName());
return resultHsCode;
}
List<String> skuCodeList = Arrays.asList(hscodeArrays);
List<HsCode> hsCodeList = this.hsCodeRepository.findHsCodeListByCode(skuCodeList);
//如果未查找到对应的hscode则构造一条未找到数据返回
skuCodeList.forEach(code ->{
boolean exist = false;
for (HsCode hsCode : hsCodeList) {
if(hsCode.getSkuCode().equals(code)){
exist = true;
}
}
//如果不存在则构造一条不存在数据
if(!exist){
HsCode hsCode = new HsCode();
hsCode.setSkuCode(code);
hsCode.setRemark("未找到对应hscode数据");
hsCodeList.add(hsCode);
}
});
resultHsCode.setSuccess(Boolean.TRUE);
resultHsCode.setCode(ErrorCodeEnum.SUCCESS.getCode());
resultHsCode.setMsg(ErrorCodeEnum.SUCCESS.getName());
resultHsCode.setHsCodeResultList(hsCodeList);
}catch(Exception ex){
log.error(ex.getMessage(),ex);
resultHsCode.setSuccess(Boolean.FALSE);
resultHsCode.setCode(ErrorCodeEnum.ERROR_30101.getCode());
resultHsCode.setMsg(ErrorCodeEnum.ERROR_30101.getName());
}
return resultHsCode;
}
/**
* 根据hscode编码或者商品名称进行模糊查询
* @param hscode
* @return
*/
public ResultHsCode fuzzyQueryHsCode(HsCodeParam hscode){
ResultHsCode resultHsCode = new ResultHsCode(Boolean.FALSE,"","",null);
try{
if(StringUtil.isEmpty(hscode.getSkuCode()) && StringUtil.isEmpty(hscode.getSkuName())){
resultHsCode.setCode(ErrorCodeEnum.ERROR_30103.getCode());
resultHsCode.setMsg(ErrorCodeEnum.ERROR_30103.getName());
return resultHsCode;
}
if(!StringUtil.isEmpty(hscode.getSkuCode()) && hscode.getSkuCode().length() > 50){
resultHsCode.setCode(ErrorCodeEnum.ERROR_30104.getCode());
resultHsCode.setMsg(ErrorCodeEnum.ERROR_30104.getName());
return resultHsCode;
}
if(!StringUtil.isEmpty(hscode.getSkuName()) && hscode.getSkuName().length() > 1000){
resultHsCode.setCode(ErrorCodeEnum.ERROR_30104.getCode());
resultHsCode.setMsg(ErrorCodeEnum.ERROR_30104.getName());
return resultHsCode;
}
List<HsCode> hsCodeList = null;
resultHsCode.setSuccess(Boolean.TRUE);
resultHsCode.setCode(ErrorCodeEnum.SUCCESS.getCode());
resultHsCode.setMsg(ErrorCodeEnum.SUCCESS.getName());
resultHsCode.setHsCodeResultList(hsCodeList);
}catch(Exception ex){
log.error(ex.getMessage(),ex);
resultHsCode.setSuccess(Boolean.FALSE);
resultHsCode.setCode(ErrorCodeEnum.ERROR_30101.getCode());
resultHsCode.setMsg(ErrorCodeEnum.ERROR_30101.getName());
}
return resultHsCode;
}
/**
* 查询所有有效hscode
* @return
*/
public ResultHsCode findAllHsCodeList(){
ResultHsCode resultHsCode = new ResultHsCode(Boolean.FALSE,"","",null);
try{
List<HsCode> hsCodeList = this.hsCodeRepository.findAllHsCodeList();
resultHsCode.setSuccess(Boolean.TRUE);
resultHsCode.setCode(ErrorCodeEnum.SUCCESS.getCode());
resultHsCode.setMsg(ErrorCodeEnum.SUCCESS.getName());
resultHsCode.setHsCodeResultList(hsCodeList);
}catch(Exception ex){
log.error(ex.getMessage(),ex);
resultHsCode.setSuccess(Boolean.FALSE);
resultHsCode.setCode(ErrorCodeEnum.ERROR_30101.getCode());
resultHsCode.setMsg(ErrorCodeEnum.ERROR_30101.getName());
}
return resultHsCode;
}
}