1009-确认订单-订单流程梳理与订单状态
一、
二、线程同步问题:
扣除商品库存与订单状态保存:
- synchronized 不推荐使用,集群下无用,性能低下。
- 锁数据库:不推荐,导致数据库性能低下。
- 分布式锁:zookeeper Redis
三、如何调用另外一个系统,在我们的java代码里发起restful请求?
- 使用http的方式。
- 使用spring提供的restemplate的方式。
四、内网穿透
把本地项目发布到互联网,任何一个服务器,任何一个第三方系统,都可以访问到本地项目。(把自己本地IP,映射到外网)
【https://natapp.cn/】
暴露了本地IP,进行了映射,根据映射的地址,访问本地的接口。
五、在线Cron 表达式生成器:
【http://cron.qqe2.com/】
六、实现单体电商-个人中心
- 用户个人信息维护
- 用户头像上传
- 用户收获地址维护
- 用户订单管理
- 用户评价模块
七、前端文件仓库
(比如jquery.js等引用文件地址,都可找到)
https://www.bootcdn.cn/
八、使用分页插件进行查询,需要注意:
有2种解决方案:
- 前端:先查询出所有订单,根据查询出来的订单编号,利用懒加载的方式,进行请求查询出所有的关联商品信息,再次在网页上渲染。
- 后端:mabatis方式,先查询订单信息,再根据orderId查询出来对应的商品信息。
方案2:正确代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.imooc.mapper.OrdersMapperCustom" ><resultMap id="myOrdersVo" type="com.imooc.pojo.vo.MyOrdersVo"><id column="orderId" property="orderId"/><result column="createdTime" property="createdTime"/><result column="payMethod" property="payMethod"/><result column="realPayAmount" property="realPayAmount"/><result column="postAmount" property="postAmount"/><result column="orderStatus" property="orderStatus"/><result column="isComment" property="isComment"/><collection property="subOrderItemList"select="getSubItems"column="orderId"ofType="com.imooc.pojo.vo.MySubOrderItemVo"><result column="itemId" property="itemId"/><result column="itemName" property="itemName"/><result column="itemImg" property="itemImg"/><result column="itemSpecId" property="itemSpecId"/><result column="itemSpecName" property="itemSpecName"/><result column="buyCounts" property="buyCounts"/><result column="price" property="price"/></collection></resultMap><select id="queryMyOrders" resultMap="myOrdersVo" parameterType="Map">SELECTod.id as orderId,od.created_time as createdTime,od.pay_method as payMethod,od.real_pay_amount as realPayAmount,od.post_amount as postAmount,os.order_status as orderStatus,od.is_comment as isCommentFROMorders odLEFT JOINorder_status oson od.id = os.order_idWHEREod.user_id = #{paramsMap.userId}ANDod.is_delete = 0<if test="paramsMap.orderStatus != null">and os.order_status = #{paramsMap.orderStatus}</if>ORDER BYod.updated_time ASC</select>
</mapper>
备注:collection 标签中,属性column对应的值,是上方获得的订单编号orderId。
1009-确认订单-订单流程梳理与订单状态相关推荐
- 电商订单中心业务梳理
订单中心是一个电商后台系统的枢纽,在这订单这一环节上需要读取多个模块的数据和信息进行加工处理,并流向下一环节:因此订单模块对一电商系统来说,重要性不言而喻. 同时,订单是一个公司生存甚至盈利的核心,而 ...
- 订单模块业务处理流程梳理记录
一.第一部分:收集信息,准备数据 1.先实例化OmsOrder对象 2.当前方法参数orderAddDTO有很多order需要的同名属性,直接赋值接口 3.orderAddDTO中属性比OmsOrde ...
- 内购订单进行二次处理_更学教育:卖家在投诉异常订单的流程是怎么样的?
相信很多的拼多多卖家们应该都遇到过异常订单的情况,有很多的时候,卖家在面对这个类型的订单都不知道怎么处理.如果卖家在有确切的证据证实某一个订单是恶意订单时,那么可以直接向平台投诉这个订单,这个时候可能 ...
- 初学订单-支付流程(思路)
主要说的是 生成订单的一系列操作 生成订单号---确认支付---生成支付链接--支付流程 支付流程 ---1.获取支付链接 1.1 三方接口,发送数据 ----1.2 返回数据解析(包含支付订单id) ...
- 电商订单技术方案梳理
对于电商系统来说,下订单的服务是相当重要的.下订单服务的好与坏甚至影响到用户的体验,以及后续是否再次购买等行为.近期对于我们系统的下订单业务进行梳理,总结如下. 一般的下单流程 1. 用户挑选相应的商 ...
- 发运确认后,订单行保持“已挑库”状态 Order Line Remains in Picked (Awaiting Shipping) Status After Ship Confirmation
发运确认后,订单行保持"已挑库"状态 Order Line Remains in Picked (Awaiting Shipping) Status After Ship Conf ...
- 深聊测试开发之:从订单支付流程来聊一聊,如何预防重复支付,建议收藏。
如何预防订单重复支付 1. 引言 2.订单支付流程 2.1 支付流程 2.2 订单状态 3.订单重复支付原因 3.1 掉单 3.2 未防重 3.3 多渠道 4.防止重复支付 4.1 加锁 4.2 缓存 ...
- 电子商务系统订单一般流程与状态的设计
最近全新做一个电子商务系统,关于订单与售后服务的各种状态显示问题,项目组吵翻了,没办法,不得不规划一个订单的流程与状态关系,现在摘录下来,以备参考: 本流程算不上完整,有些过程没有写进去,主要是考虑很 ...
- 支付系统流程以及防止订单重复提交
支付流程图 如图是一个简化的下单流程,首先是提交订单,然后是支付.支付的话,一般是走支付中心,然后支付中心与第三方支付渠道(微信.支付宝.银联)交互,支付成功以后,异步通知支付中心,支付中心更新自身支 ...
最新文章
- Hash函数的安全性
- 【Git】如何撤销改动
- Android Handler主线程和一般线程通信的应用分析
- 设备驱动--中断开关执行的匹配
- Bootstrap的目录结构
- 织梦wap.php绑定域名,dedecms织梦cms 手机站移动端 绑定设置独立M或wap域名的方法...
- iOS 开发之获取时间到年底可能会踩到的坑
- 快来加入阿里云大学【云学院】班级助理招募—机会稍纵即逝,错过遥遥无期!...
- springboot导包显示不存在_BOOT项目依赖另外一个模块的包,开发的时候都正常,执行clean package打包成jar时却提示依赖的模块包不存在。...
- OSPF 的单区域配置(以华为模拟器为例)
- (没有ignore选项时)安装MongoDB4.0以上版本出现 Verify that you have sufficient privileges to start system services
- 解决win7远程桌面连接时发生身份验证错误的方法
- 1. 无穷维空间的测度论-Wiener测度(二)
- linux 查看进程树,linux怎么查看进程?linux查看和管理进程命令方法
- windbg 常用调试命令总结
- vue 页脚_如何将页脚固定在页面底部_sticky footer, Layout, templates, 会员专栏 教程_w3cplus...
- Java 特殊操作流之标准输出流(system.out.println的底层原理)
- Python - io 模块
- 国产运维工具Commander
- texstudio系统找不到指定的路径
热门文章
- mysql数据库备份和恢复
- JAVA的3DES加密代码转成oc_iOS之DES加密
- (2022 IV) RCBEV
- 【图的存储】邻接多重表
- 机器学习(二)线性模型---LR
- 比例模型 scale model
- 安装过程中弹出错误信息,Xshell4提示nslicense.dll无法安装成功
- NVIDIA安装程序失败 ,win10 RTX3060安装CUDA11.7
- pr cpu100%_打工度假签证拿PR三步搞定!高薪,稳定工作,分分钟成为人生赢家!...
- 交换机和路由器技术-32-命名ACL