Skip to content

Latest commit

 

History

History
109 lines (66 loc) · 4 KB

6.md

File metadata and controls

109 lines (66 loc) · 4 KB

6 下一步计划

6.1节涉及到技术层面需要改进的部分,而6.2节则是业务方面未实现的部分,这两个部分的代码都会在本项目中实现。而6.3节会进一步完善本项目的安全和性能,但是不一定会在本项目中实现,因为会增加相当大的复杂性。

6.1 技术

6.1.1 ENUM

数据库中涉及到枚举类型的字段,目前设置成VARCHAR。 下一步应该设计不同的业务enum类型,然后mybatis自定义BaseTypeHandler来处理不同的枚举类型。

6.1.2 litemall-db AutoConig

目前,litemall-os-api、litemall-admin-api和litemall-wx-api引入litemall-db的时候,需要在Application类中显式注解查找包和MapperScan来对litemall-db中的mapper查找,此外需要在application.properties配置文件中完成对数据库、数据池等配置。 例如

@SpringBootApplication(scanBasePackages={"org.linlinjava.litemall.admin","org.linlinjava.litemall.db"})
@MapperScan("org.linlinjava.litemall.db.dao")
public class Application {

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

}

下一步,应该自动部署,即引入litemall-db则会自动引入对mapper的查找, 同时自动部署对数据库、PageHelper和Druid的配置。

6.1.3 统一对日期时间域的处理

目前,数据库的日期时间域有的采用DATE,有的是DATETIME,而对应Java用LocalDate和LocalDateTime。 下一步应该根据具体业务功能采用合适的。

6.1.4 vue-element-admin跟新

目前的vue-element-admin基于element 2.0.8, 因此element的很多修复没有跟新。

6.1.5 事务管理

目前没有事务管理,因此如果直接把项目用于正式运行中,可能会存在数据不一致等问题。

6.1.6 小程序登录设计

个人觉得目前nideshop-mini-program里的登录设计内部实现不是很合理。

6.1.n 代码重构

技术不断迭代开发中,应该在业务基本完成和功能基本完善以后, 重新审视代码架构和技术,或者重构代码,或者采用更为合理的技术。

6.2 业务

6.2.1 支付模块

目前微信支付模块因缺乏支付权限而不能开发。

6.2.2 任务日程模块

部分业务需要引入任务管理服务,例如订单下单以后一个小时未支付则自动失效关闭。

6.2.3 监控管理

项目运行的整个运行过程应该需要监控管理

6.2.4 权限管理

目前安全实现非常粗糙,仅仅依赖管理员的用户名和密码。 更好的做法是引入角色权限机制。

6.3 企业级

6.3.1 安全(必须)

尽在系统所有业务功能完整实现以后。

6.3.2 性能(建议)

仅在系统所有业务功能完整实现以后。

性能的提升存在多种方案。

目前考虑到的技术方案:

  • 采用内存数据库,如redis,缓存一些改动较少的数据,例如行政区域数据。
  • 数据库方面可以引入冗余,例如首页的数据可以先从其他表更新到一个独立的表。

6.3.3 对象存储云服务(建议)

仅在系统所有业务功能完整实现以后。

对象存储云服务不一定是必须的:

  • 局域网中只能采用内部对象存储服务
  • 对象存储云服务也是一笔开销
  • 引入对象存储云服务也增加了一定的复杂性
  • 导致对具体云平台的耦合

当然,对象存储云服务的益处也是毋庸置疑的,因此建议部署使用。

6.3.4 云数据库(必须)

同上,如果仅在局域网中部署项目,那么数据库的部署也只能是在局域网中,但是在互联网中部署应用,数据的重要性和优先级是最高的,采用云数据库可以方便带来其提供的安全和性能服务。

6.3.5 短信服务(必须)

真正的项目里面肯定需要短信功能。

6.3.6 推荐系统(可选)

目前的关键字是管理员设置,然后用户的搜索时匹配关键字,因此需要专业的推荐系统。

6.3.6 Spring Boot 2.0迁移(可选)