生成订单outTradeNo

王大合 2023-01-13 02:46:24

课时名称课时知识点
生成订单outTradeNo生成订单outTradeNo
...全文
223 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
购物商城数据库设计 购物商城数据库设计-订单系统设计 订单系统设计 订单系统在整个商城体系中的作⽤⾮常重要,因为⼀些业务的开展往往是围绕订单来展开的。因此设计好⼀个订单系统是多么的重要。 我们根据⽤户的⾏为逐个设计表结构。 ⾸先⽤户浏览商品,将看中的商品加⼊到购物车,这⾥应该有⼀张购物车表 购物车表(order_cart) ---- skuId spuId ⽤户id 店铺id 商品名称 商品数量 商品价格 状态(下单之后对应商品就不应该显⽰在购物车了) 选中购物车中的某些商品,进⾏下单,订单表也就应运⽽⽣ 订单表(order_info) ---- 订单编号(如果对编号格式没什么要求,可使⽤雪花算法https://blog.csdn.net/u011499747/article/details/78254990来⽣成) itemCount (商品项数量,不是商品个数,⽐如⼿机*2,⿏标*1,这⾥应该是2) ⽤户id 店铺id 下单时间 ⽀付⽅式(可⽤数字表⽰,如1:⽀付宝,2:微信,3:银⾏卡...) ⽀付时间 outTradeNo ⽀付宝订单号 配送⽅式 期望配送⽇期 商品总额 运费 实际付款 订单状态(这⾥的状态可根据实际项⽬来定,可以定10,20,30..这样如果中间缺少⼀个状态可以添加进去) 如果购物车⾥⾯有多个店铺的商品,那么应该分别为这些店铺⽣成对应的订单。平台可以进⾏合并⽀付,但是订单还是要归店铺的。 上⾯是订单的基本信息,接下来是订单商品相关。 订单商品表(order_product) --- 订单编号 spuId skuId 店铺id 商品名称 商品数量 商品价格 这⾥order_info与order_product是1对多的关系,⼀个订单可能有多个商品。 下单完成,等着发货,物流信息不能少,加下来是物流表 物流表(order_logistics) --- 订单标号 物流公司id 物流公司编号 快递单号 发货时间 收货时间 物流跟踪表(order_logistics_flow) --- 订单标号 物流公司标号 快递单号 remark(根据第三⽅接⼝返回来的结果信息) 加下来设计⼀下发票表 订单发票(order_invoice) --- 发票类型 发票抬头 发票内容 发票代码 发票号码 开票⽇期 校验码 密码区 服务名称 规格型号 数量 单价 ⾦额 合计 税率 税额 销售⽅名称 销售⽅纳税⼈识别号 销售⽅地址电话 销售⽅开户⾏及账号 备注 收⼊款⼈ 开票⼈ 下单完成后进⾏⽀付,这⾥会有⽀付记录表,⽅便以后对账 ⽀付记录表(order_pay_history) --- 订单编号 ⽀付⽅式 订单总额 ⽀付⾦额 pay_json(第三⽅⽀付平台参数信息,可使⽤json⽅式保存) remark (备注) ⽤户收到货后,可以进⾏评论,下⾯是评论表 订单评论(order_product_comment) --- spuId skuId 评论⽤户id ⽤户昵称 点赞数 comment(评论内容) 评论分数(1~5分) 评论时间 product_info_json(评论的商品信息,如规格型号之类的) image_json(评论图⽚) 好了,订单系统设计到此为了,当然围绕订单系统还有更多的业务可以开展,这⾥只做了⼀些基本的结构设计。 顺便说⼀句,如果⼀开始就想做分布式系统,建议把商品相关的表和订单表放在同⼀个数据库中,⼀则是因为订单业务需要查询商品相关的 数据,⼆则是因为放在⼀起做事务⽐较容易,不然需要做分布式事务,加⼤了开发成本。前期项⽬规划的时候这点需要考虑到。
【源码免费下载链接】:https://renmaiwang.cn/s/3boyj 微信支付是腾讯公司推出的在线支付服务,主要用于移动应用和网页交易。微支付V3版本是其最新的接口规范,提供了更加安全和高效的支付体验。本文将详细介绍如何使用JAVA进行微信支付的订单查询操作。我们需要了解订单查询的核心概念。订单查询是通过调用微信支付的API接口,获取某个订单的状态、金额等信息。在微支付V3版本中,这个功能由“OrderQuery”接口提供。开发者需要提供四个关键参数:1. **商户号(mch_id)**:这是每个商户在微信支付平台上的唯一标识,用于识别不同的商家。2. **设备号(device_info)**:通常可以留空,如果需要,可以填写终端设备的唯一标识。3. **订单号(out_trade_no)**:这是商户系统内部生成订单编号,必须是唯一的,并且在请求时提供。4. **交易类型(trade_type)**:例如JSAPI、NATIVE、APP等,表示支付的方式。在订单查询中,通常不需要改变此值,保持与创建订单时一致。在`OrderQuery.java`文件中,我们需要实现这些参数的设置和API的调用。以下是一个简单的示例代码:```javapublic class OrderQuery { private String mchId; private String deviceInfo; private String outTradeNo; // 构造函数、getter和setter方法省略 public void queryOrder() { // 创建API请求对象,设置参数 WxPayApiConfig config = new WxPayApiConfig(); // 初始化配置,包括商户密钥、API地址等 // ... WxPayOrderQueryReq

1

社区成员

发帖
与我相关
我的任务
社区描述
天下无易成之业,亦无不可成之业
社区管理员
  • 王大合
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