1.修改按DI更新逻辑

zhairh
x_z 2 years ago
parent a0c9a75cda
commit 7c98851352

@ -3,15 +3,12 @@ package com.glxp.udidl.admin.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.*;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* Redis
@ -20,24 +17,86 @@ import org.springframework.data.redis.serializer.RedisSerializer;
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory cf) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(cf);
redisTemplate.setValueSerializer(RedisSerializer.json());
redisTemplate.setHashValueSerializer(RedisSerializer.string());
redisTemplate.setKeySerializer(RedisSerializer.string());
redisTemplate.setHashKeySerializer(RedisSerializer.string());
redisTemplate.afterPropertiesSet();
Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);
ObjectMapper objectMapper = new ObjectMapper()
.registerModule(new ParameterNamesModule())
.registerModule(new Jdk8Module())
.registerModule(new JavaTimeModule());
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
serializer.setObjectMapper(objectMapper);
redisTemplate.setValueSerializer(serializer);
return redisTemplate;
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
// 配置连接工厂
template.setConnectionFactory(factory);
//使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值默认使用JDK的序列化方式
Jackson2JsonRedisSerializer jsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
// 指定要序列化的域field,get和set,以及修饰符范围ANY是都有包括private和public
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
// 指定序列化输入的类型类必须是非final修饰的final修饰的类比如String,Integer等会跑出异常
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jsonRedisSerializer.setObjectMapper(om);
// 值采用json序列化
template.setValueSerializer(jsonRedisSerializer);
//使用StringRedisSerializer来序列化和反序列化redis的key值
template.setKeySerializer(new StringRedisSerializer());
// 设置hash key 和value序列化模式
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(jsonRedisSerializer);
template.afterPropertiesSet();
return template;
}
/**
* hash
*
* @param redisTemplate
* @return
*/
@Bean
public HashOperations<String, String, Object> hashOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForHash();
}
/**
* redis
*
* @param redisTemplate
* @return
*/
@Bean
public ValueOperations<String, Object> valueOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForValue();
}
/**
*
*
* @param redisTemplate
* @return
*/
@Bean
public ListOperations<String, Object> listOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForList();
}
/**
*
*
* @param redisTemplate
* @return
*/
@Bean
public SetOperations<String, Object> setOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForSet();
}
/**
*
*
* @param redisTemplate
* @return
*/
@Bean
public ZSetOperations<String, Object> zSetOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForZSet();
}
}

@ -56,4 +56,6 @@ public interface ProductInfoMapper extends BaseMapper<ProductInfoEntity> {
List<ProductDetailModel> selectByDeviceRecordKey(String key);
boolean updateCplx(ProductInfoEntity productInfoEntity);
boolean updateProductInfoData(ProductInfoEntity productInfoEntity);
}

