建立MySQL中买菜系统的订单支付表,需要具体代码示例
随着互联网的发展,购物已经变得越来越方便。在购物的过程中,订单支付是购物过程中的重要环节。买菜系统不仅需要有订单生成功能,还必须拥有完整的支付流程,因为支付成功才能算是完成一单交易。本文将讲述如何建立MySQL中买菜系统的订单支付表,并提供具体的代码示例。
一、订单支付表设计
买菜系统中订单支付表存储的是订单信息,订单信息包括订单ID、订单总金额、支付方式、付款时间和订单状态等。
1.订单支付表字段设计
为了更好地满足业务需求,订单支付表应该包含以下字段:
表名:payment
字段名 | 数据类型 | 说明
————|————-|——————
payment_id | int | 订单支付ID,自增长
order_id | int | 订单ID
payment_method | varchar(32) | 支付方式:支付宝、微信、银行卡等
payment_amount| decimal(10,2)| 订单支付金额,保留两位小数
payment_time | datetime | 付款时间
payment_status | int | 支付状态:0-未支付,1-已支付
2.订单支付表结构示例
CREATE TABLE payment
(payment_id
int(11) NOT NULL AUTO_INCREMENT,order_id
int(11) NOT NULL,payment_method
varchar(32) NOT NULL,payment_amount
decimal(10,2) NOT NULL,payment_time
datetime NOT NULL,payment_status
tinyint(4) NOT NULL DEFAULT \'0\',
PRIMARY KEY (payment_id
),
KEY fk_order_id
(order_id
),
CONSTRAINT fk_order_id
FOREIGN KEY (order_id
) REFERENCES order
(order_id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、代码示例
在订单生成的时候,需要更新订单支付表的字段信息。以下是向订单支付表中插入数据的Java代码示例。
/**
- 订单支付服务类
*
*/
@Service
public class PaymentService {
@Autowired private PaymentMapper paymentMapper; /** * 插入订单支付信息 * * @param paymentDTO 订单支付信息 * @return boolean */ public boolean insertPayment(PaymentDTO paymentDTO) { Payment payment = new Payment(); payment.setOrderId(paymentDTO.getOrderId()); payment.setPaymentMethod(paymentDTO.getPaymentMethod()); payment.setPaymentAmount(paymentDTO.getPaymentAmount()); payment.setPaymentTime(paymentDTO.getPaymentTime()); payment.setPaymentStatus(paymentDTO.getPaymentStatus()); int result = paymentMapper.insertSelective(payment); return result > 0; }