zoukankan      html  css  js  c++  java
  • 商城项目要点

    最近屡次被人问到项目开发的要点、难点,自己一直没做整理,一切的偷懒都要偿还:

    【图片库管理】

    一开始把用户上传的图片和管理员配置的系统级图片放在tomcat下项目目录下,做过的朋友都知道这样不合理:

    1、项目重新部署的时候往往造成用户图片覆盖丢失;

    2、做了一个自动升级代码的程序,也要求用户每次更新项目要首先备份图片文件夹,否则后果严重,图片丢失压根儿无法找回;

    ——改进的思路:

    1、专门的图片服务器,与项目代码分离,数据库存储访问路径,这样也方便向分布式图片服务器优化;

    2、图片访问可以用ftp或者rest API的形式访问;

    3、升级自动备份、恢复,将大幅提升用户的体验;要容灾应该设定同步数据备份同步,但是这样要增加一套服务器成本;

    【搜索分词】

    你不会还在用like吧?做搜索引擎,建立分词索引,那么是用lucene+hadoop还是solr 的分布式功能? 

    Lucene是一个由java编写的高性能、全方位的单词搜索引擎库。

    【商品SKU设计】

    所谓“SKU”即Stock Keeping Unit(库存量单位),是物理上不可分割的最小存货单元。通俗点说就是我们常说的商品单品,是商品的最小粒度,作为唯一标示绑定订单。
    这里涉及到店铺前台用户选择商品规格的效果,大家想想应该怎么实现?

    这里,我们设计了从“商品分类表”、“商品规格表”到“商品表”,商品表绑定规格属性,一个商品多个规格,这张表的值,可以理解成sku;

    当数据结构设计好之后,前端的展示,这个js的级联效果也挺有意思的,不信可以试试!

    附:什么是SPU、SKU、ARPU? http://bbs.paidai.com/topic/34852

    SPU是标准化产品单元,区分品种;SKU是库存量单位,区分单品;商品特指与商家有关的商品,可对应多个SKU。

    【子账号设计与解耦】

    由于管理端可以随意修改tuser或者删除tuser,造成的会员表tmember和商城用户表shop_user找不到对应的tuserId,需要命令行清理数据库:

    /*#删除会员表Tmember废弃的tuser数据*/

    select id, tuserId from tmember where tuserId not in (select id from tuser);

    delete from tmember where tuserId  not in (select id from tuser);

    /*#删除商城用户表shop_user废弃的tuser数据*/

    select id, t_user_id from shop_user where t_user_id not in (select id from tuser);

    delete from shop_user where t_user_id  not in (select id from tuser);

    ——由于起初设计的耦合,又没有适时解耦,造成维护上的麻烦,我们在以后的设计中应以此为界,尽量规避;

    另外,现有的商城异常机制不完善,在找不到tuser的时候没有抛自定义的异常,而是直接404了,给用户体验很糟糕;

    另一个层面也警示我们数据库约束要慎用,程序来控制就好;

  • 相关阅读:
    无人转会申请
    【Alpha】“北航社团帮”小程序v1.0项目展示
    【Alpha】“北航社团帮”小程序v1.0测试报告
    【Alpha】“北航社团帮”小程序v1.0发布声明
    【Alpha】Scrum meeting 10
    编译原理:文法和语言总结与梳理
    编译原理:语法树,短语,直接短语,句柄
    编译原理:理解文法和语文
    编译原理:了解编译原理
    MySQL8版本的安装与卸载教程
  • 原文地址:https://www.cnblogs.com/qsl568/p/5139197.html
Copyright © 2011-2022 走看看