pigx框架 源码_pigx开发示范之旅:客户模块开发

本文在

基础上开始,本模块主要示范多对多的开发。

一、用 代码生成工具 生成客户模块相关表文件

客户模块涉及三张表,cst_customer、bas_qualification、cst_customer_qualification

其中:cst_customer、cst_customer_qualification属于customer模块,bas_qualification属于base模块,它们分别对应目录结构中的customer及base目录。

生成三张表的文件后,将生成的后端代码复制到相应目录,注意还有mpper.xml文件。

二、修改 实体 类

由于表的主键采用UUID,所以需要修改实体类的Id属性,如下

原来为:

@TableId

private Stringid;

改为:

@TableId(value="id",type=IdType.UUID)

private Stringid;

这里只修改customer、qualification实体

三、客户模块功能设计

实现客户的增删改查

增加实现客户和客户的资质一起增加,即客户表和客户的资质表一起保存,增加是时,如果客户id、客户名称已存在,则提示:客户已存在,保存失败!

删除实现客户和客户的资质一起删除

修改实现客户和客户的资质一起修改,如果修改后的客户名称已存在,则提示:客户名称重复,更新失败!

查询实现按关键字匹配客户名称、资质名称,同时资质表在前端作为下拉查询条件匹配资质名称

四、值对象设计

从需求来看,客户对象包含客户资质对象,在customer实体中只有cst_customer表的字段属性,由于customer实体是自动生成的,考虑需求变化对表结构的影响,因此不在customer实体中添加对客户资质对象的引用,单独建立一个值对象CustomerVO来负责与前端交互,增删改查操作的对象都将是CustomerVO。

package com.mycompany.mydemo.customer.vo;

import com.mycompany.mydemo.base.entity.Qualification;

import lombok.Data;

import java.io.Serializable;

import java.util.List;

@Data

public class CustomerVO  implements Serializable {

private static final long serialVersionUID = 1L;

/**

* 主键

*/

private String id;

/**

* 客户名称

*/

private String name;

/**

* 资质列表

*/

private List qualificationList;

}

在客户查询这个需求上,有两个查询条件,一个是关键字、另一个是资质名称

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值