苦尽甘来 一个月学通JavaWeb(四十五 WMS系统)

版权声明:Genius https://blog.csdn.net/weixin_41987706/article/details/88818153

夜光序言:

深窗雨帘,我独倚凭栏,不是等待你回来,而是目送你远去。

 

 

正文:

package com.ken.wms.common.service.Interface;


import com.ken.wms.domain.Customer;
import com.ken.wms.exception.CustomerManageServiceException;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * 客户信息管理 service
 *
 * @author Ken /  Yeguang / Genius Team
 */
public interface CustomerManageService {

    /**
     * 返回指定customer id 的客户记录
     *
     * @param customerId 客户ID
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectById(Integer customerId) throws CustomerManageServiceException;

    /**
     * 返回指定 customer name 的客户记录
     * 支持查询分页以及模糊查询
     *
     * @param offset       分页的偏移值
     * @param limit        分页的大小
     * @param customerName 客户的名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByName(int offset, int limit, String customerName) throws CustomerManageServiceException;

    /**
     * 返回指定 customer Name 的客户记录
     * 支持模糊查询
     *
     * @param customerName 客户名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByName(String customerName) throws CustomerManageServiceException;

    /**
     * 分页查询客户的记录
     *
     * @param offset 分页的偏移值
     * @param limit  分页的大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll(int offset, int limit) throws CustomerManageServiceException;

    /**
     * 查询所有客户的记录
     *
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll() throws CustomerManageServiceException;

    /**
     * 添加客户信息
     *
     * @param customer 客户信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean addCustomer(Customer customer) throws CustomerManageServiceException;

    /**
     * 更新客户信息
     *
     * @param customer 客户信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean updateCustomer(Customer customer) throws CustomerManageServiceException;

    /**
     * 删除客户信息
     *
     * @param customerId 客户ID
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean deleteCustomer(Integer customerId) throws CustomerManageServiceException;

    /**
     * 从文件中导入客户信息
     *
     * @param file 导入信息的文件
     * @return 返回一个Map,其中:key为total代表导入的总记录数,key为available代表有效导入的记录数
     */
    Map<String, Object> importCustomer(MultipartFile file) throws CustomerManageServiceException;

    /**
     * 导出客户信息到文件中
     *
     * @param customers 包含若干条 customer 信息的 List
     * @return Excel 文件
     */
    File exportCustomer(List<Customer> customers);
}
package com.ken.wms.common.service.Interface;


import com.ken.wms.domain.Goods;
import com.ken.wms.exception.GoodsManageServiceException;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * 货物信息管理 service
 *
 * @author Ken /  Yeguang / Genius Team
 */
public interface GoodsManageService {

    /**
     * 返回指定goods ID 的货物记录
     *
     * @param goodsId 货物ID
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectById(Integer goodsId) throws GoodsManageServiceException;

    /**
     * 返回指定 goods name 的货物记录
     * 支持查询分页以及模糊查询
     *
     * @param offset    分页的偏移值
     * @param limit     分页的大小
     * @param goodsName 货物的名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByName(int offset, int limit, String goodsName) throws GoodsManageServiceException;

    /**
     * 返回指定 goods name 的货物记录
     * 支持模糊查询
     *
     * @param goodsName 货物名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByName(String goodsName) throws GoodsManageServiceException;

    /**
     * 分页查询货物记录
     *
     * @param offset 分页的偏移值
     * @param limit  分页的大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll(int offset, int limit) throws GoodsManageServiceException;

    /**
     * 查询所有的货物记录
     *
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll() throws GoodsManageServiceException;

    /**
     * 添加货物记录
     *
     * @param goods 货物信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean addGoods(Goods goods) throws GoodsManageServiceException;

    /**
     * 更新货物记录
     *
     * @param goods 供应商信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean updateGoods(Goods goods) throws GoodsManageServiceException;

    /**
     * 删除货物记录
     *
     * @param goodsId 货物ID
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean deleteGoods(Integer goodsId) throws GoodsManageServiceException;

    /**
     * 从文件中导入货物信息
     *
     * @param file 导入信息的文件
     * @return 返回一个Map,其中:key为total代表导入的总记录数,key为available代表有效导入的记录数
     */
    Map<String, Object> importGoods(MultipartFile file) throws GoodsManageServiceException;