@ -1,15 +1,16 @@
package com.glxp.udidl.admin.entity.udi;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Date;
@Data
@ApiModel(value = "产品信息实体")
@TableName("productinfo")
public class ProductInfoEntity {
@ApiModelProperty(value = "主键ID")

@ -10,7 +10,6 @@ import java.util.Date;
@Data
public class Device {
@ApiModelProperty(value = "同一产品同一版本号唯一主键")
private String uuid;

@ -1,6 +1,9 @@
package com.glxp.udidl.admin.service.dataUpdate;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.udidl.admin.dao.udi.ProductInfoMapper;
import com.glxp.udidl.admin.dao.udid.DeviceMapper;
import com.glxp.udidl.admin.entity.udi.CountProductEntity;
import com.glxp.udidl.admin.entity.udi.ProductClassify;
import com.glxp.udidl.admin.entity.udi.ProductInfoEntity;
@ -30,11 +33,15 @@ public class DeviceParseService {
@Resource
private DeviceService deviceService;
@Resource
ProductClassifyService productClassifyService;
private ProductClassifyService productClassifyService;
@Resource
ProductInfoService productInfoService;
private ProductInfoService productInfoService;
@Resource
UdiCompanyService udiCompanyService;
private UdiCompanyService udiCompanyService;
@Resource
private DeviceMapper deviceMapper;
@Resource
private ProductInfoMapper productInfoMapper;
/**
*
@ -50,11 +57,13 @@ public class DeviceParseService {
List<DataSetResult.PackingInfo> packingInfoAll = ds.getPackingInfo();
for (DataSetResult.DeviceInfo item : ds.getDeviceInfo()) {
//1:判断数据是否存在
if (StrUtil.isNotEmpty(deviceService.selectDiIsSame(item.getZxxsdycpbs(), item.getVersionNumber() + "")))
continue;
//1:判断数据是否存在,直接以当前拉取到的最新数据进行更新
String uuid = deviceService.selectDiIsSame(item.getZxxsdycpbs(), item.getVersionNumber() + "");
//此版本数据存在使用当前数据库存在的数据的ID进行更新
Device device = responseToDevice(item);
String uuid = getUUId();
if (StrUtil.isBlank(uuid)) {
uuid = getUUId();
}
Boolean isHistory = false;
if (item.getDeviceHistoryKey() != null && !item.getDeviceHistoryKey().isEmpty()) {
isHistory = true;
@ -148,7 +157,6 @@ public class DeviceParseService {
}
deviceService.updateDevicepackage(devicepackageList);
}
}
//7存储productInfo信息
@ -280,7 +288,12 @@ public class DeviceParseService {
public void transUdi(String key) {
DeviceEntity deviceEntity = deviceService.searchById(key);
String di = deviceEntity.getZxxsdycpbs();
//查询产品表的数据ID
ProductInfoEntity oldData = productInfoMapper.selectOne(new QueryWrapper<ProductInfoEntity>().select("id").eq("uuid", key).eq("nameCode", deviceEntity.getZxxsdycpbs()));
ProductInfoEntity productInfoEntity = new ProductInfoEntity();
if (null != oldData) {
productInfoEntity.setId(oldData.getId());
}
org.springframework.beans.BeanUtils.copyProperties(deviceEntity, productInfoEntity);
productInfoEntity.setUuid(key);
productInfoEntity.setDeviceRecordKey(deviceEntity.getDevicerecordkey());
@ -355,7 +368,7 @@ public class DeviceParseService {
productInfoEntity.setNameCode(deviceEntity.getSydycpbs());
productInfoEntity.setSjcpbm(deviceEntity.getZxxsdycpbs());
productInfoEntity.setUpdateTime(new Date());
productInfoService.insertProductInfo(productInfoEntity);
productInfoService.updateProductInfoData(productInfoEntity);
productInfoEntity.setBhxjcpbm(deviceEntity.getSydycpbs());
productInfoEntity.setBhxjsl(1);
productInfoEntity.setPackLevel(2 + "");
@ -373,7 +386,7 @@ public class DeviceParseService {
productInfoEntity.setSjcpbm(deviceEntity.getZxxsdycpbs());
productInfoEntity.setNameCode(deviceEntity.getBtcpbs());
productInfoEntity.setUpdateTime(new Date());
productInfoService.insertProductInfo(productInfoEntity);
productInfoService.updateProductInfoData(productInfoEntity);
productInfoEntity.setBhxjcpbm(deviceEntity.getBtcpbs());
productInfoEntity.setBhxjsl(1);
productInfoEntity.setPackLevel(2 + "");
@ -391,7 +404,7 @@ public class DeviceParseService {
List<Devicepackage> devicepackages = deviceEntity.getDevicepackages();
productInfoEntity.setSjcpbm(getSjcpbm(devicepackages, productInfoEntity.getNameCode()));
productInfoEntity.setUpdateTime(new Date());
productInfoService.insertProductInfo(productInfoEntity);
productInfoService.updateProductInfoData(productInfoEntity);
List<CountProductEntity> countProductEntities = new ArrayList<>();
int curLevel = Integer.parseInt(productInfoEntity.getPackLevel()) + 1;
@ -436,7 +449,7 @@ public class DeviceParseService {
productInfoEntity.setSjcpbm(getSjcpbm(devicepackages, productInfoEntity.getNameCode()));
productInfoEntity.setDiType(4);
productInfoEntity.setUpdateTime(new Date());
productInfoService.insertProductInfo(productInfoEntity);
productInfoService.updateProductInfoData(productInfoEntity);
}
}
@ -461,7 +474,7 @@ public class DeviceParseService {
for (ProductInfoEntity change : temps) {
change.setIsNewest(false);
change.setUpdateTime(new Date());
productInfoService.updateProductInfo(change);
productInfoService.updateProductInfoData(change);
}
}

@ -13,6 +13,7 @@ import com.glxp.udidl.admin.entity.udid.TokenEntity;
import com.glxp.udidl.admin.req.UpdateUdiRequest;
import com.glxp.udidl.admin.req.udid.DownloadDiRequest;
import com.glxp.udidl.admin.req.udid.TokenRequest;
import com.glxp.udidl.admin.res.udid.DataSetResult;
import com.glxp.udidl.admin.res.udid.DataSetSingleResult;
import com.glxp.udidl.admin.service.info.CompanyService;
import com.glxp.udidl.admin.service.inout.DeviceService;
@ -83,7 +84,8 @@ public class DeviceUpdateService {
jobLog.setInsertCount(0);
} else {
log.info("下载成功,开始更新数据");
deviceParseService.DeviceSave(Collections.singletonList(dataSetSingleResult.getDataSet()), new Date());
DataSetResult.DataSet dataSet = dataSetSingleResult.getDataSet();
deviceParseService.DeviceSave(Collections.singletonList(dataSet), new Date());
jobLog.setInsertCount(1);
}
}
@ -100,7 +102,7 @@ public class DeviceUpdateService {
*/
public String getToken() {
token = redisUtil.get("UDI_UPDATE_TOKEN");
if (StrUtil.isEmpty(token)) {
if (StrUtil.isBlank(token)) {
//查询下载数据使用的appid
CompanyEntity companyEntity = companyService.findByTaskType(Constant.TASK_TYPE_UPDATE);
TokenRequest tokenRequest = new TokenRequest();

@ -50,4 +50,7 @@ public interface ProductInfoService {
boolean updateProductInfo(ProductInfoEntity productInfoEntity);
boolean updateCplx(ProductInfoEntity productInfoEntity);
boolean updateProductInfoData(ProductInfoEntity productInfoEntity);
}

@ -16,6 +16,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Transactional(rollbackFor = Exception.class)
@Service
public class ProductInfoServiceImpl implements ProductInfoService {
@ -183,13 +184,11 @@ public class ProductInfoServiceImpl implements ProductInfoService {
return productInfoDao.selectByUpdateTime(startDate, endDate);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean insertProductInfo(ProductInfoEntity productInfoEntity) {
return productInfoDao.insertProductInfo(productInfoEntity);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean updateProductByUuid(ProductInfoEntity productInfoEntity) {
return productInfoDao.updateProductByUuid(productInfoEntity);
@ -201,19 +200,22 @@ public class ProductInfoServiceImpl implements ProductInfoService {
return productInfoDao.updateProductInfo(productInfoEntity);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean updateCplx(ProductInfoEntity productInfoEntity) {
return productInfoDao.updateCplx(productInfoEntity);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean updateProductInfoData(ProductInfoEntity productInfoEntity) {
return productInfoDao.updateProductInfoData(productInfoEntity);
}
@Override
public boolean deleteById(String id) {
return productInfoDao.deleteById(id);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean deleteAll(List<String> ids) {
return productInfoDao.deleteAll(ids);

@ -3,10 +3,12 @@ package com.glxp.udidl.admin.util;
import cn.hutool.core.collection.CollUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
* redis
@ -25,7 +27,8 @@ public class RedisUtil<T> {
* @return
*/
public String get(String key) {
return String.valueOf(redisTemplate.opsForValue().get(key));
redisTemplate.setValueSerializer(new StringRedisSerializer());
return key == null ? null : (String) redisTemplate.opsForValue().get(key);
}
/**
@ -49,7 +52,11 @@ public class RedisUtil<T> {
public boolean setEx(String key, String value, long expireTime) {
boolean result = false;
try {
redisTemplate.opsForValue().set(key, value, expireTime);
if (expireTime > 0) {
redisTemplate.opsForValue().set(key, value, expireTime, TimeUnit.SECONDS);
} else {
set(key, value);
}
result = true;
} catch (Exception e) {
log.error("RedisUtil setEx 发生异常参数列表key {} value {}", key, value, e);
@ -84,7 +91,7 @@ public class RedisUtil<T> {
* @param value
* @return
*/
public boolean set(String key, T value) {
public boolean set(String key, Object value) {
boolean result = false;
try {
redisTemplate.opsForValue().set(key, value);

@ -28,7 +28,7 @@ ssl = false;
#----- 自定义分组的连接
[custom]
# 地址默认localhost
host = 127.0.0.1
host = 192.168.235.137
# 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true
BlockWhenExhausted = true;
# 设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数)

@ -683,4 +683,67 @@
</set>
WHERE deviceRecordKey = #{deviceRecordKey}
</update>
<insert id="updateProductInfoData" parameterType="com.glxp.udidl.admin.entity.udi.ProductInfoEntity">
REPLACE
INTO productinfo
(id, nameCode, packRatio, packLevel, bhxjsl,
bhzxxsbzsl, zxxsbzbhsydysl, bhxjcpbm, bzcj, thirdProductNo, addType, deviceRecordKey, isUseDy,
thirdProductName,
cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm, ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, uuid, sjcpbm,
versionNumber
, diType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq,
ybbm, spmc, cphhhbh, cpms, cpbsbmtxmc, isNewest, updateTime, hchzsb, cplx, sfwblztlcp, cgzmraqxgxx, sfbjwycxsy,
zdcfsycs,
sfwwjbz, syqsfxyjxmj, mjfs, qtxxdwzlj, categoryName)
values (#{id},
#{nameCode},
#{packRatio},
#{packLevel},
#{bhxjsl},
#{bhzxxsbzsl},
#{zxxsbzbhsydysl},
#{bhxjcpbm},
#{bzcj},
#{thirdProductNo},
#{addType},
#{deviceRecordKey},
#{isUseDy},
#{thirdProductName},
#{cpmctymc},
#{cplb},
#{flbm},
#{ggxh},
#{qxlb},
#{tyshxydm},
#{ylqxzcrbarmc},
#{zczbhhzbapzbh},
#{ylqxzcrbarywmc},
#{uuid},
#{sjcpbm},
#{versionNumber},
#{diType},
#{scbssfbhph},
#{scbssfbhxlh},
#{scbssfbhscrq},
#{scbssfbhsxrq},
#{ybbm},
#{spmc},
#{cphhhbh},
#{cpms},
#{cpbsbmtxmc},
#{isNewest},
#{updateTime},
#{hchzsb},
#{cplx},
#{sfwblztlcp},
#{cgzmraqxgxx},
#{sfbjwycxsy},
#{zdcfsycs},
#{sfwwjbz},
#{syqsfxyjxmj},
#{mjfs},
#{qtxxdwzlj},
#{categoryName})
</insert>
</mapper>

@ -1033,39 +1033,39 @@
<insert id="updateDevice" parameterType="com.glxp.udidl.admin.entity.udid.Device">
replace into device (uuid, deviceRecordKey, btcpbs,
btcpbsyzxxsdycpbssfyz, cgzmraqxgxx, cpbsbmtxmc,
cpbsfbrq, cphhhbh, cplb,
cpmctymc, cpms, flbm,
ggxh, mjfs, qtxxdwzlj,
qxlb, scbssfbhph, scbssfbhscrq,
scbssfbhsxrq, scbssfbhxlh, sfbjwycxsy,
sfwblztlcp, sfwwjbz, sfybtzjbs,
spmc, sydycpbs, syqsfxyjxmj,
tscchcztj, tsccsm, tsrq,
tyshxydm, versionNumber, versionStatus,
versionTime, ybbm, yflbm,
ylqxzcrbarmc, ylqxzcrbarywmc, zczbhhzbapzbh,
zdcfsycs, zxxsdycpbs, bszt,
sfyzcbayz, zcbacpbs, zxxsdyzsydydsl,
deviceHistoryRecordKey, bssjzt, lastModifyTime, requestDate, hchzsb, cplx)
btcpbsyzxxsdycpbssfyz, cgzmraqxgxx, cpbsbmtxmc,
cpbsfbrq, cphhhbh, cplb,
cpmctymc, cpms, flbm,
ggxh, mjfs, qtxxdwzlj,
qxlb, scbssfbhph, scbssfbhscrq,
scbssfbhsxrq, scbssfbhxlh, sfbjwycxsy,
sfwblztlcp, sfwwjbz, sfybtzjbs,
spmc, sydycpbs, syqsfxyjxmj,
tscchcztj, tsccsm, tsrq,
tyshxydm, versionNumber, versionStatus,
versionTime, ybbm, yflbm,
ylqxzcrbarmc, ylqxzcrbarywmc, zczbhhzbapzbh,
zdcfsycs, zxxsdycpbs, bszt,
sfyzcbayz, zcbacpbs, zxxsdyzsydydsl,
deviceHistoryRecordKey, bssjzt, lastModifyTime, requestDate, hchzsb, cplx)
values (#{uuid,jdbcType=VARCHAR}, #{devicerecordkey,jdbcType=VARCHAR}, #{btcpbs,jdbcType=VARCHAR},
#{btcpbsyzxxsdycpbssfyz,jdbcType=VARCHAR}, #{cgzmraqxgxx,jdbcType=VARCHAR},
#{cpbsbmtxmc,jdbcType=VARCHAR},
#{cpbsfbrq,jdbcType=VARCHAR}, #{cphhhbh,jdbcType=VARCHAR}, #{cplb,jdbcType=VARCHAR},
#{cpmctymc,jdbcType=VARCHAR}, #{cpms,jdbcType=VARCHAR}, #{flbm,jdbcType=VARCHAR},
#{ggxh,jdbcType=VARCHAR}, #{mjfs,jdbcType=VARCHAR}, #{qtxxdwzlj,jdbcType=VARCHAR},
#{qxlb,jdbcType=VARCHAR}, #{scbssfbhph,jdbcType=VARCHAR}, #{scbssfbhscrq,jdbcType=VARCHAR},
#{scbssfbhsxrq,jdbcType=VARCHAR}, #{scbssfbhxlh,jdbcType=VARCHAR}, #{sfbjwycxsy,jdbcType=VARCHAR},
#{sfwblztlcp,jdbcType=VARCHAR}, #{sfwwjbz,jdbcType=VARCHAR}, #{sfybtzjbs,jdbcType=VARCHAR},
#{spmc,jdbcType=VARCHAR}, #{sydycpbs,jdbcType=VARCHAR}, #{syqsfxyjxmj,jdbcType=VARCHAR},
#{tscchcztj,jdbcType=VARCHAR}, #{tsccsm,jdbcType=VARCHAR}, #{tsrq,jdbcType=VARCHAR},
#{tyshxydm,jdbcType=VARCHAR}, #{versionnumber,jdbcType=VARCHAR}, #{versionstatus,jdbcType=VARCHAR},
#{versiontime,jdbcType=VARCHAR}, #{ybbm,jdbcType=VARCHAR}, #{yflbm,jdbcType=VARCHAR},
#{ylqxzcrbarmc,jdbcType=VARCHAR}, #{ylqxzcrbarywmc,jdbcType=VARCHAR}, #{zczbhhzbapzbh,jdbcType=VARCHAR},
#{zdcfsycs,jdbcType=VARCHAR}, #{zxxsdycpbs,jdbcType=VARCHAR}, #{bszt,jdbcType=VARCHAR},
#{sfyzcbayz,jdbcType=VARCHAR}, #{zcbacpbs,jdbcType=VARCHAR}, #{zxxsdyzsydydsl,jdbcType=VARCHAR},
#{devicehistoryrecordkey,jdbcType=VARCHAR}, #{bssjzt,jdbcType=VARCHAR},
#{lastModifyTime,jdbcType=VARCHAR}, #{requestDate}, #{hchzsb}, #{cplx})
#{btcpbsyzxxsdycpbssfyz,jdbcType=VARCHAR}, #{cgzmraqxgxx,jdbcType=VARCHAR},
#{cpbsbmtxmc,jdbcType=VARCHAR},
#{cpbsfbrq,jdbcType=VARCHAR}, #{cphhhbh,jdbcType=VARCHAR}, #{cplb,jdbcType=VARCHAR},
#{cpmctymc,jdbcType=VARCHAR}, #{cpms,jdbcType=VARCHAR}, #{flbm,jdbcType=VARCHAR},
#{ggxh,jdbcType=VARCHAR}, #{mjfs,jdbcType=VARCHAR}, #{qtxxdwzlj,jdbcType=VARCHAR},
#{qxlb,jdbcType=VARCHAR}, #{scbssfbhph,jdbcType=VARCHAR}, #{scbssfbhscrq,jdbcType=VARCHAR},
#{scbssfbhsxrq,jdbcType=VARCHAR}, #{scbssfbhxlh,jdbcType=VARCHAR}, #{sfbjwycxsy,jdbcType=VARCHAR},
#{sfwblztlcp,jdbcType=VARCHAR}, #{sfwwjbz,jdbcType=VARCHAR}, #{sfybtzjbs,jdbcType=VARCHAR},
#{spmc,jdbcType=VARCHAR}, #{sydycpbs,jdbcType=VARCHAR}, #{syqsfxyjxmj,jdbcType=VARCHAR},
#{tscchcztj,jdbcType=VARCHAR}, #{tsccsm,jdbcType=VARCHAR}, #{tsrq,jdbcType=VARCHAR},
#{tyshxydm,jdbcType=VARCHAR}, #{versionnumber,jdbcType=VARCHAR}, #{versionstatus,jdbcType=VARCHAR},
#{versiontime,jdbcType=VARCHAR}, #{ybbm,jdbcType=VARCHAR}, #{yflbm,jdbcType=VARCHAR},
#{ylqxzcrbarmc,jdbcType=VARCHAR}, #{ylqxzcrbarywmc,jdbcType=VARCHAR}, #{zczbhhzbapzbh,jdbcType=VARCHAR},
#{zdcfsycs,jdbcType=VARCHAR}, #{zxxsdycpbs,jdbcType=VARCHAR}, #{bszt,jdbcType=VARCHAR},
#{sfyzcbayz,jdbcType=VARCHAR}, #{zcbacpbs,jdbcType=VARCHAR}, #{zxxsdyzsydydsl,jdbcType=VARCHAR},
#{devicehistoryrecordkey,jdbcType=VARCHAR}, #{bssjzt,jdbcType=VARCHAR},
#{lastModifyTime,jdbcType=VARCHAR}, #{requestDate}, #{hchzsb}, #{cplx})
</insert>
</mapper>
Loading…
Cancel
Save