淘宝订单拉取更新历史状态~需求

news2024/11/16 21:47:14

📚目录

  • 订单接口api
  • 需求
  • 问题
  • 解决 Map<String,TaobaoOrder>

订单接口api

可自行查询官网文档,点击进入

在这里插入图片描述

需求

       通过接口中has_next 标识判断该时间断是否还有下一页数据,直到该值数据为false时,表面该时间范围内的订单数据获取完成.

在这里插入图片描述
       拉取完成后需要对数据库中订单状态进行更新或者新增订单信息到数据库中,我们可以通过trade_id子订单号唯一去查询数据库已经存在的订单返回,数据库返回的格式 Map<String,TaobaoOrder> key为trade_id,value为TaobaoOrder数据库表实体类对象,这样我们就可以通过Map的containsKey方法判断是否存在,如果不存在则需要进行新增,反之修改订单状态

代码示例图

在这里插入图片描述

问题

Mapper返回的数据结构是Map<String,TaobaoOrder>,返回的结果却是Map<String,HashMap>

按照上面的思路,查询数据库返回Map<String,TaobaoOrder>对象时,需要注意在Mapper接口上添加@MapKey注解值的需要填写正确.如果创建的xml返回值是resultType="java.util.Map"并没有声明resultMap,那么@MapKey的值必须时数据库的字段.

Mapper接口定义:

在这里插入图片描述

xml代码:

在这里插入图片描述

运行效果:

在这里插入图片描述

解决 Map<String,TaobaoOrder>

可以看出通过上面配置的拿到的返回值和我们预期的对象不一致.这个时候就需要在xml的方法上添加resultMap

在这里插入图片描述

TaobaoOrderResult:
       resultMap: 简单理解就是把数据库字段转成实体类对象的属性.
       property:是实体类属性
       column:是数据库的字段
举个例子:这里把数据库的trade_id值设置到实体类tradeId

<resultMap type="com.itmei.platformsyncasyn.domain.TaobaoOrder" id="TaobaoOrderResult">
     <result property="refundTag"    column="refund_tag"    />
     <result property="itemImg"    column="item_img"    />
     <result property="itemTitle"    column="item_title"    />
     <result property="itemNum"    column="item_num"    />
     <result property="itemPrice"    column="item_price"    />
     <result property="itemLink"    column="item_link"    />
     <result property="itemId"    column="item_id"    />
     <result property="tradeId"    column="trade_id"    />
     <result property="tradeParentId"    column="trade_parent_id"    />
 </resultMap>

然后修改Mapper接口中的@MapKey("trade_id")@MapKey("tradeId")

在这里插入图片描述

运行效果:

在这里插入图片描述
       可以看出返回结果已经从Map<String,HashMap>变成我们Map<String,TaobaoOrder>对应的数据结构了.这样我们就可以直接通过订单id获取到对应的TaobaoOrder对象,就不需要单独在用订单id去查询一遍库,判断状态是什么值时对订单做对应的处理了.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/734696.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Maven工程开发中的继承与聚合

1. 聚合工程概念 设置一个空的maven工程&#xff0c;工程里面只有pom文件&#xff0c;另外将这个工程的打包方式设置为pom。 在聚合工程里面添加聚合工程里面管理的模块 2.聚合总结 3.继承 例如下面02工程继承上面的01工程&#xff0c;在02工程的pom文件中要配置要继承的父工…

分组统计--Pandas

1.groupby 1.1 函数功能 先对数据进行分组&#xff0c;然后在每个分组上运用聚合函数、转换函数 1.2 函数语法 DataFrame.groupby(byNone, axis0, levelNone, as_indexTrue, sortTrue, group_keysTrue, observedFalse, dropnaTrue)1.3 函数参数 参数含义by分组依据axis沿着…

【电子学会】2023年05月图形化一级 -- 找食物

找食物 1. 准备工作 &#xff08;1&#xff09;添加背景&#xff1a;Jungle&#xff1b; &#xff08;2&#xff09;删除小猫角色&#xff0c;添加角色&#xff1a;Dog2、Donut&#xff1b; 2. 功能实现 &#xff08;1&#xff09;点击绿旗&#xff0c;小狗的初始位置在舞…

打家劫舍(力扣)动态规划 JAVA

你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个房屋存放金额的非…

从C语言到C++_25(树的十道OJ题)力扣:606+102+107+236+426+105+106+144+94+145

目录 606. 根据二叉树创建字符串 - 力扣&#xff08;LeetCode&#xff09; 解析代码&#xff1a; 102. 二叉树的层序遍历 - 力扣&#xff08;LeetCode&#xff09; 解析代码&#xff1a; 107. 二叉树的层序遍历 II - 力扣&#xff08;LeetCode&#xff09; 解析代码&…

倪海厦针灸大成学习笔记

学习倪海厦老师人纪针灸课程的学习笔记&#xff0c;比较粗糙&#xff0c;不一定准确&#xff0c;分享给大家&#xff0c;大家发现笔记中的错误&#xff0c;欢迎反馈&#xff01; Word文档链接 有需要的欢迎私信

VSCode控制台乱码解决

如果你试过很多方法依然解决不了乱码问题&#xff0c;不妨试试这个 设置完成后重启电脑 开机后查看一下当前的编码 打开VSCode试一下 不得不吐槽一下MS。。。。。。

