zoukankan      html  css  js  c++  java
  • 微信扫码支付6-更新课程销量

    一、修改课程销量

    1、service层

    接口:service_edu中CourseService

    void updateBuyCountById(String id);
    

    实现:CourseServiceImpl

    @Override
    public void updateBuyCountById(String id) {
        Course course = baseMapper.selectById(id);
        course.setBuyCount(course.getBuyCount() + 1);
        this.updateById(course);
    }
    

    2、controller层

    ApiCourseController

    @ApiOperation("根据课程id更改销售量")
    @GetMapping("inner/update-buy-count/{id}")
    public R updateBuyCountById(
        @ApiParam(value = "课程id", required = true)
        @PathVariable String id){
        courseService.updateBuyCountById(id);
        return R.ok();
    }
    

    二、远程调用接口

    1、Feign接口

    接口:service_trade 中 EduCourseService

    @GetMapping("/api/edu/course/inner/update-buy-count/{id}")
    R updateBuyCountById(@PathVariable("id") String id);
    

    2、熔断器

    EduCourseServiceFallBack

    @Override
    public R updateBuyCountById(String id) {
        log.error("熔断器被执行");
        return R.error();
    }
    

    3、RPC调用

    OrderServiceImpl

    @Transactional(rollbackFor = Exception.class)
    @Override
    public void updateOrderStatus(Map<String, String> map) {
    
        //更新订单状态
        ......
        
        //记录支付日志
        ......
        
        //更新课程销量:有问题直接熔断
        eduCourseService.updateBuyCountById(order.getCourseId());
    }
    
  • 相关阅读:
    IE表单拦截器
    使用网站作为WCF服务宿主的几种做法
    Javascript执行效率小结
    Ajax无刷新技术实现省市县三级联动下拉菜单Asp.Net
    序列化DataContractSerializer
    变化多端的列表
    腾讯微信
    Mac OS 和 iOS 操作系统架构
    程序员远离你的细节思维
    ObjectiveC概述
  • 原文地址:https://www.cnblogs.com/smalldong/p/13909765.html
Copyright © 2011-2022 走看看