开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):课程支付功能(生成订单接口2)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11489
课程支付功能(生成订单接口2)
生成一个完整的订单
1.首先创建两个 interface
代码示例:
//生成订单的方法@0verride
public String createOrders(String courseId,String memberId) {
//通过远程调用根据用户id获取用户信息
UcenterMemberOrder userInfoOrder = ucenterClient.getUserInfoOrder(memberId) ;
//通过远程调用根据课程id获取课信息
CourseWebVoOrder courseInfoOrder = eduClient.getCourseInfoOrder(courseId);
//创建Order对象,向order对象里面设置需要数据
Order order = new Order( ;
order.setOrderNo;//订单号
baseMapper.insertO...
//返回订单号
return null;
}
2.获取订单号
@return
public static String getOrderNo(){
SimpleDateFormat sdf = new SimpleDateFormat( pattern: "yyyyMMddHHnmmss");
String newDate = sdf.format(new DateO ) ;
String result = "";
Random random = new Random ) ;for (int i = 0;i< 3; i++){
result trandm. nextInt ( bound: 10);
return newDate + result;
}
3.创建订单
代码示例:
TOrder order - new TOrder();
order.setOrderNo(OrderNoUtil.getOrderNo());
order.setCourseId(courseId);
order.setCourseTitle(courseDto.getTitle());
or-der.setCourseCover(courseDto.getCover(O));
order.setTeacherName("test" );
order.setTotalFee(courseDto.getPrice());order.setMemberId(memberId);
order. setMobile(ucenterMember. getMlobile();
order .setNickname (ucenterMember . getNickname());
order.setstatus(O);
order.setPayType(1);
baseMapper.insert(order);
return order- getOrderNo();
支付类型默认为1
order. setStatus (0) ;/
/
订单状态(0:未支付1:已支付)
order. setPayType(1) ; //支付类型,微信1
baseMapper.insert(order);