    /**
     * 导出货物信息到文件中
     *
     * @param goods 包含若干条 Supplier 信息的 List
     * @return excel 文件
     */
    File exportGoods(List<Goods> goods);
}
package com.ken.wms.common.service.Interface;


import com.ken.wms.domain.RepositoryAdmin;
import com.ken.wms.exception.RepositoryAdminManageServiceException;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * 仓库管理员管理 service
 *
 * @author Ken /  Yeguang / Genius Team
 */
public interface RepositoryAdminManageService {

    /**
     * 返回指定repository id 的仓库管理员记录
     *
     * @param repositoryAdminID 仓库管理员ID
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByID(Integer repositoryAdminID) throws RepositoryAdminManageServiceException;

    /**
     * 返回所属指定 repositoryID 的仓库管理员信息
     *
     * @param repositoryID 仓库ID 其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     * @return 返回一个Map,
     */
    Map<String, Object> selectByRepositoryID(Integer repositoryID) throws RepositoryAdminManageServiceException;

    /**
     * 返回指定 repository address 的仓库管理员记录
     * 支持查询分页以及模糊查询
     *
     * @param offset 分页的偏移值
     * @param limit  分页的大小
     * @param name   仓库管理员的名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByName(int offset, int limit, String name);

    /**
     * 返回指定 repository Name 的仓库管理员记录
     * 支持模糊查询
     *
     * @param name 仓库管理员名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByName(String name);

    /**
     * 分页查询仓库管理员的记录
     *
     * @param offset 分页的偏移值
     * @param limit  分页的大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll(int offset, int limit) throws RepositoryAdminManageServiceException;

    /**
     * 查询所有仓库管理员的记录
     *
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll() throws RepositoryAdminManageServiceException;

    /**
     * 添加仓库管理员信息
     *
     * @param repositoryAdmin 仓库管理员信息
     * @return 返回一个boolean值,值为true代表添加成功,否则代表失败
     */
    boolean addRepositoryAdmin(RepositoryAdmin repositoryAdmin) throws RepositoryAdminManageServiceException;

    /**
     * 更新仓库管理员信息
     *
     * @param repositoryAdmin 仓库管理员信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean updateRepositoryAdmin(RepositoryAdmin repositoryAdmin) throws RepositoryAdminManageServiceException;

    /**
     * 删除仓库管理员信息
     *
     * @param repositoryAdminID 仓库管理员ID
     * @return 返回一个boolean值,值为true代表删除成功,否则代表失败
     */
    boolean deleteRepositoryAdmin(Integer repositoryAdminID) throws RepositoryAdminManageServiceException;

    /**
     * 为仓库管理员指派指定 ID 的仓库
     *
     * @param repositoryAdminID 仓库管理员ID
     * @param repositoryID      所指派的仓库ID
     * @return 返回一个 boolean 值,值为 true 表示仓库指派成功,否则表示失败
     */
    boolean assignRepository(Integer repositoryAdminID, Integer repositoryID) throws RepositoryAdminManageServiceException;

    /**
     * 从文件中导入仓库管理员信息
     *
     * @param file 导入信息的文件
     * @return 返回一个Map,其中:key为total代表导入的总记录数,key为available代表有效导入的记录数
     */
    Map<String, Object> importRepositoryAdmin(MultipartFile file) throws RepositoryAdminManageServiceException;

    /**
     * 导出仓库管理员信息到文件中
     *
     * @param repositoryAdmins 包含若干条 repository 信息的 List
     * @return Excel 文件
     */
    File exportRepositoryAdmin(List<RepositoryAdmin> repositoryAdmins);
}
package com.ken.wms.common.service.Interface;


import com.ken.wms.domain.Repository;
import com.ken.wms.exception.RepositoryManageServiceException;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * 仓库信息管理 service
 *
 * @author Ken /  Yeguang / Genius Team
 */
public interface RepositoryService {

