商用车与乘用车车型库

This commit is contained in:
zhanglei 2018-07-20 17:09:06 +08:00
parent c26cfec26f
commit b894afa437
2 changed files with 247 additions and 41 deletions

View File

@ -0,0 +1,203 @@
package com.tenwa.lease.app.quartzmession;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.app.tenwa.customer.LB_CARDATA_COMMERCIAL_BRAND;
import jbo.app.tenwa.customer.LB_CARDATA_COMMERCIAL_MODEL;
import jbo.app.tenwa.customer.LB_CARDATA_COMMERCIAL_SERIES;
import jbo.app.tenwa.customer.LB_CARDATA_COMMERCIAL_VERSION;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.amarsoft.app.awe.config.InitSecondHandCarConfig;
import com.amarsoft.app.util.StringUtil;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.tenwa.lease.util.VehicleAppraisementUtil;
public class QueryCommercialVehicleModeListAction implements Job{
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
JBOTransaction tx = null;
try {
tx = JBOFactory.createJBOTransaction();
BizObjectManager bm1 = JBOFactory.getBizObjectManager(LB_CARDATA_COMMERCIAL_BRAND.CLASS_NAME, tx);
BizObjectManager bm2 = JBOFactory.getBizObjectManager(LB_CARDATA_COMMERCIAL_SERIES.CLASS_NAME, tx);
BizObjectManager bm3 = JBOFactory.getBizObjectManager(LB_CARDATA_COMMERCIAL_MODEL.CLASS_NAME, tx);
BizObjectManager bm4 = JBOFactory.getBizObjectManager(LB_CARDATA_COMMERCIAL_VERSION.CLASS_NAME, tx);
//接口url中的fromVersion参数
String fromVersion = null;
//开关作用是若判断为第一次调用接口保存版本信息到Version表而不是第一次调用时则将这个值变为true则更新版本表
boolean versionflag = true;
//查询二手车版本表,若为空则说明是第一次调用二手车车型库接口
BizObject versionResult = bm4.createQuery("select O.currentversion,O.initialversion from O").getSingleResult(false);
if(versionResult == null){
versionflag = false;
fromVersion = InitSecondHandCarConfig.COMVERSION;
}else{
fromVersion = versionResult.getAttribute("currentversion").toString();
}
String url = "http://"+InitSecondHandCarConfig.PREFIX+".che300.com/service/common/eval?fromVersion="
+fromVersion+"&oper=exportCommercialModel"+"&token="+InitSecondHandCarConfig.TOKEN+"";
String responseResult = VehicleAppraisementUtil.getResponseResult(url);
//使用fastjson解析接口返回的json数据
JSONObject object = JSONObject.parseObject(responseResult);
//
if("0".equals(object.get("status").toString())){
return;
}
JSONObject dataObject = (JSONObject) object.get("data");
@SuppressWarnings("rawtypes")
List<HashMap> brandList = JSON.parseArray(JSON.toJSONString(dataObject.get("brand")), HashMap.class);
System.out.println("品牌大小:"+brandList.size());
@SuppressWarnings("rawtypes")
List<HashMap> seriesList = JSON.parseArray(JSON.toJSONString(dataObject.get("series")), HashMap.class);
System.out.println("车系大小:"+seriesList.size());
@SuppressWarnings("rawtypes")
List<HashMap> modelList = JSON.parseArray(JSON.toJSONString(dataObject.get("model")), HashMap.class);
System.out.println("车型大小:"+modelList.size());
JSONObject versionListObject = (JSONObject) dataObject.get("version");
//判断解析出的brandList是否为空,若不为空则执行
if(!brandList.isEmpty()){
for(int i=0;i<brandList.size();i++){
if("新增".equals(brandList.get(i).get("operation_type"))){
BizObject brandObject = bm1.newObject();
brandObject.setAttributeValue("brand_name",brandList.get(i).get("brand_name"));
brandObject.setAttributeValue("brand_id",brandList.get(i).get("brand_id"));
brandObject.setAttributeValue("brand_initial",brandList.get(i).get("brand_initial"));
brandObject.setAttributeValue("initialversion", versionListObject.get("from_version"));
bm1.saveObject(brandObject);
}else if("更新".equals(brandList.get(i).get("operation_type"))){
//更新的操作
bm1.createQuery("update O set brand_name=:BRANDNAME"
+ ",brand_initial=:BRANDINITIAL,initialversion=:INITIALVERSION"
+" where brand_id=:BRANDID") //此处Sql拼接要注意,一定要在where前后留空格,否则执行报错,下面同理
.setParameter("BRANDNAME", StringUtil.nullToString(brandList.get(i).get("brand_name"),""))
.setParameter("BRANDINITIAL", StringUtil.nullToString(brandList.get(i).get("brand_initial"),""))
.setParameter("INITIALVERSION", StringUtil.nullToString(versionListObject.get("from_version"),""))
.setParameter("BRANDID", StringUtil.nullToString(brandList.get(i).get("brand_id"),"")).executeUpdate();
}else{
continue;
}
}
}
//同上理
if(!seriesList.isEmpty()){
for(int i=0;i<seriesList.size();i++){
if("新增".equals(seriesList.get(i).get("operation_type"))){
BizObject seriesObject = bm2.newObject();
seriesObject.setAttributeValue("brand_id",seriesList.get(i).get("brand_id"));
seriesObject.setAttributeValue("brand_name",seriesList.get(i).get("brand_name"));
seriesObject.setAttributeValue("series_name",seriesList.get(i).get("series_name"));
seriesObject.setAttributeValue("car_type", seriesList.get(i).get("car_type"));
seriesObject.setAttributeValue("initialversion", versionListObject.get("from_version"));
bm2.saveObject(seriesObject);
}else if("更新".equals(seriesList.get(i).get("operation_type"))){
//更新的操作
bm2.createQuery("update O set brand_name=:BRANDNAME"
+",series_name=:SERIESNAME,car_type=:CARTYPE"
+",initialversion=:INITIALVERSION,brand_id=:BRANDID"
+" where seriesid=:SERIESID")
.setParameter("BRANDNAME", StringUtil.nullToString(seriesList.get(i).get("brand_name"),""))
.setParameter("BRANDID", StringUtil.nullToString(seriesList.get(i).get("brand_id"),""))
.setParameter("SERIESNAME", StringUtil.nullToString(seriesList.get(i).get("series_name"),""))
.setParameter("CARTYPE",StringUtil.nullToString(seriesList.get(i).get("series_name"),""))
.setParameter("INITIALVERSION",StringUtil.nullToString(versionListObject.get("from_version"),""))
.setParameter("SERIESID", StringUtil.nullToString(seriesList.get(i).get("series_id"),"")).executeUpdate();
}else{
continue;
}
}
}
//同上理
if(!modelList.isEmpty()){
for(int i=0;i<modelList.size();i++){
if("新增".equals(modelList.get(i).get("operation_type"))){
BizObject modelObject = bm3.newObject();
modelObject.setAttributeValue("model_id",modelList.get(i).get("model_id"));
modelObject.setAttributeValue("model_name",modelList.get(i).get("model_name"));
modelObject.setAttributeValue("series_id",modelList.get(i).get("series_id"));
modelObject.setAttributeValue("series_name",modelList.get(i).get("series_name"));
modelObject.setAttributeValue("brand_id", modelList.get(i).get("brand_id"));
modelObject.setAttributeValue("brand_name",modelList.get(i).get("brand_name"));
modelObject.setAttributeValue("price",modelList.get(i).get("price"));
modelObject.setAttributeValue("liter",modelList.get(i).get("liter"));
modelObject.setAttributeValue("vehicle_type",modelList.get(i).get("vehicle_type"));
modelObject.setAttributeValue("level",modelList.get(i).get("level"));
modelObject.setAttributeValue("initialversion", versionListObject.get("from_version"));
bm3.saveObject(modelObject);
}else if("更新".equals(modelList.get(i).get("operation_type"))){
bm3.createQuery("update O set "
+ "model_name=:MODELNAME,series_id=:SERIESID"
+ ",series_name=:SERIESNAME,brand_id=:BRANDID"
+",brand_name=:BRANDNAME,price=:PRICE"
+",liter=:LITER,vehicle_type=:VEHICLETYPE"
+ ",level=:LEVEL"
+",initialversion=:INITIALVERSION"
+" where model_id=:MODELID")
.setParameter("MODELNAME", StringUtil.nullToString(modelList.get(i).get("model_name"),""))
.setParameter("SERIESID", StringUtil.nullToString(modelList.get(i).get("series_id"),""))
.setParameter("SERIESNAME", StringUtil.nullToString(modelList.get(i).get("series_name"),""))
.setParameter("BRANDID", StringUtil.nullToString(modelList.get(i).get("brand_id"),""))
.setParameter("BRANDNAME", StringUtil.nullToString(modelList.get(i).get("brand_name"),""))
.setParameter("PRICE", StringUtil.nullToString(modelList.get(i).get("price"),""))
.setParameter("LITER", StringUtil.nullToString(modelList.get(i).get("liter"),""))
.setParameter("VEHICLETYPE", StringUtil.nullToString(modelList.get(i).get("vehicle_type"),""))
.setParameter("LEVEL", StringUtil.nullToString(modelList.get(i).get("level"),""))
.setParameter("INITIALVERSION",StringUtil.nullToString(versionListObject.get("from_version"),""))
.setParameter("MODELID", StringUtil.nullToString(modelList.get(i).get("model_id"),"")).executeUpdate();
}else{
continue;
}
}
}
if(versionflag == false){
BizObject versionObject = bm4.newObject();
versionObject.setAttributeValue("currentversion",StringUtil.nullToString(versionListObject.get("current_version"),""));
versionObject.setAttributeValue("initialversion",StringUtil.nullToString(versionListObject.get("from_version"),""));
versionObject.setAttributeValue("series_version_time",StringUtil.nullToString(versionListObject.get("series_version_time"),""));
versionObject.setAttributeValue("brand_version_time",StringUtil.nullToString(versionListObject.get("brand_version_time"),""));
versionObject.setAttributeValue("model_version_time",StringUtil.nullToString(versionListObject.get("model_version_time"),""));
bm4.saveObject(versionObject);
}else{
bm4.createQuery("update O set currentversion=:CURRENTVERSION,"
+ "series_version_time=:SERIESVERSIONTIME,brand_version_time=:BRANDVERSIONTIME,"
+ "model_version_time=:MODELVERSIONTIME "
+ " where initialversion=:INITIALVERSION")
.setParameter("CURRENTVERSION",StringUtil.nullToString(versionListObject.get("current_version"),""))
.setParameter("SERIESVERSIONTIME",StringUtil.nullToString(versionListObject.get("series_version_time"),""))
.setParameter("BRANDVERSIONTIME",StringUtil.nullToString(versionListObject.get("brand_version_time"),""))
.setParameter("MODELVERSIONTIME",StringUtil.nullToString(versionListObject.get("model_version_time"),""))
.setParameter("INITIALVERSION",StringUtil.nullToString(versionListObject.get("from_version"),"")).executeUpdate();
}
} catch (Exception e) {
try {
if(null != tx){
tx.rollback();
}
} catch (JBOException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
try {
if(null != tx){
tx.commit();
}
} catch (JBOException e) {
e.printStackTrace();
}
}
}
}

