1024创新实验室-公告

助力抖音1000个粉丝,开播写代码🎉🎉

打开【抖音APP】-点击【左上角侧边栏】-【点击扫一扫】-【进行关注】🎉🎉

和1024创新实验室一起,热爱代码,热爱生活,永远年轻,永远前行🎉🎉


Skip to content

开始写Java功能

一、项目需求

1.1、了解需求

功能概述: 中后台管理系统中,要有管理公司信息的功能,主要包含公司信息、银行账户、发票资料等,这些信息供有需要的业务使用。

  • 需求1:管理公司基本信息,包含:企业名称、Logo、地区、营业执照、联系人 等等,可以 增删拆改
  • 需求2:管理公司的银行账户,包含:银行信息、账户名称、账号、类型等,可以 增删拆改
  • 需求3:管理公司的发票信息,包含:开票抬头、纳税号、银行账户、开户行、备注等,可以 增删拆改
  • 需求4:对于公司信息、银行信息、发票信息 任何的修改,都有记录 数据变动记录;

1.2、需求原型

公司列表公司添加修改变动记录2变动记录2
银行列表银行添加修改发票列表发票添加修改

二、数据库设计

根据需求和原型,分析出来,从业务逻辑上,是一个公司对应多个银行信息、多个发票信息,对于每个字段的关键改动,记录变更前后的数据。

2.1、表设计

表设计如下:

sql
t_oa_enterprise  企业基础信息表
t_oa_bank        企业银行表
t_oa_invoice     企业发票表
t_data_tracer    数据变动记录表

具体可以打开smart_admin_v3数据库查看对应的表结构

2.2、表关联

从需求中:一个公司对应多个银行信息、多个发票信息,所以在 t_oa_bankt_oa_invoice表中都存在 enterpriseId : 企业id字段 用于实现关联。

三、编写Java代码

3.1、 分包

从需求中,了解到:企业、银行、发票 这三个需求都属于业务范畴,所以我可以写到 sa-admin项目的module/business包;而数据变动记录,我思考了下,肯定将来还会有其他的需求需要使用,于是我决定将“变动”记录写到sa-base项目中的module/support包,用于“支撑Support”其他业务。 即:

  • 公司、银行、发票 -> sa-adminmodule/business/*
  • 数据变更记录 -> sa-basemodule/support/datatracer

3.2、定义Class

创建公司、银行、发票数据变更记录包结构:

公司、银行、发票数据变更记录

创建完package包结构以后,就可以编写mvc代码了,即 传说中的:controller、Service、Manager、Dao、Mapper、Domin文件了;

3.4、定义javabean

根据java规范 V2 ,定义如下javabean:

java
/domain/
|---entity                               数据库对应子包
|---|---EnterpriseEntity.java                企业实体类
|---form                                 表单子包
|---|---EnterpriseCreateForm.java            增加企业表单
|---|---EnterpriseQueryForm.java             查询企业列表表单
|---|---EnterpriseUpdateForm.java            更新企业表单
|---vo                                    返回前端对象子包
|---|---EnterpriseVO.java                    企业列表对象

3.5、定义常量

在需求中,了解到 “企业类型” 字段为枚举变量,所以创建常量子包和常量类:
net.lab1024.sa.admin.module.business.oa.enterprise.constant.EnterpriseTypeEnum
具体内容:

java
public enum EnterpriseTypeEnum implements BaseEnum {
   
    NORMAL(1, "有限企业"),

    FOREIGN(2, "外资企业");

    private Integer value;
    private String desc;

    EnterpriseTypeEnum(Integer value, String desc) {
        this.value = value;
        this.desc = desc;
    }
    @Override
    public Integer getValue() {
        return value;
    }
    @Override
    public String getDesc() {
        return desc;
    }
}

3.6、编写增删查改

开始编写具体的增删查改了,需要注意的有如下:

更详细的代码请研读sa-admin项目中的net.lab1024.sa.admin.module.business.oa的代码。
在线阅读代码

四、总结

  • 第一步:分析需求
  • 第二步:创建表结构
  • 第三步:拆分需求属于 业务类,还是 支撑类,业务类写到sa-base项目的module包,支撑类写到sa-base项目的moudle包
  • 第四步:按照java规范 编写 mvc三层或者四层代码了

以上,你get到了吗 ?


联系我们

1024创新实验室-主任:卓大,混迹于各个技术圈,研究过计算机,熟悉点 java,略懂点前端。
1024创新实验室 致力于成为中原领先、国内一流的技术团队, 以AI+数字化为驱动,用技术为产业互联网提供无限可能, 业务如下:
  • 教育领域(高职院校数字化、就业创业大数据平台、继续教育平台;在线教育系统、视频直播、题库等,包含:医学、应急管理、成考、专升本等)
  • 供应链领域(网络货运平台、大宗贸易进销存ERP、物流管理TMS、B2B电商、仓储WMS、AI提效等)
  • 中医领域(诊所数字化管理、互联网医院、AI辅助诊疗、中医适宜技术、在线云问诊、空中药房等)
  • AI+软件领域(软件定制外包、开源技术、数据大屏、国产化改造、技术升级换代、人员外包、技术顾问、技术培训等)
加微信: 卓大
拉你入群,一起学习
公众号 :六边形工程师
分享:赚钱、代码、生活
请 “1024创新实验室”
烩面里加肉
咖啡配胡辣汤,提神又饱腹
抖音 : 六边形工程师
直播:赚钱、代码、中医