    /**
     * 返回指定 repository ID 的仓库记录
     *
     * @param repositoryId 仓库ID
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectById(Integer repositoryId) throws RepositoryManageServiceException;

    /**
     * 返回指定 repository address 的仓库记录
     * 支持查询分页以及模糊查询
     *
     * @param offset  分页的偏移值
     * @param limit   分页的大小
     * @param address 仓库的地址
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByAddress(int offset, int limit, String address) throws RepositoryManageServiceException;

    /**
     * 返回指定 repository address 的仓库记录
     * 支持模糊查询
     *
     * @param address 仓库名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByAddress(String address) throws RepositoryManageServiceException;

    /**
     * 分页查询仓库记录
     *
     * @param offset 分页的偏移值
     * @param limit  分页的大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll(int offset, int limit) throws RepositoryManageServiceException;

    /**
     * 查询所有的仓库记录
     *
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll() throws RepositoryManageServiceException;

    /**
     * 查询所有未指派仓库管理员的仓库记录
     *
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectUnassign() throws RepositoryManageServiceException;

    /**
     * 添加仓库记录
     *
     * @param repository 仓库信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean addRepository(Repository repository) throws RepositoryManageServiceException;

    /**
     * 更新仓库记录
     *
     * @param repository 仓库信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean updateRepository(Repository repository) throws RepositoryManageServiceException;

    /**
     * 删除仓库记录
     *
     * @param repositoryId 仓库ID
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean deleteRepository(Integer repositoryId) throws RepositoryManageServiceException;

    /**
     * 从文件中导入仓库信息
     *
     * @param file 导入信息的文件
     * @return 返回一个Map,其中:key为total代表导入的总记录数,key为available代表有效导入的记录数
     */
    Map<String, Object> importRepository(MultipartFile file) throws RepositoryManageServiceException;

    /**
     * 导出仓库信息到文件中
     *
     * @param repositories 包含若干条 Supplier 信息的 List
     * @return excel 文件
     */
    File exportRepository(List<Repository> repositories);
}
package com.ken.wms.common.service.Interface;

import com.ken.wms.exception.StockRecordManageServiceException;

import java.util.Map;

/**
 * 出入库管理
 *
 * @author Ken /  Yeguang / Genius Team
 */
public interface StockRecordManageService {

    /**
     * 货物入库操作
     *
     * @param supplierID   供应商ID
     * @param goodsID      货物ID
     * @param repositoryID 入库仓库ID
     * @param number       入库数量
     * @return 返回一个boolean 值,若值为true表示入库成功,否则表示入库失败
     */
    boolean stockInOperation(Integer supplierID, Integer goodsID, Integer repositoryID, long number, String personInCharge) throws StockRecordManageServiceException;

    /**
     * 货物出库操作
     *
     * @param customerID   客户ID
     * @param goodsID      货物ID
     * @param repositoryID 出库仓库ID
     * @param number       出库数量
     * @return 返回一个boolean值,若值为true表示出库成功,否则表示出库失败
     */
    boolean stockOutOperation(Integer customerID, Integer goodsID, Integer repositoryID, long number, String personInCharge) throws StockRecordManageServiceException;

    /**
     * 查询出入库记录
     *
     * @param repositoryID 仓库ID
     * @param endDateStr   查询记录起始日期
     * @param startDateStr 查询记录结束日期
     * @param searchType   记录查询方式
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectStockRecord(Integer repositoryID, String startDateStr, String endDateStr, String searchType) throws StockRecordManageServiceException;

    /**
     * 分页查询出入库记录
     *
     * @param repositoryID 仓库ID
     * @param endDateStr   查询记录起始日期
     * @param startDateStr 查询记录结束日期
     * @param searchType   记录查询方式
     * @param offset       分页偏移值
     * @param limit        分页大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectStockRecord(Integer repositoryID, String startDateStr, String endDateStr, String searchType, int offset, int limit) throws StockRecordManageServiceException;
}
package com.ken.wms.common.service.Interface;


import com.ken.wms.domain.Storage;
import com.ken.wms.exception.StorageManageServiceException;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * 库存信息管理 service
 *
 * @author Ken /  Yeguang / Genius Team
 */
public interface StorageManageService {

