小卖部项目记录

1.通用mappercss

    封装了单表的增删改查方法html

    引包-》处理bean(添加注解:column、id、generatedValue等等)--》在mapper接口上继承tk包的Mappe<bean类名>--》使用内置的mapper方法(前端

    selectAll、mysql

    selectByprimaryKey根据逐渐进行查询、linux

    select(bena类名)根据实体类中的非空参数进行查询、nginx

    selectOne查一条数据,多条会报错、web

    insert无论空仍是非空都插入、正则表达式

    insertSelective空值不插入、spring

    updateByprimaryKey(bena类名)、sql

    updateByprimaryKeySelective根据主键更新,空值不更新、

    updateByExample根据某个条件更新、

    deleteByprimaryKey根据主键删除、

    deleteByExample根据条件删除)

--》在XXXApplication主类上加注解MapperScan(base-pakage=“mapper包路径”),注意使用tk的mapperScan

2.模块构建

    parent 依赖管理

    bean实体类

interface接口                                              ------maven模块

cmmon-util通用工具                                  ------maven模块

web-util 工具类web端controller                 ------maven模块

service-util 工具类serviceimpl                    -------maven模块

XXX-web web端模块:                               ------- springboot

XXX-service 服务端模块:                            -------springBoot

3.dubbo

    搭建zookeeper

    项目中引入dubbo依赖:1.dubbo原生 2.zookeeper客户端 3.dubbo与spring整合包(第三方)

    application.properties

        application。name

        注册中心地址

        注册中心。协议 zookeeper

        传输协议 dubbo

        扫描包 全部设计dubbo注解都要在该包或该包的子包下

    注解

        @Service dubbo 标注在提供端

        @Reference dubbo 标注在消费端

商品管理

    分类

        三级分类

         平台属性

            在商品列表进行商品过滤

            跟三级分类挂钩,不一样的三级分类对应不一样的平台属性

        销售属性

            筛选商品,在一个范围内进行筛选,同一个spu内筛选

            不一样的spu有不一样的销售属性。

        spu:标准化产品单元。好比联想y470

            相同系列的sku商品的资源能够共用,节省资源

            经过销售属性概括商品(好比y470的不一样颜色、内存、显卡)

        sku:库存单元

            y470 黑色 4G内存 960显卡

            y470 白色 8G内存 1060显卡

            面向一个实体商品,一个sku就是一个不能再细分的商品,与价格和库存挂钩

三级分类

    数据库:三个表    一级分类(id,分类名)    二级分类(id,分类名,一级分类id)    三级分类(id,分类名,二级分类id)

    或者也能够弄成一个表,

一级分类id 分类名         
二级分类id 分类名 一级分类id
三级分类id 分类名 二级分类id

对应数据库中的base_catalog1    base_catalog2    base_catalog3    三张表对应三级分类

前段NewStore_admin:

dev.env.js:配置后台访问地址    BASE——API对应后台的访问地址

index.js:配置前端端口地址    port: 8888,

 

跨域问题

须要在controller添加注解

@CrossOrigin

三级分类

平台属性

 

销售属性

三级分类和平台属性:1--》n

平台属性和平台属性值:1--》n

须要两张表:平台属性表base_attr_info(id,属性名,标识:属于哪一个三级分类id)、平台属性值base_attr_value(id,属性值名称,平台属性id)

 

一个spu都涉及哪些信息?1:1(都在一张表,多个字段)     1:n(多张表进行关联)

1:1    id、name(联想(Lenovo)小新Air14英寸 )、描述

1:n    销售属性(颜色、版本、尺寸,内存、组合。。)、图片(与spu关联,好比这个商品有20张图,属于不一样的4个sku,则根据不一样的sku显示不一样的图片。在保存spu时保存完整图片信息,等创建sku时,在进行关联)、评论、海报

 

一个sku都涉及哪些

    1::1    id、name、价格、库存数(常常变化,能够拆分出去独立)

    1:n    图片、销售属性值、平台属性

 

图片保存    oss    云存储    七牛

                  fastdfs    本地分布式文件存储

                  emc

                   去IOE(ibm小型机    orcle    emc)由于他们贵

                           ibm:被docker服务器,pc服务器替换

                            orcle:mysql,pgsql

                            emc:文件存储,非结构化数据(图片,视频,影音)

前端后台管理模块,如今使用npm run dev启动,那么在正式环境linux怎么办?

    npm是调试用的,linux是要打包,放在Nginx下(动静分离,动态的给tomcat,配置表达式)

 

spu的保存

    保存主表:spu_info    

    保存图片:图片表,上传成功后会把图片路径回传,保存数据库的是路径

    保存销售属性和属性值

 

 

安装fastdft

上传图片进行测试

上传成功

 

安装fastdfs-nginx-module_v1.16.tar.gz

    1.先安装Nginx

        ./configure    预配置,作一些设置

        make    

        make install

 

 

Nginx动静分离

1.动态请求    http://manage.wubingyin.cn/attrList?attrId=3

2.静态请求      http://manage.wubingyin.cn/static/XXX.js

    js、css、png、jpg、ico、tff

    ~*.(js|css|png\jpg|ico|tff)$

        $表示已js|css|png\jpg|ico|tff结尾

        ()表示:括号中的知足任何一个

3.首页    http://manage.wubingyin.cn/            index.html

    location ~*[a-z]+{}

    a-z不区分大小写的状况下,有1到n个字符
 

正则匹配

一、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,若是匹配 成功,就中止继续向下搜索并当即处理该请求。

二、~:用于表示 uri 包含正则表达式,而且区分大小写。

三、~*:用于表示 uri 包含正则表达式,而且不区分大小写。

四、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后,当即使用此 location 处理请求,而再也不使用 location 块中的正则 uri 和请求字符串作匹配。

注意:若是 uri 包含正则表达式,则必需要有 ~ 或者 ~* 标识。

 

 

sku    名称、价格、总量、描述

    销售属性值    黄色、128G        n:n     sku

    平台属性值    屏占比    内存。。。    n:n    sku

    图片spu_image        n:n    sku

这三个都是多对多,须要中间表。

相关文章
相关标签/搜索