虚幻引擎程序化资源生成框架PCG 之 UPCGBlueprintElement源码笔记(二)数据流

PCG节点处理的是数据流&#xff0c;也就是点云&#xff0c;点云到底是啥&#xff1f;笼统地说就是一个个携带着信息的点组成的集合。但是在具体是使用过程中&#xff0c;我们还得了解这些”携带着信息的点“是如何被层层包装起来的。本文中老王就和大家一边拆解源代码一边做实验…

以太网数据链路层相关技术(六)

目录 一、概述 二、MAC地址 2.1 概述 2.2 MAC地址的意义 三、共享介质型网络与非共享介质网络 四、VLAN技术 一、概述 在各设备之间的数据传输时&#xff0c;物理层和数据链路层是必不可少的。其中&#xff0c;物理层的通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及…

Springcloud基础(4)-Ribbon负载均衡

负载均衡 1. Ribbon简单描述2. 在SpringCloud中查看相关处理源码3. ribbon的默认策略&#xff0c;懒加载3. 实操中的相关问题 1. Ribbon简单描述 Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具。Ribbon是Netflix发布的开源项目&#xff0…

MySQL第四天作业 单表查询和多表查询

单表查询 创建表 CREATE TABLE emp (empno int(4) NOT NULL,ename varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,job varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,mgr int(4) NULL DEFAULT NULL,hiredate d…

【电子学会】2023年05月图形化一级 -- 舞蹈演出

舞蹈演出 1. 准备工作 &#xff08;1&#xff09;删除小猫角色&#xff1b; &#xff08;2&#xff09;添加角色Ballerina&#xff0c;为角色添加声音Bossa Nova&#xff1b; &#xff08;3&#xff09;添加背景Theater和Concert。 2. 功能实现 &#xff08;1&#xff09…

STC89C52---定时器,中断

目录 一:定时器 1:简历 2:定时器/计数器0/1和相关寄存器 A:介绍 B: 相关寄存器 C:基本原理 3:定时器/计数器控制寄存器TCON 4:定时器/计数器工作模式寄存器TMOD (1)门控制 (2):使用STC-iSP软件生成配置 (2):使用STC-iSP软件定时器 二:中断 1:简历 B:中断寄存器 2…

【电子学会】2023年05月图形化四级 -- 还原轨迹

还原轨迹 1. 准备工作 &#xff08;1&#xff09;删除小猫&#xff1b; &#xff08;2&#xff09;从角色库添加“Butterfly 1”角色&#xff1b; &#xff08;3&#xff09;保留白色背景。 2. 功能实现 &#xff08;1&#xff09;点击绿旗&#xff0c;清除舞台&#xff…

利用Python实现网站内容监控及邮件提醒

目录 一、开启POP3/SMTP服务 二、利用SMTP库实现邮件发送 三、利用requests库监控网页关键字 四、常见问题 一、开启POP3/SMTP服务 以QQ邮箱为例&#xff1a;进入邮箱->设置->账户->开启POP3/SMTP等服务->获取授权码 ①首先进入QQ邮箱后点击设置 ② 点击邮箱…

【机器学习核心总结】什么是梯度下降

什么是梯度下降 根据已有数据的分布来预测可能的新数据&#xff0c;这是回归 希望有一条线将数据分割成不同类别&#xff0c;这是分类 无论回归还是分类&#xff0c;我们的目的都是让搭建好的模型尽可能的模拟已有的数据 除了模型的结构&#xff0c;决定模型能否模拟成功的关键…

IDEA+spring+spring mvc+mybatis+bootstrap+jquery+Mysql运动会管理系统

IDEAspringspring mvcmybatisbootstrapjqueryMysql运动会管理系统 一、系统介绍1.环境配置 二、系统展示1. 管理员登录2.修改密码3.运动会开幕信息4.运动会广播信息5. 比赛项目信息6.比赛成绩信息7.运动器材信息8.学生信息9.教师信息10.班级信息11. 院系信息12.开幕管理13.广播…

LVS + keepalived

一、keepalived概述1.1 keepalived 服务重要功能1.1.1 管理LVS负载均衡器软件1.1.2 支持故障自动切换&#xff08;failover&#xff09;1.1.3 实现LVS集中节点的健康检查&#xff08;health checking&#xff09;1.1.4 实现 LVS 负载调度器、节点服务器的高可用性&#xff08;H…

Hcip第四次作业

要求&#xff1a; 1.如图连接&#xff0c;合理规划IP地址&#xff0c;所有路由器各自创建一个loopback接口 2.R1再创建三个接口IP地址为201.1.1.1/24、201.1.2.1/24、201.1.3.1/24 R5再创建三个接口IP地址为202.1.1.1/24、202.1.2.1/24、202.1.3.1/24 R7再创建三个接口IP地址为…

运维开发面试题第一期

1.tail -f和tail -F的区别是什么? tail -f 根据文件描述符进行追踪&#xff0c;当文件改名或被删除&#xff0c;追踪停止。 tail -F 根据文件名进行追踪&#xff0c;并保持重试&#xff0c;即该文件被删除或改名后&#xff0c;如果再次创建相同的文件名&#xff0c;会继续…