正在显示
17 个修改的文件
包含
2446 行增加
和
0 行删除
| 1 | +package com.sunyo.wlpt.vehicle.manage.cache; | ||
| 2 | + | ||
| 3 | +import org.springframework.beans.BeansException; | ||
| 4 | +import org.springframework.context.ApplicationContext; | ||
| 5 | +import org.springframework.context.ApplicationContextAware; | ||
| 6 | +import org.springframework.stereotype.Component; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * @author 子诚 | ||
| 10 | + * Description:用来获取springboot创建好的工厂 | ||
| 11 | + * 时间:2020/8/6 9:31 | ||
| 12 | + */ | ||
| 13 | +@Component | ||
| 14 | +public class ApplicationContextUtils implements ApplicationContextAware { | ||
| 15 | + | ||
| 16 | + /** | ||
| 17 | + * 保留下来工厂 | ||
| 18 | + */ | ||
| 19 | + private static ApplicationContext context; | ||
| 20 | + | ||
| 21 | + /** | ||
| 22 | + * 将创建好工厂以参数形式传递给这个类 | ||
| 23 | + * | ||
| 24 | + * @param applicationContext 上下文 | ||
| 25 | + * @throws BeansException | ||
| 26 | + */ | ||
| 27 | + @Override | ||
| 28 | + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException | ||
| 29 | + { | ||
| 30 | + context = applicationContext; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * 提供在工厂中获取对象的方法 例如:RedisTemplate redisTemplate | ||
| 35 | + * | ||
| 36 | + * @param beanName bean的名称 | ||
| 37 | + * @return | ||
| 38 | + */ | ||
| 39 | + public static Object getBean(String beanName) | ||
| 40 | + { | ||
| 41 | + return context.getBean(beanName); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | + |
| 1 | +package com.sunyo.wlpt.vehicle.manage.cache; | ||
| 2 | + | ||
| 3 | +import org.apache.ibatis.cache.Cache; | ||
| 4 | +import org.slf4j.Logger; | ||
| 5 | +import org.slf4j.LoggerFactory; | ||
| 6 | +import org.springframework.data.redis.core.RedisTemplate; | ||
| 7 | +import org.springframework.data.redis.serializer.StringRedisSerializer; | ||
| 8 | +import org.springframework.util.DigestUtils; | ||
| 9 | + | ||
| 10 | +import java.util.concurrent.TimeUnit; | ||
| 11 | +import java.util.concurrent.locks.ReadWriteLock; | ||
| 12 | +import java.util.concurrent.locks.ReentrantReadWriteLock; | ||
| 13 | + | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * @author 子诚 | ||
| 17 | + * Description:自定义Redis作为mybatis二级缓存实现 | ||
| 18 | + * 问题描述:缓存穿透、缓存雪崩 | ||
| 19 | + * <p> | ||
| 20 | + * 缓存穿透:就是说利用一些列措施,使得访问避开了缓存,直接访问数据库,使得数据库不堪重负引起的问题。比如(压测)访问数据库中不存在的数据 | ||
| 21 | + * 解决方案:读取数据库,不存在;依旧生成对应的key,放到缓存中,但是对应的value是null(mybatis的二级缓存是这样解决的)。 | ||
| 22 | + * 下次再次访问的话,就是读取缓存。 | ||
| 23 | + * <p> | ||
| 24 | + * 缓存雪崩:是指在某一特殊时刻,缓存中的缓存全部失效,然后这一时刻又有大量的数据库访问,导致数据库不堪重负。 | ||
| 25 | + * 解决方案:根据业务的不同设置不同的缓存失效时间。 | ||
| 26 | + * 比如:这个项目,做了3个namespace的缓存,其中一个namespace,共有5个Mapper指向它。所以选择使用范围内的随机值,来做缓存失效时间 | ||
| 27 | + * <p> | ||
| 28 | + * 时间:2020/8/6 9:37 | ||
| 29 | + */ | ||
| 30 | +public class RedisCache implements Cache { | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * slf4j的日志记录器 | ||
| 34 | + */ | ||
| 35 | + private static final Logger logger = LoggerFactory.getLogger(com.sunyo.wlpt.vehicle.manage.cache.RedisCache.class); | ||
| 36 | + | ||
| 37 | + /** | ||
| 38 | + * 用于事务性缓存操作的读写锁 | ||
| 39 | + */ | ||
| 40 | + private static final ReadWriteLock readWriteLock = new ReentrantReadWriteLock(); | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * 当前放入缓存的mapper的namespace | ||
| 44 | + */ | ||
| 45 | + private final String id; | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * 必须存在构造方法 | ||
| 49 | + */ | ||
| 50 | + public RedisCache(String id) | ||
| 51 | + { | ||
| 52 | + this.id = id; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * 返回cache唯一标识 | ||
| 57 | + */ | ||
| 58 | + @Override | ||
| 59 | + public String getId() | ||
| 60 | + { | ||
| 61 | + return this.id; | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + /** | ||
| 65 | + * 缓存放入值 redis RedisTemplate StringRedisTemplate | ||
| 66 | + * | ||
| 67 | + * @param key hash_key | ||
| 68 | + * @param value hash_value | ||
| 69 | + */ | ||
| 70 | + @Override | ||
| 71 | + public void putObject(Object key, Object value) | ||
| 72 | + { | ||
| 73 | + RedisTemplate redisTemplate = getRedisTemplate(); | ||
| 74 | + // 使用redis的hash类型作为缓存存储模型 | ||
| 75 | + redisTemplate.opsForHash().put(id.toString(), encryptionKey(key.toString()), value); | ||
| 76 | + | ||
| 77 | + /** | ||
| 78 | + * 根据业务的不同,设置不同的缓存时间,解决掉缓存雪崩 | ||
| 79 | + */ | ||
| 80 | + if (id.equals("com.sunyo.wlpt.vehicle.manage.mapper.LandRoadVeRecordMapper")) { | ||
| 81 | + // 车辆查询 | ||
| 82 | + redisTemplate.expire(id.toString(), random(60, 120), TimeUnit.MINUTES); | ||
| 83 | + } else { | ||
| 84 | + // 其他,作为补充 | ||
| 85 | + redisTemplate.expire(id.toString(), random(30, 50), TimeUnit.MINUTES); | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + /** | ||
| 90 | + * | ||
| 91 | + */ | ||
| 92 | + public int random(int low, int high) | ||
| 93 | + { | ||
| 94 | + int num = ((int) (Math.random() * (high - low))) + low; | ||
| 95 | + return num; | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + /** | ||
| 99 | + * 缓存中中获取数据 | ||
| 100 | + */ | ||
| 101 | + @Override | ||
| 102 | + public Object getObject(Object key) | ||
| 103 | + { | ||
| 104 | + RedisTemplate redisTemplate = getRedisTemplate(); | ||
| 105 | + //根据key 从redis的hash类型中获取数据 | ||
| 106 | + return redisTemplate.opsForHash().get(id.toString(), encryptionKey(key.toString())); | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * 注意:这个方法为mybatis保留方法 默认没有实现 后续版本可能会实现 | ||
| 111 | + * | ||
| 112 | + * @param key hash_key | ||
| 113 | + * @return | ||
| 114 | + */ | ||
| 115 | + @Override | ||
| 116 | + public Object removeObject(Object key) | ||
| 117 | + { | ||
| 118 | + RedisTemplate redisTemplate = getRedisTemplate(); | ||
| 119 | + redisTemplate.delete(key); | ||
| 120 | + return null; | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + @Override | ||
| 124 | + public void clear() | ||
| 125 | + { | ||
| 126 | + logger.info("清空->{}<-缓存", id); | ||
| 127 | + RedisTemplate redisTemplate = getRedisTemplate(); | ||
| 128 | + // 清空 namespace | ||
| 129 | + redisTemplate.delete(id.toString()); | ||
| 130 | + } | ||
| 131 | + | ||
| 132 | + /** | ||
| 133 | + * 用来计算缓存数量 | ||
| 134 | + */ | ||
| 135 | + @Override | ||
| 136 | + public int getSize() | ||
| 137 | + { | ||
| 138 | + RedisTemplate redisTemplate = getRedisTemplate(); | ||
| 139 | + // 获取hash中key value数量 | ||
| 140 | + return redisTemplate.opsForHash().size(id.toString()).intValue(); | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + /** | ||
| 144 | + * 封装redisTemplate | ||
| 145 | + * | ||
| 146 | + * @return RedisTemplate | ||
| 147 | + */ | ||
| 148 | + private RedisTemplate getRedisTemplate() | ||
| 149 | + { | ||
| 150 | + //通过application工具类获取redisTemplate | ||
| 151 | + RedisTemplate redisTemplate = (RedisTemplate) com.sunyo.wlpt.vehicle.manage.cache.ApplicationContextUtils.getBean("redisTemplate"); | ||
| 152 | + redisTemplate.setKeySerializer(new StringRedisSerializer()); | ||
| 153 | + redisTemplate.setHashKeySerializer(new StringRedisSerializer()); | ||
| 154 | + return redisTemplate; | ||
| 155 | + } | ||
| 156 | + | ||
| 157 | + /** | ||
| 158 | + * 封装一个对key进行md5处理方法 | ||
| 159 | + */ | ||
| 160 | + private String encryptionKey(String key) | ||
| 161 | + { | ||
| 162 | + return DigestUtils.md5DigestAsHex(key.getBytes()); | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + @Override | ||
| 166 | + public ReadWriteLock getReadWriteLock() | ||
| 167 | + { | ||
| 168 | + return readWriteLock; | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | +} | ||
| 172 | + |
| 1 | +package com.sunyo.wlpt.vehicle.manage.config; | ||
| 2 | + | ||
| 3 | +import org.springframework.context.annotation.Configuration; | ||
| 4 | +import org.springframework.security.config.annotation.web.builders.HttpSecurity; | ||
| 5 | +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; | ||
| 6 | +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * @author 子诚 | ||
| 10 | + * Description:SpringSecurity 权限配置框架 | ||
| 11 | + * 时间:2020/7/5 13:38 | ||
| 12 | + */ | ||
| 13 | +@EnableWebSecurity | ||
| 14 | +@Configuration | ||
| 15 | +public class SecurityConfig extends WebSecurityConfigurerAdapter { | ||
| 16 | + @Override | ||
| 17 | + protected void configure(HttpSecurity http) throws Exception { | ||
| 18 | + http.csrf().disable(); | ||
| 19 | + } | ||
| 20 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.config; | ||
| 2 | + | ||
| 3 | +import org.springframework.context.annotation.Bean; | ||
| 4 | +import org.springframework.context.annotation.Configuration; | ||
| 5 | +import springfox.documentation.builders.ApiInfoBuilder; | ||
| 6 | +import springfox.documentation.builders.PathSelectors; | ||
| 7 | +import springfox.documentation.builders.RequestHandlerSelectors; | ||
| 8 | +import springfox.documentation.service.ApiInfo; | ||
| 9 | +import springfox.documentation.spi.DocumentationType; | ||
| 10 | +import springfox.documentation.spring.web.plugins.Docket; | ||
| 11 | +import springfox.documentation.swagger2.annotations.EnableSwagger2; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * @author 子诚 | ||
| 15 | + * Description:swagger-knife4j 的配置文件 | ||
| 16 | + * 时间:2020/7/10 11:48 | ||
| 17 | + */ | ||
| 18 | +@Configuration | ||
| 19 | +@EnableSwagger2 | ||
| 20 | +public class SwaggerConfig { | ||
| 21 | + @Bean | ||
| 22 | + public Docket createRestApi() | ||
| 23 | + { | ||
| 24 | + return new Docket(DocumentationType.SWAGGER_2) | ||
| 25 | + .apiInfo(apiInfo()) | ||
| 26 | + .select() | ||
| 27 | + .apis(RequestHandlerSelectors.basePackage("com.sunyo.wlpt.vehicle.manage.controller")) | ||
| 28 | + .paths(PathSelectors.any()) | ||
| 29 | + .build(); | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + private ApiInfo apiInfo() | ||
| 33 | + { | ||
| 34 | + return new ApiInfoBuilder() | ||
| 35 | + .title("车辆管理服务") | ||
| 36 | + .description("车辆管理服务") | ||
| 37 | + .termsOfServiceUrl("http://localhost:10001/") | ||
| 38 | + .contact("子诚") | ||
| 39 | + .version("1.0.0") | ||
| 40 | + .build(); | ||
| 41 | + } | ||
| 42 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.controller; | ||
| 2 | + | ||
| 3 | +import com.github.pagehelper.PageInfo; | ||
| 4 | +import com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord; | ||
| 5 | +import com.sunyo.wlpt.vehicle.manage.response.ResultJson; | ||
| 6 | +import com.sunyo.wlpt.vehicle.manage.service.LandRoadVeRecordService; | ||
| 7 | +import org.springframework.web.bind.annotation.*; | ||
| 8 | + | ||
| 9 | +import javax.annotation.Resource; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * @author 子诚 | ||
| 13 | + * Description: | ||
| 14 | + * 时间:2020/9/22 17:58 | ||
| 15 | + */ | ||
| 16 | +@CrossOrigin | ||
| 17 | +@RequestMapping("vehicle") | ||
| 18 | +@RestController | ||
| 19 | +public class LandRoadVeRecordController { | ||
| 20 | + | ||
| 21 | + @Resource | ||
| 22 | + LandRoadVeRecordService landRoadVeRecordService; | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * 分页查询,车辆信息列表 | ||
| 26 | + * | ||
| 27 | + * @param domesticLisenceNo 国内车牌号 | ||
| 28 | + * @param veType 车辆类型 | ||
| 29 | + * @param veState 车辆状态 | ||
| 30 | + * @param pageNum 当前页数 | ||
| 31 | + * @param pageSize 每页大小 | ||
| 32 | + * @return | ||
| 33 | + */ | ||
| 34 | + @GetMapping("/page") | ||
| 35 | + public ResultJson selectBusExchangeList( | ||
| 36 | + @RequestParam(value = "domesticLisenceNo", required = false) String domesticLisenceNo, | ||
| 37 | + @RequestParam(value = "veType", required = false) String veType, | ||
| 38 | + @RequestParam(value = "veState", required = false) String veState, | ||
| 39 | + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, | ||
| 40 | + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) | ||
| 41 | + { | ||
| 42 | + LandRoadVeRecord landRoadVeRecord = LandRoadVeRecord.builder() | ||
| 43 | + .domesticLisenceNo(domesticLisenceNo) | ||
| 44 | + .veType(veType) | ||
| 45 | + .veState(veState) | ||
| 46 | + .build(); | ||
| 47 | + return landRoadVeRecordService.selectListByPage(landRoadVeRecord, pageNum, pageSize); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + @DeleteMapping("/delete") | ||
| 51 | + public ResultJson deleteLandRoadVeRecord(@RequestBody LandRoadVeRecord landRoadVeRecord) | ||
| 52 | + { | ||
| 53 | + return landRoadVeRecordService.deleteByPrimaryKey(landRoadVeRecord.getId()); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + | ||
| 57 | + @DeleteMapping("/batchRemove") | ||
| 58 | + public ResultJson batchRemoveLandRoadVeRecord(@RequestBody LandRoadVeRecord landRoadVeRecord) | ||
| 59 | + { | ||
| 60 | + String id = landRoadVeRecord.getId(); | ||
| 61 | + return id.contains(",") | ||
| 62 | + ? landRoadVeRecordService.batchRemoveByIds(id) | ||
| 63 | + : landRoadVeRecordService.deleteByPrimaryKey(id); | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + @PostMapping("/insert") | ||
| 67 | + public ResultJson insertLandRoadVeRecord(@RequestBody LandRoadVeRecord landRoadVeRecord) | ||
| 68 | + { | ||
| 69 | + return landRoadVeRecordService.insertSelective(landRoadVeRecord); | ||
| 70 | + } | ||
| 71 | + @PutMapping("/update") | ||
| 72 | + public ResultJson updateLandRoadVeRecord(@RequestBody LandRoadVeRecord landRoadVeRecord) | ||
| 73 | + { | ||
| 74 | + return landRoadVeRecordService.updateByPrimaryKeySelective(landRoadVeRecord); | ||
| 75 | + } | ||
| 76 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.domain; | ||
| 2 | + | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 6 | +import java.io.Serializable; | ||
| 7 | +import java.util.Date; | ||
| 8 | + | ||
| 9 | +import lombok.AllArgsConstructor; | ||
| 10 | +import lombok.Builder; | ||
| 11 | +import lombok.Data; | ||
| 12 | +import lombok.NoArgsConstructor; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * @author 子诚 | ||
| 16 | + * Description:车辆详细信息 | ||
| 17 | + * 时间:2020/9/22 17:45 | ||
| 18 | + */ | ||
| 19 | +@ApiModel("LandRoadVeRecord:车辆详细信息") | ||
| 20 | +@Data | ||
| 21 | +@Builder | ||
| 22 | +@AllArgsConstructor | ||
| 23 | +@NoArgsConstructor | ||
| 24 | +public class LandRoadVeRecord implements Serializable { | ||
| 25 | + | ||
| 26 | + private static final long serialVersionUID = -953128661933605427L; | ||
| 27 | + | ||
| 28 | + @ApiModelProperty(value = "") | ||
| 29 | + private String id; | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * 电子口岸录入号ID(电子口岸与海关数据传输使用,企业无需填写) | ||
| 33 | + */ | ||
| 34 | + @ApiModelProperty(value = "电子口岸录入号ID(电子口岸与海关数据传输使用,企业无需填写)") | ||
| 35 | + private String eportId; | ||
| 36 | + | ||
| 37 | + /** | ||
| 38 | + * 主管海关代码 | ||
| 39 | + */ | ||
| 40 | + @ApiModelProperty(value = "主管海关代码") | ||
| 41 | + private String mainPort; | ||
| 42 | + | ||
| 43 | + /** | ||
| 44 | + * 运输公司代码 | ||
| 45 | + */ | ||
| 46 | + @ApiModelProperty(value = "运输公司代码") | ||
| 47 | + private String coCode; | ||
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 车牌指标编码 | ||
| 51 | + */ | ||
| 52 | + @ApiModelProperty(value = "车牌指标编码") | ||
| 53 | + private String veTargetNo; | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * 国内车牌 | ||
| 57 | + */ | ||
| 58 | + @ApiModelProperty(value = "国内车牌") | ||
| 59 | + private String domesticLisenceNo; | ||
| 60 | + | ||
| 61 | + /** | ||
| 62 | + * 车牌颜色 | ||
| 63 | + */ | ||
| 64 | + @ApiModelProperty(value = "车牌颜色") | ||
| 65 | + private String domesticLicenseColor; | ||
| 66 | + | ||
| 67 | + /** | ||
| 68 | + * 外籍车牌 | ||
| 69 | + */ | ||
| 70 | + @ApiModelProperty(value = "外籍车牌") | ||
| 71 | + private String foreignLicense; | ||
| 72 | + | ||
| 73 | + @ApiModelProperty(value = "") | ||
| 74 | + private String veRegPlace; | ||
| 75 | + | ||
| 76 | + /** | ||
| 77 | + * 使用性质 | ||
| 78 | + */ | ||
| 79 | + @ApiModelProperty(value = "使用性质") | ||
| 80 | + private String veProperty; | ||
| 81 | + | ||
| 82 | + /** | ||
| 83 | + * 车辆运输资格 | ||
| 84 | + */ | ||
| 85 | + @ApiModelProperty(value = "车辆运输资格") | ||
| 86 | + private String veConveyQua; | ||
| 87 | + | ||
| 88 | + /** | ||
| 89 | + * 车辆行驶证编号 | ||
| 90 | + */ | ||
| 91 | + @ApiModelProperty(value = "车辆行驶证编号") | ||
| 92 | + private String veCardNo; | ||
| 93 | + | ||
| 94 | + /** | ||
| 95 | + * 车辆登记车主名称 | ||
| 96 | + */ | ||
| 97 | + @ApiModelProperty(value = "车辆登记车主名称") | ||
| 98 | + private String veOwnerName; | ||
| 99 | + | ||
| 100 | + /** | ||
| 101 | + * 车辆登记车主证件号码 | ||
| 102 | + */ | ||
| 103 | + @ApiModelProperty(value = "车辆登记车主证件号码") | ||
| 104 | + private String veOwnerNo; | ||
| 105 | + | ||
| 106 | + /** | ||
| 107 | + * 车主境内联系地址 | ||
| 108 | + */ | ||
| 109 | + @ApiModelProperty(value = "车主境内联系地址") | ||
| 110 | + private String ownerInsideAddr; | ||
| 111 | + | ||
| 112 | + /** | ||
| 113 | + * 车主境内联系电话 | ||
| 114 | + */ | ||
| 115 | + @ApiModelProperty(value = "车主境内联系电话") | ||
| 116 | + private String ownerInsideTel; | ||
| 117 | + | ||
| 118 | + /** | ||
| 119 | + * 车辆类型(型样) | ||
| 120 | + */ | ||
| 121 | + @ApiModelProperty(value = "车辆类型(型样)") | ||
| 122 | + private String veType; | ||
| 123 | + | ||
| 124 | + /** | ||
| 125 | + * 厂牌 | ||
| 126 | + */ | ||
| 127 | + @ApiModelProperty(value = "厂牌") | ||
| 128 | + private String brand; | ||
| 129 | + | ||
| 130 | + @ApiModelProperty(value = "") | ||
| 131 | + private String model; | ||
| 132 | + | ||
| 133 | + /** | ||
| 134 | + * 排气量 | ||
| 135 | + */ | ||
| 136 | + @ApiModelProperty(value = "排气量") | ||
| 137 | + private String exhaustCapacity; | ||
| 138 | + | ||
| 139 | + /** | ||
| 140 | + * 行驶证有效期日期(yyyyMMdd-0) | ||
| 141 | + */ | ||
| 142 | + @ApiModelProperty(value = "行驶证有效期日期(yyyyMMdd-0)") | ||
| 143 | + private Date veFactoryDate; | ||
| 144 | + | ||
| 145 | + /** | ||
| 146 | + * 发动机号 | ||
| 147 | + */ | ||
| 148 | + @ApiModelProperty(value = "发动机号") | ||
| 149 | + private String veMotorNo; | ||
| 150 | + | ||
| 151 | + /** | ||
| 152 | + * 车架号(车辆识别代号) | ||
| 153 | + */ | ||
| 154 | + @ApiModelProperty(value = "车架号(车辆识别代号)") | ||
| 155 | + private String veFrameNo; | ||
| 156 | + | ||
| 157 | + /** | ||
| 158 | + * 核定载客/核定载质量:客车的核定载客单位仍为:人;货车的核定载客单位改为:千克。 | ||
| 159 | + */ | ||
| 160 | + @ApiModelProperty(value = "核定载客/核定载质量:客车的核定载客单位仍为:人;货车的核定载客单位改为:千克。") | ||
| 161 | + private String veTon; | ||
| 162 | + | ||
| 163 | + /** | ||
| 164 | + * 自重(整备质量) | ||
| 165 | + */ | ||
| 166 | + @ApiModelProperty(value = "自重(整备质量)") | ||
| 167 | + private String selfWt; | ||
| 168 | + | ||
| 169 | + /** | ||
| 170 | + * 准牵引总质量 | ||
| 171 | + */ | ||
| 172 | + @ApiModelProperty(value = "准牵引总质量") | ||
| 173 | + private String allowTowTotalWt; | ||
| 174 | + | ||
| 175 | + /** | ||
| 176 | + * 内部长度 | ||
| 177 | + */ | ||
| 178 | + @ApiModelProperty(value = "内部长度") | ||
| 179 | + private String containerInnerLength; | ||
| 180 | + | ||
| 181 | + /** | ||
| 182 | + * 货箱内部宽度(M) | ||
| 183 | + */ | ||
| 184 | + @ApiModelProperty(value = "货箱内部宽度(M)") | ||
| 185 | + private String containerInnerWidth; | ||
| 186 | + | ||
| 187 | + /** | ||
| 188 | + * 货箱内部高度(M) | ||
| 189 | + */ | ||
| 190 | + @ApiModelProperty(value = "货箱内部高度(M)") | ||
| 191 | + private String containerInnerHeight; | ||
| 192 | + | ||
| 193 | + /** | ||
| 194 | + * 外廓长度(M) | ||
| 195 | + */ | ||
| 196 | + @ApiModelProperty(value = "外廓长度(M)") | ||
| 197 | + private String outerLength; | ||
| 198 | + | ||
| 199 | + /** | ||
| 200 | + * 外廓宽度(M) | ||
| 201 | + */ | ||
| 202 | + @ApiModelProperty(value = "外廓宽度(M)") | ||
| 203 | + private String outerWidth; | ||
| 204 | + | ||
| 205 | + /** | ||
| 206 | + * 外廓高度(M) | ||
| 207 | + */ | ||
| 208 | + @ApiModelProperty(value = "外廓高度(M)") | ||
| 209 | + private String outerHeight; | ||
| 210 | + | ||
| 211 | + /** | ||
| 212 | + * 车身颜色 | ||
| 213 | + */ | ||
| 214 | + @ApiModelProperty(value = "车身颜色") | ||
| 215 | + private String veBodyColor; | ||
| 216 | + | ||
| 217 | + /** | ||
| 218 | + * 油箱容量(升) | ||
| 219 | + */ | ||
| 220 | + @ApiModelProperty(value = "油箱容量(升)") | ||
| 221 | + private String oilBoxCapcity; | ||
| 222 | + | ||
| 223 | + /** | ||
| 224 | + * 批准车辆进出口岸 | ||
| 225 | + */ | ||
| 226 | + @ApiModelProperty(value = "批准车辆进出口岸") | ||
| 227 | + private String allowVeIePort; | ||
| 228 | + | ||
| 229 | + /** | ||
| 230 | + * 批文/许可证编号 | ||
| 231 | + */ | ||
| 232 | + @ApiModelProperty(value = "批文/许可证编号") | ||
| 233 | + private String apprNo; | ||
| 234 | + | ||
| 235 | + /** | ||
| 236 | + * 批文/许可证有效期(yyyyMMdd-0) | ||
| 237 | + */ | ||
| 238 | + @ApiModelProperty(value = "批文/许可证有效期(yyyyMMdd-0)") | ||
| 239 | + private Date apprPeriod; | ||
| 240 | + | ||
| 241 | + /** | ||
| 242 | + * 最新更新申请业务类型 | ||
| 243 | + */ | ||
| 244 | + @ApiModelProperty(value = "最新更新申请业务类型") | ||
| 245 | + private String currApplyBussiness; | ||
| 246 | + | ||
| 247 | + /** | ||
| 248 | + * 车前45度照片 | ||
| 249 | + */ | ||
| 250 | + @ApiModelProperty(value = "车前45度照片") | ||
| 251 | + private String front45cPic; | ||
| 252 | + | ||
| 253 | + /** | ||
| 254 | + * 车后45度照片 | ||
| 255 | + */ | ||
| 256 | + @ApiModelProperty(value = "车后45度照片") | ||
| 257 | + private String back45cPic; | ||
| 258 | + | ||
| 259 | + /** | ||
| 260 | + * 油箱照片 | ||
| 261 | + */ | ||
| 262 | + @ApiModelProperty(value = "油箱照片") | ||
| 263 | + private String oilBoxPic; | ||
| 264 | + | ||
| 265 | + /** | ||
| 266 | + * 车底照片 | ||
| 267 | + */ | ||
| 268 | + @ApiModelProperty(value = "车底照片") | ||
| 269 | + private String veBottomPic; | ||
| 270 | + | ||
| 271 | + /** | ||
| 272 | + * 备注 | ||
| 273 | + */ | ||
| 274 | + @ApiModelProperty(value = "备注") | ||
| 275 | + private String memo; | ||
| 276 | + | ||
| 277 | + /** | ||
| 278 | + * 挂靠单位 | ||
| 279 | + */ | ||
| 280 | + @ApiModelProperty(value = "挂靠单位") | ||
| 281 | + private String proposer; | ||
| 282 | + | ||
| 283 | + /** | ||
| 284 | + * 申请时间 yyyyMMddHHmmss | ||
| 285 | + */ | ||
| 286 | + @ApiModelProperty(value = "申请时间 yyyyMMddHHmmss") | ||
| 287 | + private Date proposeTime; | ||
| 288 | + | ||
| 289 | + /** | ||
| 290 | + * 车辆分类。1是进出境公路运输工具;2是来往港澳公路运输工具;3是进出境公/私用公路交通工具;4是来往港澳公/私用公路交通工具 | ||
| 291 | + */ | ||
| 292 | + @ApiModelProperty(value = "车辆分类。1是进出境公路运输工具;2是来往港澳公路运输工具;3是进出境公/私用公路交通工具;4是来往港澳公/私用公路交通工具") | ||
| 293 | + private String veClassFlag; | ||
| 294 | + | ||
| 295 | + /** | ||
| 296 | + * 数据操作类型 | ||
| 297 | + */ | ||
| 298 | + @ApiModelProperty(value = "数据操作类型") | ||
| 299 | + private String operationType; | ||
| 300 | + | ||
| 301 | + /** | ||
| 302 | + * 挂车牌号 | ||
| 303 | + */ | ||
| 304 | + @ApiModelProperty(value = "挂车牌号") | ||
| 305 | + private String trailerLicenseNo; | ||
| 306 | + | ||
| 307 | + /** | ||
| 308 | + * 挂车车架号 | ||
| 309 | + */ | ||
| 310 | + @ApiModelProperty(value = "挂车车架号") | ||
| 311 | + private String trailerFrameNo; | ||
| 312 | + | ||
| 313 | + /** | ||
| 314 | + * 批文扫描图 | ||
| 315 | + */ | ||
| 316 | + @ApiModelProperty(value = "批文扫描图") | ||
| 317 | + private String approNoPic; | ||
| 318 | + | ||
| 319 | + /** | ||
| 320 | + * 车架号扫描图 | ||
| 321 | + */ | ||
| 322 | + @ApiModelProperty(value = "车架号扫描图") | ||
| 323 | + private String veFrameNoPic; | ||
| 324 | + | ||
| 325 | + /** | ||
| 326 | + * 发动机拓印件 | ||
| 327 | + */ | ||
| 328 | + @ApiModelProperty(value = "发动机拓印件") | ||
| 329 | + private String motorNoPic; | ||
| 330 | + | ||
| 331 | + /** | ||
| 332 | + * 外籍车牌照片 | ||
| 333 | + */ | ||
| 334 | + @ApiModelProperty(value = "外籍车牌照片") | ||
| 335 | + private String foreignLicensePic; | ||
| 336 | + | ||
| 337 | + /** | ||
| 338 | + * 国籍 | ||
| 339 | + */ | ||
| 340 | + @ApiModelProperty(value = "国籍") | ||
| 341 | + private String nationality; | ||
| 342 | + | ||
| 343 | + /** | ||
| 344 | + * 回执内容 | ||
| 345 | + */ | ||
| 346 | + @ApiModelProperty(value = "回执内容") | ||
| 347 | + private String returnmessage; | ||
| 348 | + | ||
| 349 | + /** | ||
| 350 | + * 二维码 | ||
| 351 | + */ | ||
| 352 | + @ApiModelProperty(value = "二维码") | ||
| 353 | + private String barcode; | ||
| 354 | + | ||
| 355 | + @ApiModelProperty(value = "") | ||
| 356 | + private String createBy; | ||
| 357 | + | ||
| 358 | + /** | ||
| 359 | + * 创建时间 | ||
| 360 | + */ | ||
| 361 | + @ApiModelProperty(value = "创建时间") | ||
| 362 | + private Date createDate; | ||
| 363 | + | ||
| 364 | + @ApiModelProperty(value = "") | ||
| 365 | + private String updateBy; | ||
| 366 | + | ||
| 367 | + /** | ||
| 368 | + * 修改时间 | ||
| 369 | + */ | ||
| 370 | + @ApiModelProperty(value = "修改时间") | ||
| 371 | + private Date updateDate; | ||
| 372 | + | ||
| 373 | + /** | ||
| 374 | + * 开始空闲时间 | ||
| 375 | + */ | ||
| 376 | + @ApiModelProperty(value = "开始空闲时间") | ||
| 377 | + private Date veFreeTime; | ||
| 378 | + | ||
| 379 | + /** | ||
| 380 | + * 优先级(备用字段) | ||
| 381 | + */ | ||
| 382 | + @ApiModelProperty(value = "优先级(备用字段)") | ||
| 383 | + private Integer vePriority; | ||
| 384 | + | ||
| 385 | + /** | ||
| 386 | + * 车辆状态 | ||
| 387 | + */ | ||
| 388 | + @ApiModelProperty(value = "车辆状态") | ||
| 389 | + private String veState; | ||
| 390 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.exception; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @author 子诚 | ||
| 5 | + * Description: | ||
| 6 | + * 时间:2020/7/17 16:43 | ||
| 7 | + */ | ||
| 8 | +public class CustomException extends RuntimeException { | ||
| 9 | + private static final long serialVersionUID = 6098063244016154220L; | ||
| 10 | + | ||
| 11 | + /** | ||
| 12 | + * 异常错误编码 | ||
| 13 | + */ | ||
| 14 | + private String code; | ||
| 15 | + | ||
| 16 | + /** | ||
| 17 | + * 异常信息 | ||
| 18 | + */ | ||
| 19 | + private String message; | ||
| 20 | + | ||
| 21 | + public CustomException(CustomExceptionType exceptionTypeEnum, String message) { | ||
| 22 | + this.code = exceptionTypeEnum.getCode(); | ||
| 23 | + this.message = message; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + public CustomException(CustomExceptionType exceptionTypeEnum) { | ||
| 27 | + this.code = exceptionTypeEnum.getCode(); | ||
| 28 | + this.message = exceptionTypeEnum.getMsg(); | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + public String getCode() { | ||
| 32 | + return code; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + @Override | ||
| 36 | + public String getMessage() { | ||
| 37 | + return message; | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.exception; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @author 子诚 | ||
| 5 | + * Description:枚举,定制异常类型 | ||
| 6 | + * 时间:2020/7/17 16:27 | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +public enum CustomExceptionType { | ||
| 10 | + | ||
| 11 | + CLIENT_ERROR("400", "客户端异常"), | ||
| 12 | + SYSTEM_ERROR("500", "系统服务异常"), | ||
| 13 | + OTHER_ERROR("999", "其他未知异常"); | ||
| 14 | + | ||
| 15 | + /** | ||
| 16 | + * 响应业务状态 | ||
| 17 | + */ | ||
| 18 | + private String code; | ||
| 19 | + /** | ||
| 20 | + * 响应消息 | ||
| 21 | + */ | ||
| 22 | + private String msg; | ||
| 23 | + | ||
| 24 | + CustomExceptionType(String code, String msg) | ||
| 25 | + { | ||
| 26 | + this.code = code; | ||
| 27 | + this.msg = msg; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public String getCode() | ||
| 31 | + { | ||
| 32 | + return code; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + public String getMsg() | ||
| 36 | + { | ||
| 37 | + return msg; | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.exception; | ||
| 2 | + | ||
| 3 | + | ||
| 4 | +import com.sunyo.wlpt.vehicle.manage.response.ResultJson; | ||
| 5 | +import org.slf4j.Logger; | ||
| 6 | +import org.slf4j.LoggerFactory; | ||
| 7 | +import org.springframework.web.bind.annotation.ExceptionHandler; | ||
| 8 | +import org.springframework.web.bind.annotation.ResponseBody; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * @author 子诚 | ||
| 12 | + * Description:自定义全局异常处理类 | ||
| 13 | + * 时间:2020/7/17 17:44 | ||
| 14 | + */ | ||
| 15 | +//@ControllerAdvice | ||
| 16 | +public class GlobalExceptionHandler { | ||
| 17 | + private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class); | ||
| 18 | + | ||
| 19 | + //处理程序员主动转换的自定义异常 | ||
| 20 | + @ExceptionHandler(CustomException.class) | ||
| 21 | + @ResponseBody | ||
| 22 | + public ResultJson customerException(CustomException e) | ||
| 23 | + { | ||
| 24 | + if (e.getCode() == CustomExceptionType.SYSTEM_ERROR.getCode()) { | ||
| 25 | + //400异常不需要持久化,将异常信息以友好的方式告知用户就可以 | ||
| 26 | + | ||
| 27 | + //TODO 将500异常信息持久化处理,方便运维人员处理 | ||
| 28 | + logger.error(""); | ||
| 29 | + } | ||
| 30 | + return ResultJson.error(e); | ||
| 31 | + } | ||
| 32 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.mapper; | ||
| 2 | + | ||
| 3 | +import com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord; | ||
| 4 | +import org.apache.ibatis.annotations.Mapper; | ||
| 5 | +import org.apache.ibatis.annotations.Param; | ||
| 6 | + | ||
| 7 | +import java.util.List; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * @author 子诚 | ||
| 11 | + * Description: | ||
| 12 | + * 时间:2020/9/22 17:45 | ||
| 13 | + */ | ||
| 14 | +@Mapper | ||
| 15 | +public interface LandRoadVeRecordMapper { | ||
| 16 | + /** | ||
| 17 | + * delete by primary key | ||
| 18 | + * | ||
| 19 | + * @param id primaryKey | ||
| 20 | + * @return deleteCount | ||
| 21 | + */ | ||
| 22 | + int deleteByPrimaryKey(String id); | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * 批量删除 | ||
| 26 | + * | ||
| 27 | + * @param idList id数组 | ||
| 28 | + * @return | ||
| 29 | + */ | ||
| 30 | + int batchRemoveByIds(String[] idList); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * insert record to table | ||
| 34 | + * | ||
| 35 | + * @param record the record | ||
| 36 | + * @return insert count | ||
| 37 | + */ | ||
| 38 | + int insert(LandRoadVeRecord record); | ||
| 39 | + | ||
| 40 | + /** | ||
| 41 | + * insert record to table selective | ||
| 42 | + * | ||
| 43 | + * @param record the record | ||
| 44 | + * @return insert count | ||
| 45 | + */ | ||
| 46 | + int insertSelective(LandRoadVeRecord record); | ||
| 47 | + | ||
| 48 | + /** | ||
| 49 | + * select by primary key | ||
| 50 | + * | ||
| 51 | + * @param id primary key | ||
| 52 | + * @return object by primary key | ||
| 53 | + */ | ||
| 54 | + LandRoadVeRecord selectByPrimaryKey(String id); | ||
| 55 | + | ||
| 56 | + /** | ||
| 57 | + * update record selective | ||
| 58 | + * | ||
| 59 | + * @param record the updated record | ||
| 60 | + * @return update count | ||
| 61 | + */ | ||
| 62 | + int updateByPrimaryKeySelective(LandRoadVeRecord record); | ||
| 63 | + | ||
| 64 | + /** | ||
| 65 | + * update record | ||
| 66 | + * | ||
| 67 | + * @param record the updated record | ||
| 68 | + * @return update count | ||
| 69 | + */ | ||
| 70 | + int updateByPrimaryKey(LandRoadVeRecord record); | ||
| 71 | + | ||
| 72 | + /** | ||
| 73 | + * 分页查询车辆信息列表 | ||
| 74 | + * 条件: | ||
| 75 | + * | ||
| 76 | + * @param landRoadVeRecord 车辆信息 {@link LandRoadVeRecord} | ||
| 77 | + * @return 全部列表 | ||
| 78 | + */ | ||
| 79 | + List<LandRoadVeRecord> selectListByPage(LandRoadVeRecord landRoadVeRecord); | ||
| 80 | + | ||
| 81 | + /** | ||
| 82 | + * 根据国内车牌号查询 | ||
| 83 | + * | ||
| 84 | + * @param domesticLisenceNo 国内车牌号 | ||
| 85 | + * @return | ||
| 86 | + */ | ||
| 87 | + LandRoadVeRecord selectByDomesticLisenceNo(@Param("domesticLisenceNo") String domesticLisenceNo); | ||
| 88 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.response; | ||
| 2 | + | ||
| 3 | + | ||
| 4 | +import com.sunyo.wlpt.vehicle.manage.exception.CustomException; | ||
| 5 | +import com.sunyo.wlpt.vehicle.manage.exception.CustomExceptionType; | ||
| 6 | +import lombok.Data; | ||
| 7 | + | ||
| 8 | +import java.io.Serializable; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * @author 子诚 | ||
| 12 | + * Description:返回结果封装类 | ||
| 13 | + * 时间:2020/7/01 10:06 | ||
| 14 | + */ | ||
| 15 | +@Data | ||
| 16 | +public class ResultJson<T> implements Serializable { | ||
| 17 | + | ||
| 18 | + private static final long serialVersionUID = 1L; | ||
| 19 | + | ||
| 20 | + /** | ||
| 21 | + * 响应业务状态,默认为200 | ||
| 22 | + */ | ||
| 23 | + private String code; | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 响应消息 | ||
| 27 | + */ | ||
| 28 | + private String msg; | ||
| 29 | + | ||
| 30 | + /** | ||
| 31 | + * 错误消息内容 | ||
| 32 | + */ | ||
| 33 | + private String error; | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * 数据总条数 | ||
| 37 | + */ | ||
| 38 | + private Integer total; | ||
| 39 | + | ||
| 40 | + /** | ||
| 41 | + * 响应数据 | ||
| 42 | + */ | ||
| 43 | + private T data; | ||
| 44 | + | ||
| 45 | + /** | ||
| 46 | + * JWT令牌 | ||
| 47 | + */ | ||
| 48 | + private String jwtToken; | ||
| 49 | + | ||
| 50 | + | ||
| 51 | + /** | ||
| 52 | + * 无参,构造方法 | ||
| 53 | + */ | ||
| 54 | + public ResultJson() | ||
| 55 | + { | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * 定义有参构造器 | ||
| 61 | + * | ||
| 62 | + * @param code 响应状态 | ||
| 63 | + * @param msg 响应消息 | ||
| 64 | + */ | ||
| 65 | + public ResultJson(String code, String msg) | ||
| 66 | + { | ||
| 67 | + this.code = code; | ||
| 68 | + this.msg = msg; | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + /** | ||
| 72 | + * 定义有参构造器 | ||
| 73 | + * | ||
| 74 | + * @param code 响应状态 | ||
| 75 | + * @param msg 响应消息 | ||
| 76 | + * @param data 响应数据 | ||
| 77 | + */ | ||
| 78 | + public ResultJson(String code, String msg, T data) | ||
| 79 | + { | ||
| 80 | + this.code = code; | ||
| 81 | + this.msg = msg; | ||
| 82 | + this.data = data; | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + public ResultJson(String code, String msg, T data, Integer total) | ||
| 86 | + { | ||
| 87 | + this.code = code; | ||
| 88 | + this.msg = msg; | ||
| 89 | + this.data = data; | ||
| 90 | + this.total = total; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + /** | ||
| 94 | + * 定义静态、成功方法(重载) | ||
| 95 | + * | ||
| 96 | + * @return 成功(没有响应数据) | ||
| 97 | + */ | ||
| 98 | + public static ResultJson success() | ||
| 99 | + { | ||
| 100 | + return new ResultJson<>("200", "success"); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + public static ResultJson success(String msg) | ||
| 104 | + { | ||
| 105 | + return new ResultJson<>("200", msg); | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * 定义静态、成功方法(重载) | ||
| 111 | + * | ||
| 112 | + * @return 成功(响应数据) | ||
| 113 | + */ | ||
| 114 | + public static ResultJson success(Object data) | ||
| 115 | + { | ||
| 116 | + return new ResultJson<>("200", "success", data); | ||
| 117 | + } | ||
| 118 | + | ||
| 119 | + /** | ||
| 120 | + * 定义静态、成功方法(重载) | ||
| 121 | + * | ||
| 122 | + * @return 成功(响应数据) | ||
| 123 | + */ | ||
| 124 | + public static ResultJson success(String message, Object data) | ||
| 125 | + { | ||
| 126 | + return new ResultJson<>("200", message, data); | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + public static ResultJson success(CustomExceptionType customExceptionType) | ||
| 130 | + { | ||
| 131 | + return new ResultJson<>(customExceptionType.getCode(), customExceptionType.getMsg()); | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + public static ResultJson success(CustomExceptionType customExceptionType, Object data) | ||
| 135 | + { | ||
| 136 | + return new ResultJson<>(customExceptionType.getCode(), customExceptionType.getMsg(), data); | ||
| 137 | + } | ||
| 138 | + | ||
| 139 | + /** | ||
| 140 | + * 请求出现异常时的响应数据封装 | ||
| 141 | + * | ||
| 142 | + * @param e 自定义异常类 | ||
| 143 | + * @return 返回异常信息 | ||
| 144 | + */ | ||
| 145 | + public static ResultJson error(CustomException e) | ||
| 146 | + { | ||
| 147 | + ResultJson result = new ResultJson<>(); | ||
| 148 | + result.setCode(e.getCode()); | ||
| 149 | + if (e.getCode() == CustomExceptionType.CLIENT_ERROR.getCode()) { | ||
| 150 | + result.setMsg(e.getMessage()); | ||
| 151 | + } else if (e.getCode() == CustomExceptionType.SYSTEM_ERROR.getCode()) { | ||
| 152 | + result.setMsg(e.getMessage() + ";请将该异常发送给管理员"); | ||
| 153 | + } else { | ||
| 154 | + result.setMsg("系统出现未知异常,请联系管理员!"); | ||
| 155 | + } | ||
| 156 | + // 可以尝试着做异常信息持久化 | ||
| 157 | + return result; | ||
| 158 | + } | ||
| 159 | + | ||
| 160 | + public static ResultJson error(CustomExceptionType customExceptionType, String errorMessage) | ||
| 161 | + { | ||
| 162 | + return new ResultJson<>(customExceptionType.getCode(), errorMessage); | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + public static ResultJson error(CustomExceptionType customExceptionType) | ||
| 166 | + { | ||
| 167 | + return new ResultJson<>(customExceptionType.getCode(), customExceptionType.getMsg()); | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + public static ResultJson error(String code, String msg) | ||
| 171 | + { | ||
| 172 | + return new ResultJson<>(code, msg); | ||
| 173 | + } | ||
| 174 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.service; | ||
| 2 | + | ||
| 3 | +import com.github.pagehelper.PageInfo; | ||
| 4 | +import com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord; | ||
| 5 | +import com.sunyo.wlpt.vehicle.manage.response.ResultJson; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * @author 子诚 | ||
| 9 | + * Description: | ||
| 10 | + * 时间:2020/9/22 17:45 | ||
| 11 | + */ | ||
| 12 | +public interface LandRoadVeRecordService { | ||
| 13 | + | ||
| 14 | + | ||
| 15 | + /** | ||
| 16 | + * delete by primary key | ||
| 17 | + * | ||
| 18 | + * @param id primaryKey | ||
| 19 | + * @return deleteCount | ||
| 20 | + */ | ||
| 21 | + ResultJson deleteByPrimaryKey(String id); | ||
| 22 | + | ||
| 23 | + /** | ||
| 24 | + * insert record to table | ||
| 25 | + * | ||
| 26 | + * @param record the record | ||
| 27 | + * @return insert count | ||
| 28 | + */ | ||
| 29 | + int insert(LandRoadVeRecord record); | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * insert record to table selective | ||
| 33 | + * | ||
| 34 | + * @param record the record | ||
| 35 | + * @return insert count | ||
| 36 | + */ | ||
| 37 | + ResultJson insertSelective(LandRoadVeRecord record); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * select by primary key | ||
| 41 | + * | ||
| 42 | + * @param id primary key | ||
| 43 | + * @return object by primary key | ||
| 44 | + */ | ||
| 45 | + LandRoadVeRecord selectByPrimaryKey(String id); | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * update record selective | ||
| 49 | + * | ||
| 50 | + * @param record the updated record | ||
| 51 | + * @return update count | ||
| 52 | + */ | ||
| 53 | + ResultJson updateByPrimaryKeySelective(LandRoadVeRecord record); | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * update record | ||
| 57 | + * | ||
| 58 | + * @param record the updated record | ||
| 59 | + * @return update count | ||
| 60 | + */ | ||
| 61 | + int updateByPrimaryKey(LandRoadVeRecord record); | ||
| 62 | + | ||
| 63 | + /** | ||
| 64 | + * 分页查询车辆信息 | ||
| 65 | + * | ||
| 66 | + * @param landRoadVeRecord 车辆信息 {@link LandRoadVeRecord} | ||
| 67 | + * @param pageNum 当前页数 | ||
| 68 | + * @param pageSize 每页大小 | ||
| 69 | + * @return 分页数据 | ||
| 70 | + */ | ||
| 71 | + ResultJson selectListByPage(LandRoadVeRecord landRoadVeRecord, Integer pageNum, Integer pageSize); | ||
| 72 | + | ||
| 73 | + /** | ||
| 74 | + * 批量删除车辆信息 | ||
| 75 | + * | ||
| 76 | + * @param ids 被删除的id,多个以,相隔的字符串 | ||
| 77 | + * @return | ||
| 78 | + */ | ||
| 79 | + ResultJson batchRemoveByIds(String ids); | ||
| 80 | +} |
src/main/java/com/sunyo/wlpt/vehicle/manage/service/impl/LandRoadVeRecordServiceImpl.java
0 → 100644
| 1 | +package com.sunyo.wlpt.vehicle.manage.service.impl; | ||
| 2 | + | ||
| 3 | +import com.github.pagehelper.PageHelper; | ||
| 4 | +import com.github.pagehelper.PageInfo; | ||
| 5 | +import com.sunyo.wlpt.vehicle.manage.common.Common; | ||
| 6 | +import com.sunyo.wlpt.vehicle.manage.response.ResultJson; | ||
| 7 | +import com.sunyo.wlpt.vehicle.manage.utils.IdUtils; | ||
| 8 | +import io.netty.util.internal.StringUtil; | ||
| 9 | +import org.springframework.stereotype.Service; | ||
| 10 | + | ||
| 11 | +import javax.annotation.Resource; | ||
| 12 | + | ||
| 13 | +import com.sunyo.wlpt.vehicle.manage.mapper.LandRoadVeRecordMapper; | ||
| 14 | +import com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord; | ||
| 15 | +import com.sunyo.wlpt.vehicle.manage.service.LandRoadVeRecordService; | ||
| 16 | + | ||
| 17 | +import java.util.List; | ||
| 18 | + | ||
| 19 | +/** | ||
| 20 | + * @author 子诚 | ||
| 21 | + * Description: | ||
| 22 | + * 时间:2020/9/22 17:45 | ||
| 23 | + */ | ||
| 24 | +@Service | ||
| 25 | +public class LandRoadVeRecordServiceImpl implements LandRoadVeRecordService { | ||
| 26 | + | ||
| 27 | + @Resource | ||
| 28 | + private LandRoadVeRecordMapper landRoadVeRecordMapper; | ||
| 29 | + | ||
| 30 | + @Override | ||
| 31 | + public ResultJson deleteByPrimaryKey(String id) | ||
| 32 | + { | ||
| 33 | + return landRoadVeRecordMapper.deleteByPrimaryKey(id) > 0 | ||
| 34 | + ? new ResultJson<>("200", "删除车辆信息,成功!") | ||
| 35 | + : new ResultJson<>("500", "删除车辆信息,失败!"); | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * 批量删除 | ||
| 40 | + * | ||
| 41 | + * @param ids 被删除的id,多个以,相隔的字符串 | ||
| 42 | + * @return | ||
| 43 | + */ | ||
| 44 | + @Override | ||
| 45 | + public ResultJson batchRemoveByIds(String ids) | ||
| 46 | + { | ||
| 47 | + String[] idList = ids.split(","); | ||
| 48 | + return landRoadVeRecordMapper.batchRemoveByIds(idList) > 0 | ||
| 49 | + ? new ResultJson<>("200", "批量删除车辆信息,成功") | ||
| 50 | + : new ResultJson<>("500", "批量删除车辆信息,失败"); | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + @Override | ||
| 54 | + public int insert(LandRoadVeRecord record) | ||
| 55 | + { | ||
| 56 | + return landRoadVeRecordMapper.insert(record); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * 新增 | ||
| 61 | + * | ||
| 62 | + * @param record the record | ||
| 63 | + * @return | ||
| 64 | + */ | ||
| 65 | + @Override | ||
| 66 | + public ResultJson insertSelective(LandRoadVeRecord record) | ||
| 67 | + { | ||
| 68 | + ResultJson validateAdd = validate(record); | ||
| 69 | + if (!Common.RESULT_SUCCESS.equals(validateAdd.getCode())) { | ||
| 70 | + return validateAdd; | ||
| 71 | + } | ||
| 72 | + record.setId(IdUtils.generateId()); | ||
| 73 | + return landRoadVeRecordMapper.insertSelective(record) > 0 | ||
| 74 | + ? new ResultJson<>("200", "添加车辆信息,成功") | ||
| 75 | + : new ResultJson<>("500", "添加车辆信息,失败"); | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + @Override | ||
| 79 | + public LandRoadVeRecord selectByPrimaryKey(String id) | ||
| 80 | + { | ||
| 81 | + return landRoadVeRecordMapper.selectByPrimaryKey(id); | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + /** | ||
| 85 | + * 选择性编辑,By 主键 | ||
| 86 | + * | ||
| 87 | + * @param record the updated record | ||
| 88 | + * @return | ||
| 89 | + */ | ||
| 90 | + @Override | ||
| 91 | + public ResultJson updateByPrimaryKeySelective(LandRoadVeRecord record) | ||
| 92 | + { | ||
| 93 | + ResultJson validateEdit = validate(record); | ||
| 94 | + if (!Common.RESULT_SUCCESS.equals(validateEdit.getCode())) { | ||
| 95 | + return validateEdit; | ||
| 96 | + } | ||
| 97 | + return landRoadVeRecordMapper.updateByPrimaryKeySelective(record) > 0 | ||
| 98 | + ? new ResultJson<>("200", "编辑车辆信息,成功") | ||
| 99 | + : new ResultJson<>("500", "编辑车辆信息,失败"); | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + @Override | ||
| 103 | + public int updateByPrimaryKey(LandRoadVeRecord record) | ||
| 104 | + { | ||
| 105 | + return landRoadVeRecordMapper.updateByPrimaryKey(record); | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + /** | ||
| 109 | + * 使用 PageHelper 插件,实现分页查询 | ||
| 110 | + * | ||
| 111 | + * @param landRoadVeRecord 车辆信息 {@link LandRoadVeRecord} | ||
| 112 | + * @param pageNum 当前页数 | ||
| 113 | + * @param pageSize 每页大小 | ||
| 114 | + * @return | ||
| 115 | + */ | ||
| 116 | + @Override | ||
| 117 | + public ResultJson selectListByPage(LandRoadVeRecord landRoadVeRecord, Integer pageNum, Integer pageSize) | ||
| 118 | + { | ||
| 119 | + PageHelper.startPage(pageNum, pageSize); | ||
| 120 | + List<LandRoadVeRecord> landRoadVeRecordList = landRoadVeRecordMapper.selectListByPage(landRoadVeRecord); | ||
| 121 | + PageInfo<LandRoadVeRecord> pageInfo = new PageInfo<>(landRoadVeRecordList); | ||
| 122 | + return pageInfo.getTotal() >= 0 | ||
| 123 | + ? new ResultJson<>("200", "查询车辆信息列表,成功!", pageInfo) | ||
| 124 | + : new ResultJson<>("500", "查询车辆信息列表,失败!"); | ||
| 125 | + } | ||
| 126 | + | ||
| 127 | + /** | ||
| 128 | + * 新增 or 编辑 | ||
| 129 | + * 校验,国内车牌号唯一 | ||
| 130 | + * | ||
| 131 | + * @param landRoadVeRecord {@link LandRoadVeRecord} | ||
| 132 | + * @return | ||
| 133 | + */ | ||
| 134 | + private ResultJson validate(LandRoadVeRecord landRoadVeRecord) | ||
| 135 | + { | ||
| 136 | + String id = landRoadVeRecord.getId(); | ||
| 137 | + String domesticLisenceNo = landRoadVeRecord.getDomesticLisenceNo(); | ||
| 138 | + | ||
| 139 | + if (StringUtil.isNullOrEmpty(domesticLisenceNo)) { | ||
| 140 | + return new ResultJson<>("400", "国内车牌号,不能为空!"); | ||
| 141 | + } | ||
| 142 | + return StringUtil.isNullOrEmpty(id) ? validateInsert(domesticLisenceNo) : validateEdit(id, domesticLisenceNo); | ||
| 143 | + } | ||
| 144 | + | ||
| 145 | + /** | ||
| 146 | + * 编辑,检验 | ||
| 147 | + * | ||
| 148 | + * @param id 主键 | ||
| 149 | + * @param domesticLisenceNo 国内车牌号 | ||
| 150 | + * @return | ||
| 151 | + */ | ||
| 152 | + private ResultJson validateEdit(String id, String domesticLisenceNo) | ||
| 153 | + { | ||
| 154 | + LandRoadVeRecord oldVe = landRoadVeRecordMapper.selectByDomesticLisenceNo(id); | ||
| 155 | + if (oldVe == null) { | ||
| 156 | + return new ResultJson<>("400", "该车辆信息不存在"); | ||
| 157 | + } | ||
| 158 | + if (!domesticLisenceNo.equals(oldVe.getDomesticLisenceNo())) { | ||
| 159 | + if (landRoadVeRecordMapper.selectByDomesticLisenceNo(domesticLisenceNo) != null) { | ||
| 160 | + return new ResultJson<>("400", "该车辆信息,已存在"); | ||
| 161 | + } | ||
| 162 | + } | ||
| 163 | + return ResultJson.success("校验通过"); | ||
| 164 | + } | ||
| 165 | + | ||
| 166 | + /** | ||
| 167 | + * 新增,校验 | ||
| 168 | + * 国内车牌号,是否存在 | ||
| 169 | + * | ||
| 170 | + * @param domesticLisenceNo 国内车牌号 | ||
| 171 | + * @return | ||
| 172 | + */ | ||
| 173 | + private ResultJson validateInsert(String domesticLisenceNo) | ||
| 174 | + { | ||
| 175 | + LandRoadVeRecord landRoadVeRecord = landRoadVeRecordMapper.selectByDomesticLisenceNo(domesticLisenceNo); | ||
| 176 | + if (landRoadVeRecord == null) { | ||
| 177 | + ResultJson.error("400", "校验失败"); | ||
| 178 | + } | ||
| 179 | + return ResultJson.success("校验通过"); | ||
| 180 | + } | ||
| 181 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.utils; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @author 子诚 | ||
| 5 | + * Description:生成雪花算法唯一id | ||
| 6 | + * 时间:2020/7/1 9:26 | ||
| 7 | + */ | ||
| 8 | +public class IdUtils { | ||
| 9 | + /** | ||
| 10 | + * 静态工具类 | ||
| 11 | + * | ||
| 12 | + * @return id | ||
| 13 | + */ | ||
| 14 | + public static synchronized String generateId() { | ||
| 15 | + IdWorker idWorker = new IdWorker(); | ||
| 16 | + long nextId = idWorker.nextId(); | ||
| 17 | + String id = String.valueOf(nextId); | ||
| 18 | + return id; | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + public static void main(String[] args) { | ||
| 22 | + System.out.println(com.sunyo.wlpt.vehicle.manage.utils.IdUtils.generateId()); | ||
| 23 | + System.out.println(com.sunyo.wlpt.vehicle.manage.utils.IdUtils.generateId().length()); | ||
| 24 | + } | ||
| 25 | +} |
| 1 | +package com.sunyo.wlpt.vehicle.manage.utils; | ||
| 2 | + | ||
| 3 | +import java.lang.management.ManagementFactory; | ||
| 4 | +import java.net.InetAddress; | ||
| 5 | +import java.net.NetworkInterface; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * @author 子诚 | ||
| 9 | + * Description:雪花算法生成唯一ID | ||
| 10 | + * 时间:2020/6/30 19:19 | ||
| 11 | + */ | ||
| 12 | +public final class IdWorker { | ||
| 13 | + | ||
| 14 | + /** | ||
| 15 | + * 时间起始标记点,作为基准,一般取系统的最近时间(一旦确定不能变动) | ||
| 16 | + */ | ||
| 17 | + private final static long TWEPOCH = 1288834974657L; | ||
| 18 | + | ||
| 19 | + /** | ||
| 20 | + * 机器标识位数 | ||
| 21 | + */ | ||
| 22 | + private final static long WORKER_ID_BITS = 5L; | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * 数据中心标识位数 | ||
| 26 | + */ | ||
| 27 | + private final static long DATA_CENTER_ID_BITS = 5L; | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * 机器ID最大值 | ||
| 31 | + */ | ||
| 32 | + private final static long MAX_WORKER_ID = ~(-1L << WORKER_ID_BITS); | ||
| 33 | + | ||
| 34 | + /** | ||
| 35 | + * 数据中心ID最大值 | ||
| 36 | + */ | ||
| 37 | + private final static long MAX_DATA_CENTER_ID = ~(-1L << DATA_CENTER_ID_BITS); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 毫秒内自增位 | ||
| 41 | + */ | ||
| 42 | + private final static long SEQUENCE_BITS = 12L; | ||
| 43 | + | ||
| 44 | + /** | ||
| 45 | + * 机器ID偏左移12位 | ||
| 46 | + */ | ||
| 47 | + private final static long WORKER_ID_SHIFT = SEQUENCE_BITS; | ||
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 数据中心ID左移17位 | ||
| 51 | + */ | ||
| 52 | + private final static long DATA_CENTER_ID_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS; | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 时间毫秒左移22位 | ||
| 56 | + */ | ||
| 57 | + private final static long TIME_STAMP_LEFT_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS + DATA_CENTER_ID_BITS; | ||
| 58 | + | ||
| 59 | + private final static long SEQUENCE_MASK = ~(-1L << SEQUENCE_BITS); | ||
| 60 | + | ||
| 61 | + /** | ||
| 62 | + * 上次生产id时间戳 | ||
| 63 | + */ | ||
| 64 | + private static long LAST_TIME_STAMP = -1L; | ||
| 65 | + | ||
| 66 | + /** | ||
| 67 | + * 0,并发控制 | ||
| 68 | + */ | ||
| 69 | + private long sequence = 0L; | ||
| 70 | + | ||
| 71 | + private final long workerId; | ||
| 72 | + | ||
| 73 | + /** | ||
| 74 | + * 数据标识id部分 | ||
| 75 | + */ | ||
| 76 | + private final long DATA_CENTER_ID; | ||
| 77 | + | ||
| 78 | + public IdWorker() { | ||
| 79 | + this.DATA_CENTER_ID = getDatacenterId(MAX_DATA_CENTER_ID); | ||
| 80 | + this.workerId = getMaxWorkerId(DATA_CENTER_ID, MAX_WORKER_ID); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + public IdWorker(long workerId, long datacenterId) { | ||
| 84 | + if (workerId > MAX_WORKER_ID || workerId < 0) { | ||
| 85 | + throw new IllegalArgumentException(String.format("id不能大于最大值 %d 或者小于 0", MAX_WORKER_ID)); | ||
| 86 | + } | ||
| 87 | + if (datacenterId > MAX_DATA_CENTER_ID || datacenterId < 0) { | ||
| 88 | + throw new IllegalArgumentException(String.format("数据中心id不能大于最大值 %d 或者小于 0", MAX_DATA_CENTER_ID)); | ||
| 89 | + } | ||
| 90 | + this.workerId = workerId; | ||
| 91 | + this.DATA_CENTER_ID = datacenterId; | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + /** | ||
| 95 | + * 获取下一个ID | ||
| 96 | + * | ||
| 97 | + * @return id | ||
| 98 | + */ | ||
| 99 | + public synchronized long nextId() { | ||
| 100 | + long timestamp = timeGen(); | ||
| 101 | + if (timestamp < LAST_TIME_STAMP) { | ||
| 102 | + throw new RuntimeException(String.format("时间生成异常 %d", LAST_TIME_STAMP - timestamp)); | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + if (LAST_TIME_STAMP == timestamp) { | ||
| 106 | + // 当前毫秒内,则+1 | ||
| 107 | + sequence = (sequence + 1) & SEQUENCE_MASK; | ||
| 108 | + if (sequence == 0) { | ||
| 109 | + // 当前毫秒内计数满了,则等待下一秒 | ||
| 110 | + timestamp = tilNextMillis(LAST_TIME_STAMP); | ||
| 111 | + } | ||
| 112 | + } else { | ||
| 113 | + sequence = 0L; | ||
| 114 | + } | ||
| 115 | + LAST_TIME_STAMP = timestamp; | ||
| 116 | + // ID偏移组合生成最终的ID,并返回ID | ||
| 117 | + | ||
| 118 | + return ((timestamp - TWEPOCH) << TIME_STAMP_LEFT_SHIFT) | ||
| 119 | + | (DATA_CENTER_ID << DATA_CENTER_ID_SHIFT) | ||
| 120 | + | (workerId << WORKER_ID_SHIFT) | sequence; | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + private long tilNextMillis(final long lastTimestamp) { | ||
| 124 | + long timestamp = this.timeGen(); | ||
| 125 | + while (timestamp <= lastTimestamp) { | ||
| 126 | + timestamp = this.timeGen(); | ||
| 127 | + } | ||
| 128 | + return timestamp; | ||
| 129 | + } | ||
| 130 | + | ||
| 131 | + private long timeGen() { | ||
| 132 | + return System.currentTimeMillis(); | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | + /** | ||
| 136 | + * <p> | ||
| 137 | + * 获取 maxWorkerId | ||
| 138 | + * </p> | ||
| 139 | + */ | ||
| 140 | + private static long getMaxWorkerId(long dataCenterId, long maxWorkerId) { | ||
| 141 | + StringBuilder mpid = new StringBuilder(); | ||
| 142 | + mpid.append(dataCenterId); | ||
| 143 | + String name = ManagementFactory.getRuntimeMXBean().getName(); | ||
| 144 | + if (!name.isEmpty()) { | ||
| 145 | + /* | ||
| 146 | + * GET jvmPid | ||
| 147 | + */ | ||
| 148 | + mpid.append(name.split("@")[0]); | ||
| 149 | + } | ||
| 150 | + /* | ||
| 151 | + * MAC + PID 的 hashcode 获取16个低位 | ||
| 152 | + */ | ||
| 153 | + return (mpid.toString().hashCode() & 0xffff) % (maxWorkerId + 1); | ||
| 154 | + } | ||
| 155 | + | ||
| 156 | + /** | ||
| 157 | + * <p> | ||
| 158 | + * 数据标识id部分 | ||
| 159 | + * </p> | ||
| 160 | + */ | ||
| 161 | + private static long getDatacenterId(long maxDatacenterId) { | ||
| 162 | + long id = 0L; | ||
| 163 | + try { | ||
| 164 | + InetAddress ip = InetAddress.getLocalHost(); | ||
| 165 | + NetworkInterface network = NetworkInterface.getByInetAddress(ip); | ||
| 166 | + if (network == null) { | ||
| 167 | + id = 1L; | ||
| 168 | + } else { | ||
| 169 | + byte[] mac = network.getHardwareAddress(); | ||
| 170 | + id = ((0x000000FF & (long) mac[mac.length - 1]) | ||
| 171 | + | (0x0000FF00 & (((long) mac[mac.length - 2]) << 8))) >> 6; | ||
| 172 | + id = id % (maxDatacenterId + 1); | ||
| 173 | + } | ||
| 174 | + } catch (Exception e) { | ||
| 175 | + System.out.println(" getDatacenterId: " + e.getMessage()); | ||
| 176 | + } | ||
| 177 | + return id; | ||
| 178 | + } | ||
| 179 | + | ||
| 180 | + /** | ||
| 181 | + * 静态工具类 | ||
| 182 | + * | ||
| 183 | + * @return id | ||
| 184 | + | ||
| 185 | + public static synchronized String generateId() { | ||
| 186 | + String id = String.valueOf(new IdWorker().nextId()); | ||
| 187 | + return id; | ||
| 188 | + } | ||
| 189 | + */ | ||
| 190 | + /** | ||
| 191 | + * 测试 | ||
| 192 | + | ||
| 193 | + public static void main(String[] args) { | ||
| 194 | + System.out.println("当前时间戳:" + System.currentTimeMillis()); | ||
| 195 | + for (int i = 0; i < 10; i++) { | ||
| 196 | + //生成唯一雪花id | ||
| 197 | + String id = IdWorker.generateId(); | ||
| 198 | + System.out.println("第" + i + "个:" + id + ";长度为:" + id.length()); | ||
| 199 | + } | ||
| 200 | + } | ||
| 201 | + */ | ||
| 202 | +} |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.sunyo.wlpt.vehicle.manage.mapper.LandRoadVeRecordMapper"> | ||
| 4 | + <cache type="com.sunyo.wlpt.vehicle.manage.cache.RedisCache"/> | ||
| 5 | + <resultMap id="BaseResultMap" type="com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord"> | ||
| 6 | + <!--@mbg.generated--> | ||
| 7 | + <!--@Table land_road_ve_record--> | ||
| 8 | + <id column="ID" jdbcType="VARCHAR" property="id"/> | ||
| 9 | + <result column="EPORT_ID" jdbcType="VARCHAR" property="eportId"/> | ||
| 10 | + <result column="MAIN_PORT" jdbcType="VARCHAR" property="mainPort"/> | ||
| 11 | + <result column="CO_CODE" jdbcType="VARCHAR" property="coCode"/> | ||
| 12 | + <result column="VE_TARGET_NO" jdbcType="VARCHAR" property="veTargetNo"/> | ||
| 13 | + <result column="DOMESTIC_LISENCE_NO" jdbcType="VARCHAR" property="domesticLisenceNo"/> | ||
| 14 | + <result column="DOMESTIC_LICENSE_COLOR" jdbcType="VARCHAR" property="domesticLicenseColor"/> | ||
| 15 | + <result column="FOREIGN_LICENSE" jdbcType="VARCHAR" property="foreignLicense"/> | ||
| 16 | + <result column="VE_REG_PLACE" jdbcType="VARCHAR" property="veRegPlace"/> | ||
| 17 | + <result column="VE_PROPERTY" jdbcType="VARCHAR" property="veProperty"/> | ||
| 18 | + <result column="VE_CONVEY_QUA" jdbcType="VARCHAR" property="veConveyQua"/> | ||
| 19 | + <result column="VE_CARD_NO" jdbcType="VARCHAR" property="veCardNo"/> | ||
| 20 | + <result column="VE_OWNER_NAME" jdbcType="VARCHAR" property="veOwnerName"/> | ||
| 21 | + <result column="VE_OWNER_NO" jdbcType="VARCHAR" property="veOwnerNo"/> | ||
| 22 | + <result column="OWNER_INSIDE_ADDR" jdbcType="VARCHAR" property="ownerInsideAddr"/> | ||
| 23 | + <result column="OWNER_INSIDE_TEL" jdbcType="VARCHAR" property="ownerInsideTel"/> | ||
| 24 | + <result column="VE_TYPE" jdbcType="VARCHAR" property="veType"/> | ||
| 25 | + <result column="BRAND" jdbcType="VARCHAR" property="brand"/> | ||
| 26 | + <result column="MODEL" jdbcType="VARCHAR" property="model"/> | ||
| 27 | + <result column="EXHAUST_CAPACITY" jdbcType="VARCHAR" property="exhaustCapacity"/> | ||
| 28 | + <result column="VE_FACTORY_DATE" jdbcType="DATE" property="veFactoryDate"/> | ||
| 29 | + <result column="VE_MOTOR_NO" jdbcType="VARCHAR" property="veMotorNo"/> | ||
| 30 | + <result column="VE_FRAME_NO" jdbcType="VARCHAR" property="veFrameNo"/> | ||
| 31 | + <result column="VE_TON" jdbcType="VARCHAR" property="veTon"/> | ||
| 32 | + <result column="SELF_WT" jdbcType="VARCHAR" property="selfWt"/> | ||
| 33 | + <result column="ALLOW_TOW_TOTAL_WT" jdbcType="VARCHAR" property="allowTowTotalWt"/> | ||
| 34 | + <result column="CONTAINER_INNER_LENGTH" jdbcType="VARCHAR" property="containerInnerLength"/> | ||
| 35 | + <result column="CONTAINER_INNER_WIDTH" jdbcType="VARCHAR" property="containerInnerWidth"/> | ||
| 36 | + <result column="CONTAINER_INNER_HEIGHT" jdbcType="VARCHAR" property="containerInnerHeight"/> | ||
| 37 | + <result column="OUTER_LENGTH" jdbcType="VARCHAR" property="outerLength"/> | ||
| 38 | + <result column="OUTER_WIDTH" jdbcType="VARCHAR" property="outerWidth"/> | ||
| 39 | + <result column="OUTER_HEIGHT" jdbcType="VARCHAR" property="outerHeight"/> | ||
| 40 | + <result column="VE_BODY_COLOR" jdbcType="VARCHAR" property="veBodyColor"/> | ||
| 41 | + <result column="OIL_BOX_CAPCITY" jdbcType="VARCHAR" property="oilBoxCapcity"/> | ||
| 42 | + <result column="ALLOW_VE_IE_PORT" jdbcType="VARCHAR" property="allowVeIePort"/> | ||
| 43 | + <result column="APPR_NO" jdbcType="VARCHAR" property="apprNo"/> | ||
| 44 | + <result column="APPR_PERIOD" jdbcType="DATE" property="apprPeriod"/> | ||
| 45 | + <result column="CURR_APPLY_BUSSINESS" jdbcType="VARCHAR" property="currApplyBussiness"/> | ||
| 46 | + <result column="FRONT_45C_PIC" jdbcType="VARCHAR" property="front45cPic"/> | ||
| 47 | + <result column="BACK_45C_PIC" jdbcType="VARCHAR" property="back45cPic"/> | ||
| 48 | + <result column="OIL_BOX_PIC" jdbcType="VARCHAR" property="oilBoxPic"/> | ||
| 49 | + <result column="VE_BOTTOM_PIC" jdbcType="VARCHAR" property="veBottomPic"/> | ||
| 50 | + <result column="MEMO" jdbcType="VARCHAR" property="memo"/> | ||
| 51 | + <result column="PROPOSER" jdbcType="VARCHAR" property="proposer"/> | ||
| 52 | + <result column="PROPOSE_TIME" jdbcType="TIMESTAMP" property="proposeTime"/> | ||
| 53 | + <result column="VE_CLASS_FLAG" jdbcType="VARCHAR" property="veClassFlag"/> | ||
| 54 | + <result column="OPERATION_TYPE" jdbcType="VARCHAR" property="operationType"/> | ||
| 55 | + <result column="TRAILER_LICENSE_NO" jdbcType="VARCHAR" property="trailerLicenseNo"/> | ||
| 56 | + <result column="TRAILER_FRAME_NO" jdbcType="VARCHAR" property="trailerFrameNo"/> | ||
| 57 | + <result column="APPRO_NO_PIC" jdbcType="VARCHAR" property="approNoPic"/> | ||
| 58 | + <result column="VE_FRAME_NO_PIC" jdbcType="VARCHAR" property="veFrameNoPic"/> | ||
| 59 | + <result column="MOTOR_NO_PIC" jdbcType="VARCHAR" property="motorNoPic"/> | ||
| 60 | + <result column="FOREIGN_LICENSE_PIC" jdbcType="VARCHAR" property="foreignLicensePic"/> | ||
| 61 | + <result column="NATIONALITY" jdbcType="VARCHAR" property="nationality"/> | ||
| 62 | + <result column="RETURNMESSAGE" jdbcType="VARCHAR" property="returnmessage"/> | ||
| 63 | + <result column="BARCODE" jdbcType="VARCHAR" property="barcode"/> | ||
| 64 | + <result column="CREATE_BY" jdbcType="VARCHAR" property="createBy"/> | ||
| 65 | + <result column="CREATE_DATE" jdbcType="TIMESTAMP" property="createDate"/> | ||
| 66 | + <result column="UPDATE_BY" jdbcType="VARCHAR" property="updateBy"/> | ||
| 67 | + <result column="UPDATE_DATE" jdbcType="TIMESTAMP" property="updateDate"/> | ||
| 68 | + <result column="VE_FREE_TIME" jdbcType="TIMESTAMP" property="veFreeTime"/> | ||
| 69 | + <result column="VE_PRIORITY" jdbcType="INTEGER" property="vePriority"/> | ||
| 70 | + <result column="VE_STATE" jdbcType="VARCHAR" property="veState"/> | ||
| 71 | + </resultMap> | ||
| 72 | + <sql id="Base_Column_List"> | ||
| 73 | + <!--@mbg.generated--> | ||
| 74 | + ID, EPORT_ID, MAIN_PORT, CO_CODE, VE_TARGET_NO, DOMESTIC_LISENCE_NO, DOMESTIC_LICENSE_COLOR, | ||
| 75 | + FOREIGN_LICENSE, VE_REG_PLACE, VE_PROPERTY, VE_CONVEY_QUA, VE_CARD_NO, VE_OWNER_NAME, | ||
| 76 | + VE_OWNER_NO, OWNER_INSIDE_ADDR, OWNER_INSIDE_TEL, VE_TYPE, BRAND, MODEL, EXHAUST_CAPACITY, | ||
| 77 | + VE_FACTORY_DATE, VE_MOTOR_NO, VE_FRAME_NO, VE_TON, SELF_WT, ALLOW_TOW_TOTAL_WT, CONTAINER_INNER_LENGTH, | ||
| 78 | + CONTAINER_INNER_WIDTH, CONTAINER_INNER_HEIGHT, OUTER_LENGTH, OUTER_WIDTH, OUTER_HEIGHT, | ||
| 79 | + VE_BODY_COLOR, OIL_BOX_CAPCITY, ALLOW_VE_IE_PORT, APPR_NO, APPR_PERIOD, CURR_APPLY_BUSSINESS, | ||
| 80 | + FRONT_45C_PIC, BACK_45C_PIC, OIL_BOX_PIC, VE_BOTTOM_PIC, MEMO, PROPOSER, PROPOSE_TIME, | ||
| 81 | + VE_CLASS_FLAG, OPERATION_TYPE, TRAILER_LICENSE_NO, TRAILER_FRAME_NO, APPRO_NO_PIC, | ||
| 82 | + VE_FRAME_NO_PIC, MOTOR_NO_PIC, FOREIGN_LICENSE_PIC, NATIONALITY, RETURNMESSAGE, BARCODE, | ||
| 83 | + CREATE_BY, CREATE_DATE, UPDATE_BY, UPDATE_DATE, VE_FREE_TIME, VE_PRIORITY, VE_STATE | ||
| 84 | + </sql> | ||
| 85 | + <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> | ||
| 86 | + <!--@mbg.generated--> | ||
| 87 | + select | ||
| 88 | + <include refid="Base_Column_List"/> | ||
| 89 | + from land_road_ve_record | ||
| 90 | + where ID = #{id,jdbcType=VARCHAR} | ||
| 91 | + </select> | ||
| 92 | + <select id="selectByDomesticLisenceNo" parameterType="java.lang.String" resultMap="BaseResultMap"> | ||
| 93 | + select | ||
| 94 | + <include refid="Base_Column_List"/> | ||
| 95 | + from land_road_ve_record | ||
| 96 | + where DOMESTIC_LISENCE_NO = #{domesticLisenceNo,jdbcType=VARCHAR} | ||
| 97 | +</select> | ||
| 98 | + <!-- 用于,分页查询 --> | ||
| 99 | + <select id="selectListByPage" parameterType="com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord" resultMap="BaseResultMap"> | ||
| 100 | + select | ||
| 101 | + <include refid="Base_Column_List"/> | ||
| 102 | + from land_road_ve_record | ||
| 103 | + <where> | ||
| 104 | + <!-- 国内车牌号 --> | ||
| 105 | + <if test="domesticLisenceNo != null and domesticLisenceNo != ''"> | ||
| 106 | + DOMESTIC_LISENCE_NO = #{domesticLisenceNo,jdbcType=VARCHAR} | ||
| 107 | + </if> | ||
| 108 | + <!-- 车辆类型 --> | ||
| 109 | + <if test="veType != null and veType != ''"> | ||
| 110 | + AND VE_TYPE = #{veType,jdbcType=VARCHAR} | ||
| 111 | + </if> | ||
| 112 | + <!-- 车辆状态 --> | ||
| 113 | + <if test="veState != null and veState != ''"> | ||
| 114 | + AND VE_STATE = #{veState,jdbcType=VARCHAR} | ||
| 115 | + </if> | ||
| 116 | + </where> | ||
| 117 | + </select> | ||
| 118 | + <delete id="deleteByPrimaryKey" parameterType="java.lang.String"> | ||
| 119 | + <!--@mbg.generated--> | ||
| 120 | + delete | ||
| 121 | + from land_road_ve_record | ||
| 122 | + where ID = #{id,jdbcType=VARCHAR} | ||
| 123 | + </delete> | ||
| 124 | + | ||
| 125 | + <delete id="batchRemoveByIds" parameterType="java.lang.String"> | ||
| 126 | + <!--@mbg.generated--> | ||
| 127 | + delete | ||
| 128 | + from land_road_ve_record | ||
| 129 | + where ID in | ||
| 130 | + <foreach collection="array" open="(" close=")" separator="," item="id"> | ||
| 131 | + #{id,jdbcType=VARCHAR} | ||
| 132 | + </foreach> | ||
| 133 | + </delete> | ||
| 134 | + | ||
| 135 | + <insert id="insert" parameterType="com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord"> | ||
| 136 | + <!--@mbg.generated--> | ||
| 137 | + insert into land_road_ve_record (ID, EPORT_ID, MAIN_PORT, | ||
| 138 | + CO_CODE, VE_TARGET_NO, DOMESTIC_LISENCE_NO, | ||
| 139 | + DOMESTIC_LICENSE_COLOR, FOREIGN_LICENSE, VE_REG_PLACE, | ||
| 140 | + VE_PROPERTY, VE_CONVEY_QUA, VE_CARD_NO, | ||
| 141 | + VE_OWNER_NAME, VE_OWNER_NO, OWNER_INSIDE_ADDR, | ||
| 142 | + OWNER_INSIDE_TEL, VE_TYPE, BRAND, | ||
| 143 | + MODEL, EXHAUST_CAPACITY, VE_FACTORY_DATE, | ||
| 144 | + VE_MOTOR_NO, VE_FRAME_NO, VE_TON, | ||
| 145 | + SELF_WT, ALLOW_TOW_TOTAL_WT, CONTAINER_INNER_LENGTH, | ||
| 146 | + CONTAINER_INNER_WIDTH, CONTAINER_INNER_HEIGHT, | ||
| 147 | + OUTER_LENGTH, OUTER_WIDTH, OUTER_HEIGHT, | ||
| 148 | + VE_BODY_COLOR, OIL_BOX_CAPCITY, ALLOW_VE_IE_PORT, | ||
| 149 | + APPR_NO, APPR_PERIOD, CURR_APPLY_BUSSINESS, | ||
| 150 | + FRONT_45C_PIC, BACK_45C_PIC, OIL_BOX_PIC, | ||
| 151 | + VE_BOTTOM_PIC, MEMO, PROPOSER, | ||
| 152 | + PROPOSE_TIME, VE_CLASS_FLAG, OPERATION_TYPE, | ||
| 153 | + TRAILER_LICENSE_NO, TRAILER_FRAME_NO, APPRO_NO_PIC, | ||
| 154 | + VE_FRAME_NO_PIC, MOTOR_NO_PIC, FOREIGN_LICENSE_PIC, | ||
| 155 | + NATIONALITY, RETURNMESSAGE, BARCODE, | ||
| 156 | + CREATE_BY, CREATE_DATE, UPDATE_BY, | ||
| 157 | + UPDATE_DATE, VE_FREE_TIME, VE_PRIORITY, | ||
| 158 | + VE_STATE) | ||
| 159 | + values (#{id,jdbcType=VARCHAR}, #{eportId,jdbcType=VARCHAR}, #{mainPort,jdbcType=VARCHAR}, | ||
| 160 | + #{coCode,jdbcType=VARCHAR}, #{veTargetNo,jdbcType=VARCHAR}, #{domesticLisenceNo,jdbcType=VARCHAR}, | ||
| 161 | + #{domesticLicenseColor,jdbcType=VARCHAR}, #{foreignLicense,jdbcType=VARCHAR}, #{veRegPlace,jdbcType=VARCHAR}, | ||
| 162 | + #{veProperty,jdbcType=VARCHAR}, #{veConveyQua,jdbcType=VARCHAR}, #{veCardNo,jdbcType=VARCHAR}, | ||
| 163 | + #{veOwnerName,jdbcType=VARCHAR}, #{veOwnerNo,jdbcType=VARCHAR}, #{ownerInsideAddr,jdbcType=VARCHAR}, | ||
| 164 | + #{ownerInsideTel,jdbcType=VARCHAR}, #{veType,jdbcType=VARCHAR}, #{brand,jdbcType=VARCHAR}, | ||
| 165 | + #{model,jdbcType=VARCHAR}, #{exhaustCapacity,jdbcType=VARCHAR}, #{veFactoryDate,jdbcType=DATE}, | ||
| 166 | + #{veMotorNo,jdbcType=VARCHAR}, #{veFrameNo,jdbcType=VARCHAR}, #{veTon,jdbcType=VARCHAR}, | ||
| 167 | + #{selfWt,jdbcType=VARCHAR}, #{allowTowTotalWt,jdbcType=VARCHAR}, #{containerInnerLength,jdbcType=VARCHAR}, | ||
| 168 | + #{containerInnerWidth,jdbcType=VARCHAR}, #{containerInnerHeight,jdbcType=VARCHAR}, | ||
| 169 | + #{outerLength,jdbcType=VARCHAR}, #{outerWidth,jdbcType=VARCHAR}, #{outerHeight,jdbcType=VARCHAR}, | ||
| 170 | + #{veBodyColor,jdbcType=VARCHAR}, #{oilBoxCapcity,jdbcType=VARCHAR}, #{allowVeIePort,jdbcType=VARCHAR}, | ||
| 171 | + #{apprNo,jdbcType=VARCHAR}, #{apprPeriod,jdbcType=DATE}, #{currApplyBussiness,jdbcType=VARCHAR}, | ||
| 172 | + #{front45cPic,jdbcType=VARCHAR}, #{back45cPic,jdbcType=VARCHAR}, #{oilBoxPic,jdbcType=VARCHAR}, | ||
| 173 | + #{veBottomPic,jdbcType=VARCHAR}, #{memo,jdbcType=VARCHAR}, #{proposer,jdbcType=VARCHAR}, | ||
| 174 | + #{proposeTime,jdbcType=TIMESTAMP}, #{veClassFlag,jdbcType=VARCHAR}, #{operationType,jdbcType=VARCHAR}, | ||
| 175 | + #{trailerLicenseNo,jdbcType=VARCHAR}, #{trailerFrameNo,jdbcType=VARCHAR}, #{approNoPic,jdbcType=VARCHAR}, | ||
| 176 | + #{veFrameNoPic,jdbcType=VARCHAR}, #{motorNoPic,jdbcType=VARCHAR}, #{foreignLicensePic,jdbcType=VARCHAR}, | ||
| 177 | + #{nationality,jdbcType=VARCHAR}, #{returnmessage,jdbcType=VARCHAR}, #{barcode,jdbcType=VARCHAR}, | ||
| 178 | + #{createBy,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, | ||
| 179 | + #{updateDate,jdbcType=TIMESTAMP}, #{veFreeTime,jdbcType=TIMESTAMP}, #{vePriority,jdbcType=INTEGER}, | ||
| 180 | + #{veState,jdbcType=VARCHAR}) | ||
| 181 | + </insert> | ||
| 182 | + <insert id="insertSelective" parameterType="com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord"> | ||
| 183 | + <!--@mbg.generated--> | ||
| 184 | + insert into land_road_ve_record | ||
| 185 | + <trim prefix="(" suffix=")" suffixOverrides=","> | ||
| 186 | + <if test="id != null"> | ||
| 187 | + ID, | ||
| 188 | + </if> | ||
| 189 | + <if test="eportId != null"> | ||
| 190 | + EPORT_ID, | ||
| 191 | + </if> | ||
| 192 | + <if test="mainPort != null"> | ||
| 193 | + MAIN_PORT, | ||
| 194 | + </if> | ||
| 195 | + <if test="coCode != null"> | ||
| 196 | + CO_CODE, | ||
| 197 | + </if> | ||
| 198 | + <if test="veTargetNo != null"> | ||
| 199 | + VE_TARGET_NO, | ||
| 200 | + </if> | ||
| 201 | + <if test="domesticLisenceNo != null"> | ||
| 202 | + DOMESTIC_LISENCE_NO, | ||
| 203 | + </if> | ||
| 204 | + <if test="domesticLicenseColor != null"> | ||
| 205 | + DOMESTIC_LICENSE_COLOR, | ||
| 206 | + </if> | ||
| 207 | + <if test="foreignLicense != null"> | ||
| 208 | + FOREIGN_LICENSE, | ||
| 209 | + </if> | ||
| 210 | + <if test="veRegPlace != null"> | ||
| 211 | + VE_REG_PLACE, | ||
| 212 | + </if> | ||
| 213 | + <if test="veProperty != null"> | ||
| 214 | + VE_PROPERTY, | ||
| 215 | + </if> | ||
| 216 | + <if test="veConveyQua != null"> | ||
| 217 | + VE_CONVEY_QUA, | ||
| 218 | + </if> | ||
| 219 | + <if test="veCardNo != null"> | ||
| 220 | + VE_CARD_NO, | ||
| 221 | + </if> | ||
| 222 | + <if test="veOwnerName != null"> | ||
| 223 | + VE_OWNER_NAME, | ||
| 224 | + </if> | ||
| 225 | + <if test="veOwnerNo != null"> | ||
| 226 | + VE_OWNER_NO, | ||
| 227 | + </if> | ||
| 228 | + <if test="ownerInsideAddr != null"> | ||
| 229 | + OWNER_INSIDE_ADDR, | ||
| 230 | + </if> | ||
| 231 | + <if test="ownerInsideTel != null"> | ||
| 232 | + OWNER_INSIDE_TEL, | ||
| 233 | + </if> | ||
| 234 | + <if test="veType != null"> | ||
| 235 | + VE_TYPE, | ||
| 236 | + </if> | ||
| 237 | + <if test="brand != null"> | ||
| 238 | + BRAND, | ||
| 239 | + </if> | ||
| 240 | + <if test="model != null"> | ||
| 241 | + MODEL, | ||
| 242 | + </if> | ||
| 243 | + <if test="exhaustCapacity != null"> | ||
| 244 | + EXHAUST_CAPACITY, | ||
| 245 | + </if> | ||
| 246 | + <if test="veFactoryDate != null"> | ||
| 247 | + VE_FACTORY_DATE, | ||
| 248 | + </if> | ||
| 249 | + <if test="veMotorNo != null"> | ||
| 250 | + VE_MOTOR_NO, | ||
| 251 | + </if> | ||
| 252 | + <if test="veFrameNo != null"> | ||
| 253 | + VE_FRAME_NO, | ||
| 254 | + </if> | ||
| 255 | + <if test="veTon != null"> | ||
| 256 | + VE_TON, | ||
| 257 | + </if> | ||
| 258 | + <if test="selfWt != null"> | ||
| 259 | + SELF_WT, | ||
| 260 | + </if> | ||
| 261 | + <if test="allowTowTotalWt != null"> | ||
| 262 | + ALLOW_TOW_TOTAL_WT, | ||
| 263 | + </if> | ||
| 264 | + <if test="containerInnerLength != null"> | ||
| 265 | + CONTAINER_INNER_LENGTH, | ||
| 266 | + </if> | ||
| 267 | + <if test="containerInnerWidth != null"> | ||
| 268 | + CONTAINER_INNER_WIDTH, | ||
| 269 | + </if> | ||
| 270 | + <if test="containerInnerHeight != null"> | ||
| 271 | + CONTAINER_INNER_HEIGHT, | ||
| 272 | + </if> | ||
| 273 | + <if test="outerLength != null"> | ||
| 274 | + OUTER_LENGTH, | ||
| 275 | + </if> | ||
| 276 | + <if test="outerWidth != null"> | ||
| 277 | + OUTER_WIDTH, | ||
| 278 | + </if> | ||
| 279 | + <if test="outerHeight != null"> | ||
| 280 | + OUTER_HEIGHT, | ||
| 281 | + </if> | ||
| 282 | + <if test="veBodyColor != null"> | ||
| 283 | + VE_BODY_COLOR, | ||
| 284 | + </if> | ||
| 285 | + <if test="oilBoxCapcity != null"> | ||
| 286 | + OIL_BOX_CAPCITY, | ||
| 287 | + </if> | ||
| 288 | + <if test="allowVeIePort != null"> | ||
| 289 | + ALLOW_VE_IE_PORT, | ||
| 290 | + </if> | ||
| 291 | + <if test="apprNo != null"> | ||
| 292 | + APPR_NO, | ||
| 293 | + </if> | ||
| 294 | + <if test="apprPeriod != null"> | ||
| 295 | + APPR_PERIOD, | ||
| 296 | + </if> | ||
| 297 | + <if test="currApplyBussiness != null"> | ||
| 298 | + CURR_APPLY_BUSSINESS, | ||
| 299 | + </if> | ||
| 300 | + <if test="front45cPic != null"> | ||
| 301 | + FRONT_45C_PIC, | ||
| 302 | + </if> | ||
| 303 | + <if test="back45cPic != null"> | ||
| 304 | + BACK_45C_PIC, | ||
| 305 | + </if> | ||
| 306 | + <if test="oilBoxPic != null"> | ||
| 307 | + OIL_BOX_PIC, | ||
| 308 | + </if> | ||
| 309 | + <if test="veBottomPic != null"> | ||
| 310 | + VE_BOTTOM_PIC, | ||
| 311 | + </if> | ||
| 312 | + <if test="memo != null"> | ||
| 313 | + MEMO, | ||
| 314 | + </if> | ||
| 315 | + <if test="proposer != null"> | ||
| 316 | + PROPOSER, | ||
| 317 | + </if> | ||
| 318 | + <if test="proposeTime != null"> | ||
| 319 | + PROPOSE_TIME, | ||
| 320 | + </if> | ||
| 321 | + <if test="veClassFlag != null"> | ||
| 322 | + VE_CLASS_FLAG, | ||
| 323 | + </if> | ||
| 324 | + <if test="operationType != null"> | ||
| 325 | + OPERATION_TYPE, | ||
| 326 | + </if> | ||
| 327 | + <if test="trailerLicenseNo != null"> | ||
| 328 | + TRAILER_LICENSE_NO, | ||
| 329 | + </if> | ||
| 330 | + <if test="trailerFrameNo != null"> | ||
| 331 | + TRAILER_FRAME_NO, | ||
| 332 | + </if> | ||
| 333 | + <if test="approNoPic != null"> | ||
| 334 | + APPRO_NO_PIC, | ||
| 335 | + </if> | ||
| 336 | + <if test="veFrameNoPic != null"> | ||
| 337 | + VE_FRAME_NO_PIC, | ||
| 338 | + </if> | ||
| 339 | + <if test="motorNoPic != null"> | ||
| 340 | + MOTOR_NO_PIC, | ||
| 341 | + </if> | ||
| 342 | + <if test="foreignLicensePic != null"> | ||
| 343 | + FOREIGN_LICENSE_PIC, | ||
| 344 | + </if> | ||
| 345 | + <if test="nationality != null"> | ||
| 346 | + NATIONALITY, | ||
| 347 | + </if> | ||
| 348 | + <if test="returnmessage != null"> | ||
| 349 | + RETURNMESSAGE, | ||
| 350 | + </if> | ||
| 351 | + <if test="barcode != null"> | ||
| 352 | + BARCODE, | ||
| 353 | + </if> | ||
| 354 | + <if test="createBy != null"> | ||
| 355 | + CREATE_BY, | ||
| 356 | + </if> | ||
| 357 | + <if test="createDate != null"> | ||
| 358 | + CREATE_DATE, | ||
| 359 | + </if> | ||
| 360 | + <if test="updateBy != null"> | ||
| 361 | + UPDATE_BY, | ||
| 362 | + </if> | ||
| 363 | + <if test="updateDate != null"> | ||
| 364 | + UPDATE_DATE, | ||
| 365 | + </if> | ||
| 366 | + <if test="veFreeTime != null"> | ||
| 367 | + VE_FREE_TIME, | ||
| 368 | + </if> | ||
| 369 | + <if test="vePriority != null"> | ||
| 370 | + VE_PRIORITY, | ||
| 371 | + </if> | ||
| 372 | + <if test="veState != null"> | ||
| 373 | + VE_STATE, | ||
| 374 | + </if> | ||
| 375 | + </trim> | ||
| 376 | + <trim prefix="values (" suffix=")" suffixOverrides=","> | ||
| 377 | + <if test="id != null"> | ||
| 378 | + #{id,jdbcType=VARCHAR}, | ||
| 379 | + </if> | ||
| 380 | + <if test="eportId != null"> | ||
| 381 | + #{eportId,jdbcType=VARCHAR}, | ||
| 382 | + </if> | ||
| 383 | + <if test="mainPort != null"> | ||
| 384 | + #{mainPort,jdbcType=VARCHAR}, | ||
| 385 | + </if> | ||
| 386 | + <if test="coCode != null"> | ||
| 387 | + #{coCode,jdbcType=VARCHAR}, | ||
| 388 | + </if> | ||
| 389 | + <if test="veTargetNo != null"> | ||
| 390 | + #{veTargetNo,jdbcType=VARCHAR}, | ||
| 391 | + </if> | ||
| 392 | + <if test="domesticLisenceNo != null"> | ||
| 393 | + #{domesticLisenceNo,jdbcType=VARCHAR}, | ||
| 394 | + </if> | ||
| 395 | + <if test="domesticLicenseColor != null"> | ||
| 396 | + #{domesticLicenseColor,jdbcType=VARCHAR}, | ||
| 397 | + </if> | ||
| 398 | + <if test="foreignLicense != null"> | ||
| 399 | + #{foreignLicense,jdbcType=VARCHAR}, | ||
| 400 | + </if> | ||
| 401 | + <if test="veRegPlace != null"> | ||
| 402 | + #{veRegPlace,jdbcType=VARCHAR}, | ||
| 403 | + </if> | ||
| 404 | + <if test="veProperty != null"> | ||
| 405 | + #{veProperty,jdbcType=VARCHAR}, | ||
| 406 | + </if> | ||
| 407 | + <if test="veConveyQua != null"> | ||
| 408 | + #{veConveyQua,jdbcType=VARCHAR}, | ||
| 409 | + </if> | ||
| 410 | + <if test="veCardNo != null"> | ||
| 411 | + #{veCardNo,jdbcType=VARCHAR}, | ||
| 412 | + </if> | ||
| 413 | + <if test="veOwnerName != null"> | ||
| 414 | + #{veOwnerName,jdbcType=VARCHAR}, | ||
| 415 | + </if> | ||
| 416 | + <if test="veOwnerNo != null"> | ||
| 417 | + #{veOwnerNo,jdbcType=VARCHAR}, | ||
| 418 | + </if> | ||
| 419 | + <if test="ownerInsideAddr != null"> | ||
| 420 | + #{ownerInsideAddr,jdbcType=VARCHAR}, | ||
| 421 | + </if> | ||
| 422 | + <if test="ownerInsideTel != null"> | ||
| 423 | + #{ownerInsideTel,jdbcType=VARCHAR}, | ||
| 424 | + </if> | ||
| 425 | + <if test="veType != null"> | ||
| 426 | + #{veType,jdbcType=VARCHAR}, | ||
| 427 | + </if> | ||
| 428 | + <if test="brand != null"> | ||
| 429 | + #{brand,jdbcType=VARCHAR}, | ||
| 430 | + </if> | ||
| 431 | + <if test="model != null"> | ||
| 432 | + #{model,jdbcType=VARCHAR}, | ||
| 433 | + </if> | ||
| 434 | + <if test="exhaustCapacity != null"> | ||
| 435 | + #{exhaustCapacity,jdbcType=VARCHAR}, | ||
| 436 | + </if> | ||
| 437 | + <if test="veFactoryDate != null"> | ||
| 438 | + #{veFactoryDate,jdbcType=DATE}, | ||
| 439 | + </if> | ||
| 440 | + <if test="veMotorNo != null"> | ||
| 441 | + #{veMotorNo,jdbcType=VARCHAR}, | ||
| 442 | + </if> | ||
| 443 | + <if test="veFrameNo != null"> | ||
| 444 | + #{veFrameNo,jdbcType=VARCHAR}, | ||
| 445 | + </if> | ||
| 446 | + <if test="veTon != null"> | ||
| 447 | + #{veTon,jdbcType=VARCHAR}, | ||
| 448 | + </if> | ||
| 449 | + <if test="selfWt != null"> | ||
| 450 | + #{selfWt,jdbcType=VARCHAR}, | ||
| 451 | + </if> | ||
| 452 | + <if test="allowTowTotalWt != null"> | ||
| 453 | + #{allowTowTotalWt,jdbcType=VARCHAR}, | ||
| 454 | + </if> | ||
| 455 | + <if test="containerInnerLength != null"> | ||
| 456 | + #{containerInnerLength,jdbcType=VARCHAR}, | ||
| 457 | + </if> | ||
| 458 | + <if test="containerInnerWidth != null"> | ||
| 459 | + #{containerInnerWidth,jdbcType=VARCHAR}, | ||
| 460 | + </if> | ||
| 461 | + <if test="containerInnerHeight != null"> | ||
| 462 | + #{containerInnerHeight,jdbcType=VARCHAR}, | ||
| 463 | + </if> | ||
| 464 | + <if test="outerLength != null"> | ||
| 465 | + #{outerLength,jdbcType=VARCHAR}, | ||
| 466 | + </if> | ||
| 467 | + <if test="outerWidth != null"> | ||
| 468 | + #{outerWidth,jdbcType=VARCHAR}, | ||
| 469 | + </if> | ||
| 470 | + <if test="outerHeight != null"> | ||
| 471 | + #{outerHeight,jdbcType=VARCHAR}, | ||
| 472 | + </if> | ||
| 473 | + <if test="veBodyColor != null"> | ||
| 474 | + #{veBodyColor,jdbcType=VARCHAR}, | ||
| 475 | + </if> | ||
| 476 | + <if test="oilBoxCapcity != null"> | ||
| 477 | + #{oilBoxCapcity,jdbcType=VARCHAR}, | ||
| 478 | + </if> | ||
| 479 | + <if test="allowVeIePort != null"> | ||
| 480 | + #{allowVeIePort,jdbcType=VARCHAR}, | ||
| 481 | + </if> | ||
| 482 | + <if test="apprNo != null"> | ||
| 483 | + #{apprNo,jdbcType=VARCHAR}, | ||
| 484 | + </if> | ||
| 485 | + <if test="apprPeriod != null"> | ||
| 486 | + #{apprPeriod,jdbcType=DATE}, | ||
| 487 | + </if> | ||
| 488 | + <if test="currApplyBussiness != null"> | ||
| 489 | + #{currApplyBussiness,jdbcType=VARCHAR}, | ||
| 490 | + </if> | ||
| 491 | + <if test="front45cPic != null"> | ||
| 492 | + #{front45cPic,jdbcType=VARCHAR}, | ||
| 493 | + </if> | ||
| 494 | + <if test="back45cPic != null"> | ||
| 495 | + #{back45cPic,jdbcType=VARCHAR}, | ||
| 496 | + </if> | ||
| 497 | + <if test="oilBoxPic != null"> | ||
| 498 | + #{oilBoxPic,jdbcType=VARCHAR}, | ||
| 499 | + </if> | ||
| 500 | + <if test="veBottomPic != null"> | ||
| 501 | + #{veBottomPic,jdbcType=VARCHAR}, | ||
| 502 | + </if> | ||
| 503 | + <if test="memo != null"> | ||
| 504 | + #{memo,jdbcType=VARCHAR}, | ||
| 505 | + </if> | ||
| 506 | + <if test="proposer != null"> | ||
| 507 | + #{proposer,jdbcType=VARCHAR}, | ||
| 508 | + </if> | ||
| 509 | + <if test="proposeTime != null"> | ||
| 510 | + #{proposeTime,jdbcType=TIMESTAMP}, | ||
| 511 | + </if> | ||
| 512 | + <if test="veClassFlag != null"> | ||
| 513 | + #{veClassFlag,jdbcType=VARCHAR}, | ||
| 514 | + </if> | ||
| 515 | + <if test="operationType != null"> | ||
| 516 | + #{operationType,jdbcType=VARCHAR}, | ||
| 517 | + </if> | ||
| 518 | + <if test="trailerLicenseNo != null"> | ||
| 519 | + #{trailerLicenseNo,jdbcType=VARCHAR}, | ||
| 520 | + </if> | ||
| 521 | + <if test="trailerFrameNo != null"> | ||
| 522 | + #{trailerFrameNo,jdbcType=VARCHAR}, | ||
| 523 | + </if> | ||
| 524 | + <if test="approNoPic != null"> | ||
| 525 | + #{approNoPic,jdbcType=VARCHAR}, | ||
| 526 | + </if> | ||
| 527 | + <if test="veFrameNoPic != null"> | ||
| 528 | + #{veFrameNoPic,jdbcType=VARCHAR}, | ||
| 529 | + </if> | ||
| 530 | + <if test="motorNoPic != null"> | ||
| 531 | + #{motorNoPic,jdbcType=VARCHAR}, | ||
| 532 | + </if> | ||
| 533 | + <if test="foreignLicensePic != null"> | ||
| 534 | + #{foreignLicensePic,jdbcType=VARCHAR}, | ||
| 535 | + </if> | ||
| 536 | + <if test="nationality != null"> | ||
| 537 | + #{nationality,jdbcType=VARCHAR}, | ||
| 538 | + </if> | ||
| 539 | + <if test="returnmessage != null"> | ||
| 540 | + #{returnmessage,jdbcType=VARCHAR}, | ||
| 541 | + </if> | ||
| 542 | + <if test="barcode != null"> | ||
| 543 | + #{barcode,jdbcType=VARCHAR}, | ||
| 544 | + </if> | ||
| 545 | + <if test="createBy != null"> | ||
| 546 | + #{createBy,jdbcType=VARCHAR}, | ||
| 547 | + </if> | ||
| 548 | + <if test="createDate != null"> | ||
| 549 | + #{createDate,jdbcType=TIMESTAMP}, | ||
| 550 | + </if> | ||
| 551 | + <if test="updateBy != null"> | ||
| 552 | + #{updateBy,jdbcType=VARCHAR}, | ||
| 553 | + </if> | ||
| 554 | + <if test="updateDate != null"> | ||
| 555 | + #{updateDate,jdbcType=TIMESTAMP}, | ||
| 556 | + </if> | ||
| 557 | + <if test="veFreeTime != null"> | ||
| 558 | + #{veFreeTime,jdbcType=TIMESTAMP}, | ||
| 559 | + </if> | ||
| 560 | + <if test="vePriority != null"> | ||
| 561 | + #{vePriority,jdbcType=INTEGER}, | ||
| 562 | + </if> | ||
| 563 | + <if test="veState != null"> | ||
| 564 | + #{veState,jdbcType=VARCHAR}, | ||
| 565 | + </if> | ||
| 566 | + </trim> | ||
| 567 | + </insert> | ||
| 568 | + <update id="updateByPrimaryKeySelective" parameterType="com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord"> | ||
| 569 | + <!--@mbg.generated--> | ||
| 570 | + update land_road_ve_record | ||
| 571 | + <set> | ||
| 572 | + <if test="eportId != null"> | ||
| 573 | + EPORT_ID = #{eportId,jdbcType=VARCHAR}, | ||
| 574 | + </if> | ||
| 575 | + <if test="mainPort != null"> | ||
| 576 | + MAIN_PORT = #{mainPort,jdbcType=VARCHAR}, | ||
| 577 | + </if> | ||
| 578 | + <if test="coCode != null"> | ||
| 579 | + CO_CODE = #{coCode,jdbcType=VARCHAR}, | ||
| 580 | + </if> | ||
| 581 | + <if test="veTargetNo != null"> | ||
| 582 | + VE_TARGET_NO = #{veTargetNo,jdbcType=VARCHAR}, | ||
| 583 | + </if> | ||
| 584 | + <if test="domesticLisenceNo != null"> | ||
| 585 | + DOMESTIC_LISENCE_NO = #{domesticLisenceNo,jdbcType=VARCHAR}, | ||
| 586 | + </if> | ||
| 587 | + <if test="domesticLicenseColor != null"> | ||
| 588 | + DOMESTIC_LICENSE_COLOR = #{domesticLicenseColor,jdbcType=VARCHAR}, | ||
| 589 | + </if> | ||
| 590 | + <if test="foreignLicense != null"> | ||
| 591 | + FOREIGN_LICENSE = #{foreignLicense,jdbcType=VARCHAR}, | ||
| 592 | + </if> | ||
| 593 | + <if test="veRegPlace != null"> | ||
| 594 | + VE_REG_PLACE = #{veRegPlace,jdbcType=VARCHAR}, | ||
| 595 | + </if> | ||
| 596 | + <if test="veProperty != null"> | ||
| 597 | + VE_PROPERTY = #{veProperty,jdbcType=VARCHAR}, | ||
| 598 | + </if> | ||
| 599 | + <if test="veConveyQua != null"> | ||
| 600 | + VE_CONVEY_QUA = #{veConveyQua,jdbcType=VARCHAR}, | ||
| 601 | + </if> | ||
| 602 | + <if test="veCardNo != null"> | ||
| 603 | + VE_CARD_NO = #{veCardNo,jdbcType=VARCHAR}, | ||
| 604 | + </if> | ||
| 605 | + <if test="veOwnerName != null"> | ||
| 606 | + VE_OWNER_NAME = #{veOwnerName,jdbcType=VARCHAR}, | ||
| 607 | + </if> | ||
| 608 | + <if test="veOwnerNo != null"> | ||
| 609 | + VE_OWNER_NO = #{veOwnerNo,jdbcType=VARCHAR}, | ||
| 610 | + </if> | ||
| 611 | + <if test="ownerInsideAddr != null"> | ||
| 612 | + OWNER_INSIDE_ADDR = #{ownerInsideAddr,jdbcType=VARCHAR}, | ||
| 613 | + </if> | ||
| 614 | + <if test="ownerInsideTel != null"> | ||
| 615 | + OWNER_INSIDE_TEL = #{ownerInsideTel,jdbcType=VARCHAR}, | ||
| 616 | + </if> | ||
| 617 | + <if test="veType != null"> | ||
| 618 | + VE_TYPE = #{veType,jdbcType=VARCHAR}, | ||
| 619 | + </if> | ||
| 620 | + <if test="brand != null"> | ||
| 621 | + BRAND = #{brand,jdbcType=VARCHAR}, | ||
| 622 | + </if> | ||
| 623 | + <if test="model != null"> | ||
| 624 | + MODEL = #{model,jdbcType=VARCHAR}, | ||
| 625 | + </if> | ||
| 626 | + <if test="exhaustCapacity != null"> | ||
| 627 | + EXHAUST_CAPACITY = #{exhaustCapacity,jdbcType=VARCHAR}, | ||
| 628 | + </if> | ||
| 629 | + <if test="veFactoryDate != null"> | ||
| 630 | + VE_FACTORY_DATE = #{veFactoryDate,jdbcType=DATE}, | ||
| 631 | + </if> | ||
| 632 | + <if test="veMotorNo != null"> | ||
| 633 | + VE_MOTOR_NO = #{veMotorNo,jdbcType=VARCHAR}, | ||
| 634 | + </if> | ||
| 635 | + <if test="veFrameNo != null"> | ||
| 636 | + VE_FRAME_NO = #{veFrameNo,jdbcType=VARCHAR}, | ||
| 637 | + </if> | ||
| 638 | + <if test="veTon != null"> | ||
| 639 | + VE_TON = #{veTon,jdbcType=VARCHAR}, | ||
| 640 | + </if> | ||
| 641 | + <if test="selfWt != null"> | ||
| 642 | + SELF_WT = #{selfWt,jdbcType=VARCHAR}, | ||
| 643 | + </if> | ||
| 644 | + <if test="allowTowTotalWt != null"> | ||
| 645 | + ALLOW_TOW_TOTAL_WT = #{allowTowTotalWt,jdbcType=VARCHAR}, | ||
| 646 | + </if> | ||
| 647 | + <if test="containerInnerLength != null"> | ||
| 648 | + CONTAINER_INNER_LENGTH = #{containerInnerLength,jdbcType=VARCHAR}, | ||
| 649 | + </if> | ||
| 650 | + <if test="containerInnerWidth != null"> | ||
| 651 | + CONTAINER_INNER_WIDTH = #{containerInnerWidth,jdbcType=VARCHAR}, | ||
| 652 | + </if> | ||
| 653 | + <if test="containerInnerHeight != null"> | ||
| 654 | + CONTAINER_INNER_HEIGHT = #{containerInnerHeight,jdbcType=VARCHAR}, | ||
| 655 | + </if> | ||
| 656 | + <if test="outerLength != null"> | ||
| 657 | + OUTER_LENGTH = #{outerLength,jdbcType=VARCHAR}, | ||
| 658 | + </if> | ||
| 659 | + <if test="outerWidth != null"> | ||
| 660 | + OUTER_WIDTH = #{outerWidth,jdbcType=VARCHAR}, | ||
| 661 | + </if> | ||
| 662 | + <if test="outerHeight != null"> | ||
| 663 | + OUTER_HEIGHT = #{outerHeight,jdbcType=VARCHAR}, | ||
| 664 | + </if> | ||
| 665 | + <if test="veBodyColor != null"> | ||
| 666 | + VE_BODY_COLOR = #{veBodyColor,jdbcType=VARCHAR}, | ||
| 667 | + </if> | ||
| 668 | + <if test="oilBoxCapcity != null"> | ||
| 669 | + OIL_BOX_CAPCITY = #{oilBoxCapcity,jdbcType=VARCHAR}, | ||
| 670 | + </if> | ||
| 671 | + <if test="allowVeIePort != null"> | ||
| 672 | + ALLOW_VE_IE_PORT = #{allowVeIePort,jdbcType=VARCHAR}, | ||
| 673 | + </if> | ||
| 674 | + <if test="apprNo != null"> | ||
| 675 | + APPR_NO = #{apprNo,jdbcType=VARCHAR}, | ||
| 676 | + </if> | ||
| 677 | + <if test="apprPeriod != null"> | ||
| 678 | + APPR_PERIOD = #{apprPeriod,jdbcType=DATE}, | ||
| 679 | + </if> | ||
| 680 | + <if test="currApplyBussiness != null"> | ||
| 681 | + CURR_APPLY_BUSSINESS = #{currApplyBussiness,jdbcType=VARCHAR}, | ||
| 682 | + </if> | ||
| 683 | + <if test="front45cPic != null"> | ||
| 684 | + FRONT_45C_PIC = #{front45cPic,jdbcType=VARCHAR}, | ||
| 685 | + </if> | ||
| 686 | + <if test="back45cPic != null"> | ||
| 687 | + BACK_45C_PIC = #{back45cPic,jdbcType=VARCHAR}, | ||
| 688 | + </if> | ||
| 689 | + <if test="oilBoxPic != null"> | ||
| 690 | + OIL_BOX_PIC = #{oilBoxPic,jdbcType=VARCHAR}, | ||
| 691 | + </if> | ||
| 692 | + <if test="veBottomPic != null"> | ||
| 693 | + VE_BOTTOM_PIC = #{veBottomPic,jdbcType=VARCHAR}, | ||
| 694 | + </if> | ||
| 695 | + <if test="memo != null"> | ||
| 696 | + MEMO = #{memo,jdbcType=VARCHAR}, | ||
| 697 | + </if> | ||
| 698 | + <if test="proposer != null"> | ||
| 699 | + PROPOSER = #{proposer,jdbcType=VARCHAR}, | ||
| 700 | + </if> | ||
| 701 | + <if test="proposeTime != null"> | ||
| 702 | + PROPOSE_TIME = #{proposeTime,jdbcType=TIMESTAMP}, | ||
| 703 | + </if> | ||
| 704 | + <if test="veClassFlag != null"> | ||
| 705 | + VE_CLASS_FLAG = #{veClassFlag,jdbcType=VARCHAR}, | ||
| 706 | + </if> | ||
| 707 | + <if test="operationType != null"> | ||
| 708 | + OPERATION_TYPE = #{operationType,jdbcType=VARCHAR}, | ||
| 709 | + </if> | ||
| 710 | + <if test="trailerLicenseNo != null"> | ||
| 711 | + TRAILER_LICENSE_NO = #{trailerLicenseNo,jdbcType=VARCHAR}, | ||
| 712 | + </if> | ||
| 713 | + <if test="trailerFrameNo != null"> | ||
| 714 | + TRAILER_FRAME_NO = #{trailerFrameNo,jdbcType=VARCHAR}, | ||
| 715 | + </if> | ||
| 716 | + <if test="approNoPic != null"> | ||
| 717 | + APPRO_NO_PIC = #{approNoPic,jdbcType=VARCHAR}, | ||
| 718 | + </if> | ||
| 719 | + <if test="veFrameNoPic != null"> | ||
| 720 | + VE_FRAME_NO_PIC = #{veFrameNoPic,jdbcType=VARCHAR}, | ||
| 721 | + </if> | ||
| 722 | + <if test="motorNoPic != null"> | ||
| 723 | + MOTOR_NO_PIC = #{motorNoPic,jdbcType=VARCHAR}, | ||
| 724 | + </if> | ||
| 725 | + <if test="foreignLicensePic != null"> | ||
| 726 | + FOREIGN_LICENSE_PIC = #{foreignLicensePic,jdbcType=VARCHAR}, | ||
| 727 | + </if> | ||
| 728 | + <if test="nationality != null"> | ||
| 729 | + NATIONALITY = #{nationality,jdbcType=VARCHAR}, | ||
| 730 | + </if> | ||
| 731 | + <if test="returnmessage != null"> | ||
| 732 | + RETURNMESSAGE = #{returnmessage,jdbcType=VARCHAR}, | ||
| 733 | + </if> | ||
| 734 | + <if test="barcode != null"> | ||
| 735 | + BARCODE = #{barcode,jdbcType=VARCHAR}, | ||
| 736 | + </if> | ||
| 737 | + <if test="createBy != null"> | ||
| 738 | + CREATE_BY = #{createBy,jdbcType=VARCHAR}, | ||
| 739 | + </if> | ||
| 740 | + <if test="createDate != null"> | ||
| 741 | + CREATE_DATE = #{createDate,jdbcType=TIMESTAMP}, | ||
| 742 | + </if> | ||
| 743 | + <if test="updateBy != null"> | ||
| 744 | + UPDATE_BY = #{updateBy,jdbcType=VARCHAR}, | ||
| 745 | + </if> | ||
| 746 | + <if test="updateDate != null"> | ||
| 747 | + UPDATE_DATE = #{updateDate,jdbcType=TIMESTAMP}, | ||
| 748 | + </if> | ||
| 749 | + <if test="veFreeTime != null"> | ||
| 750 | + VE_FREE_TIME = #{veFreeTime,jdbcType=TIMESTAMP}, | ||
| 751 | + </if> | ||
| 752 | + <if test="vePriority != null"> | ||
| 753 | + VE_PRIORITY = #{vePriority,jdbcType=INTEGER}, | ||
| 754 | + </if> | ||
| 755 | + <if test="veState != null"> | ||
| 756 | + VE_STATE = #{veState,jdbcType=VARCHAR}, | ||
| 757 | + </if> | ||
| 758 | + </set> | ||
| 759 | + where ID = #{id,jdbcType=VARCHAR} | ||
| 760 | + </update> | ||
| 761 | + <update id="updateByPrimaryKey" parameterType="com.sunyo.wlpt.vehicle.manage.domain.LandRoadVeRecord"> | ||
| 762 | + <!--@mbg.generated--> | ||
| 763 | + update land_road_ve_record | ||
| 764 | + set EPORT_ID = #{eportId,jdbcType=VARCHAR}, | ||
| 765 | + MAIN_PORT = #{mainPort,jdbcType=VARCHAR}, | ||
| 766 | + CO_CODE = #{coCode,jdbcType=VARCHAR}, | ||
| 767 | + VE_TARGET_NO = #{veTargetNo,jdbcType=VARCHAR}, | ||
| 768 | + DOMESTIC_LISENCE_NO = #{domesticLisenceNo,jdbcType=VARCHAR}, | ||
| 769 | + DOMESTIC_LICENSE_COLOR = #{domesticLicenseColor,jdbcType=VARCHAR}, | ||
| 770 | + FOREIGN_LICENSE = #{foreignLicense,jdbcType=VARCHAR}, | ||
| 771 | + VE_REG_PLACE = #{veRegPlace,jdbcType=VARCHAR}, | ||
| 772 | + VE_PROPERTY = #{veProperty,jdbcType=VARCHAR}, | ||
| 773 | + VE_CONVEY_QUA = #{veConveyQua,jdbcType=VARCHAR}, | ||
| 774 | + VE_CARD_NO = #{veCardNo,jdbcType=VARCHAR}, | ||
| 775 | + VE_OWNER_NAME = #{veOwnerName,jdbcType=VARCHAR}, | ||
| 776 | + VE_OWNER_NO = #{veOwnerNo,jdbcType=VARCHAR}, | ||
| 777 | + OWNER_INSIDE_ADDR = #{ownerInsideAddr,jdbcType=VARCHAR}, | ||
| 778 | + OWNER_INSIDE_TEL = #{ownerInsideTel,jdbcType=VARCHAR}, | ||
| 779 | + VE_TYPE = #{veType,jdbcType=VARCHAR}, | ||
| 780 | + BRAND = #{brand,jdbcType=VARCHAR}, | ||
| 781 | + MODEL = #{model,jdbcType=VARCHAR}, | ||
| 782 | + EXHAUST_CAPACITY = #{exhaustCapacity,jdbcType=VARCHAR}, | ||
| 783 | + VE_FACTORY_DATE = #{veFactoryDate,jdbcType=DATE}, | ||
| 784 | + VE_MOTOR_NO = #{veMotorNo,jdbcType=VARCHAR}, | ||
| 785 | + VE_FRAME_NO = #{veFrameNo,jdbcType=VARCHAR}, | ||
| 786 | + VE_TON = #{veTon,jdbcType=VARCHAR}, | ||
| 787 | + SELF_WT = #{selfWt,jdbcType=VARCHAR}, | ||
| 788 | + ALLOW_TOW_TOTAL_WT = #{allowTowTotalWt,jdbcType=VARCHAR}, | ||
| 789 | + CONTAINER_INNER_LENGTH = #{containerInnerLength,jdbcType=VARCHAR}, | ||
| 790 | + CONTAINER_INNER_WIDTH = #{containerInnerWidth,jdbcType=VARCHAR}, | ||
| 791 | + CONTAINER_INNER_HEIGHT = #{containerInnerHeight,jdbcType=VARCHAR}, | ||
| 792 | + OUTER_LENGTH = #{outerLength,jdbcType=VARCHAR}, | ||
| 793 | + OUTER_WIDTH = #{outerWidth,jdbcType=VARCHAR}, | ||
| 794 | + OUTER_HEIGHT = #{outerHeight,jdbcType=VARCHAR}, | ||
| 795 | + VE_BODY_COLOR = #{veBodyColor,jdbcType=VARCHAR}, | ||
| 796 | + OIL_BOX_CAPCITY = #{oilBoxCapcity,jdbcType=VARCHAR}, | ||
| 797 | + ALLOW_VE_IE_PORT = #{allowVeIePort,jdbcType=VARCHAR}, | ||
| 798 | + APPR_NO = #{apprNo,jdbcType=VARCHAR}, | ||
| 799 | + APPR_PERIOD = #{apprPeriod,jdbcType=DATE}, | ||
| 800 | + CURR_APPLY_BUSSINESS = #{currApplyBussiness,jdbcType=VARCHAR}, | ||
| 801 | + FRONT_45C_PIC = #{front45cPic,jdbcType=VARCHAR}, | ||
| 802 | + BACK_45C_PIC = #{back45cPic,jdbcType=VARCHAR}, | ||
| 803 | + OIL_BOX_PIC = #{oilBoxPic,jdbcType=VARCHAR}, | ||
| 804 | + VE_BOTTOM_PIC = #{veBottomPic,jdbcType=VARCHAR}, | ||
| 805 | + MEMO = #{memo,jdbcType=VARCHAR}, | ||
| 806 | + PROPOSER = #{proposer,jdbcType=VARCHAR}, | ||
| 807 | + PROPOSE_TIME = #{proposeTime,jdbcType=TIMESTAMP}, | ||
| 808 | + VE_CLASS_FLAG = #{veClassFlag,jdbcType=VARCHAR}, | ||
| 809 | + OPERATION_TYPE = #{operationType,jdbcType=VARCHAR}, | ||
| 810 | + TRAILER_LICENSE_NO = #{trailerLicenseNo,jdbcType=VARCHAR}, | ||
| 811 | + TRAILER_FRAME_NO = #{trailerFrameNo,jdbcType=VARCHAR}, | ||
| 812 | + APPRO_NO_PIC = #{approNoPic,jdbcType=VARCHAR}, | ||
| 813 | + VE_FRAME_NO_PIC = #{veFrameNoPic,jdbcType=VARCHAR}, | ||
| 814 | + MOTOR_NO_PIC = #{motorNoPic,jdbcType=VARCHAR}, | ||
| 815 | + FOREIGN_LICENSE_PIC = #{foreignLicensePic,jdbcType=VARCHAR}, | ||
| 816 | + NATIONALITY = #{nationality,jdbcType=VARCHAR}, | ||
| 817 | + RETURNMESSAGE = #{returnmessage,jdbcType=VARCHAR}, | ||
| 818 | + BARCODE = #{barcode,jdbcType=VARCHAR}, | ||
| 819 | + CREATE_BY = #{createBy,jdbcType=VARCHAR}, | ||
| 820 | + CREATE_DATE = #{createDate,jdbcType=TIMESTAMP}, | ||
| 821 | + UPDATE_BY = #{updateBy,jdbcType=VARCHAR}, | ||
| 822 | + UPDATE_DATE = #{updateDate,jdbcType=TIMESTAMP}, | ||
| 823 | + VE_FREE_TIME = #{veFreeTime,jdbcType=TIMESTAMP}, | ||
| 824 | + VE_PRIORITY = #{vePriority,jdbcType=INTEGER}, | ||
| 825 | + VE_STATE = #{veState,jdbcType=VARCHAR} | ||
| 826 | + where ID = #{id,jdbcType=VARCHAR} | ||
| 827 | + </update> | ||
| 828 | +</mapper> |
-
请 注册 或 登录 后发表评论