    /**
     * 返回所有的库存记录
     *
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll(Integer repositoryID) throws StorageManageServiceException;

    /**
     * 分页返回所有的库存记录
     *
     * @param offset 分页偏移值
     * @param limit  分页大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll(Integer repositoryID, int offset, int limit) throws StorageManageServiceException;

    /**
     * 返回指定货物ID的库存记录
     *
     * @param goodsID 指定的货物ID
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByGoodsID(Integer goodsID, Integer repositoryID) throws StorageManageServiceException;

    /**
     * 分页返回指定的货物库存记录
     *
     * @param goodsID 指定的货物ID
     * @param offset  分页偏移值
     * @param limit   分页大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByGoodsID(Integer goodsID, Integer repositoryID, int offset, int limit) throws StorageManageServiceException;

    /**
     * 返回指定货物名称的库存记录
     *
     * @param goodsName 货物名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByGoodsName(String goodsName, Integer repositoryID) throws StorageManageServiceException;

    /**
     * 分页返回指定货物名称的库存记录
     *
     * @param goodsName 货物名称
     * @param offset    分页偏移值
     * @param limit     分页大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByGoodsName(String goodsName, Integer repositoryID, int offset, int limit) throws StorageManageServiceException;

    /**
     * 返回指定货物类型的库存记录
     *
     * @param goodsType 指定的货物类型
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByGoodsType(String goodsType, Integer Repository) throws StorageManageServiceException;

    /**
     * 分页返回指定货物类型的库存记录
     *
     * @param goodsType 指定的货物类型
     * @param offset    分页偏移值
     * @param limit     分页大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByGoodsType(String goodsType, Integer repositoryID, int offset, int limit) throws StorageManageServiceException;

    /**
     * 添加一条库存记录
     *
     * @param goodsID      指定的货物ID
     * @param repositoryID 指定的仓库ID
     * @param number       库存数量
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean addNewStorage(Integer goodsID, Integer repositoryID, long number) throws StorageManageServiceException;

    /**
     * 更新一条库存记录
     *
     * @param goodsID      指定的货物ID
     * @param repositoryID 指定的仓库ID
     * @param number       更新的库存数量
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean updateStorage(Integer goodsID, Integer repositoryID, long number) throws StorageManageServiceException;

    /**
     * 为指定的货物库存记录增加指定数目
     *
     * @param goodsID      货物ID
     * @param repositoryID 仓库ID
     * @param number       增加的数量
     * @return 返回一个 boolean 值,若值为true表示数目增加成功,否则表示增加失败
     */
    boolean storageIncrease(Integer goodsID, Integer repositoryID, long number) throws StorageManageServiceException;

    /**
     * 为指定的货物库存记录减少指定的数目
     *
     * @param goodsID      货物ID
     * @param repositoryID 仓库ID
     * @param number       减少的数量
     * @return 返回一个 boolean 值,若值为 true 表示数目减少成功,否则表示增加失败
     */
    boolean storageDecrease(Integer goodsID, Integer repositoryID, long number) throws StorageManageServiceException;

    /**
     * 删除一条库存记录
     * 货物ID与仓库ID可唯一确定一条库存记录
     *
     * @param goodsID      指定的货物ID
     * @param repositoryID 指定的仓库ID
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean deleteStorage(Integer goodsID, Integer repositoryID) throws StorageManageServiceException;

    /**
     * 导入库存记录
     *
     * @param file 保存有的库存记录的文件
     * @return 返回一个Map,其中:key为total代表导入的总记录数,key为available代表有效导入的记录数
     */
    Map<String, Object> importStorage(MultipartFile file) throws StorageManageServiceException;

    /**
     * 导出库存记录
     *
     * @param storages 保存有库存记录的List
     * @return excel 文件
     */
    File exportStorage(List<Storage> storages);
}
package com.ken.wms.common.service.Interface;


import com.ken.wms.domain.Supplier;
import com.ken.wms.exception.SupplierManageServiceException;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * 供应商信息管理 service
 *
 * @author Ken /  Yeguang / Genius Team
 */
public interface SupplierManageService {

    /**
     * 返回指定supplierID 的供应商记录
     *
     * @param supplierId 供应商ID
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectById(Integer supplierId) throws SupplierManageServiceException;

    /**
     * 返回指定 supplierName 的供应商记录
     * 支持查询分页以及模糊查询
     *
     * @param offset       分页的偏移值
     * @param limit        分页的大小
     * @param supplierName 供应商的名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByName(int offset, int limit, String supplierName) throws SupplierManageServiceException;

    /**
     * 返回指定 supplierName 的供应商记录
     * 支持模糊查询
     *
     * @param supplierName supplierName 供应商名称
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectByName(String supplierName) throws SupplierManageServiceException;

    /**
     * 分页查询供应商记录
     *
     * @param offset 分页的偏移值
     * @param limit  分页的大小
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll(int offset, int limit) throws SupplierManageServiceException;

    /**
     * 查询所有的供应商记录
     *
     * @return 结果的一个Map,其中: key为 data 的代表记录数据;key 为 total 代表结果记录的数量
     */
    Map<String, Object> selectAll() throws SupplierManageServiceException;

