尚硅谷电商项目学习

电商的主要模式

B2BBusiness to Business

    B2B ( Business to Business)是指进行电子商务交易的供需双方都是商家(或企业、公司),她(他)们使用了互联网的技术或各种商务网络平台,完成商务交易的过程。电子商务是现代 B2B marketing的一种具体主要的表现形式。

    案例:阿里巴巴、慧聪网

C2CConsumer to Customer

    C2C即 Customer(Consumer) to Customer(Consumer),意思就是消费者个人间的电子商务行为。比如一个消费者有一台电脑,通过网络进行交易,把它出售给另外一个消费者,此种交易类型就称为C2C电子商务。

    案例:淘宝、易趣、瓜子二手车、闲鱼

B2CBusiness-to-Customer

    B2C是Business-to-Customer的缩写,而其中文简称为“商对客”。“商对客”是电子商务的一种模式,也就是通常说的直接面向消费者销售产品和服务商业零售模式。这种形式的电子商务一般以网络零售业为主,主要借助于互联网开展在线销售活动。B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、网上支付等消费行为。

    案例:唯品会、乐蜂网

C2BConsumer to Business

    C2B(Consumer to Business,即消费者到企业),是互联网经济时代新的商业模式。这一模式改变了原有生产者(企业和机构)和消费者的关系,是一种消费者贡献价值(Create Value), 企业和机构消费价值(Consume Value)。

    C2B模式和我们熟知的供需模式(DSM, Demand SupplyModel)恰恰相反,真正的C2B 应该先有消费者需求产生而后有企业生产,即先有消费者提出需求,后有生产企业按需求组织生产。通常情况为消费者根据自身需求定制产品和价格,或主动参与产品设计、生产和定价,产品、价格等彰显消费者的个性化需求,生产企业进行定制化生产。

案例:海尔商城、 尚品宅配

O2OOnline To Offline

    O2O即Online To Offline(在线离线/线上到线下),是指将线下的商务机会与互联网结合,让互联网成为线下交易的平台,这个概念最早来源于美国。O2O的概念非常广泛,既可涉及到线上,又可涉及到线下,可以通称为O2O。主流商业管理课程均对O2O这种新型的商业模式有所介绍及关注。

    案例:美团、饿了吗

B2B2CBusiness to Business to Consumer

    B2B2C是一种电子商务类型的网络购物商业模式,B是BUSINESS的简称,C是CUSTOMER的简称,第一个B指的是商品或服务的供应商,第二个B指的是从事电子商务的企业,C则是表示消费者。

    案例:京东商城、天猫商城

掌握电商业务流程

1.3.2 核心技术

SpringBoot:简化新Spring应用的初始搭建以及开发过程

SpringCloud:基于Spring Boot实现的云原生应用开发工具,SpringCloud使用的技术:(Spring Cloud Gateway、Spring Cloud Alibaba Nacos、Spring Cloud Alibaba Sentinel、Spring Cloud Task和Spring Cloud Feign等)

MyBatis-Plus/通用Mapper:持久层框架

Redis:内存做缓存

Redisson:基于redis的Java驻内存数据网格 - 框架

RabbitMQ:消息中间件

ElasticSearch+Kibana: 全文检索服务器+可视化数据监控

ThreadPoolExecutor:线程池来实现异步操作,提供效率

Thymeleaf:页面模板技术

Swagger2/POSTMAN:Api接口文档工具

Fastdfs:分布式文件存储 类似于oss

支付宝支付:alipay.com

Mysql:关系型数据库 {mycat/sharding-jdbc 进行分库,分表}

Lombok: 实体类的中get,set 生成的jar包

Ngrok/natapp:内网穿透

Docker:容器技术

Git:代码管理工具

DockerFile:管理Docker镜像命令文本

Jenkins:持续集成工具

Vue.js:web 界面的渐进式框架

Node.js: JavaScript 运行环境

NPM:包管理器

尚硅谷电商项目学习_第1张图片

虚拟机设置

Ip:192.168.200.128

登录用户:root

登录密码:123456

在虚拟机中安装

mysql,redis,nacos,sentinel,jdk,elasticsearch,rabbitmq... 都是开机自启动!

使用第三方工具连接mysql:

nacos: http://192.168.200.128:8848/nacos

sentinel: http://192.168.200.128:8858/#/dashboard

用户名:密码:sentinel

mysql 用户名:root ,密码:root

rabbitmq: http://192.168.200.128:15672/#/ 用户名,密码 guest

es: http://192.168.200.128:9200/

 kibana:http://192.168.200.128:5601/app/kibana

Zikpkin: http://192.168.200.128:9411/zipkin/

配置hosts环境

作用: 能够直接修改C:\Windows\System32\drivers\etc\hosts 文件!

修改系统hosts文件

# gmall

192.168.200.1 file.service.com www.gmall.com item.gmall.com order.gmall.com payment.gmall.com

192.168.200.1 activity.gmall.com passport.gmall.com cart.gmall.com list.gmall.com api.gmall.com

项目搭建 

创建maven工程mallparent:父工程

