Java-单机版的书店管理系统(练习设计模块和思想_系列 八 (1))

简介: Java-单机版的书店管理系统(练习设计模块和思想_系列 八 )

介绍:


完成了销售模块。


因为销售模块和进货模块惊人的相似,

我就利用代码拷贝技术,直接拷贝进货模块的代码了,只是改了类名和变量名。

这对于以后在公司开发项目是有好处的,

能节省大量的时间!而且不容易出错。大家如果以后开发项目可以学学这种拷贝代码,修改代码名称类名来完成功能几乎一样的模块。


销售模块源代码:


值对象封装OutMainModel:

package cn.hncu.bookStore.out.vo;
import java.io.Serializable;
import cn.hncu.bookStore.util.DateUtil;
/**
 * 销售管理值对象封装
 * @author 陈浩翔
 *
 * @version 1.0
 */
public class OutMainModel implements Serializable, Comparable<OutMainModel>{
    //销售单编号
    private String uuid;
    //销售时间
    private long outDate;
    //销售人员编号
    private String outUserId;
    /* 
       如果某个字段是外键,同时又需要在当前表中相应表现层显示出用户能看得懂
     的信息,则需要补一个专用于信息显示(给用户看)的字段。
     */
    private String outUserName;
    public String getOutUserName() {
        return outUserName;
    }
    public void setOutUserName(String outUserName) {
        this.outUserName = outUserName;
    }
    /**
     * 
     * @return ---返回销售单编号(String型)
     */
    public String getUuid() {
        return uuid;
    }
    /**
     * 
     * @param uuid---设置销售单编号(String型)
     */
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }
    /**
     * 
     * @return---返回销售时间(long型)
     */
    public long getOutDate() {
        return outDate;
    }
    /**
     * 
     * @param outDate---设置销售时间(long型)
     */
    public void setOutDate(long outDate) {
        this.outDate = outDate;
    }
    /**
     * 
     * @return---返回销售人员编号(String型)
     */
    public String getOutUserId() {
        return outUserId;
    }
    /**
     * 
     * @param outUserId---设置销售人员编号(String型)
     */
    public void setOutUserId(String outUserId) {
        this.outUserId = outUserId;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        OutMainModel other = (OutMainModel) obj;
        if (uuid == null) {
            if (other.uuid != null)
                return false;
        } else if (!uuid.equals(other.uuid))
            return false;
        return true;
    }
    @Override
    public String toString() {
        return uuid + ", " + outUserName
                + ", " + DateUtil.long2String(outDate);
    }
    @Override
    public int compareTo(OutMainModel o) {
        return Integer.parseInt(uuid)-Integer.parseInt(o.uuid);
    }
}


值对象查询封装OutMainQueryModel:

package cn.hncu.bookStore.out.vo;
/**
 * 销售查询值对象封装
 * @author 陈浩翔
 *
 * @version 1.0
 */
public class OutMainQueryModel extends OutMainModel {
    //需要查询的最大时间
    private long outDate2;
    /**
     * 
     * @return---需要查询的最大时间值
     */
    public long getOutDate2() {
        return outDate2;
    }
    /**
     * 
     * @param outDate2---设置需要查询的最大时间
     */
    public void setOutDate2(long inDate2) {
        this.outDate2 = outDate2;
    }
}

销售明细值对象封装OutDetailModel:

package cn.hncu.bookStore.out.vo;
import java.io.Serializable;
/**
 * 销售明细管理的值对象封装
 * @author 陈浩翔
 *
 * @version 1.0
 */
public class OutDetailModel implements Serializable{
    //销售明细编号
    private String uuid;
    //销售单编号
    private String outId;
    //图书编号
    private String bookId;
    //销售数量
    private int sumNum;
    //销售总金额
    private double sumMoney;
    //为把书名显示给用户看,给bookUuid添加一个bookName属性
    private String bookName;
    public String getBookName() {
        return bookName;
    }
    public void setBookName(String bookName) {
        this.bookName = bookName;
    }
    public String getUuid() {
        return uuid;
    }
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }
    public String getOutId() {
        return outId;
    }
    public void setOutId(String outId) {
        this.outId = outId;
    }
    public String getBookId() {
        return bookId;
    }
    public void setBookId(String bookId) {
        this.bookId = bookId;
    }
    public int getSumNum() {
        return sumNum;
    }
    public void setSumNum(int sumNum) {
        this.sumNum = sumNum;
    }
    public double getSumMoney() {
        return sumMoney;
    }
    public void setSumMoney(double sumMoney) {
        this.sumMoney = sumMoney;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        OutDetailModel other = (OutDetailModel) obj;
        if (uuid == null) {
            if (other.uuid != null)
                return false;
        } else if (!uuid.equals(other.uuid))
            return false;
        return true;
    }
    @Override
    public String toString() {
        return uuid +", "+bookName + ", " + sumNum
                + "本, " + sumMoney + "元";
    }
}

销售明细查询值对象封装OutDetailQueryModel:

package cn.hncu.bookStore.out.vo;
/**
 * 销售明细查询值对象封装
 * @author 陈浩翔
 *
 * @version 1.0
 */