    /**
     * 添加供应商记录
     *
     * @param supplier 供应商信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean addSupplier(Supplier supplier) throws SupplierManageServiceException;

    /**
     * 更新供应商记录
     *
     * @param supplier 供应商信息
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean updateSupplier(Supplier supplier) throws SupplierManageServiceException;

    /**
     * 删除供应商记录
     *
     * @param supplierId 供应商ID
     * @return 返回一个boolean值,值为true代表更新成功,否则代表失败
     */
    boolean deleteSupplier(Integer supplierId);

    /**
     * 从文件中导入供应商信息
     *
     * @param file 导入信息的文件
     * @return 返回一个Map,其中:key为total代表导入的总记录数,key为available代表有效导入的记录数
     */
    Map<String, Object> importSupplier(MultipartFile file);

    /**
     * 导出供应商信息到文件中
     *
     * @param suppliers 包含若干条 Supplier 信息的 List
     * @return excel 文件
     */
    File exportSupplier(List<Supplier> suppliers);
}
package com.ken.wms.common.service.Interface;

import com.ken.wms.exception.SystemLogServiceException;

import java.util.Map;

/**
 * 系统操作日志Service接口
 *
 * @author Ken /  Yeguang / Genius Team
 * @since 2019
 */
public interface SystemLogService {

    String ACCESS_TYPE_LOGIN = "login";
    String ACCESS_TYPE_LOGOUT = "logout";

    /**
     * 插入用户登入登出记录
     *
     * @param userID     用户ID
     * @param userName   用户名
     * @param accessIP   登陆IP
     * @param accessType 记录类型
     */
    void insertAccessRecord(Integer userID, String userName, String accessIP, String accessType) throws SystemLogServiceException;

    /**
     * 查询指定用户ID、记录类型或日期范围的登入登出记录
     *
     * @param userID       用户ID
     * @param accessType   记录类型
     * @param startDateStr 记录起始日期
     * @param endDateStr   记录结束日期
     * @return 返回一个Map, 其中键值为 data 的值为所有符合条件的记录, 而键值为 total 的值为符合条件的记录总条数
     */
    Map<String, Object> selectAccessRecord(Integer userID, String accessType, String startDateStr, String endDateStr) throws SystemLogServiceException;

    /**
     * 分页查询指定用户ID、记录类型或日期范围的登入登出记录
     *
     * @param userID       用户ID
     * @param accessType   记录类型
     * @param startDateStr 记录起始日期
     * @param endDateStr   记录结束日期
     * @param offset       分页偏移值
     * @param limit        分页大小
     * @return 返回一个Map, 其中键值为 data 的值为所有符合条件的记录, 而键值为 total 的值为符合条件的记录总条数
     */
    Map<String, Object> selectAccessRecord(Integer userID, String accessType, String startDateStr, String endDateStr, int offset, int limit) throws SystemLogServiceException;

    /**
     * 插入用户操作记录
     *
     * @param userID          执行操作的用户ID
     * @param userName        执行操作的用户名
     * @param operationName   操作的名称
     * @param operationResult 操作的记过
     */
    void insertUserOperationRecord(Integer userID, String userName, String operationName, String operationResult) throws SystemLogServiceException;

    /**
     * 查询指定用户ID或日期范围的用户操作记录
     *
     * @param userID       用户ID
     * @param startDateStr 记录的起始日期
     * @param endDateStr   记录的结束日期
     * @return 返回一个Map, 其中键值为 data 的值为所有符合条件的记录, 而键值为 total 的值为符合条件的记录总条数
     */
    Map<String, Object> selectUserOperationRecord(Integer userID, String startDateStr, String endDateStr) throws SystemLogServiceException;

    /**
     * 分页查询指定用户ID或日期范围的用户操作记录
     *
     * @param userID       用户ID
     * @param startDateStr 记录的起始日期
     * @param endDateStr   记录的结束日期
     * @param offset       分页的偏移值
     * @param limit        分页的大小
     * @return 返回一个Map, 其中键值为 data 的值为所有符合条件的记录, 而键值为 total 的值为符合条件的记录总条数
     */
    Map<String, Object> selectUserOperationRecord(Integer userID, String startDateStr, String endDateStr, int offset, int limit) throws SystemLogServiceException;
}

猜你喜欢

转载自blog.csdn.net/weixin_41987706/article/details/88818153