作者 [wgf]

添加入库实现

@@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
32 <dependency> 32 <dependency>
33 <groupId>com.alibaba</groupId> 33 <groupId>com.alibaba</groupId>
34 <artifactId>fastjson</artifactId> 34 <artifactId>fastjson</artifactId>
35 - <version>1.2.68</version> 35 + <version>1.2.73</version>
36 </dependency> 36 </dependency>
37 37
38 <dependency> 38 <dependency>
@@ -46,6 +46,24 @@ @@ -46,6 +46,24 @@
46 <artifactId>lombok</artifactId> 46 <artifactId>lombok</artifactId>
47 <version>1.18.10</version> 47 <version>1.18.10</version>
48 </dependency> 48 </dependency>
  49 +
  50 + <dependency>
  51 + <groupId>mysql</groupId>
  52 + <artifactId>mysql-connector-java</artifactId>
  53 + <version>5.1.13</version>
  54 + </dependency>
  55 +
  56 + <dependency>
  57 + <groupId>tk.mybatis</groupId>
  58 + <artifactId>mapper-spring-boot-starter</artifactId>
  59 + <version>2.1.1</version>
  60 + </dependency>
  61 +
  62 + <dependency>
  63 + <groupId>org.mybatis.spring.boot</groupId>
  64 + <artifactId>mybatis-spring-boot-starter</artifactId>
  65 + <version>1.3.2</version>
  66 + </dependency>
49 </dependencies> 67 </dependencies>
50 68
51 <build> 69 <build>
@@ -54,6 +72,30 @@ @@ -54,6 +72,30 @@
54 <groupId>org.springframework.boot</groupId> 72 <groupId>org.springframework.boot</groupId>
55 <artifactId>spring-boot-maven-plugin</artifactId> 73 <artifactId>spring-boot-maven-plugin</artifactId>
56 </plugin> 74 </plugin>
  75 +
  76 + <!-- mybatis自动生成插件 -->
  77 + <plugin>
  78 + <groupId>org.mybatis.generator</groupId>
  79 + <artifactId>mybatis-generator-maven-plugin</artifactId>
  80 + <version>1.3.5</version>
  81 + <configuration>
  82 + <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
  83 + <overwrite>true</overwrite>
  84 + <verbose>true</verbose>
  85 + </configuration>
  86 + <dependencies>
  87 + <dependency>
  88 + <groupId>mysql</groupId>
  89 + <artifactId>mysql-connector-java</artifactId>
  90 + <version>5.1.13</version>
  91 + </dependency>
  92 + <dependency>
  93 + <groupId>tk.mybatis</groupId>
  94 + <artifactId>mapper</artifactId>
  95 + <version>3.4.4</version>
  96 + </dependency>
  97 + </dependencies>
  98 + </plugin>