public class OutDetailQueryModel extends OutDetailModel {
    //需要查询的最大销售数量
    private int sumNum2;
    //需要查询的最大销售金额
    private double sumMoney2;
    /**
     * 
     * @return---返回需要查询的最大销售数量
     */
    public int getSumNum2() {
        return sumNum2;
    }
    /**
     * 
     * @param sumNum2---设置需要查询的最大销售数量
     */
    public void setSumNum2(int sumNum2) {
        this.sumNum2 = sumNum2;
    }
    /**
     * 
     * @return---返回需要查询的最大销售金额
     */
    public double getSumMoney2() {
        return sumMoney2;
    }
    /**
     * 
     * @param sumMoney2---设置需要查询的最大销售金额
     */
    public void setSumMoney2(double sumMoney2) {
        this.sumMoney2 = sumMoney2;
    }
}


数据层接口OutMainDao:

package cn.hncu.bookStore.out.dao.dao;
import java.util.List;
import cn.hncu.bookStore.out.vo.OutMainModel;
import cn.hncu.bookStore.out.vo.OutMainQueryModel;
/**
 * 销售管理数据层接口
 * 
 * @author 陈浩翔
 * 
 * @version 1.0
 */
public interface OutMainDao {
    /**
     * 创建一个销售数据对象
     * @param outMain---需要创建的销售数据对象
     * @return---true 表示创建成功,false 表示创建失败
     */
    public boolean create(OutMainModel outMain);
    /**
     * 删除一个销售数据对象
     * @param uuid---销售单的编号-唯一的
     * @return---true表示删除成功, false表示删除失败
     */
    public boolean delete(String uuid);
    /**
     * 修改一个销售数据的对象
     * @param outMain---需要修改的销售管理对象
     * @return---true表示修改成功,false表示修改失败
     */
    public boolean update(OutMainModel outMain);
    /**
     * 根据销售单编号,得到销售对象的其他信息资料
     * @param uuid---销售单编号
     * @return---该对象的其他其他信息资料
     */
    public OutMainModel getSingle(String uuid);
    /**
     * 
     * @return---所有的销售管理对象信息
     */
    public List<OutMainModel> getAll();
    /**
     * 查找销售管理对象
     * @param imqm---查找条件!
     * @return---满足查找条件的所有OutMainModel对象
     */
    public List<OutMainModel> getbyCondition(OutMainQueryModel omqm);
}
目录
相关文章
|
3月前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
2月前
|
移动开发 监控 小程序
java家政平台源码,家政上门清洁系统源码,数据多端互通,可直接搭建使用
一款基于Java+SpringBoot+Vue+UniApp开发的家政上门系统,支持小程序、APP、H5、公众号多端互通。涵盖用户端、技工端与管理后台,支持多城市、服务分类、在线预约、微信支付、抢单派单、技能认证、钱包提现等功能,源码开源,可直接部署使用。
264 24
|
2月前
|
设计模式 消息中间件 传感器
Java 设计模式之观察者模式:构建松耦合的事件响应系统
观察者模式是Java中常用的行为型设计模式,用于构建松耦合的事件响应系统。当一个对象状态改变时,所有依赖它的观察者将自动收到通知并更新。该模式通过抽象耦合实现发布-订阅机制,广泛应用于GUI事件处理、消息通知、数据监控等场景,具有良好的可扩展性和维护性。
321 8
|
2月前
|
安全 前端开发 Java
使用Java编写UDP协议的简易群聊系统
通过这个基础框架,你可以进一步增加更多的功能,例如用户认证、消息格式化、更复杂的客户端界面等,来丰富你的群聊系统。
182 11
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
Java与生成式AI:构建内容生成与创意辅助系统
生成式AI正在重塑内容创作、软件开发和创意设计的方式。本文深入探讨如何在Java生态中构建支持文本、图像、代码等多种生成任务的创意辅助系统。我们将完整展示集成大型生成模型(如GPT、Stable Diffusion)、处理生成任务队列、优化生成结果以及构建企业级生成式AI应用的全流程,为Java开发者提供构建下一代创意辅助系统的完整技术方案。
234 10
|
2月前
|
人工智能 监控 Java
Java与AI智能体:构建自主决策与工具调用的智能系统
随着AI智能体技术的快速发展,构建能够自主理解任务、制定计划并执行复杂操作的智能系统已成为新的技术前沿。本文深入探讨如何在Java生态中构建具备工具调用、记忆管理和自主决策能力的AI智能体系统。我们将完整展示从智能体架构设计、工具生态系统、记忆机制到多智能体协作的全流程,为Java开发者提供构建下一代自主智能系统的完整技术方案。
495 4
|
2月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
380 0
|
供应链 数据安全/隐私保护
Java-单机版的书店管理系统(练习设计模块和思想_系列汇总(4))
Java-单机版的书店管理系统(练习设计模块和思想_系列汇总(4))
155 0
Java-单机版的书店管理系统(练习设计模块和思想_系列汇总(4))
|
存储
Java-单机版的书店管理系统(练习设计模块和思想_系列 七(1) )
Java-单机版的书店管理系统(练习设计模块和思想_系列 七 )
204 0
Java-单机版的书店管理系统(练习设计模块和思想_系列 七(1) )
Java-单机版的书店管理系统(练习设计模块和思想_系列 六 (1))
Java-单机版的书店管理系统(练习设计模块和思想_系列 六 )
117 0
Java-单机版的书店管理系统(练习设计模块和思想_系列 六 (1))