Showing
4 changed files
with
105 additions
and
28 deletions
| 1 | +package com.erry.iclear.dateInterface.api; | ||
| 2 | + | ||
| 3 | +import com.erry.iclear.dateInterface.api.response.ResultRS; | ||
| 4 | +import lombok.extern.slf4j.Slf4j; | ||
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 6 | +import org.springframework.context.MessageSource; | ||
| 7 | +import org.springframework.context.i18n.LocaleContextHolder; | ||
| 8 | +import org.springframework.http.HttpStatus; | ||
| 9 | +import org.springframework.validation.BindingResult; | ||
| 10 | +import org.springframework.validation.FieldError; | ||
| 11 | +import org.springframework.web.bind.MethodArgumentNotValidException; | ||
| 12 | +import org.springframework.web.bind.annotation.ControllerAdvice; | ||
| 13 | +import org.springframework.web.bind.annotation.ExceptionHandler; | ||
| 14 | +import org.springframework.web.bind.annotation.ResponseBody; | ||
| 15 | +import org.springframework.web.bind.annotation.ResponseStatus; | ||
| 16 | + | ||
| 17 | +import java.util.List; | ||
| 18 | +import java.util.stream.Collectors; | ||
| 19 | + | ||
| 20 | +/** | ||
| 21 | + * @author Administrator | ||
| 22 | + */ | ||
| 23 | +@ControllerAdvice | ||
| 24 | +@ResponseBody | ||
| 25 | +@Slf4j | ||
| 26 | +public class CommonExceptionAdvice { | ||
| 27 | + @Autowired | ||
| 28 | + private MessageSource messageSource; | ||
| 29 | + | ||
| 30 | + @ResponseStatus(HttpStatus.OK) | ||
| 31 | + @ExceptionHandler({MethodArgumentNotValidException.class,NullPointerException.class}) | ||
| 32 | + public ResultRS handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { | ||
| 33 | + log.error("参数验证失败:{}", e.getMessage()); | ||
| 34 | + BindingResult result = e.getBindingResult(); | ||
| 35 | + List<FieldError> errorList = e.getBindingResult().getFieldErrors(); | ||
| 36 | + List<String> errorMessages = errorList.stream().map(x->{ | ||
| 37 | + String itemMessage= messageSource.getMessage(x.getDefaultMessage(), null, x.getDefaultMessage(), LocaleContextHolder.getLocale()); | ||
| 38 | + return String.format("%s", itemMessage); | ||
| 39 | + }).collect(Collectors.toList()); | ||
| 40 | + | ||
| 41 | + | ||
| 42 | + return new ResultRS(Boolean.FALSE,"30002",errorMessages.toString()); | ||
| 43 | + } | ||
| 44 | +} |
| ... | @@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; | ... | @@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; |
| 13 | import org.apache.commons.lang3.StringUtils; | 13 | import org.apache.commons.lang3.StringUtils; |
| 14 | import org.springframework.beans.factory.annotation.Autowired; | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| 15 | import org.springframework.util.StopWatch; | 15 | import org.springframework.util.StopWatch; |
| 16 | +import org.springframework.validation.annotation.Validated; | ||
| 16 | import org.springframework.web.bind.annotation.*; | 17 | import org.springframework.web.bind.annotation.*; |
| 17 | 18 | ||
| 18 | import javax.servlet.http.HttpServletRequest; | 19 | import javax.servlet.http.HttpServletRequest; |
| ... | @@ -48,7 +49,7 @@ public class CustomsDataInterface { | ... | @@ -48,7 +49,7 @@ public class CustomsDataInterface { |
| 48 | @PostMapping("/sendMawb") | 49 | @PostMapping("/sendMawb") |
| 49 | @ResponseBody | 50 | @ResponseBody |
| 50 | public ResultRS sendMawb(HttpServletRequest request | 51 | public ResultRS sendMawb(HttpServletRequest request |
| 51 | - , @RequestBody Mawb mawb) { | 52 | + ,@Validated @RequestBody Mawb mawb) { |
| 52 | log.info("接收到请求数据billNo:"+mawb.getBillNo()+" data:" + gson.toJson(mawb)); | 53 | log.info("接收到请求数据billNo:"+mawb.getBillNo()+" data:" + gson.toJson(mawb)); |
| 53 | ResultRS result = new ResultRS(Boolean.FALSE,"",""); | 54 | ResultRS result = new ResultRS(Boolean.FALSE,"",""); |
| 54 | 55 | ... | ... |
| ... | @@ -5,8 +5,12 @@ import io.swagger.annotations.ApiModelProperty; | ... | @@ -5,8 +5,12 @@ import io.swagger.annotations.ApiModelProperty; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | import org.hibernate.annotations.DynamicInsert; | 6 | import org.hibernate.annotations.DynamicInsert; |
| 7 | import org.hibernate.annotations.DynamicUpdate; | 7 | import org.hibernate.annotations.DynamicUpdate; |
| 8 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | 9 | ||
| 9 | import javax.persistence.*; | 10 | import javax.persistence.*; |
| 11 | +import javax.validation.Valid; | ||
| 12 | +import javax.validation.constraints.NotBlank; | ||
| 13 | +import javax.validation.constraints.NotNull; | ||
| 10 | import java.io.Serializable; | 14 | import java.io.Serializable; |
| 11 | import java.math.BigDecimal; | 15 | import java.math.BigDecimal; |
| 12 | import java.util.List; | 16 | import java.util.List; |
| ... | @@ -38,22 +42,27 @@ public class Mawb implements Serializable { | ... | @@ -38,22 +42,27 @@ public class Mawb implements Serializable { |
| 38 | 42 | ||
| 39 | 43 | ||
| 40 | @ApiModelProperty(value = "进出口标志", name = "IEFlag", example = "固定值:E") | 44 | @ApiModelProperty(value = "进出口标志", name = "IEFlag", example = "固定值:E") |
| 45 | + @NotBlank(message="参数ieFlag不能为空") | ||
| 41 | @Column(name = "IEFLAG") | 46 | @Column(name = "IEFLAG") |
| 42 | private String ieFlag; | 47 | private String ieFlag; |
| 43 | 48 | ||
| 44 | @ApiModelProperty(value = "报关类型", name = "Type", example = "固定值:EX") | 49 | @ApiModelProperty(value = "报关类型", name = "Type", example = "固定值:EX") |
| 50 | + @NotBlank(message="参数type不能为空") | ||
| 45 | @Column(name = "TYPE") | 51 | @Column(name = "TYPE") |
| 46 | private String type; | 52 | private String type; |
| 47 | 53 | ||
| 48 | @ApiModelProperty(value = "申报单位代码", name = "agentCode", example = "固定值:1111980005") | 54 | @ApiModelProperty(value = "申报单位代码", name = "agentCode", example = "固定值:1111980005") |
| 55 | + @NotBlank(message="参数agentCode不能为空") | ||
| 49 | @Column(name = "AGENTCODE") | 56 | @Column(name = "AGENTCODE") |
| 50 | private String agentCode; | 57 | private String agentCode; |
| 51 | 58 | ||
| 52 | @ApiModelProperty(value = "申报单位名称", name = "agentName", example = "固定值:联邦快递(中国)有限公司") | 59 | @ApiModelProperty(value = "申报单位名称", name = "agentName", example = "固定值:联邦快递(中国)有限公司") |
| 60 | + @NotBlank(message="参数agentName不能为空") | ||
| 53 | @Column(name = "AGENTNAME") | 61 | @Column(name = "AGENTNAME") |
| 54 | private String agentName; | 62 | private String agentName; |
| 55 | 63 | ||
| 56 | @ApiModelProperty(value = "提单号", name = "billNo", example = "固定值:有总单号则取值‘总单号_运单号‘,没有总单号则取值‘运单号‘") | 64 | @ApiModelProperty(value = "提单号", name = "billNo", example = "固定值:有总单号则取值‘总单号_运单号‘,没有总单号则取值‘运单号‘") |
| 65 | + @NotBlank(message="参数billNo不能为空") | ||
| 57 | @Column(name = "BILLNO") | 66 | @Column(name = "BILLNO") |
| 58 | private String billNo; | 67 | private String billNo; |
| 59 | 68 | ||
| ... | @@ -62,46 +71,57 @@ public class Mawb implements Serializable { | ... | @@ -62,46 +71,57 @@ public class Mawb implements Serializable { |
| 62 | private String contrNo; | 71 | private String contrNo; |
| 63 | 72 | ||
| 64 | @ApiModelProperty(value = "主管海关(申报地海关)", name = "customMaster", example = "固定值:0101") | 73 | @ApiModelProperty(value = "主管海关(申报地海关)", name = "customMaster", example = "固定值:0101") |
| 74 | + @NotBlank(message="参数customMaster不能为空") | ||
| 65 | @Column(name = "CUSTOMMASTER") | 75 | @Column(name = "CUSTOMMASTER") |
| 66 | private String customMaster; | 76 | private String customMaster; |
| 67 | 77 | ||
| 68 | @ApiModelProperty(value = "征免性质", name = "cutMode", example = "101") | 78 | @ApiModelProperty(value = "征免性质", name = "cutMode", example = "101") |
| 79 | + @NotBlank(message="参数cutMode不能为空") | ||
| 69 | @Column(name = "CUTMODE") | 80 | @Column(name = "CUTMODE") |
| 70 | private String cutMode; | 81 | private String cutMode; |
| 71 | 82 | ||
| 72 | @ApiModelProperty(value = "报关/转关关系标志", name = "declTrnRel", example = "固定值:0") | 83 | @ApiModelProperty(value = "报关/转关关系标志", name = "declTrnRel", example = "固定值:0") |
| 84 | + @NotBlank(message="参数declTrnRel不能为空") | ||
| 73 | @Column(name = "DECLTRNREL") | 85 | @Column(name = "DECLTRNREL") |
| 74 | private String declTrnRel; | 86 | private String declTrnRel; |
| 75 | 87 | ||
| 76 | @ApiModelProperty(value = "经停港/指运港", name = "distinatePort", example = "ASM000") | 88 | @ApiModelProperty(value = "经停港/指运港", name = "distinatePort", example = "ASM000") |
| 89 | + @NotBlank(message="参数distinatePort不能为空") | ||
| 77 | @Column(name = "DISTINATEPORT") | 90 | @Column(name = "DISTINATEPORT") |
| 78 | private String distinatePort; | 91 | private String distinatePort; |
| 79 | 92 | ||
| 80 | @ApiModelProperty(value = "报关标志", name = "EdiId", example = "001") | 93 | @ApiModelProperty(value = "报关标志", name = "EdiId", example = "001") |
| 94 | + @NotBlank(message="参数ediId不能为空") | ||
| 81 | @Column(name = "EDIID") | 95 | @Column(name = "EDIID") |
| 82 | private String ediId; | 96 | private String ediId; |
| 83 | 97 | ||
| 84 | @ApiModelProperty(value = "海关编号", name = "EntryId", example = "001") | 98 | @ApiModelProperty(value = "海关编号", name = "EntryId", example = "001") |
| 99 | + @NotBlank(message="参数entryId不能为空") | ||
| 85 | @Column(name = "ENTRYID") | 100 | @Column(name = "ENTRYID") |
| 86 | private String entryId; | 101 | private String entryId; |
| 87 | 102 | ||
| 88 | @ApiModelProperty(value = "运费币制", name = "feeCurr", example = "固定值:3") | 103 | @ApiModelProperty(value = "运费币制", name = "feeCurr", example = "固定值:3") |
| 104 | + @NotBlank(message="参数feeCurr不能为空") | ||
| 89 | @Column(name = "FEECURR") | 105 | @Column(name = "FEECURR") |
| 90 | private String feeCurr; | 106 | private String feeCurr; |
| 91 | 107 | ||
| 92 | @ApiModelProperty(value = "运费标记", name = "feeMark", example = "99.22") | 108 | @ApiModelProperty(value = "运费标记", name = "feeMark", example = "99.22") |
| 109 | + @NotBlank(message="参数feeMark不能为空") | ||
| 93 | @Column(name = "FEEMARK") | 110 | @Column(name = "FEEMARK") |
| 94 | private String feeMark; | 111 | private String feeMark; |
| 95 | 112 | ||
| 96 | @ApiModelProperty(value = "运费/率", name = "feeRate", example = "43.34358") | 113 | @ApiModelProperty(value = "运费/率", name = "feeRate", example = "43.34358") |
| 114 | + @NotNull(message="参数feeRate不能为空") | ||
| 97 | @Column(name = "FEERATE") | 115 | @Column(name = "FEERATE") |
| 98 | private BigDecimal feeRate; | 116 | private BigDecimal feeRate; |
| 99 | 117 | ||
| 100 | @ApiModelProperty(value = "毛重", name = "grossWet", example = "") | 118 | @ApiModelProperty(value = "毛重", name = "grossWet", example = "") |
| 119 | + @NotNull(message="参数grossWet不能为空") | ||
| 101 | @Column(name = "CROSSWET") | 120 | @Column(name = "CROSSWET") |
| 102 | private Integer grossWet; | 121 | private Integer grossWet; |
| 103 | 122 | ||
| 104 | @ApiModelProperty(value = "出入境关闭", name = "IEPort", example = "固定值:0101") | 123 | @ApiModelProperty(value = "出入境关闭", name = "IEPort", example = "固定值:0101") |
| 124 | + @NotBlank(message="参数iePort不能为空") | ||
| 105 | @Column(name = "IEPORT") | 125 | @Column(name = "IEPORT") |
| 106 | private String iePort; | 126 | private String iePort; |
| 107 | 127 | ||
| ... | @@ -110,6 +130,7 @@ public class Mawb implements Serializable { | ... | @@ -110,6 +130,7 @@ public class Mawb implements Serializable { |
| 110 | private String inputerName; | 130 | private String inputerName; |
| 111 | 131 | ||
| 112 | @ApiModelProperty(value = "保险费币制", name = "insurCurr", example = "MOP") | 132 | @ApiModelProperty(value = "保险费币制", name = "insurCurr", example = "MOP") |
| 133 | + @NotBlank(message="参数insurCurr不能为空") | ||
| 113 | @Column(name = "INSURCURR") | 134 | @Column(name = "INSURCURR") |
| 114 | private String insurCurr; | 135 | private String insurCurr; |
| 115 | 136 | ||
| ... | @@ -118,6 +139,7 @@ public class Mawb implements Serializable { | ... | @@ -118,6 +139,7 @@ public class Mawb implements Serializable { |
| 118 | private String insurMark; | 139 | private String insurMark; |
| 119 | 140 | ||
| 120 | @ApiModelProperty(value = "保险费/率", name = "insurRate", example = "") | 141 | @ApiModelProperty(value = "保险费/率", name = "insurRate", example = "") |
| 142 | + @NotNull(message="参数insurRate不能为空") | ||
| 121 | @Column(name = "INSURRATE") | 143 | @Column(name = "INSURRATE") |
| 122 | private BigDecimal insurRate; | 144 | private BigDecimal insurRate; |
| 123 | 145 | ||
| ... | @@ -126,6 +148,7 @@ public class Mawb implements Serializable { | ... | @@ -126,6 +148,7 @@ public class Mawb implements Serializable { |
| 126 | private String manualNo; | 148 | private String manualNo; |
| 127 | 149 | ||
| 128 | @ApiModelProperty(value = "净重", name = "netWt", example = "") | 150 | @ApiModelProperty(value = "净重", name = "netWt", example = "") |
| 151 | + @NotNull(message="参数netWt不能为空") | ||
| 129 | @Column(name = "NETWT") | 152 | @Column(name = "NETWT") |
| 130 | private BigDecimal netWt; | 153 | private BigDecimal netWt; |
| 131 | 154 | ||
| ... | @@ -142,58 +165,70 @@ public class Mawb implements Serializable { | ... | @@ -142,58 +165,70 @@ public class Mawb implements Serializable { |
| 142 | private String otherMark; | 165 | private String otherMark; |
| 143 | 166 | ||
| 144 | @ApiModelProperty(value = "消费使用/生产销售单位代码", name = "ownerCode", example = "Z321654987") | 167 | @ApiModelProperty(value = "消费使用/生产销售单位代码", name = "ownerCode", example = "Z321654987") |
| 168 | + @NotBlank(message="参数ownerCode不能为空") | ||
| 145 | @Column(name = "OWNERCODE") | 169 | @Column(name = "OWNERCODE") |
| 146 | private String ownerCode; | 170 | private String ownerCode; |
| 147 | 171 | ||
| 148 | @ApiModelProperty(value = "消费使用/生产销售单位名称", name = "ownerName", example = "上海保险") | 172 | @ApiModelProperty(value = "消费使用/生产销售单位名称", name = "ownerName", example = "上海保险") |
| 173 | + @NotBlank(message="参数ownerName不能为空") | ||
| 149 | @Column(name = "OWNERNAME") | 174 | @Column(name = "OWNERNAME") |
| 150 | private String ownerName; | 175 | private String ownerName; |
| 151 | 176 | ||
| 152 | @ApiModelProperty(value = "件数", name = "packNo", example = "") | 177 | @ApiModelProperty(value = "件数", name = "packNo", example = "") |
| 178 | + @NotNull(message="参数packNo不能为空") | ||
| 153 | @Column(name = "PACKNO") | 179 | @Column(name = "PACKNO") |
| 154 | private Integer packNo; | 180 | private Integer packNo; |
| 155 | 181 | ||
| 156 | @ApiModelProperty(value = "预录入编号", name = "preEntryId", example = "") | 182 | @ApiModelProperty(value = "预录入编号", name = "preEntryId", example = "") |
| 157 | - @Column(name = "PREENTRYID") | ||
| 158 | private String preEntryId; | 183 | private String preEntryId; |
| 159 | 184 | ||
| 160 | @ApiModelProperty(value = "启运国/运抵国", name = "tradeCountry", example = "USA") | 185 | @ApiModelProperty(value = "启运国/运抵国", name = "tradeCountry", example = "USA") |
| 186 | + @NotBlank(message="参数tradeCountry不能为空") | ||
| 161 | @Column(name = "TRADECOUNTRY") | 187 | @Column(name = "TRADECOUNTRY") |
| 162 | private String tradeCountry; | 188 | private String tradeCountry; |
| 163 | 189 | ||
| 164 | @ApiModelProperty(value = "监管方式", name = "tradeMode", example = "0200") | 190 | @ApiModelProperty(value = "监管方式", name = "tradeMode", example = "0200") |
| 191 | + @NotBlank(message="参数tradeMode不能为空") | ||
| 165 | @Column(name = "TRADEMODE") | 192 | @Column(name = "TRADEMODE") |
| 166 | private String tradeMode; | 193 | private String tradeMode; |
| 167 | 194 | ||
| 168 | @ApiModelProperty(value = "境内收发货人编号", name = "tradeCode", example = "Z321654987") | 195 | @ApiModelProperty(value = "境内收发货人编号", name = "tradeCode", example = "Z321654987") |
| 196 | + @NotBlank(message="参数tradeCode不能为空") | ||
| 169 | @Column(name = "TRADECODE") | 197 | @Column(name = "TRADECODE") |
| 170 | private String tradeCode; | 198 | private String tradeCode; |
| 171 | 199 | ||
| 172 | @ApiModelProperty(value = "运输方式代码", name = "trafMode", example = "1") | 200 | @ApiModelProperty(value = "运输方式代码", name = "trafMode", example = "1") |
| 201 | + @NotBlank(message="参数trafMode不能为空") | ||
| 173 | @Column(name = "TRAFMODE") | 202 | @Column(name = "TRAFMODE") |
| 174 | private String trafMode; | 203 | private String trafMode; |
| 175 | 204 | ||
| 176 | @ApiModelProperty(value = "境内收发货人名称", name = "tradeName", example = "上海铢怡国际货物运输代理有限公司") | 205 | @ApiModelProperty(value = "境内收发货人名称", name = "tradeName", example = "上海铢怡国际货物运输代理有限公司") |
| 206 | + @NotBlank(message="参数tradeName不能为空") | ||
| 177 | @Column(name = "TRADENAME") | 207 | @Column(name = "TRADENAME") |
| 178 | private String tradeName; | 208 | private String tradeName; |
| 179 | 209 | ||
| 180 | @ApiModelProperty(value = "成交方式", name = "transMode", example = "2") | 210 | @ApiModelProperty(value = "成交方式", name = "transMode", example = "2") |
| 211 | + @NotBlank(message="参数transMode不能为空") | ||
| 181 | @Column(name = "TRANSMODE") | 212 | @Column(name = "TRANSMODE") |
| 182 | private String transMode; | 213 | private String transMode; |
| 183 | 214 | ||
| 184 | @ApiModelProperty(value = "包装种类", name = "wrapType", example = "22") | 215 | @ApiModelProperty(value = "包装种类", name = "wrapType", example = "22") |
| 216 | + @NotBlank(message="参数wrapType不能为空") | ||
| 185 | @Column(name = "WRAPTYPE") | 217 | @Column(name = "WRAPTYPE") |
| 186 | private String wrapType; | 218 | private String wrapType; |
| 187 | 219 | ||
| 188 | @ApiModelProperty(value = "生产核销单位统一信用代码---报关形式类型", name = "TradeCodeScc", example = "A74125896321456987") | 220 | @ApiModelProperty(value = "生产核销单位统一信用代码---报关形式类型", name = "TradeCodeScc", example = "A74125896321456987") |
| 221 | + @NotBlank(message="参数tradeCodeScc不能为空") | ||
| 189 | @Column(name = "TRADECODESCC") | 222 | @Column(name = "TRADECODESCC") |
| 190 | private String tradeCodeScc; | 223 | private String tradeCodeScc; |
| 191 | 224 | ||
| 192 | @ApiModelProperty(value = "消费使用/生产销售单位单位统一编码", name = "ownerCodeScc", example = "") | 225 | @ApiModelProperty(value = "消费使用/生产销售单位单位统一编码", name = "ownerCodeScc", example = "") |
| 226 | + @NotBlank(message="参数ownerCodeScc不能为空") | ||
| 193 | @Column(name = "OWNERCODESCC") | 227 | @Column(name = "OWNERCODESCC") |
| 194 | private String ownerCodeScc; | 228 | private String ownerCodeScc; |
| 195 | 229 | ||
| 196 | @ApiModelProperty(value = "贸易国别", name = "tradeAreaCode", example = "") | 230 | @ApiModelProperty(value = "贸易国别", name = "tradeAreaCode", example = "") |
| 231 | + @NotBlank(message="参数tradeAreaCode不能为空") | ||
| 197 | @Column(name = "TRADEAREACODE") | 232 | @Column(name = "TRADEAREACODE") |
| 198 | private String tradeAreaCode; | 233 | private String tradeAreaCode; |
| 199 | 234 | ||
| ... | @@ -202,6 +237,7 @@ public class Mawb implements Serializable { | ... | @@ -202,6 +237,7 @@ public class Mawb implements Serializable { |
| 202 | private String markNo; | 237 | private String markNo; |
| 203 | 238 | ||
| 204 | @ApiModelProperty(value = "入境口岸代码", name = "entyPortCode", example = "固定值:310302") | 239 | @ApiModelProperty(value = "入境口岸代码", name = "entyPortCode", example = "固定值:310302") |
| 240 | + @NotBlank(message="参数entyPortCode不能为空") | ||
| 205 | @Column(name = "ENTYPORTCODE") | 241 | @Column(name = "ENTYPORTCODE") |
| 206 | private String entyPortCode; | 242 | private String entyPortCode; |
| 207 | 243 | ||
| ... | @@ -214,7 +250,6 @@ public class Mawb implements Serializable { | ... | @@ -214,7 +250,6 @@ public class Mawb implements Serializable { |
| 214 | private String declareName; | 250 | private String declareName; |
| 215 | 251 | ||
| 216 | @ApiModelProperty(value = "境外发货人代码", name = "overseasConsignorCode", example = "") | 252 | @ApiModelProperty(value = "境外发货人代码", name = "overseasConsignorCode", example = "") |
| 217 | - @Column(name = "OVERSEASCONSIGNORCODE") | ||
| 218 | private String overseasConsignorCode; | 253 | private String overseasConsignorCode; |
| 219 | 254 | ||
| 220 | @ApiModelProperty(value = "境外收货人编码", name = "overseasConsigneeCode", example = "") | 255 | @ApiModelProperty(value = "境外收货人编码", name = "overseasConsigneeCode", example = "") |
| ... | @@ -222,9 +257,11 @@ public class Mawb implements Serializable { | ... | @@ -222,9 +257,11 @@ public class Mawb implements Serializable { |
| 222 | private String overseasConsigneeCode; | 257 | private String overseasConsigneeCode; |
| 223 | 258 | ||
| 224 | @ApiModelProperty(value = "境外收货人名称(外文)", name = "overseasConsigneeEname", example = "") | 259 | @ApiModelProperty(value = "境外收货人名称(外文)", name = "overseasConsigneeEname", example = "") |
| 260 | + @NotBlank(message="参数overseasConsigneeEname不能为空") | ||
| 225 | @Column(name = "OVERSEASCONSIGNEEENAME") | 261 | @Column(name = "OVERSEASCONSIGNEEENAME") |
| 226 | private String overseasConsigneeEname; | 262 | private String overseasConsigneeEname; |
| 227 | 263 | ||
| 264 | + @Valid | ||
| 228 | @ApiModelProperty(value = "运单明细", name = "mawbDetailList", example = "") | 265 | @ApiModelProperty(value = "运单明细", name = "mawbDetailList", example = "") |
| 229 | @OneToMany(cascade = CascadeType.PERSIST) | 266 | @OneToMany(cascade = CascadeType.PERSIST) |
| 230 | @JoinColumn(name = "mawbId") | 267 | @JoinColumn(name = "mawbId") | ... | ... |
| ... | @@ -4,8 +4,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; | ... | @@ -4,8 +4,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; |
| 4 | import io.swagger.annotations.ApiModel; | 4 | import io.swagger.annotations.ApiModel; |
| 5 | import io.swagger.annotations.ApiModelProperty; | 5 | import io.swagger.annotations.ApiModelProperty; |
| 6 | import lombok.Data; | 6 | import lombok.Data; |
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 7 | 8 | ||
| 8 | import javax.persistence.*; | 9 | import javax.persistence.*; |
| 10 | +import javax.validation.constraints.NotBlank; | ||
| 11 | +import javax.validation.constraints.NotNull; | ||
| 9 | import java.io.Serializable; | 12 | import java.io.Serializable; |
| 10 | import java.math.BigDecimal; | 13 | import java.math.BigDecimal; |
| 11 | 14 | ||
| ... | @@ -32,131 +35,123 @@ public class MawbDetail implements Serializable { | ... | @@ -32,131 +35,123 @@ public class MawbDetail implements Serializable { |
| 32 | private Long mawbId; | 35 | private Long mawbId; |
| 33 | 36 | ||
| 34 | @Column(name="DETAILID") | 37 | @Column(name="DETAILID") |
| 38 | + @NotBlank(message="参数detailId不能为空") | ||
| 35 | private String detailId; | 39 | private String detailId; |
| 36 | 40 | ||
| 37 | @ApiModelProperty(value = "商品编号", example = "空值") | 41 | @ApiModelProperty(value = "商品编号", example = "空值") |
| 38 | @Column(name = "CLASSMARK") | 42 | @Column(name = "CLASSMARK") |
| 39 | - //JsonProperty("ClassMark") | ||
| 40 | private String classMark; | 43 | private String classMark; |
| 41 | 44 | ||
| 42 | @ApiModelProperty(value = "商品编号") | 45 | @ApiModelProperty(value = "商品编号") |
| 46 | + @NotBlank(message="参数codeTS不能为空") | ||
| 43 | @Column(name = "CODETS") | 47 | @Column(name = "CODETS") |
| 44 | - //@JsonProperty("CodeTS") | ||
| 45 | private String codeTS; | 48 | private String codeTS; |
| 46 | 49 | ||
| 47 | @ApiModelProperty(value = "申报单价", example = "空值") | 50 | @ApiModelProperty(value = "申报单价", example = "空值") |
| 51 | + @NotNull(message="参数declPrice不能为空") | ||
| 48 | @Column(name = "DECLPRICE") | 52 | @Column(name = "DECLPRICE") |
| 49 | - //@JsonProperty("DeclPrice") | ||
| 50 | private BigDecimal declPrice; | 53 | private BigDecimal declPrice; |
| 51 | 54 | ||
| 52 | @ApiModelProperty(value = "申报总价") | 55 | @ApiModelProperty(value = "申报总价") |
| 56 | + @NotNull(message="参数declTotal不能为空") | ||
| 53 | @Column(name = "DECLTOTAL") | 57 | @Column(name = "DECLTOTAL") |
| 54 | - //@JsonProperty("DeclTotal") | ||
| 55 | private BigDecimal declTotal; | 58 | private BigDecimal declTotal; |
| 56 | 59 | ||
| 57 | @ApiModelProperty(value = "征免方式") | 60 | @ApiModelProperty(value = "征免方式") |
| 61 | + @NotBlank(message="参数dutyMode不能为空") | ||
| 58 | @Column(name = "DUTYMODE") | 62 | @Column(name = "DUTYMODE") |
| 59 | - //@JsonProperty("DutyMode") | ||
| 60 | private String dutyMode; | 63 | private String dutyMode; |
| 61 | 64 | ||
| 62 | @ApiModelProperty(value = "货号") | 65 | @ApiModelProperty(value = "货号") |
| 63 | @Column(name = "EXGNO") | 66 | @Column(name = "EXGNO") |
| 64 | - //@JsonProperty("ExgNo") | ||
| 65 | private String exgNo; | 67 | private String exgNo; |
| 66 | 68 | ||
| 67 | @ApiModelProperty(value = "货号") | 69 | @ApiModelProperty(value = "货号") |
| 68 | @Column(name = "EXGVERSION") | 70 | @Column(name = "EXGVERSION") |
| 69 | - //@JsonProperty("ExgVersion") | ||
| 70 | private String exgVersion; | 71 | private String exgVersion; |
| 71 | 72 | ||
| 72 | @ApiModelProperty(value = "第一计量单位(法定单位)") | 73 | @ApiModelProperty(value = "第一计量单位(法定单位)") |
| 74 | + @NotBlank(message="参数firstUnit不能为空") | ||
| 73 | @Column(name = "FIRSTUNIT") | 75 | @Column(name = "FIRSTUNIT") |
| 74 | - //@JsonProperty("FirstUnit") | ||
| 75 | private String firstUnit; | 76 | private String firstUnit; |
| 76 | 77 | ||
| 77 | @ApiModelProperty(value = "第一法定数量") | 78 | @ApiModelProperty(value = "第一法定数量") |
| 79 | + @NotNull(message="参数firstQty不能为空") | ||
| 78 | @Column(name = "FIRSTQTY") | 80 | @Column(name = "FIRSTQTY") |
| 79 | - //@JsonProperty("FirstQty") | ||
| 80 | private Integer firstQty; | 81 | private Integer firstQty; |
| 81 | 82 | ||
| 82 | @ApiModelProperty(value = "成交计量单位") | 83 | @ApiModelProperty(value = "成交计量单位") |
| 84 | + @NotBlank(message="参数gunit不能为空") | ||
| 83 | @Column(name = "GUNIT") | 85 | @Column(name = "GUNIT") |
| 84 | - //@JsonProperty("GUNIT") | ||
| 85 | private String gunit; | 86 | private String gunit; |
| 86 | 87 | ||
| 87 | @ApiModelProperty(value = "商品规格、型号") | 88 | @ApiModelProperty(value = "商品规格、型号") |
| 89 | + @NotBlank(message="参数gmodel不能为空") | ||
| 88 | @Column(name = "GMODE") | 90 | @Column(name = "GMODE") |
| 89 | - //@JsonProperty("GModel") | ||
| 90 | private String gmodel; | 91 | private String gmodel; |
| 91 | 92 | ||
| 92 | @ApiModelProperty(value = "商品名称") | 93 | @ApiModelProperty(value = "商品名称") |
| 94 | + @NotBlank(message="参数gname不能为空") | ||
| 93 | @Column(name = "GNAME") | 95 | @Column(name = "GNAME") |
| 94 | - //@JsonProperty("GName") | ||
| 95 | private String gname; | 96 | private String gname; |
| 96 | 97 | ||
| 97 | @ApiModelProperty(value = "商品序号") | 98 | @ApiModelProperty(value = "商品序号") |
| 99 | + @NotBlank(message="参数gno不能为空") | ||
| 98 | @Column(name = "GNO") | 100 | @Column(name = "GNO") |
| 99 | - //@JsonProperty("GNo") | ||
| 100 | private String gno; | 101 | private String gno; |
| 101 | 102 | ||
| 102 | @ApiModelProperty(value = "成交数量") | 103 | @ApiModelProperty(value = "成交数量") |
| 104 | + @NotNull(message="参数gqty不能为空") | ||
| 103 | @Column(name = "GQTY") | 105 | @Column(name = "GQTY") |
| 104 | - //@JsonProperty("GQty") | ||
| 105 | private BigDecimal gqty; | 106 | private BigDecimal gqty; |
| 106 | 107 | ||
| 107 | @ApiModelProperty(value = "原产国") | 108 | @ApiModelProperty(value = "原产国") |
| 109 | + @NotBlank(message="参数originCountry不能为空") | ||
| 108 | @Column(name = "ORIGINCURRENTY") | 110 | @Column(name = "ORIGINCURRENTY") |
| 109 | - //@JsonProperty("OriginCountry") | ||
| 110 | private String originCountry; | 111 | private String originCountry; |
| 111 | 112 | ||
| 112 | @ApiModelProperty(value = "第二计量单位") | 113 | @ApiModelProperty(value = "第二计量单位") |
| 113 | @Column(name = "SECONDUNIT") | 114 | @Column(name = "SECONDUNIT") |
| 114 | - //@JsonProperty("SecondUnit") | ||
| 115 | private String secondUnit; | 115 | private String secondUnit; |
| 116 | 116 | ||
| 117 | @ApiModelProperty(value = "第二法定数量") | 117 | @ApiModelProperty(value = "第二法定数量") |
| 118 | + @NotNull(message="参数secondQty不能为空") | ||
| 118 | @Column(name = "SECONDQTY") | 119 | @Column(name = "SECONDQTY") |
| 119 | - //@JsonProperty("SecondQty") | ||
| 120 | private Integer secondQty; | 120 | private Integer secondQty; |
| 121 | 121 | ||
| 122 | @ApiModelProperty(value = "成交币制") | 122 | @ApiModelProperty(value = "成交币制") |
| 123 | + @NotBlank(message="参数tradeCurr不能为空") | ||
| 123 | @Column(name = "TRADECURR") | 124 | @Column(name = "TRADECURR") |
| 124 | - //@JsonProperty("TradeCurr") | ||
| 125 | private String tradeCurr; | 125 | private String tradeCurr; |
| 126 | 126 | ||
| 127 | @ApiModelProperty(value = "用途/生产厂家") | 127 | @ApiModelProperty(value = "用途/生产厂家") |
| 128 | @Column(name = "USETO") | 128 | @Column(name = "USETO") |
| 129 | - //@JsonProperty("UseTo") | ||
| 130 | private String useTo; | 129 | private String useTo; |
| 131 | 130 | ||
| 132 | @ApiModelProperty(value = "工缴费") | 131 | @ApiModelProperty(value = "工缴费") |
| 133 | @Column(name = "WORKUSD") | 132 | @Column(name = "WORKUSD") |
| 134 | - //@JsonProperty("WorkUsd") | ||
| 135 | private BigDecimal workUsd; | 133 | private BigDecimal workUsd; |
| 136 | 134 | ||
| 137 | @ApiModelProperty(value = "检验检疫编") | 135 | @ApiModelProperty(value = "检验检疫编") |
| 138 | @Column(name = "CIQCODE") | 136 | @Column(name = "CIQCODE") |
| 139 | - //@JsonProperty("CiqCode") | ||
| 140 | private String ciqCode; | 137 | private String ciqCode; |
| 141 | 138 | ||
| 142 | @ApiModelProperty(value = "最终目的国(地区)") | 139 | @ApiModelProperty(value = "最终目的国(地区)") |
| 140 | + @NotBlank(message="参数destinationCountry不能为空") | ||
| 143 | @Column(name = "DESTINATIONCOUNTRY") | 141 | @Column(name = "DESTINATIONCOUNTRY") |
| 144 | - //@JsonProperty("DestinationCountry") | ||
| 145 | private String destinationCountry; | 142 | private String destinationCountry; |
| 146 | 143 | ||
| 147 | @ApiModelProperty(value = "申报货物英文名称") | 144 | @ApiModelProperty(value = "申报货物英文名称") |
| 148 | @Column(name = "DECLGOODSENAME") | 145 | @Column(name = "DECLGOODSENAME") |
| 149 | - //@JsonProperty("DeclGoodsEname") | ||
| 150 | private String declGoodsEname; | 146 | private String declGoodsEname; |
| 151 | 147 | ||
| 152 | @ApiModelProperty(value = "目的地代码") | 148 | @ApiModelProperty(value = "目的地代码") |
| 153 | @Column(name = "DESTCODE") | 149 | @Column(name = "DESTCODE") |
| 154 | - //@JsonProperty("DestCode") | ||
| 155 | private String destCode; | 150 | private String destCode; |
| 156 | 151 | ||
| 157 | @ApiModelProperty(value = "境内目的地/境内货源地") | 152 | @ApiModelProperty(value = "境内目的地/境内货源地") |
| 153 | + @NotBlank(message="参数districtCode不能为空") | ||
| 158 | @Column(name = "DISTRICTCODE") | 154 | @Column(name = "DISTRICTCODE") |
| 159 | - //@JsonProperty("DistrictCode") | ||
| 160 | private String districtCode; | 155 | private String districtCode; |
| 161 | 156 | ||
| 162 | 157 | ... | ... |
-
Please register or login to post a comment