57 </plugins> 99 </plugins>
58 </build> 100 </build>
59 101
  1 +package com.aukey.example.commom.mapper;
  2 +
  3 +
  4 +import tk.mybatis.mapper.common.BaseMapper;
  5 +import tk.mybatis.mapper.common.ConditionMapper;
  6 +import tk.mybatis.mapper.common.ExampleMapper;
  7 +import tk.mybatis.mapper.common.IdsMapper;
  8 +import tk.mybatis.mapper.common.special.InsertListMapper;
  9 +
  10 +/**
  11 + * @author wgf
  12 + * 定制版MyBatis Mapper插件接口,如需其他接口参考官方文档自行添加。
  13 + */
  14 +public interface Mapper<T> extends BaseMapper<T>, ConditionMapper<T>, IdsMapper<T>, InsertListMapper<T>, ExampleMapper<T> {
  15 +}
  1 +package com.aukey.example.conf;
  2 +
  3 +import com.aukey.example.commom.mapper.Mapper;
  4 +import org.apache.ibatis.session.SqlSessionFactory;
  5 +import org.mybatis.spring.SqlSessionFactoryBean;
  6 +import org.mybatis.spring.SqlSessionTemplate;
  7 +import org.springframework.beans.factory.annotation.Qualifier;
  8 +import org.springframework.boot.context.properties.ConfigurationProperties;
  9 +import org.springframework.boot.jdbc.DataSourceBuilder;
  10 +import org.springframework.context.annotation.Bean;
  11 +import org.springframework.context.annotation.Configuration;
  12 +import org.springframework.context.annotation.Primary;
  13 +import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
  14 +import org.springframework.jdbc.datasource.DataSourceTransactionManager;
  15 +import tk.mybatis.mapper.entity.Config;
  16 +import tk.mybatis.mapper.mapperhelper.MapperHelper;
  17 +import tk.mybatis.spring.annotation.MapperScan;
  18 +
  19 +import javax.sql.DataSource;
  20 +import java.util.Properties;
  21 +
  22 +
  23 +@Configuration
  24 +@MapperScan(basePackages = FbaStockDataSourceConf.SCAN_PACKAGE, sqlSessionFactoryRef = "fbaStockSqlSessionFactory")
  25 +public class FbaStockDataSourceConf {
  26 +
  27 + public static final String SCAN_PACKAGE = "com.aukey.example.mapper.fbaStock";
  28 + public static final String MAPPER_LOCATION = "classpath*:mapper/fbaStock/*.xml";
  29 +
  30 + @Bean
  31 + @ConfigurationProperties(prefix = "spring.datasource.fba-stock")
  32 + public DataSource fbaStockDataSource() {
  33 + return DataSourceBuilder.create().build();
  34 + }
  35 +
  36 + @Bean
  37 + public DataSourceTransactionManager fbaStockTransactionManager(@Qualifier("fbaStockDataSource") DataSource dataSource) {
  38 + return new DataSourceTransactionManager(dataSource);
  39 + }
  40 +
  41 + @Bean
  42 + public SqlSessionFactory fbaStockSqlSessionFactory(
  43 + @Qualifier("fbaStockDataSource") DataSource dataSource
  44 + ) throws Exception {
  45 + final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
  46 + sessionFactory.setDataSource(dataSource);
  47 +
  48 + //更多详细配置见: https://pagehelper.github.io/docs/howtouse/
  49 + Properties properties = new Properties();
  50 + properties.setProperty("helperDialect", "mysql"); //方言
  51 + properties.setProperty("rowBoundsWithCount", "true"); //使用 RowBounds 分页会进行 count 查询
  52 + properties.setProperty("reasonable", "true"); //pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页
  53 + properties.setProperty("pageSizeZero", "true"); //如果 pageSize=0 或者 RowBounds.limit = 0 就会查询出全部的结果
  54 + properties.setProperty("supportMethodsArguments", "true"); //支持通过 Mapper 接口参数来传递分页参数
  55 + properties.setProperty("offsetAsPageNum", "true"); //将 RowBounds 中的 offset 参数当成 pageNum 使用
  56 +
  57 + //设置mapper location
  58 + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MAPPER_LOCATION));
  59 + return sessionFactory.getObject();
  60 + }
  61 +
  62 + @Bean
  63 + @Primary
  64 + public SqlSessionTemplate fbaStockTestSqlSessionTemplate(@Qualifier("fbaStockSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
  65 + return new SqlSessionTemplate(sqlSessionFactory);
  66 + }
  67 +
  68 + /**
  69 + * Mybatis 通用Mapper配置
  70 + *
  71 + * @param sqlSessionFactory
  72 + * @return
  73 + */
  74 + @Bean
  75 + public MapperHelper fbaStockMapperHelper(@Qualifier("fbaStockSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
  76 + MapperHelper mapperHelper = new MapperHelper();
  77 + //特殊配置
  78 + Config config = new Config();
  79 + config.setNotEmpty(false);
  80 + config.setIDENTITY("MYSQL");
  81 +
  82 + //更多详细配置: http://git.oschina.net/free/Mapper/blob/master/wiki/mapper3/2.Integration.md
  83 + mapperHelper.setConfig(config);
  84 + mapperHelper.registerMapper(Mapper.class);
  85 + mapperHelper.processConfiguration(sqlSessionFactory.getConfiguration());
  86 +
  87 + return mapperHelper;
  88 + }
  89 +}
  1 +package com.aukey.example.entity.fbaStock;
  2 +
  3 +import com.alibaba.fastjson.annotation.JSONField;
  4 +import lombok.Data;
  5 +import org.apache.commons.lang3.StringUtils;
  6 +
  7 +import javax.persistence.Column;
  8 +import javax.persistence.Id;
  9 +import javax.persistence.Table;
  10 +import javax.persistence.Transient;
  11 +import java.io.UnsupportedEncodingException;
  12 +import java.util.Date;
  13 +
  14 +@Data
  15 +@Table(name = "amazon_order")
  16 +public class AmazonOrder {
  17 + /**
  18 + * 自增主键
  19 + */
  20 + @Id
  21 + private Integer aid;
  22 +
  23 + /**
  24 + * 亚马逊订单ID
  25 + */
  26 + @Column(name = "amazon_order_id")
  27 + private String amazonOrderId;
  28 +
  29 + /**
  30 + * 卖家订单ID
  31 + */
  32 + @Column(name = "seller_order_id")
  33 + private String sellerOrderId;
  34 +
  35 + /**
  36 + * 购买日期
  37 + */
  38 + @Column(name = "purchase_date")
  39 + private Date purchaseDate;
  40 +
  41 + /**
  42 + * 付款日期
  43 + */
  44 + @Column(name = "payments_date")
  45 + private Date paymentsDate;
  46 +
  47 + /**
  48 + * 最后更新日期
  49 + */
  50 + @Column(name = "last_update_date")
  51 + private Date lastUpdateDate;
  52 +
  53 + /**
  54 + * 订单状态:1、Pending Availability等待订单生效;2、Pending待定;3、Unshipped未发货;4、Partially Shipped部分发货;5、Shipped已发货;6、Invoice Unconfirmed发票未确认;7、Canceled已取消;8、Unfulfillable无法发货
  55 + */
  56 + @Column(name = "order_status")
  57 + private String orderStatus;
  58 +
  59 + /**
  60 + * 发货渠道(AFN、MFN)
  61 + */
  62 + @Column(name = "fulfillment_channel")
  63 + private String fulfillmentChannel;
  64 +
  65 + /**
  66 + * 销售渠道(站点)
  67 + */
  68 + @Column(name = "sales_channel")
  69 + private String salesChannel;
  70 +
  71 + /**
  72 + * 运输服务等级
  73 + */
  74 + @Column(name = "ship_service_level")
  75 + private String shipServiceLevel;
  76 +
  77 + /**
  78 + * 收货地址-城市
  79 + */
  80 + @Column(name = "shipping_address_city")
  81 + private String shippingAddressCity;
  82 +
  83 + /**
  84 + * 收货地址-县
  85 + */
  86 + @Column(name = "shipping_address_county")
  87 + private String shippingAddressCounty;
  88 +
  89 + /**
  90 + * 收货地址-地区
  91 + */
  92 + @Column(name = "shipping_address_district")
  93 + private String shippingAddressDistrict;
  94 +
  95 + /**
  96 + * 收货地址-州
  97 + */
  98 + @Column(name = "shipping_address_stateOrRegion")
  99 + private String shippingAddressStateorregion;
  100 +
  101 + /**
  102 + * 收货地址-邮政编码
  103 + */
  104 + @Column(name = "shipping_address_postalCode")
  105 + private String shippingAddressPostalcode;
  106 +
  107 + /**
  108 + * 收货地址-国家编码
  109 + */
  110 + @Column(name = "shipping_address_countryCode")
  111 + private String shippingAddressCountrycode;
  112 +
  113 + @Column(name = "shipping_address_phone")
  114 + private String shippingAddressPhone;
  115 +
  116 + /**
  117 + * 订单总额(币种)
  118 + */
  119 + @Column(name = "order_total_currency_code")
  120 + private String orderTotalCurrencyCode;
  121 +
  122 + /**
  123 + * 订单总额
  124 + */
  125 + @Column(name = "order_total_amount")
  126 + private Double orderTotalAmount;
  127 +
  128 + /**
  129 + * 邮费总额
  130 + */
  131 + @Column(name = "postage_total")
  132 + private Double postageTotal;
  133 +
  134 + /**
  135 + * 折扣总额
  136 + */
  137 + @Column(name = "discount_total")
  138 + private Double discountTotal;
  139 +
  140 + /**
  141 + * 发货数量
  142 + */
  143 + @Column(name = "number_of_items_shipped")
  144 + private Integer numberOfItemsShipped;
  145 +
  146 + /**
  147 + * 未发货数量
  148 + */
  149 + @Column(name = "number_of_items_unshipped")
  150 + private Integer numberOfItemsUnshipped;
  151 +
  152 + /**
  153 + * 付款方式
  154 + */
  155 + @Column(name = "payment_method")
  156 + private String paymentMethod;
  157 +
  158 + /**
  159 + * 市场ID
  160 + */
  161 + @Column(name = "marketplace_id")
  162 + private String marketplaceId;
  163 +
  164 + /**
  165 + * 买家邮箱
  166 + */
  167 + @Column(name = "buyer_email")
  168 + private String buyerEmail;
  169 +
  170 + /**
  171 + * 买家名称
  172 + */
  173 + @Column(name = "buyer_name")
  174 + private String buyerName;
  175 +
  176 + /**
  177 + * 出货服务等级类别
  178 + */
  179 + @Column(name = "shipment_service_level_category")
  180 + private String shipmentServiceLevelCategory;
  181 +
  182 + @Column(name = "shipped_by_amazon_tfm")
  183 + private String shippedByAmazonTfm;
  184 +
  185 + @Column(name = "tfm_shipment_status")
  186 + private String tfmShipmentStatus;
  187 +
  188 + @Column(name = "cba_displayable_shipping_label")
  189 + private String cbaDisplayableShippingLabel;
  190 +
  191 + /**
  192 + * 订单类型
  193 + */
  194 + @Column(name = "order_type")
  195 + private String orderType;
  196 +
  197 + /**
  198 + * 最早发货日期
  199 + */
  200 + @Column(name = "earliest_ship_date")
  201 + private Date earliestShipDate;
  202 +
  203 + /**
  204 + * 最晚发货日期
  205 + */
  206 + @Column(name = "latest_ship_date")
  207 + private Date latestShipDate;
  208 +
  209 + /**
  210 + * 最早交货日期
  211 + */
  212 + @Column(name = "earliest_delivery_date")
  213 + private Date earliestDeliveryDate;
  214 +
  215 + /**
  216 + * 最晚交货日期
  217 + */
  218 + @Column(name = "latest_delivery_date")
  219 + private Date latestDeliveryDate;
  220 +
  221 + @Column(name = "is_business_order")
  222 + private String isBusinessOrder;
  223 +
  224 + /**
  225 + * 买家采购订单编号
  226 + */
  227 + @Column(name = "purchase_order_number")
  228 + private String purchaseOrderNumber;
  229 +
  230 + @Column(name = "is_prime")
  231 + private String isPrime;
  232 +
  233 + @Column(name = "is_premium_order")
  234 + private String isPremiumOrder;
  235 +
  236 + /**
  237 + * 是否导入E登:0未导入;1已导入
  238 + */
  239 + @Column(name = "is_import_ed")
  240 + private String isImportEd;
  241 +
  242 + /**
  243 + * 导入E登时间
  244 + */
  245 + @Column(name = "import_ed_date")
  246 + private Date importEdDate;
  247 +
  248 + /**
  249 + * 抓单时间
  250 + */
  251 + @Column(name = "import_sys_date")
  252 + private Date importSysDate;
  253 +
  254 + /**
  255 + * 店铺ID
  256 + */
  257 + @Column(name = "account_id")
  258 + private Integer accountId;
  259 +
  260 + /**
  261 + * 店铺简码
  262 + */
  263 + @Column(name = "account_code")
  264 + private String accountCode;
  265 +
  266 + /**
  267 + * 区域ID
  268 + */
  269 + @Column(name = "area_id")
  270 + private Integer areaId;
  271 +
  272 + /**
  273 + * 区域
  274 + */
  275 + private String area;
  276 +
  277 + /**
  278 + * 记录创建时间
  279 + */
  280 + @Column(name = "create_date")
  281 + private Date createDate;
  282 +
  283 + /**
  284 + * 记录更新时间
  285 + */
  286 + @Column(name = "update_date")
  287 + private Date updateDate;
  288 +
  289 + /**
  290 + * item表处理状态
  291 + */
  292 + @Column(name = "order_item_status")
  293 + private String orderItemStatus;
  294 +
  295 + /**
  296 + * 收件人姓名
  297 + */
  298 + @Column(name = "shipping_address_name")
  299 + private byte[] shippingAddressName;
  300 +
  301 + /**
  302 + * 收货地址-街道1
  303 + */
  304 + @Column(name = "shipping_address_line1")
  305 + private byte[] shippingAddressLine1;
  306 +
  307 + /**
  308 + * 收货地址-街道2
  309 + */
  310 + @Column(name = "shipping_address_line2")
  311 + private byte[] shippingAddressLine2;
  312 +
  313 + /**
  314 + * 收货地址-街道3
  315 + */
  316 + @Column(name = "shipping_address_line3")
  317 + private byte[] shippingAddressLine3;
  318 +
  319 + @Transient
  320 + @JSONField(name = "shipping_address_name")
  321 + private String shippingAddressNameStr;
  322 +
  323 + @Transient
  324 + @JSONField(name = "shipping_address_line1")
  325 + private String shippingAddressLine1Str;
  326 +
  327 + @Transient
  328 + @JSONField(name = "shipping_address_line2")
  329 + private String shippingAddressLine2Str;
  330 +
  331 + @Transient
  332 + @JSONField(name = "shipping_address_line3")
  333 + private String shippingAddressLine3Str;
  334 +
  335 + public byte[] getShippingAddressName() {
  336 + if (StringUtils.isNotBlank(shippingAddressNameStr)) {
  337 + try {
  338 + return shippingAddressNameStr.getBytes("UTF-8");
  339 + } catch (UnsupportedEncodingException e) {
  340 + e.printStackTrace();
  341 + }
  342 + }
  343 + return null;
  344 + }
  345 +
  346 + public byte[] getShippingAddressLine1() {
  347 + if (StringUtils.isNotBlank(shippingAddressLine1Str)) {
  348 + try {
  349 + return shippingAddressLine1Str.getBytes("UTF-8");
  350 + } catch (UnsupportedEncodingException e) {
  351 + e.printStackTrace();
  352 + }
  353 + }
  354 + return null;
  355 + }
  356 +
  357 + public byte[] getShippingAddressLine2() {
  358 + if (StringUtils.isNotBlank(shippingAddressLine2Str)) {
  359 + try {
  360 + return shippingAddressLine2Str.getBytes("UTF-8");
  361 + } catch (UnsupportedEncodingException e) {
  362 + e.printStackTrace();
  363 + }
  364 + }
  365 + return null;
  366 + }
  367 +
  368 + public byte[] getShippingAddressLine3() {
  369 + if (StringUtils.isNotBlank(shippingAddressLine3Str)) {
  370 + try {
  371 + return shippingAddressLine3Str.getBytes("UTF-8");
  372 + } catch (UnsupportedEncodingException e) {
  373 + e.printStackTrace();
  374 + }
  375 + }
  376 + return null;
  377 + }
  378 +}
  1 +package com.aukey.example.entity.fbaStock;
  2 +
  3 +import com.alibaba.fastjson.annotation.JSONField;
  4 +import lombok.Data;
  5 +import org.apache.commons.lang3.StringUtils;
  6 +
  7 +import javax.persistence.Column;
  8 +import javax.persistence.Id;
  9 +import javax.persistence.Table;
  10 +import javax.persistence.Transient;
  11 +import java.io.UnsupportedEncodingException;
  12 +import java.util.Date;
  13 +
  14 +@Data
  15 +@Table(name = "amazon_order_item")
  16 +public class AmazonOrderItem {
  17 + /**
  18 + * 自增主键
  19 + */
  20 + @Id
  21 + private Integer aid;
  22 +
  23 + /**
  24 + * 亚马逊订单ID
  25 + */
  26 + @Column(name = "amazon_order_id")
  27 + private String amazonOrderId;
  28 +
  29 + /**
  30 + * 亚马逊SKU
  31 + */
  32 + private String asin;
  33 +
  34 + /**
  35 + * 卖家SKU
  36 + */
  37 + @Column(name = "seller_sku")
  38 + private String sellerSku;
  39 +
  40 + /**
  41 + * 订单项ID
  42 + */
  43 + @Column(name = "order_item_id")
  44 + private String orderItemId;
  45 +
  46 + /**
  47 + * 订购数量
  48 + */
  49 + @Column(name = "quantity_ordered")
  50 + private Integer quantityOrdered;
  51 +
  52 + /**
  53 + * 发货数量
  54 + */
  55 + @Column(name = "quantity_shipped")
  56 + private Integer quantityShipped;
  57 +
  58 + @Column(name = "points_number")
  59 + private Integer pointsNumber;
  60 +
  61 + @Column(name = "points_currency_code")
  62 + private String pointsCurrencyCode;
  63 +
  64 + @Column(name = "points_amount")
  65 + private Double pointsAmount;
  66 +
  67 + /**
  68 + * sku币种
  69 + */
  70 + @Column(name = "item_price_currency_code")
  71 + private String itemPriceCurrencyCode;
  72 +
  73 + /**
  74 + * sku价格
  75 + */
  76 + @Column(name = "item_price_amount")
  77 + private Double itemPriceAmount;
  78 +
  79 + /**
  80 + * 邮费币种
  81 + */
  82 + @Column(name = "shipping_price_currency_code")
  83 + private String shippingPriceCurrencyCode;
  84 +
  85 + /**
  86 + * 邮费
  87 + */
  88 + @Column(name = "shipping_price_amount")
  89 + private Double shippingPriceAmount;
  90 +
  91 + /**
  92 + * 礼品包装币种
  93 + */
  94 + @Column(name = "gift_wrap_price_currency_code")
  95 + private String giftWrapPriceCurrencyCode;
  96 +
  97 + /**
  98 + * 礼品包装价格
  99 + */
  100 + @Column(name = "gift_wrap_price_amount")
  101 + private Double giftWrapPriceAmount;
  102 +
  103 + /**
  104 + * 价格税币种
  105 + */
  106 + @Column(name = "item_tax_currency_code")
  107 + private String itemTaxCurrencyCode;
  108 +
  109 + /**
  110 + * 价格税
  111 + */
  112 + @Column(name = "item_tax_amount")
  113 + private Double itemTaxAmount;
  114 +
  115 + /**
  116 + * 邮费税币种
  117 + */
  118 + @Column(name = "shipping_tax_currency_code")
  119 + private String shippingTaxCurrencyCode;
  120 +
  121 + /**
  122 + * 邮费税
  123 + */
  124 + @Column(name = "shipping_tax_amount")
  125 + private Double shippingTaxAmount;
  126 +
  127 + /**
  128 + * 礼品包装税币种
  129 + */
  130 + @Column(name = "gift_wrap_tax_currency_code")
  131 + private String giftWrapTaxCurrencyCode;
  132 +
  133 + /**
  134 + * 礼品包装价格税
  135 + */
  136 + @Column(name = "gift_wrap_tax_amount")
  137 + private Double giftWrapTaxAmount;
  138 +
  139 + /**
  140 + * 邮费折扣币种
  141 + */
  142 + @Column(name = "shipping_discount_currency_code")
  143 + private String shippingDiscountCurrencyCode;
  144 +
  145 + /**
  146 + * 邮费折扣
  147 + */
  148 + @Column(name = "shipping_discount_amount")
  149 + private Double shippingDiscountAmount;
  150 +
  151 + /**
  152 + * 促销折扣币种
  153 + */
  154 + @Column(name = "promotion_discount_currency_code")
  155 + private String promotionDiscountCurrencyCode;
  156 +
  157 + /**
  158 + * 促销折扣
  159 + */
  160 + @Column(name = "promotion_discount_amount")
  161 + private Double promotionDiscountAmount;
  162 +
  163 + /**
  164 + * 促销IDS
  165 + */
  166 + @Column(name = "promotion_ids")
  167 + private String promotionIds;
  168 +
  169 + /**
  170 + * COD费币种
  171 + */
  172 + @Column(name = "cod_fee_currency_code")
  173 + private String codFeeCurrencyCode;
  174 +
  175 + /**
  176 + * COD费
  177 + */
  178 + @Column(name = "cod_fee_amount")
  179 + private Double codFeeAmount;
  180 +
  181 + /**
  182 + * COD折扣币种
  183 + */
  184 + @Column(name = "cod_fee_discount_currency_code")
  185 + private String codFeeDiscountCurrencyCode;
  186 +
  187 + /**
  188 + * COD折扣
  189 + */
  190 + @Column(name = "cod_fee_discount_amount")
  191 + private Double codFeeDiscountAmount;
  192 +
  193 + /**
  194 + * 礼品包装级别
  195 + */
  196 + @Column(name = "gift_wrap_level")
  197 + private String giftWrapLevel;
  198 +
  199 + /**
  200 + * 发票要求
  201 + */
  202 + @Column(name = "invoice_requirement")
  203 + private String invoiceRequirement;
  204 +
  205 + /**
  206 + * 买家选择发票类别
  207 + */
  208 + @Column(name = "buyer_selected_invoice_category")
  209 + private String buyerSelectedInvoiceCategory;
  210 +
  211 + /**
  212 + * 发票抬头
  213 + */
  214 + @Column(name = "invoice_title")
  215 + private String invoiceTitle;
  216 +
  217 + /**
  218 + * 发票信息
  219 + */
  220 + @Column(name = "invoice_information")
  221 + private String invoiceInformation;
  222 +
  223 + /**
  224 + * 条件备注
  225 + */
  226 + @Column(name = "condition_note")
  227 + private String conditionNote;
  228 +
  229 + /**
  230 + * 条件Id
  231 + */
  232 + @Column(name = "condition_id")
  233 + private String conditionId;
  234 +
  235 + /**
  236 + * 子条件Id
  237 + */
  238 + @Column(name = "condition_subtype_id")
  239 + private String conditionSubtypeId;
  240 +
  241 + /**
  242 + * 预定交货开始日期
  243 + */
  244 + @Column(name = "scheduled_delivery_start_date")
  245 + private Date scheduledDeliveryStartDate;
  246 +
  247 + /**
  248 + * 预定交货结束日期
  249 + */
  250 + @Column(name = "scheduled_delivery_end_date")
  251 + private Date scheduledDeliveryEndDate;
  252 +
  253 + /**
  254 + * 价格标示
  255 + */
  256 + @Column(name = "price_designation")
  257 + private String priceDesignation;
  258 +
  259 + /**
  260 + * 定制URL
  261 + */
  262 + @Column(name = "customized_url")
  263 + private String customizedUrl;
  264 +
  265 + /**
  266 + * 发货渠道(AFN、MFN)
  267 + */
  268 + @Column(name = "fulfillment_channel")
  269 + private String fulfillmentChannel;
  270 +
  271 + /**
  272 + * 店铺ID
  273 + */
  274 + @Column(name = "account_id")
  275 + private Integer accountId;
  276 +
  277 + /**
  278 + * 店铺简码
  279 + */
  280 + @Column(name = "account_code")
  281 + private String accountCode;
  282 +
  283 + /**
  284 + * 区域ID
  285 + */
  286 + @Column(name = "area_id")
  287 + private Integer areaId;
  288 +
  289 + /**
  290 + * 区域
  291 + */
  292 + private String area;
  293 +
  294 + /**
  295 + * 记录创建时间
  296 + */
  297 + @Column(name = "create_date")
  298 + private Date createDate;
  299 +
  300 + /**
  301 + * 记录更新时间
  302 + */
  303 + @Column(name = "update_date")
  304 + private Date updateDate;
  305 +
  306 + @Column(name = "order_header_id")
  307 + private Integer orderHeaderId;
  308 +
  309 + /**
  310 + * 产品标题
  311 + */
  312 + @Column(name = "title")
  313 + private byte[] titleAlias;
  314 +
  315 + /**
  316 + * 礼品消息文本
  317 + */
  318 + @Column(name = "gift_message_text")
  319 + private byte[] giftMessageText;
  320 +
  321 + @Transient
  322 + @JSONField(name = "title")
  323 + private String titleStr;
  324 +
  325 + @Transient
  326 + @JSONField(name = "gift_message_text")
  327 + private String giftMessageTextStr;
  328 +
  329 + public byte[] getTitleAlias() {
  330 + if (StringUtils.isNotBlank(titleStr)) {
  331 + try {
  332 + return titleStr.getBytes("UTF-8");
  333 + } catch (UnsupportedEncodingException e) {
  334 + e.printStackTrace();
  335 + }
  336 + }
  337 + return null;
  338 + }
  339 +
  340 + public byte[] getGiftMessageText() {
  341 + if (StringUtils.isNotBlank(giftMessageTextStr)) {
  342 + try {
  343 + return giftMessageTextStr.getBytes("UTF-8");
  344 + } catch (UnsupportedEncodingException e) {
  345 + e.printStackTrace();
  346 + }
  347 + }
  348 + return null;
  349 + }
  350 +}
  1 +package com.aukey.example.listener;
  2 +
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.alibaba.fastjson.TypeReference;
  5 +import com.aukey.example.constant.EventType;
  6 +import com.aukey.example.constant.MQConst;
  7 +import com.aukey.example.entity.fbaStock.AmazonOrderItem;
  8 +import com.aukey.example.service.fbaStock.AmazonOrderItemService;
  9 +import com.aukey.example.vo.MessageVo;
  10 +import com.rabbitmq.client.Channel;
  11 +import lombok.extern.slf4j.Slf4j;
  12 +import org.springframework.amqp.core.Message;
  13 +import org.springframework.amqp.rabbit.annotation.RabbitListener;
  14 +import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.stereotype.Component;
  16 +
  17 +import java.io.IOException;
  18 +
  19 +/**
  20 + * @author: wgf
  21 + * @create: 2020-06-09 14:30
  22 + * @description: CanalUser监听器
  23 + **/
  24 +@Slf4j
  25 +@Component
  26 +public class AmazonOrderItemListener {
  27 +
  28 + @Autowired
  29 + AmazonOrderItemService amazonOrderItemService;
  30 +
  31 + @RabbitListener(queues = "polaris_order_center.amazon_order_item")
  32 + public void receive(String message, Channel channel, Message messageEntity) throws IOException {
  33 +
  34 + try {
  35 +
  36 + log.info("接收到队列: {} 消息:{}", MQConst.TEST, message);
  37 +
  38 + MessageVo<AmazonOrderItem> messageVo = JSON.parseObject(message, new TypeReference<MessageVo<AmazonOrderItem>>() {
  39 + });
  40 +
  41 + EventType eventType = EventType.valueOf(messageVo.getType());
  42 +
  43 + log.info("当前监听binlog 数据库:{}, 数据表:{}", messageVo.getDatabase(), messageVo.getTable());
  44 +
  45 + // 数据同步只关注这三种事件
  46 + switch (eventType) {
  47 + case INSERT:
  48 + log.info("触发 INSERT 事件");
  49 + this.amazonOrderItemService.insertOrUpdate(messageVo.getData());
  50 + break;
  51 + case UPDATE:
  52 + log.info("触发 UPDATE 事件");
  53 + this.amazonOrderItemService.insertOrUpdate(messageVo.getData());
  54 + break;
  55 + case DELETE:
  56 + log.info("触发 DELETE 事件");
  57 + this.amazonOrderItemService.delete(messageVo.getData());
  58 + break;
  59 + default:
  60 + log.info("其他事件类型:{}, 过滤不处理", eventType);
  61 + }
  62 +
  63 + log.info("消息长度:{}", messageVo.getData().size());
  64 +
  65 + /**
  66 + * 消息消费确认
  67 + * 如果客户端在线没有签收没有签收这条Message,则此消息进入Unacked状态,此时监听器阻塞等待消息确认,不推送新Message
  68 + * 如果待消息确认并且客户端下线,下次客户端上线重新推送上次Unacked状态Message
  69 + */
  70 + channel.basicAck(messageEntity.getMessageProperties().getDeliveryTag(), false);
  71 + } catch (Exception e) {
  72 + /**
  73 + * 第一个参数deliveryTag:发布的每一条消息都会获得一个唯一的deliveryTag,deliveryTag在channel范围内是唯一的
  74 + * 第二个参数multiple:批量确认标志。如果值为true,包含本条消息在内的、所有比该消息deliveryTag值小的 消息都被拒绝了(除了已经被 ack 的以外);如果值为false,只拒绝三本条消息
  75 + * 第三个参数requeue:表示如何处理这条消息,如果值为true,则重新放入RabbitMQ的发送队列,如果值为false,则通知RabbitMQ销毁这条消息
  76 + */
  77 + //channel.basicNack(messageEntity.getMessageProperties().getDeliveryTag(), false,true);
  78 + e.printStackTrace();
  79 + }
  80 + }
  81 +}
  1 +package com.aukey.example.listener;
  2 +
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.alibaba.fastjson.TypeReference;
  5 +import com.aukey.example.constant.EventType;
  6 +import com.aukey.example.constant.MQConst;
  7 +import com.aukey.example.entity.fbaStock.AmazonOrder;
  8 +import com.aukey.example.service.fbaStock.AmazonOrderService;
  9 +import com.aukey.example.vo.MessageVo;
  10 +import com.rabbitmq.client.Channel;
  11 +import lombok.extern.slf4j.Slf4j;
  12 +import org.springframework.amqp.core.Message;
  13 +import org.springframework.amqp.rabbit.annotation.RabbitListener;
  14 +import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.stereotype.Component;
  16 +
  17 +import java.io.IOException;
  18 +
  19 +/**
  20 + * @author: wgf
  21 + * @create: 2020-06-09 14:30
  22 + * @description: CanalUser监听器
  23 + **/
  24 +@Slf4j
  25 +@Component
  26 +public class AmazonOrderListener {
  27 +
  28 + @Autowired
  29 + AmazonOrderService amazonOrderService;
  30 +
  31 + @RabbitListener(queues = "polaris_order_center.amazon_order")
  32 + public void receive(String message, Channel channel, Message messageEntity) throws IOException {
  33 +
  34 + try {
  35 +
  36 + log.info("接收到队列: {} 消息:{}", MQConst.TEST, message);
  37 +
  38 + MessageVo<AmazonOrder> messageVo = JSON.parseObject(message, new TypeReference<MessageVo<AmazonOrder>>() {
  39 + });
  40 +
  41 + EventType eventType = EventType.valueOf(messageVo.getType());
  42 +
  43 + log.info("当前监听binlog 数据库:{}, 数据表:{}", messageVo.getDatabase(), messageVo.getTable());
  44 +
  45 + // 数据同步只关注这三种事件
  46 + switch (eventType) {
  47 + case INSERT:
  48 + log.info("触发 INSERT 事件");
  49 + this.amazonOrderService.insertOrUpdate(messageVo.getData());
  50 + break;
  51 + case UPDATE:
  52 + log.info("触发 UPDATE 事件");
  53 + this.amazonOrderService.insertOrUpdate(messageVo.getData());
  54 + break;
  55 + case DELETE:
  56 + log.info("触发 DELETE 事件");
  57 + this.amazonOrderService.delete(messageVo.getData());
  58 + break;
  59 + default:
  60 + log.info("其他事件类型:{}, 过滤不处理", eventType);
  61 + }
  62 +
  63 + log.info("消息长度:{}", messageVo.getData().size());
  64 +
  65 + /**
  66 + * 消息消费确认
  67 + * 如果客户端在线没有签收没有签收这条Message,则此消息进入Unacked状态,此时监听器阻塞等待消息确认,不推送新Message
  68 + * 如果待消息确认并且客户端下线,下次客户端上线重新推送上次Unacked状态Message
  69 + */
  70 + channel.basicAck(messageEntity.getMessageProperties().getDeliveryTag(), false);
  71 + } catch (Exception e) {
  72 + /**
  73 + * 第一个参数deliveryTag:发布的每一条消息都会获得一个唯一的deliveryTag,deliveryTag在channel范围内是唯一的
  74 + * 第二个参数multiple:批量确认标志。如果值为true,包含本条消息在内的、所有比该消息deliveryTag值小的 消息都被拒绝了(除了已经被 ack 的以外);如果值为false,只拒绝三本条消息
  75 + * 第三个参数requeue:表示如何处理这条消息,如果值为true,则重新放入RabbitMQ的发送队列,如果值为false,则通知RabbitMQ销毁这条消息
  76 + */
  77 + //channel.basicNack(messageEntity.getMessageProperties().getDeliveryTag(), false,true);
  78 + e.printStackTrace();
  79 + }
  80 + }
  81 +}
  1 +package com.aukey.example.mapper.fbaStock;
  2 +
  3 +import com.aukey.example.commom.mapper.Mapper;
  4 +import com.aukey.example.entity.fbaStock.AmazonOrderItem;
  5 +
  6 +public interface AmazonOrderItemMapper extends Mapper<AmazonOrderItem> {
  7 +}
  1 +package com.aukey.example.mapper.fbaStock;
  2 +
  3 +import com.aukey.example.commom.mapper.Mapper;
  4 +import com.aukey.example.entity.fbaStock.AmazonOrder;
  5 +
  6 +public interface AmazonOrderMapper extends Mapper<AmazonOrder> {
  7 +}
  1 +package com.aukey.example.service.fbaStock;
  2 +
  3 +import com.aukey.example.entity.fbaStock.AmazonOrderItem;
  4 +
  5 +import java.util.List;
  6 +
  7 +/**
  8 + * @author: wgf
  9 + * @create: 2020-08-25 14:36
  10 + * @description:
  11 + **/
  12 +public interface AmazonOrderItemService {
  13 +
  14 + /**
  15 + * demo 具体实现自己优化
  16 + *
  17 + * @param list
  18 + */
  19 + void insertOrUpdate(List<AmazonOrderItem> list);
  20 +
  21 + /**
  22 + * demo 具体实现自己优化
  23 + *
  24 + * @param list
  25 + */
  26 + void delete(List<AmazonOrderItem> list);
  27 +}
  1 +package com.aukey.example.service.fbaStock;
  2 +
  3 +import com.aukey.example.entity.fbaStock.AmazonOrder;
  4 +
  5 +import java.util.List;
  6 +
  7 +/**
  8 + * @author: wgf
  9 + * @create: 2020-08-25 14:36
  10 + * @description:
  11 + **/
  12 +public interface AmazonOrderService {
  13 +
  14 + /**
  15 + * demo 具体实现自己优化
  16 + * @param list
  17 + */
  18 + void insertOrUpdate(List<AmazonOrder> list);
  19 +
  20 + /**
  21 + * demo 具体实现自己优化
  22 + * @param list
  23 + */
  24 + void delete(List<AmazonOrder> list);
  25 +}
  1 +package com.aukey.example.service.fbaStock.impl;
  2 +
  3 +import com.aukey.example.entity.fbaStock.AmazonOrderItem;
  4 +import com.aukey.example.mapper.fbaStock.AmazonOrderItemMapper;
  5 +import com.aukey.example.service.fbaStock.AmazonOrderItemService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.stereotype.Service;
  8 +import org.springframework.transaction.annotation.Transactional;
  9 +
  10 +import java.util.List;
  11 +import java.util.Objects;
  12 +
  13 +/**
  14 + * @author: wgf
  15 + * @create: 2020-08-25 14:36
  16 + * @description:
  17 + **/
  18 +@Service
  19 +public class AmazonOrderItemServiceImpl implements AmazonOrderItemService {
  20 +
  21 + @Autowired
  22 + AmazonOrderItemMapper amazonOrderItemMapper;
  23 +
  24 + @Override
  25 + @Transactional(value = "fbaStockTransactionManager")
  26 + public void insertOrUpdate(List<AmazonOrderItem> list) {
  27 + for (AmazonOrderItem amazonOrderItem : list) {
  28 + AmazonOrderItem query = new AmazonOrderItem();
  29 + query.setAccountId(amazonOrderItem.getAccountId());
  30 + query.setAreaId(amazonOrderItem.getAreaId());
  31 + query.setAmazonOrderId(amazonOrderItem.getAmazonOrderId());
  32 + AmazonOrderItem existOrder = this.amazonOrderItemMapper.selectOne(query);
  33 +
  34 + // 主键和 headId不能使用
  35 + amazonOrderItem.setOrderHeaderId(null);
  36 + if (Objects.isNull(existOrder)) {
  37 + amazonOrderItem.setAid(null);
  38 + this.amazonOrderItemMapper.insertSelective(amazonOrderItem);
  39 + } else {
  40 + amazonOrderItem.setAid(existOrder.getAid());
  41 + this.amazonOrderItemMapper.updateByPrimaryKeySelective(amazonOrderItem);
  42 + }
  43 + }
  44 + }
  45 +
  46 +
  47 + @Override
  48 + @Transactional(value = "fbaStockTransactionManager")
  49 + public void delete(List<AmazonOrderItem> list) {
  50 + AmazonOrderItem condition = new AmazonOrderItem();
  51 + for (AmazonOrderItem amazonOrderItem : list) {
  52 + condition.setAccountId(amazonOrderItem.getAccountId());
  53 + condition.setAreaId(amazonOrderItem.getAreaId());
  54 + condition.setAmazonOrderId(amazonOrderItem.getAmazonOrderId());
  55 + this.amazonOrderItemMapper.delete(condition);
  56 + }
  57 + }
  58 +}
  1 +package com.aukey.example.service.fbaStock.impl;
  2 +
  3 +import com.aukey.example.entity.fbaStock.AmazonOrder;
  4 +import com.aukey.example.mapper.fbaStock.AmazonOrderMapper;
  5 +import com.aukey.example.service.fbaStock.AmazonOrderService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.stereotype.Service;
  8 +import org.springframework.transaction.annotation.Transactional;
  9 +
  10 +import java.util.List;
  11 +import java.util.Objects;
  12 +
  13 +/**
  14 + * @author: wgf
  15 + * @create: 2020-08-25 14:36
  16 + * @description:
  17 + **/
  18 +@Service
  19 +public class AmazonOrderServiceImpl implements AmazonOrderService {
  20 +
  21 + @Autowired
  22 + AmazonOrderMapper amazonOrderMapper;
  23 +
  24 + @Override
  25 + @Transactional(value = "fbaStockTransactionManager")
  26 + public void insertOrUpdate(List<AmazonOrder> list) {
  27 + for (AmazonOrder amazonOrder : list) {
  28 + AmazonOrder query = new AmazonOrder();
  29 + query.setAccountId(amazonOrder.getAccountId());
  30 + query.setAreaId(amazonOrder.getAreaId());
  31 + query.setAmazonOrderId(amazonOrder.getAmazonOrderId());
  32 + AmazonOrder existOrder = this.amazonOrderMapper.selectOne(query);
  33 +
  34 + // 主键不能使用
  35 + if (Objects.isNull(existOrder)) {
  36 + amazonOrder.setAid(null);
  37 + this.amazonOrderMapper.insertSelective(amazonOrder);
  38 + } else {
  39 + amazonOrder.setAid(existOrder.getAid());
  40 + this.amazonOrderMapper.updateByPrimaryKeySelective(amazonOrder);
  41 + }
  42 + }
  43 + }
  44 +
  45 +
  46 + @Override
  47 + @Transactional(value = "fbaStockTransactionManager")
  48 + public void delete(List<AmazonOrder> list) {
  49 + AmazonOrder condition = new AmazonOrder();
  50 + for (AmazonOrder amazonOrder : list) {
  51 + condition.setAccountId(amazonOrder.getAccountId());
  52 + condition.setAreaId(amazonOrder.getAreaId());
  53 + condition.setAmazonOrderId(amazonOrder.getAmazonOrderId());
  54 + this.amazonOrderMapper.delete(condition);
  55 + }
  56 + }
  57 +}
@@ -12,3 +12,19 @@ spring: @@ -12,3 +12,19 @@ spring:
12 acknowledge-mode: manual 12 acknowledge-mode: manual
13 simple: 13 simple:
14 acknowledge-mode: manual 14 acknowledge-mode: manual
  15 +
  16 + datasource:
  17 + fba-stock:
  18 + driver-class-name: com.mysql.jdbc.Driver
  19 + jdbc-url: jdbc:mysql://10.1.1.86:3306/fba_stock?useUnicode=true&characterEncoding=utf8&useSSL=true&allowMultiQueries=true
  20 + username: xmdo
  21 + password: xmdao123#li
  22 +
  23 + max-idle: 20
  24 + min-idle: 20
  25 + initial-size: 20
  26 + max-wait: 10000
  27 + validation-query: SELECT 1 FROM DUAL
  28 + test-on-borrow: false
  29 + test-while-idle: true
  30 + time-between-eviction-runs-millis: 18800
  1 +jdbc.driverClassName=com.mysql.jdbc.Driver
  2 +jdbc.url=jdbc:mysql://10.1.1.86:3306/fba_stock?useUnicode=true&characterEncoding=utf8&useSSL=true&allowMultiQueries=true
  3 +jdbc.username=xmdo
  4 +jdbc.password=xmdao123#li
  5 +
  6 +targetModelPackage =com.aukey.example.entity.fbaStock
  7 +targetJavaProject = src/main/java
  8 +targetMapperPackage=com.aukey.example.mapper.fbaStock
  9 +targetXMLPackage = mapper/fbaStock
  10 +targetResourcesProject = src/main/resources
  11 +
  12 +tableName = amazon_order_item
  13 +
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE generatorConfiguration
  3 + PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  4 + "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  5 +
  6 +<generatorConfiguration>
  7 +
  8 + <properties resource="generator/config.properties"/>
  9 +
  10 + <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
  11 +
  12 + <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
  13 + <property name="mappers" value="com.aukey.example.commom.mapper.Mapper"/>
  14 + <!-- caseSensitive默认false,当数据库表名区分大小写时,可以将该属性设置为true -->
  15 + <property name="caseSensitive" value="false"/>
  16 + </plugin>
  17 +
  18 + <jdbcConnection driverClass="${jdbc.driverClassName}"
  19 + connectionURL="${jdbc.url}"
  20 + userId="${jdbc.username}"
  21 + password="${jdbc.password}">
  22 + </jdbcConnection>
  23 +
  24 + <!-- model生成配置 -->
  25 + <javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/>
  26 +
  27 + <!-- xml映射文件生成配置 -->
  28 + <sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/>
  29 +
  30 + <!-- mapper生成配置 -->
  31 + <javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER" />
  32 +
  33 + <table tableName="${tableName}" >
  34 + <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
  35 + </table>
  36 + </context>
  37 +</generatorConfiguration>
  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.aukey.example.mapper.fbaStock.AmazonOrderItemMapper">
  4 + <resultMap id="BaseResultMap" type="com.aukey.example.entity.fbaStock.AmazonOrderItem">
  5 + <!--
  6 + WARNING - @mbg.generated
  7 + -->
  8 + <id column="aid" jdbcType="INTEGER" property="aid" />
  9 + <result column="amazon_order_id" jdbcType="VARCHAR" property="amazonOrderId" />
  10 + <result column="asin" jdbcType="VARCHAR" property="asin" />
  11 + <result column="seller_sku" jdbcType="VARCHAR" property="sellerSku" />
  12 + <result column="order_item_id" jdbcType="VARCHAR" property="orderItemId" />
  13 + <result column="quantity_ordered" jdbcType="INTEGER" property="quantityOrdered" />
  14 + <result column="quantity_shipped" jdbcType="INTEGER" property="quantityShipped" />
  15 + <result column="points_number" jdbcType="INTEGER" property="pointsNumber" />
  16 + <result column="points_currency_code" jdbcType="VARCHAR" property="pointsCurrencyCode" />
  17 + <result column="points_amount" jdbcType="DOUBLE" property="pointsAmount" />
  18 + <result column="item_price_currency_code" jdbcType="VARCHAR" property="itemPriceCurrencyCode" />
  19 + <result column="item_price_amount" jdbcType="DOUBLE" property="itemPriceAmount" />
  20 + <result column="shipping_price_currency_code" jdbcType="VARCHAR" property="shippingPriceCurrencyCode" />
  21 + <result column="shipping_price_amount" jdbcType="DOUBLE" property="shippingPriceAmount" />
  22 + <result column="gift_wrap_price_currency_code" jdbcType="VARCHAR" property="giftWrapPriceCurrencyCode" />
  23 + <result column="gift_wrap_price_amount" jdbcType="DOUBLE" property="giftWrapPriceAmount" />
  24 + <result column="item_tax_currency_code" jdbcType="VARCHAR" property="itemTaxCurrencyCode" />
  25 + <result column="item_tax_amount" jdbcType="DOUBLE" property="itemTaxAmount" />
  26 + <result column="shipping_tax_currency_code" jdbcType="VARCHAR" property="shippingTaxCurrencyCode" />
  27 + <result column="shipping_tax_amount" jdbcType="DOUBLE" property="shippingTaxAmount" />
  28 + <result column="gift_wrap_tax_currency_code" jdbcType="VARCHAR" property="giftWrapTaxCurrencyCode" />
  29 + <result column="gift_wrap_tax_amount" jdbcType="DOUBLE" property="giftWrapTaxAmount" />
  30 + <result column="shipping_discount_currency_code" jdbcType="VARCHAR" property="shippingDiscountCurrencyCode" />
  31 + <result column="shipping_discount_amount" jdbcType="DOUBLE" property="shippingDiscountAmount" />
  32 + <result column="promotion_discount_currency_code" jdbcType="VARCHAR" property="promotionDiscountCurrencyCode" />
  33 + <result column="promotion_discount_amount" jdbcType="DOUBLE" property="promotionDiscountAmount" />
  34 + <result column="promotion_ids" jdbcType="VARCHAR" property="promotionIds" />
  35 + <result column="cod_fee_currency_code" jdbcType="VARCHAR" property="codFeeCurrencyCode" />
  36 + <result column="cod_fee_amount" jdbcType="DOUBLE" property="codFeeAmount" />
  37 + <result column="cod_fee_discount_currency_code" jdbcType="VARCHAR" property="codFeeDiscountCurrencyCode" />
  38 + <result column="cod_fee_discount_amount" jdbcType="DOUBLE" property="codFeeDiscountAmount" />
  39 + <result column="gift_wrap_level" jdbcType="VARCHAR" property="giftWrapLevel" />
  40 + <result column="invoice_requirement" jdbcType="VARCHAR" property="invoiceRequirement" />
  41 + <result column="buyer_selected_invoice_category" jdbcType="VARCHAR" property="buyerSelectedInvoiceCategory" />
  42 + <result column="invoice_title" jdbcType="VARCHAR" property="invoiceTitle" />
  43 + <result column="invoice_information" jdbcType="VARCHAR" property="invoiceInformation" />
  44 + <result column="condition_note" jdbcType="VARCHAR" property="conditionNote" />
  45 + <result column="condition_id" jdbcType="VARCHAR" property="conditionId" />
  46 + <result column="condition_subtype_id" jdbcType="VARCHAR" property="conditionSubtypeId" />
  47 + <result column="scheduled_delivery_start_date" jdbcType="TIMESTAMP" property="scheduledDeliveryStartDate" />
  48 + <result column="scheduled_delivery_end_date" jdbcType="TIMESTAMP" property="scheduledDeliveryEndDate" />
  49 + <result column="price_designation" jdbcType="VARCHAR" property="priceDesignation" />
  50 + <result column="customized_url" jdbcType="VARCHAR" property="customizedUrl" />
  51 + <result column="fulfillment_channel" jdbcType="VARCHAR" property="fulfillmentChannel" />
  52 + <result column="account_id" jdbcType="INTEGER" property="accountId" />
  53 + <result column="account_code" jdbcType="VARCHAR" property="accountCode" />
  54 + <result column="area_id" jdbcType="INTEGER" property="areaId" />
  55 + <result column="area" jdbcType="VARCHAR" property="area" />
  56 + <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
  57 + <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
  58 + <result column="order_header_id" jdbcType="INTEGER" property="orderHeaderId" />
  59 + <result column="title" jdbcType="LONGVARBINARY" property="titleAlias" />
  60 + <result column="gift_message_text" jdbcType="LONGVARBINARY" property="giftMessageText" />
  61 + </resultMap>
  62 +</mapper>
  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.aukey.example.mapper.fbaStock.AmazonOrderMapper">
  4 + <resultMap id="BaseResultMap" type="com.aukey.example.entity.fbaStock.AmazonOrder">
  5 + <!--
  6 + WARNING - @mbg.generated
  7 + -->
  8 + <id column="aid" jdbcType="INTEGER" property="aid" />
  9 + <result column="amazon_order_id" jdbcType="VARCHAR" property="amazonOrderId" />
  10 + <result column="seller_order_id" jdbcType="VARCHAR" property="sellerOrderId" />
  11 + <result column="purchase_date" jdbcType="TIMESTAMP" property="purchaseDate" />
  12 + <result column="payments_date" jdbcType="TIMESTAMP" property="paymentsDate" />
  13 + <result column="last_update_date" jdbcType="TIMESTAMP" property="lastUpdateDate" />
  14 + <result column="order_status" jdbcType="VARCHAR" property="orderStatus" />
  15 + <result column="fulfillment_channel" jdbcType="VARCHAR" property="fulfillmentChannel" />
  16 + <result column="sales_channel" jdbcType="VARCHAR" property="salesChannel" />
  17 + <result column="ship_service_level" jdbcType="VARCHAR" property="shipServiceLevel" />
  18 + <result column="shipping_address_city" jdbcType="VARCHAR" property="shippingAddressCity" />
  19 + <result column="shipping_address_county" jdbcType="VARCHAR" property="shippingAddressCounty" />
  20 + <result column="shipping_address_district" jdbcType="VARCHAR" property="shippingAddressDistrict" />
  21 + <result column="shipping_address_stateOrRegion" jdbcType="VARCHAR" property="shippingAddressStateorregion" />
  22 + <result column="shipping_address_postalCode" jdbcType="VARCHAR" property="shippingAddressPostalcode" />
  23 + <result column="shipping_address_countryCode" jdbcType="VARCHAR" property="shippingAddressCountrycode" />
  24 + <result column="shipping_address_phone" jdbcType="VARCHAR" property="shippingAddressPhone" />
  25 + <result column="order_total_currency_code" jdbcType="VARCHAR" property="orderTotalCurrencyCode" />
  26 + <result column="order_total_amount" jdbcType="DOUBLE" property="orderTotalAmount" />
  27 + <result column="postage_total" jdbcType="DOUBLE" property="postageTotal" />
  28 + <result column="discount_total" jdbcType="DOUBLE" property="discountTotal" />
  29 + <result column="number_of_items_shipped" jdbcType="INTEGER" property="numberOfItemsShipped" />
  30 + <result column="number_of_items_unshipped" jdbcType="INTEGER" property="numberOfItemsUnshipped" />
  31 + <result column="payment_method" jdbcType="VARCHAR" property="paymentMethod" />
  32 + <result column="marketplace_id" jdbcType="VARCHAR" property="marketplaceId" />
  33 + <result column="buyer_email" jdbcType="VARCHAR" property="buyerEmail" />
  34 + <result column="buyer_name" jdbcType="VARCHAR" property="buyerName" />
  35 + <result column="shipment_service_level_category" jdbcType="VARCHAR" property="shipmentServiceLevelCategory" />
  36 + <result column="shipped_by_amazon_tfm" jdbcType="CHAR" property="shippedByAmazonTfm" />
  37 + <result column="tfm_shipment_status" jdbcType="VARCHAR" property="tfmShipmentStatus" />
  38 + <result column="cba_displayable_shipping_label" jdbcType="VARCHAR" property="cbaDisplayableShippingLabel" />
  39 + <result column="order_type" jdbcType="VARCHAR" property="orderType" />
  40 + <result column="earliest_ship_date" jdbcType="TIMESTAMP" property="earliestShipDate" />
  41 + <result column="latest_ship_date" jdbcType="TIMESTAMP" property="latestShipDate" />
  42 + <result column="earliest_delivery_date" jdbcType="TIMESTAMP" property="earliestDeliveryDate" />
  43 + <result column="latest_delivery_date" jdbcType="TIMESTAMP" property="latestDeliveryDate" />
  44 + <result column="is_business_order" jdbcType="CHAR" property="isBusinessOrder" />
  45 + <result column="purchase_order_number" jdbcType="VARCHAR" property="purchaseOrderNumber" />
  46 + <result column="is_prime" jdbcType="CHAR" property="isPrime" />
  47 + <result column="is_premium_order" jdbcType="CHAR" property="isPremiumOrder" />
  48 + <result column="is_import_ed" jdbcType="CHAR" property="isImportEd" />
  49 + <result column="import_ed_date" jdbcType="TIMESTAMP" property="importEdDate" />
  50 + <result column="import_sys_date" jdbcType="TIMESTAMP" property="importSysDate" />
  51 + <result column="account_id" jdbcType="INTEGER" property="accountId" />
  52 + <result column="account_code" jdbcType="VARCHAR" property="accountCode" />
  53 + <result column="area_id" jdbcType="INTEGER" property="areaId" />
  54 + <result column="area" jdbcType="VARCHAR" property="area" />
  55 + <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
  56 + <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
  57 + <result column="order_item_status" jdbcType="VARCHAR" property="orderItemStatus" />
  58 + <result column="shipping_address_name" jdbcType="BLOB" property="shippingAddressName" />
  59 + <result column="shipping_address_line1" jdbcType="BLOB" property="shippingAddressLine1" />
  60 + <result column="shipping_address_line2" jdbcType="BLOB" property="shippingAddressLine2" />
  61 + <result column="shipping_address_line3" jdbcType="BLOB" property="shippingAddressLine3" />
  62 + </resultMap>
  63 +</mapper>