pom.xml



    4.0.0

    org.example
    mallparent
    1.0-SNAPSHOT
 
        org.springframework.boot
        spring-boot-starter-parent
        2.2.1.RELEASE
    

    pom
    

    
        1.8
        Hoxton.RELEASE
        0.2.2.RELEASE
        1.0
        3.0.5
        5.1.46
        2.7.0
        1.27.0.0
        1.18.10
    
    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${cloud.version}
                pom
                import
            

            
                org.springframework.cloud
                spring-cloud-alibaba-dependencies
                ${cloud.alibaba.version}
                pom
                import
            

            
            
                com.baomidou
                mybatis-plus-boot-starter
                ${mybatis-plus.version}
            

            
                mysql
                mysql-connector-java
                ${mysql.version}
            

            
            
                io.springfox
                springfox-swagger2
                ${swagger.version}
            
            
            
                io.springfox
                springfox-swagger-ui
                ${swagger.version}
            

            
                net.oschina.zcx7878
                fastdfs-client-java
                ${fastdfs.version}
            

            
                org.projectlombok
                lombok
                ${lombok.version}
            
        
    


 搭建common父模块

common:公共模块父节点

common-util:工具类模块,所有模块都可以依赖于它

service-util:service服务的工具包,包含service服务的公共配置类,所有   service模块依赖于它

新建maven项目common

pom.xml

 pom
    
        
            org.springframework.boot
            spring-boot-starter-web
            provided 
        

        
        
            org.projectlombok
            lombok
        

        
        
            io.springfox
            springfox-swagger2
        

        
            io.springfox
            springfox-swagger-ui
        
        
        
            com.alibaba
            fastjson
            1.2.29
        

        
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
            provided 
        

    

搭建common-util

 
        
            org.apache.httpcomponents
            httpclient
        
    

添加工具类

尚硅谷电商项目学习_第2张图片

GmallException

自定义全局异常

Result

API统一返回结果封装类

ResultCodeEnum

API统一返回结果状态信息

AuthContextHolder

获取登录用户信息类

HttpClientUtil

http客户端类

MD5

通过MD5给字符串加密的工具类

IpUtil

获取Ip地址的工具类

DateUitl

日期比较工具类

 搭建service-util

pom.xml

 
        
            com.Zh
            common-util
            1.0-SNAPSHOT
        

        
        
            org.springframework.boot
            spring-boot-starter-data-redis
        

        
        
            org.apache.commons
            commons-pool2
            2.6.0
        

        
        
            org.redisson
            redisson
            3.11.2
        

        
        
            com.baomidou
            mybatis-plus-boot-starter
            provided
        

    

添加service-util公共类

MybatisPlusConfig

MybatisPlus配置类

RedisConfig

Redis配置类

RedissonConfig

Redisson配置类

Swagger2Config

Swagger2配置类

RedisConst

Redis常量配置类

GlobalExceptionHandler

全局异常处理类

 搭建model

pom.xml

  
        
            org.projectlombok
            lombok
        

        
        
            com.baomidou
            mybatis-plus-boot-starter
            provided 
        

        
        
            io.springfox
            springfox-swagger2
            provided 
        

        
            org.springframework.boot
            spring-boot-starter-data-elasticsearch
            provided 
        
    

实体类

尚硅谷电商项目学习_第3张图片

搭建service父模块


        
        
            com.Zh
            service-util
            1.0-SNAPSHOT
        
        
        
            com.Zh
            model
            1.0-SNAPSHOT
        

        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
        
            com.baomidou
            mybatis-plus-boot-starter
        

        
        
            mysql
            mysql-connector-java
        

        
        
            org.springframework.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        

        
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        

        
        
            org.springframework.cloud
            spring-cloud-starter-alibaba-sentinel
        

        
        
            org.springframework.boot
            spring-boot-devtools
            true
        

        
        
            org.springframework.cloud
            spring-cloud-starter-zipkin
        

    

ervice 模块下搭建service-product

pom.xml

 
        
            net.oschina.zcx7878
            fastdfs-client-java
        
    

application.yml

spring:
  application:
    name: service-product
  profiles:
    active: dev
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.200.128:8848

添加配置文件application-dev.yml

server:
  port: 8206

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath:mapper/*Mapper.xml # 编写复杂的sql 语句 ,mybatis-plus 对多表关联支持性差。手写xml文件{sql语句}

spring:
  zipkin:
    base-url: http://192.168.200.128:9411
    discovery-client-enabled: false
    sender:
      type: web
  sleuth:
    sampler:
      probability: 1
  cloud:
    sentinel:
      transport:
        dashboard: http://192.168.200.128:8858
  rabbitmq:
    host: 192.168.200.128
    port: 5672
    username: guest
    password: guest
  redis:
    host: 192.168.200.128
    port: 6379
    database: 0
    timeout: 1800000
    password:
    lettuce:
      pool:
        max-active: 20 #最大连接数
        max-wait: -1    #最大阻塞等待时间(负数表示没限制)
        max-idle: 5    #最大空闲
        min-idle: 0     #最小空闲
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.200.128:3306/gmall_product?characterEncoding=utf-8&useSSL=false
    username: root
    password: root
    hikari:
      connection-test-query: SELECT 1 # 自动检测连接
      connection-timeout: 60000 #数据库连接超时时间,默认30秒
      idle-timeout: 500000 #空闲连接存活最大时间,默认600000(10分钟)
      max-lifetime: 540000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
      maximum-pool-size: 12 #连接池最大连接数,默认是10
      minimum-idle: 10 #最小空闲连接数量
      pool-name: SPHHikariPool # 连接池名称
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
fileServer:
  url: http://192.168.200.128:8080/ # fastDFS 分布式文件系统的 ip:port

启动类

@SpringBootApplication
@ComponentScan({"com.Zh.gmall"})
@EnableDiscoveryClient//开启服务注册发现
public class ServiceProductApplication {

   public static void main(String[] args) {
      SpringApplication.run(ServiceProductApplication.class, args);
   }
}

你可能感兴趣的:(p2p,网络协议,网络)