View File

@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.amarsoft.app.awe.config.InitCollectConfig;
import com.amarsoft.app.awe.config.InitSecondHandCarConfig;
import com.amarsoft.app.util.StringUtil;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOException;
@ -91,12 +92,12 @@ public class QueryPassengerVehicleModeListAction implements Job{
+",brandtimestamp=:BRANDTIMESTAMP"
+",initialversion=:INITIALVERSION"
+" where brandid=:BRANDID") //此处Sql拼接要注意,一定要在where前后留空格,否则执行报错,下面同理
.setParameter("BRANDNAME", brandList.get(i).get("brand_name").toString())
.setParameter("BRANDINITIAL", brandList.get(i).get("brand_initial").toString())
.setParameter("OPERTYPE", brandList.get(i).get("oper_type").toString())
.setParameter("BRANDTIMESTAMP",map.get("BrandTimestamp").toString())
.setParameter("INITIALVERSION",map.get("InitialVersion").toString())
.setParameter("BRANDID", brandList.get(i).get("brand_id").toString()).executeUpdate();
.setParameter("BRANDNAME", StringUtil.nullToString(brandList.get(i).get("brand_name"),""))
.setParameter("BRANDINITIAL", StringUtil.nullToString(brandList.get(i).get("brand_initial"),""))
.setParameter("OPERTYPE", StringUtil.nullToString(brandList.get(i).get("oper_type"),""))
.setParameter("BRANDTIMESTAMP",StringUtil.nullToString(map.get("BrandTimestamp"),""))
.setParameter("INITIALVERSION",StringUtil.nullToString(map.get("InitialVersion"),""))
.setParameter("BRANDID", StringUtil.nullToString(brandList.get(i).get("brand_id"),"")).executeUpdate();
}else{
continue;
}
@ -126,16 +127,16 @@ public class QueryPassengerVehicleModeListAction implements Job{
+",opertype=:OPERTYPE,seriestimestamp=:SERIESTIMESTAMP"
+",initialversion=:INITIALVERSION"
+" where seriesid=:SERIESID")
.setParameter("BRANDNAME", seriesList.get(i).get("brand_name").toString())
.setParameter("BRANDID", seriesList.get(i).get("brand_id").toString())
.setParameter("SERIESNAME", seriesList.get(i).get("series_name").toString())
.setParameter("SERIESGROUPNAME", seriesList.get(i).get("series_group_name").toString())
.setParameter("LEVELNAME", seriesList.get(i).get("level_name").toString())
.setParameter("MAKERTYPE", seriesList.get(i).get("maker_type").toString())
.setParameter("OPERTYPE", seriesList.get(i).get("oper_type").toString())
.setParameter("SERIESTIMESTAMP", map.get("SeriesTimestamp").toString())
.setParameter("INITIALVERSION",map.get("InitialVersion").toString())
.setParameter("SERIESID", seriesList.get(i).get("series_id").toString()).executeUpdate();
.setParameter("BRANDNAME", StringUtil.nullToString(seriesList.get(i).get("brand_name"),""))
.setParameter("BRANDID", StringUtil.nullToString(seriesList.get(i).get("brand_id"),""))
.setParameter("SERIESNAME", StringUtil.nullToString(seriesList.get(i).get("series_name"),""))
.setParameter("SERIESGROUPNAME", StringUtil.nullToString(seriesList.get(i).get("series_group_name"),""))
.setParameter("LEVELNAME", StringUtil.nullToString(seriesList.get(i).get("level_name"),""))
.setParameter("MAKERTYPE", StringUtil.nullToString(seriesList.get(i).get("maker_type"),""))
.setParameter("OPERTYPE", StringUtil.nullToString(seriesList.get(i).get("oper_type"),""))
.setParameter("SERIESTIMESTAMP", StringUtil.nullToString(map.get("SeriesTimestamp"),""))
.setParameter("INITIALVERSION",StringUtil.nullToString(map.get("InitialVersion"),""))
.setParameter("SERIESID", StringUtil.nullToString(seriesList.get(i).get("series_id"),"")).executeUpdate();
}else{
continue;
}
@ -177,25 +178,25 @@ public class QueryPassengerVehicleModeListAction implements Job{
+",opertype=:OPERTYPE,modeltimestamp=:MODELTIMESTAMP"
+",initialversion=:INITIALVERSION"
+" where modelid=:MODELID")
.setParameter("BRANDNAME", modelList.get(i).get("brand_name").toString())
.setParameter("BRANDID", modelList.get(i).get("brand_id").toString())
.setParameter("SERIESID", modelList.get(i).get("series_id").toString())
.setParameter("SERIESNAME", modelList.get(i).get("series_name").toString())
.setParameter("SERIESGROUPNAME", modelList.get(i).get("series_group_name").toString())
.setParameter("MODELNAME", modelList.get(i).get("model_name").toString())
.setParameter("PRICE", modelList.get(i).get("price").toString())
.setParameter("LITER", modelList.get(i).get("liter").toString())
.setParameter("GEARTYPE", modelList.get(i).get("gear_type").toString())
.setParameter("MODELYEAR", modelList.get(i).get("model_year").toString())
.setParameter("MAKERTYPE", modelList.get(i).get("maker_type").toString())
.setParameter("DISCHARGESTANDARD", modelList.get(i).get("discharge_standard").toString())
.setParameter("SEATNUMBER", modelList.get(i).get("seat_number").toString())
.setParameter("MINREGYEAR", modelList.get(i).get("min_reg_year").toString())
.setParameter("MAXREGYEAR", modelList.get(i).get("max_reg_year").toString())
.setParameter("OPERTYPE", modelList.get(i).get("oper_type").toString())
.setParameter("MODELTIMESTAMP", map.get("ModelTimestamp").toString())
.setParameter("INITIALVERSION",map.get("InitialVersion").toString())
.setParameter("MODELID", modelList.get(i).get("model_id").toString()).executeUpdate();
.setParameter("BRANDNAME", StringUtil.nullToString(modelList.get(i).get("brand_name"),""))
.setParameter("BRANDID", StringUtil.nullToString(modelList.get(i).get("brand_id"),""))
.setParameter("SERIESID", StringUtil.nullToString(modelList.get(i).get("series_id"),""))
.setParameter("SERIESNAME", StringUtil.nullToString(modelList.get(i).get("series_name"),""))
.setParameter("SERIESGROUPNAME", StringUtil.nullToString(modelList.get(i).get("series_group_name"),""))
.setParameter("MODELNAME", StringUtil.nullToString(modelList.get(i).get("model_name"),""))
.setParameter("PRICE", StringUtil.nullToString(modelList.get(i).get("price"),""))
.setParameter("LITER", StringUtil.nullToString(modelList.get(i).get("liter"),""))
.setParameter("GEARTYPE", StringUtil.nullToString(modelList.get(i).get("gear_type"),""))
.setParameter("MODELYEAR", StringUtil.nullToString(modelList.get(i).get("model_year"),""))
.setParameter("MAKERTYPE", StringUtil.nullToString(modelList.get(i).get("maker_type"),""))
.setParameter("DISCHARGESTANDARD", StringUtil.nullToString(modelList.get(i).get("discharge_standard"),""))
.setParameter("SEATNUMBER", StringUtil.nullToString(modelList.get(i).get("seat_number"),""))
.setParameter("MINREGYEAR", StringUtil.nullToString(modelList.get(i).get("min_reg_year"),""))
.setParameter("MAXREGYEAR", StringUtil.nullToString(modelList.get(i).get("max_reg_year"),""))
.setParameter("OPERTYPE", StringUtil.nullToString(modelList.get(i).get("oper_type"),""))
.setParameter("MODELTIMESTAMP", StringUtil.nullToString(map.get("ModelTimestamp"),""))
.setParameter("INITIALVERSION",StringUtil.nullToString(map.get("InitialVersion"),""))
.setParameter("MODELID", StringUtil.nullToString(modelList.get(i).get("model_id"),"")).executeUpdate();
}else{
continue;
}
@ -203,14 +204,16 @@ public class QueryPassengerVehicleModeListAction implements Job{
}
if(versionflag == false){
BizObject versionObject = bm4.newObject();
versionObject.setAttributeValue("currentversion",map.get("CurrentVersion").toString());
versionObject.setAttributeValue("initialversion",map.get("InitialVersion").toString());
versionObject.setAttributeValue("currentversion",StringUtil.nullToString(map.get("CurrentVersion"),""));
versionObject.setAttributeValue("initialversion",StringUtil.nullToString(map.get("InitialVersion"),""));
bm4.saveObject(versionObject);
}else{
bm4.createQuery("update O set currentversion=:CURRENTVERSION,initialversion=:INITIALVERSION")
.setParameter("CURRENTVERSION",map.get("CurrentVersion").toString())
.setParameter("INITIALVERSION",map.get("InitialVersion").toString()).executeUpdate();
}
bm4.createQuery("update O set currentversion=:CURRENTVERSION "
+ " where initialversion=:INITIALVERSION")
.setParameter("CURRENTVERSION",StringUtil.nullToString(map.get("CurrentVersion"),""))
.setParameter("INITIALVERSION",StringUtil.nullToString(map.get("InitialVersion"),"")).executeUpdate();
}
System.out.println("³ËÓóµ³µÐÍ¿â¸üÐÂÍê±Ï!");
} catch (Exception e) {
try {
if(null != tx){