├── .idea
├── .name
├── logistics.iml
├── encodings.xml
├── misc.xml
└── compiler.xml
├── src
└── main
│ ├── resources
│ ├── file.properties
│ ├── log4j.properties
│ ├── mapper
│ │ ├── sys
│ │ │ ├── DeptMapper.xml
│ │ │ ├── UserMapper.xml
│ │ │ ├── NoticeMapper.xml
│ │ │ ├── LoginfoMapper.xml
│ │ │ ├── PermissionMapper.xml
│ │ │ └── RoleMapper.xml
│ │ └── bus
│ │ │ ├── GoodsMapper.xml
│ │ │ ├── InportMapper.xml
│ │ │ ├── CustomerMapper.xml
│ │ │ └── ProviderMapper.xml
│ └── application.yml
│ └── java
│ └── com
│ └── dev
│ └── warehouse
│ ├── sys
│ ├── common
│ │ ├── Constants.java
│ │ ├── ActiverUser.java
│ │ ├── DataGridView.java
│ │ ├── CacheBean.java
│ │ ├── TreeNodeBuilder.java
│ │ ├── SpringUtil.java
│ │ ├── Constast.java
│ │ ├── WebUtils.java
│ │ ├── ResultObj.java
│ │ ├── PinyinUtils.java
│ │ ├── TreeNode.java
│ │ └── AppFileUtils.java
│ ├── service
│ │ ├── IDeptService.java
│ │ ├── INoticeService.java
│ │ ├── ILoginfoService.java
│ │ ├── IPermissionService.java
│ │ ├── IUserService.java
│ │ ├── impl
│ │ │ ├── LoginfoServiceImpl.java
│ │ │ ├── NoticeServiceImpl.java
│ │ │ ├── PermissionServiceImpl.java
│ │ │ ├── DeptServiceImpl.java
│ │ │ ├── UserServiceImpl.java
│ │ │ └── RoleServiceImpl.java
│ │ └── IRoleService.java
│ ├── mapper
│ │ ├── DeptMapper.java
│ │ ├── UserMapper.java
│ │ ├── LoginfoMapper.java
│ │ ├── NoticeMapper.java
│ │ ├── PermissionMapper.java
│ │ └── RoleMapper.java
│ ├── vo
│ │ ├── DeptVo.java
│ │ ├── PermissionVo.java
│ │ ├── UserVo.java
│ │ ├── RoleVo.java
│ │ ├── LoginfoVo.java
│ │ └── NoticeVo.java
│ ├── config
│ │ ├── MybatisPlusConfig.java
│ │ ├── ResourcesConfig.java
│ │ └── ShiroAutoConfiguration.java
│ ├── entity
│ │ ├── Loginfo.java
│ │ ├── Notice.java
│ │ ├── Role.java
│ │ ├── Dept.java
│ │ ├── Permission.java
│ │ └── User.java
│ ├── controller
│ │ ├── PhotoController.java
│ │ ├── CacheController.java
│ │ ├── FileController.java
│ │ ├── LoginfoController.java
│ │ ├── LoginController.java
│ │ ├── SystemController.java
│ │ ├── DeptController.java
│ │ ├── RoleController.java
│ │ ├── PermissionController.java
│ │ ├── NoticeController.java
│ │ └── MenuController.java
│ ├── cache
│ │ ├── CachePool.java
│ │ └── CacheAspect.java
│ └── realm
│ │ └── UserRealm.java
│ ├── bus
│ ├── mapper
│ │ ├── xml
│ │ │ ├── SalesMapper.xml
│ │ │ ├── OutportMapper.xml
│ │ │ └── SalesbackMapper.xml
│ │ ├── GoodsMapper.java
│ │ ├── SalesMapper.java
│ │ ├── InportMapper.java
│ │ ├── OutportMapper.java
│ │ ├── CustomerMapper.java
│ │ ├── ProviderMapper.java
│ │ └── SalesbackMapper.java
│ ├── service
│ │ ├── IGoodsService.java
│ │ ├── ISalesService.java
│ │ ├── IInportService.java
│ │ ├── ICustomerService.java
│ │ ├── IProviderService.java
│ │ ├── IOutportService.java
│ │ ├── ISalesbackService.java
│ │ └── impl
│ │ │ ├── GoodsServiceImpl.java
│ │ │ ├── CustomerServiceImpl.java
│ │ │ ├── ProviderServiceImpl.java
│ │ │ ├── SalesServiceImpl.java
│ │ │ ├── OutportServiceImpl.java
│ │ │ ├── SalesbackServiceImpl.java
│ │ │ └── InportServiceImpl.java
│ ├── vo
│ │ ├── GoodsVo.java
│ │ ├── ProviderVo.java
│ │ ├── CustomerVo.java
│ │ ├── InportVo.java
│ │ ├── SalesVo.java
│ │ ├── OutportVo.java
│ │ └── SalesbackVo.java
│ ├── entity
│ │ ├── Provider.java
│ │ ├── Customer.java
│ │ ├── Goods.java
│ │ ├── Sales.java
│ │ ├── Outport.java
│ │ ├── Inport.java
│ │ └── Salesback.java
│ ├── controller
│ │ ├── BusinessController.java
│ │ ├── OutportController.java
│ │ ├── SalesbackController.java
│ │ ├── SalesController.java
│ │ ├── CustomerController.java
│ │ ├── ProviderController.java
│ │ ├── InportController.java
│ │ └── GoodsController.java
│ └── cache
│ │ └── BusinessCacheAspect.java
│ └── WarehouseApplication.java
├── image
├── 1.jpg
├── 2.jpg
├── 3.jpg
├── 4.jpg
├── 5.jpg
├── 6.jpg
├── 7.jpg
├── 8.jpg
├── 9.jpg
└── 10.jpg
├── README.md
└── pom.xml
/.idea/.name:
--------------------------------------------------------------------------------
1 | warehouseSys
--------------------------------------------------------------------------------
/src/main/resources/file.properties:
--------------------------------------------------------------------------------
1 | filepath=E:/upload/
--------------------------------------------------------------------------------
/.idea/logistics.iml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/image/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/1.jpg
--------------------------------------------------------------------------------
/image/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/2.jpg
--------------------------------------------------------------------------------
/image/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/3.jpg
--------------------------------------------------------------------------------
/image/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/4.jpg
--------------------------------------------------------------------------------
/image/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/5.jpg
--------------------------------------------------------------------------------
/image/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/6.jpg
--------------------------------------------------------------------------------
/image/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/7.jpg
--------------------------------------------------------------------------------
/image/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/8.jpg
--------------------------------------------------------------------------------
/image/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/9.jpg
--------------------------------------------------------------------------------
/image/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nature924/No239Implement-a-simple-inventory-management-backend-system/HEAD/image/10.jpg
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/Constants.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 | public class Constants {
4 | /**
5 | * 资源映射路径 前缀
6 | */
7 | public static final String RESOURCE_PREFIX = "/profile";
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/resources/log4j.properties:
--------------------------------------------------------------------------------
1 | log4j.rootLogger=DEBUG, stdout
2 | # Console output...
3 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender
4 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
5 | log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
--------------------------------------------------------------------------------
/src/main/resources/mapper/sys/DeptMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/sys/UserMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/bus/GoodsMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/bus/InportMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/sys/NoticeMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/bus/CustomerMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/bus/ProviderMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/sys/LoginfoMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/IDeptService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.sys.entity.Dept;
5 |
6 | public interface IDeptService extends IService {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/xml/SalesMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/mapper/DeptMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.sys.entity.Dept;
5 |
6 |
7 | public interface DeptMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/mapper/UserMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.sys.entity.User;
5 |
6 | public interface UserMapper extends BaseMapper {
7 |
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/INoticeService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.sys.entity.Notice;
5 |
6 | public interface INoticeService extends IService {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/GoodsMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.bus.entity.Goods;
5 |
6 |
7 | public interface GoodsMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/SalesMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.bus.entity.Sales;
5 |
6 |
7 | public interface SalesMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/xml/OutportMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/InportMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.bus.entity.Inport;
5 |
6 |
7 | public interface InportMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/OutportMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.bus.entity.Outport;
5 |
6 |
7 | public interface OutportMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/xml/SalesbackMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/IGoodsService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.bus.entity.Goods;
5 |
6 |
7 | public interface IGoodsService extends IService {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/ISalesService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.bus.entity.Sales;
5 |
6 |
7 | public interface ISalesService extends IService {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/mapper/LoginfoMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.sys.entity.Loginfo;
5 |
6 |
7 | public interface LoginfoMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/mapper/NoticeMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.sys.entity.Notice;
5 |
6 |
7 | public interface NoticeMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/CustomerMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.bus.entity.Customer;
5 |
6 |
7 | public interface CustomerMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/ProviderMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.bus.entity.Provider;
5 |
6 |
7 | public interface ProviderMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/IInportService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.bus.entity.Inport;
5 |
6 |
7 | public interface IInportService extends IService {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/mapper/SalesbackMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.bus.entity.Salesback;
5 |
6 |
7 | public interface SalesbackMapper extends BaseMapper {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/ILoginfoService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.sys.entity.Loginfo;
5 |
6 |
7 | public interface ILoginfoService extends IService {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/ICustomerService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.bus.entity.Customer;
5 |
6 |
7 | public interface ICustomerService extends IService {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/IProviderService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.bus.entity.Provider;
5 |
6 |
7 | public interface IProviderService extends IService {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/IPermissionService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.sys.entity.Permission;
5 |
6 |
7 | public interface IPermissionService extends IService {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/vo/DeptVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.vo;
2 | import com.dev.warehouse.sys.entity.Dept;
3 | import lombok.Data;
4 | import lombok.EqualsAndHashCode;
5 |
6 | @Data
7 | @EqualsAndHashCode(callSuper = false)
8 | public class DeptVo extends Dept {
9 |
10 | private Integer page=1;
11 | private Integer limit=10;
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/vo/GoodsVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.vo;
2 |
3 |
4 | import com.dev.warehouse.bus.entity.Goods;
5 | import lombok.Data;
6 | import lombok.EqualsAndHashCode;
7 |
8 |
9 | @Data
10 | @EqualsAndHashCode(callSuper = false)
11 | public class GoodsVo extends Goods {
12 |
13 | private Integer page=1;
14 | private Integer limit=10;
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/vo/PermissionVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.vo;
2 |
3 | import com.dev.warehouse.sys.entity.Permission;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 |
7 |
8 | @Data
9 | @EqualsAndHashCode(callSuper = false)
10 | public class PermissionVo extends Permission {
11 |
12 | private Integer page=1;
13 | private Integer limit=10;
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/vo/UserVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.vo;
2 |
3 | import com.dev.warehouse.sys.entity.User;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 |
7 |
8 | @Data
9 | @EqualsAndHashCode(callSuper = false)
10 | public class UserVo extends User {
11 |
12 | private Integer page=1;
13 | private Integer limit=10;
14 |
15 | /**
16 | * 验证码
17 | */
18 | private String code;
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/IUserService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.sys.entity.User;
5 |
6 |
7 | public interface IUserService extends IService {
8 |
9 | /**
10 | * 保存用户和角色的关系
11 | * @param uid 用户的ID
12 | * @param ids 用户拥有的角色的ID的数组
13 | */
14 | void saveUserRole(Integer uid, Integer[] ids);
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/sys/PermissionMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | delete from sys_role_permission where pid = ${id}
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/IOutportService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.bus.entity.Outport;
5 |
6 |
7 | public interface IOutportService extends IService {
8 |
9 | /**
10 | * 对商品进货进行退货处理
11 | * @param id 进货单ID
12 | * @param number 退货数量
13 | * @param remark 备注
14 | */
15 | void addOutport(Integer id, Integer number, String remark);
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/ActiverUser.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 |
4 | import com.dev.warehouse.sys.entity.User;
5 | import lombok.AllArgsConstructor;
6 | import lombok.Data;
7 | import lombok.NoArgsConstructor;
8 |
9 | import java.util.List;
10 |
11 | @Data
12 | @AllArgsConstructor
13 | @NoArgsConstructor
14 | public class ActiverUser {
15 |
16 | private User user;
17 |
18 | private List roles;
19 |
20 | private List permission;
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/ISalesbackService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.bus.entity.Salesback;
5 |
6 |
7 | public interface ISalesbackService extends IService {
8 |
9 | /**
10 | * 对商品销售进行退货处理
11 | * @param id 销售单ID
12 | * @param number 退货数量
13 | * @param remark 备注
14 | */
15 | void addSalesback(Integer id, Integer number, String remark);
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/vo/ProviderVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.vo;
2 |
3 | import com.dev.warehouse.bus.entity.Provider;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 |
7 |
8 | @Data
9 | @EqualsAndHashCode(callSuper = false)
10 | public class ProviderVo extends Provider {
11 |
12 | /**
13 | * 分页参数,当前是第一页,每页10条数据
14 | */
15 | private Integer page=1;
16 | private Integer limit=10;
17 |
18 | /**
19 | * 批量删除供应商,存放供应商ID的数组
20 | */
21 | private Integer[] ids;
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/vo/CustomerVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.vo;
2 |
3 |
4 | import com.dev.warehouse.bus.entity.Customer;
5 | import lombok.Data;
6 | import lombok.EqualsAndHashCode;
7 |
8 |
9 | @Data
10 | @EqualsAndHashCode(callSuper = false)
11 | public class CustomerVo extends Customer {
12 |
13 | /**
14 | * 分页参数,当前是第一页,每页10条数据
15 | */
16 | private Integer page=1;
17 | private Integer limit=10;
18 |
19 | /**
20 | * 批量删除客户,存放客户ID的数组
21 | */
22 | private Integer[] ids;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/mapper/PermissionMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.sys.entity.Permission;
5 | import org.apache.ibatis.annotations.Param;
6 |
7 | import java.io.Serializable;
8 |
9 | public interface PermissionMapper extends BaseMapper {
10 |
11 | /**
12 | * 根据权限ID或菜单ID删除sys_role_permission表里面的数据
13 | * @param id
14 | */
15 | void deleteRolePermissionByPid(@Param("id") Serializable id);
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/impl/LoginfoServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 | import com.dev.warehouse.sys.entity.Loginfo;
5 | import com.dev.warehouse.sys.mapper.LoginfoMapper;
6 | import com.dev.warehouse.sys.service.ILoginfoService;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.transaction.annotation.Transactional;
9 |
10 | @Service
11 | @Transactional
12 | public class LoginfoServiceImpl extends ServiceImpl implements ILoginfoService {
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/impl/NoticeServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 | import com.dev.warehouse.sys.entity.Notice;
5 | import com.dev.warehouse.sys.mapper.NoticeMapper;
6 | import com.dev.warehouse.sys.service.INoticeService;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.transaction.annotation.Transactional;
9 |
10 |
11 | @Service
12 | @Transactional
13 | public class NoticeServiceImpl extends ServiceImpl implements INoticeService {
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/config/MybatisPlusConfig.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.config;
2 |
3 | import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
4 | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
5 | import org.springframework.context.annotation.Bean;
6 | import org.springframework.context.annotation.Configuration;
7 |
8 | @Configuration
9 | @ConditionalOnClass(value= {PaginationInterceptor.class})
10 | public class MybatisPlusConfig {
11 | @Bean
12 | public PaginationInterceptor paginationInterceptor() {
13 | return new PaginationInterceptor();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/vo/InportVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.vo;
2 |
3 |
4 | import com.dev.warehouse.bus.entity.Inport;
5 | import lombok.Data;
6 | import lombok.EqualsAndHashCode;
7 | import org.springframework.format.annotation.DateTimeFormat;
8 |
9 | import java.util.Date;
10 |
11 | @Data
12 | @EqualsAndHashCode(callSuper = false)
13 | public class InportVo extends Inport {
14 |
15 | private Integer page = 1;
16 |
17 | private Integer limit = 10;
18 |
19 | @DateTimeFormat(pattern = "yyyy-MM-dd")
20 | private Date startTime;
21 |
22 | @DateTimeFormat(pattern = "yyyy-MM-dd")
23 | private Date endTime;
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/vo/SalesVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.vo;
2 |
3 |
4 | import com.dev.warehouse.bus.entity.Sales;
5 | import lombok.Data;
6 | import lombok.EqualsAndHashCode;
7 | import org.springframework.format.annotation.DateTimeFormat;
8 |
9 | import java.util.Date;
10 |
11 |
12 | @Data
13 | @EqualsAndHashCode(callSuper = false)
14 | public class SalesVo extends Sales {
15 |
16 | private Integer page = 1;
17 |
18 | private Integer limit = 10;
19 |
20 | @DateTimeFormat(pattern = "yyyy-MM-dd")
21 | private Date startTime;
22 |
23 | @DateTimeFormat(pattern = "yyyy-MM-dd")
24 | private Date endTime;
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/vo/RoleVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.vo;
2 |
3 | import com.dev.warehouse.sys.entity.Role;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 | import org.springframework.format.annotation.DateTimeFormat;
7 |
8 | import java.util.Date;
9 |
10 |
11 | @Data
12 | @EqualsAndHashCode(callSuper = false)
13 | public class RoleVo extends Role {
14 |
15 | private Integer page=1;
16 | private Integer limit=10;
17 |
18 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
19 | private Date startTime;
20 |
21 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
22 | private Date endTime;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/vo/OutportVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.vo;
2 |
3 |
4 | import com.dev.warehouse.bus.entity.Outport;
5 | import lombok.Data;
6 | import lombok.EqualsAndHashCode;
7 | import org.springframework.format.annotation.DateTimeFormat;
8 |
9 | import java.util.Date;
10 |
11 | @Data
12 | @EqualsAndHashCode(callSuper = false)
13 | public class OutportVo extends Outport {
14 |
15 | private Integer page = 1;
16 |
17 | private Integer limit = 10;
18 |
19 | @DateTimeFormat(pattern = "yyyy-MM-dd")
20 | private Date startTime;
21 |
22 | @DateTimeFormat(pattern = "yyyy-MM-dd")
23 | private Date endTime;
24 |
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/vo/SalesbackVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.vo;
2 |
3 |
4 | import com.dev.warehouse.bus.entity.Salesback;
5 | import lombok.Data;
6 | import lombok.EqualsAndHashCode;
7 | import org.springframework.format.annotation.DateTimeFormat;
8 |
9 | import java.util.Date;
10 |
11 |
12 | @Data
13 | @EqualsAndHashCode(callSuper = false)
14 | public class SalesbackVo extends Salesback {
15 |
16 | private Integer page = 1;
17 |
18 | private Integer limit = 10;
19 |
20 | @DateTimeFormat(pattern = "yyyy-MM-dd")
21 | private Date startTime;
22 |
23 | @DateTimeFormat(pattern = "yyyy-MM-dd")
24 | private Date endTime;
25 |
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/DataGridView.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @AllArgsConstructor
9 | @NoArgsConstructor
10 | public class DataGridView {
11 |
12 | private Integer code=0;
13 | private String msg="";
14 | //返回的记录总条数
15 | private Long count=0L;
16 | //返回的记录
17 | private Object data;
18 |
19 | public DataGridView(Long count, Object data) {
20 | this.count = count;
21 | this.data = data;
22 | }
23 |
24 | public DataGridView(Object data) {
25 | this.data = data;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/vo/LoginfoVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.vo;
2 |
3 | import com.dev.warehouse.sys.entity.Loginfo;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 | import org.springframework.format.annotation.DateTimeFormat;
7 |
8 | import java.util.Date;
9 |
10 | @Data
11 | @EqualsAndHashCode(callSuper = false)
12 | public class LoginfoVo extends Loginfo {
13 |
14 | private Integer page=1;
15 | private Integer limit=10;
16 |
17 | //接收多个id
18 | private Integer[] ids;
19 |
20 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
21 | private Date startTime;
22 |
23 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
24 | private Date endTime;
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/vo/NoticeVo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.vo;
2 |
3 | import com.dev.warehouse.sys.entity.Notice;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 | import org.springframework.format.annotation.DateTimeFormat;
7 |
8 | import java.util.Date;
9 |
10 |
11 | @Data
12 | @EqualsAndHashCode(callSuper = false)
13 | public class NoticeVo extends Notice {
14 |
15 | private Integer page=1;
16 | private Integer limit=10;
17 |
18 | //接受多个ID
19 | private Integer[] ids;
20 |
21 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
22 | private Date startTime;
23 |
24 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
25 | private Date endTime;
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/CacheBean.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 | import com.alibaba.fastjson.JSON;
4 |
5 | public class CacheBean {
6 |
7 | private String key;
8 |
9 | private Object value;
10 |
11 | public CacheBean() {
12 | }
13 |
14 | public CacheBean(String key, Object value) {
15 | this.key = key;
16 | this.value = value;
17 | }
18 |
19 | public String getKey() {
20 | return key;
21 | }
22 |
23 | public void setKey(String key) {
24 | this.key = key;
25 | }
26 |
27 | public Object getValue() {
28 | return JSON.toJSON(value).toString();
29 | }
30 |
31 | public void setValue(Object value) {
32 | this.value = value;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/TreeNodeBuilder.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | /**
7 | * 把没有层级关系的集合变成有层级关系的集合
8 | */
9 | public class TreeNodeBuilder {
10 | public static List build(List treeNodes, Integer topPid) {
11 | List nodes = new ArrayList();
12 | for (TreeNode n1 : treeNodes) {
13 | if (n1.getPid()==topPid){
14 | nodes.add(n1);
15 | }
16 | for (TreeNode n2 : treeNodes) {
17 | if (n1.getId()==n2.getPid()){
18 | n1.getChildren().add(n2);
19 | }
20 | }
21 | }
22 | return nodes;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/IRoleService.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.dev.warehouse.sys.entity.Role;
5 |
6 | import java.util.List;
7 |
8 |
9 | public interface IRoleService extends IService {
10 |
11 | /**
12 | * 根据角色ID查询当前角色拥有的菜单ID和权限ID
13 | * @param roleId
14 | * @return
15 | */
16 | List queryRolePermissionIdsByRid(Integer roleId);
17 |
18 | /**
19 | * 保存角色和菜单权限之间的关系
20 | * @param rid
21 | * @param ids
22 | */
23 | void saveRolePermission(Integer rid, Integer[] ids);
24 |
25 | /**
26 | * 查询当前用户拥有的角色ID集合
27 | * @param id
28 | * @return
29 | */
30 | List queryUserRoleIdsByUid(Integer id);
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/config/ResourcesConfig.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.config;
2 |
3 | import com.dev.warehouse.sys.common.Constants;
4 | import org.springframework.beans.factory.annotation.Value;
5 | import org.springframework.context.annotation.Configuration;
6 | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
7 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
8 |
9 | @Configuration
10 | public class ResourcesConfig implements WebMvcConfigurer {
11 |
12 | @Value("${yuanlrc.photoFilePath}")
13 | private String filePath;
14 |
15 | @Override
16 | public void addResourceHandlers(ResourceHandlerRegistry registry)
17 | {
18 | /** 本地文件上传路径 */
19 | registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**").addResourceLocations("file:" + filePath );
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/SpringUtil.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 | import org.springframework.beans.BeansException;
4 | import org.springframework.context.ApplicationContext;
5 | import org.springframework.context.ApplicationContextAware;
6 | import org.springframework.stereotype.Component;
7 |
8 | @Component
9 | public class SpringUtil implements ApplicationContextAware {
10 |
11 | private static ApplicationContext applicationContext;
12 |
13 | @Override
14 | public void setApplicationContext(ApplicationContext act) throws BeansException {
15 | applicationContext = act;
16 | }
17 |
18 | public static ApplicationContext getApplicationContext(){
19 | return applicationContext;
20 | }
21 |
22 | public static T getBean(Class cls){
23 | return applicationContext.getBean(cls);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/entity/Loginfo.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 | import lombok.experimental.Accessors;
9 |
10 | import java.io.Serializable;
11 | import java.util.Date;
12 |
13 |
14 | @Data
15 | @EqualsAndHashCode(callSuper = false)
16 | @Accessors(chain = true)
17 | @TableName("sys_loginfo")
18 | public class Loginfo implements Serializable {
19 |
20 | private static final long serialVersionUID=1L;
21 |
22 | @TableId(value = "id", type = IdType.AUTO)
23 | private Integer id;
24 |
25 | private String loginname;
26 |
27 | private String loginip;
28 |
29 | private Date logintime;
30 |
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/entity/Notice.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 | import lombok.experimental.Accessors;
9 |
10 | import java.io.Serializable;
11 | import java.util.Date;
12 |
13 |
14 | @Data
15 | @EqualsAndHashCode(callSuper = false)
16 | @Accessors(chain = true)
17 | @TableName("sys_notice")
18 | public class Notice implements Serializable {
19 |
20 | private static final long serialVersionUID=1L;
21 |
22 | @TableId(value = "id", type = IdType.AUTO)
23 | private Integer id;
24 |
25 | private String title;
26 |
27 | private String content;
28 |
29 | private Date createtime;
30 |
31 | private String opername;
32 |
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/entity/Role.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 | import lombok.experimental.Accessors;
9 |
10 | import java.io.Serializable;
11 | import java.util.Date;
12 |
13 |
14 | @Data
15 | @EqualsAndHashCode(callSuper = false)
16 | @Accessors(chain = true)
17 | @TableName("sys_role")
18 | public class Role implements Serializable {
19 |
20 | private static final long serialVersionUID=1L;
21 |
22 | @TableId(value = "id", type = IdType.AUTO)
23 | private Integer id;
24 |
25 | private String name;
26 |
27 | private String remark;
28 |
29 | /**
30 | * 0不可用,1可用
31 | */
32 | private Integer available;
33 |
34 | private Date createtime;
35 |
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/impl/PermissionServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 | import com.dev.warehouse.sys.entity.Permission;
5 | import com.dev.warehouse.sys.mapper.PermissionMapper;
6 | import com.dev.warehouse.sys.service.IPermissionService;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.transaction.annotation.Transactional;
9 |
10 | import java.io.Serializable;
11 |
12 |
13 | @Service
14 | @Transactional
15 | public class PermissionServiceImpl extends ServiceImpl implements IPermissionService {
16 |
17 | @Override
18 | public boolean removeById(Serializable id) {
19 |
20 | //根据权限ID或菜单ID删除sys_role_permission表中的数据
21 | PermissionMapper permissionMapper = this.getBaseMapper();
22 | permissionMapper.deleteRolePermissionByPid(id);
23 | //删除权限表中的数据
24 | return super.removeById(id);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/impl/GoodsServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 |
5 | import com.dev.warehouse.bus.entity.Goods;
6 | import com.dev.warehouse.bus.mapper.GoodsMapper;
7 | import com.dev.warehouse.bus.service.IGoodsService;
8 | import org.springframework.stereotype.Service;
9 | import org.springframework.transaction.annotation.Transactional;
10 |
11 | import java.io.Serializable;
12 |
13 |
14 | @Service
15 | @Transactional
16 | public class GoodsServiceImpl extends ServiceImpl implements IGoodsService {
17 |
18 | @Override
19 | public boolean save(Goods entity) {
20 | return super.save(entity);
21 | }
22 |
23 | @Override
24 | public boolean updateById(Goods entity) {
25 | return super.updateById(entity);
26 | }
27 |
28 | @Override
29 | public boolean removeById(Serializable id) {
30 | return super.removeById(id);
31 | }
32 |
33 | @Override
34 | public Goods getById(Serializable id) {
35 | return super.getById(id);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/entity/Provider.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 | import lombok.ToString;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 |
13 | @Data
14 | @EqualsAndHashCode(callSuper = false)
15 | @Accessors(chain = true)
16 | @TableName("bus_provider")
17 | @ToString
18 | public class Provider implements Serializable {
19 |
20 | private static final long serialVersionUID=1L;
21 |
22 | @TableId(value = "id", type = IdType.AUTO)
23 | private Integer id;
24 |
25 | private String providername;
26 |
27 | private String zip;
28 |
29 | private String address;
30 |
31 | private String telephone;
32 |
33 | private String connectionperson;
34 |
35 | private String phone;
36 |
37 | private String bank;
38 |
39 | private String account;
40 |
41 | private String email;
42 |
43 | private String fax;
44 |
45 | private Integer available;
46 |
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/entity/Customer.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 | import lombok.ToString;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 |
13 |
14 | @Data
15 | @EqualsAndHashCode(callSuper = false)
16 | @Accessors(chain = true)
17 | @TableName("bus_customer")
18 | @ToString
19 | public class Customer implements Serializable {
20 |
21 | private static final long serialVersionUID=1L;
22 |
23 | @TableId(value = "id", type = IdType.AUTO)
24 | private Integer id;
25 |
26 | private String customername;
27 |
28 | private String zip;
29 |
30 | private String address;
31 |
32 | private String telephone;
33 |
34 | private String connectionpersion;
35 |
36 | private String phone;
37 |
38 | private String bank;
39 |
40 | private String account;
41 |
42 | private String email;
43 |
44 | private String fax;
45 |
46 | private Integer available;
47 |
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/Constast.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 |
4 | public class Constast {
5 |
6 | /**
7 | * 状态码 正常 200 错误 -1
8 | */
9 | public static final Integer OK=200;
10 | public static final Integer ERROR=-1;
11 |
12 | /**
13 | * 用户默认密码
14 | */
15 | public static final String USER_DEFAULT_PWD="123456";
16 |
17 | /**
18 | * 菜单可用状态 0不可用 1可用
19 | */
20 | public static final Object AVAILABLE_TRUE = 1;
21 | public static final Object AVAILABLE_FALSE = 0;
22 |
23 | /**
24 | * 菜单和权限类型 menu 菜单 permission 权限
25 | */
26 | public static final String TYPE_MENU = "menu";
27 | public static final String TYPE_PERMISSION = "permission";
28 |
29 | /**
30 | * 用户类型 0 超级管理员 1 系统用户
31 | */
32 | public static final Integer USER_TYPE_SUPER = 0;
33 | public static final Integer USER_TYPE_NORMAL = 1;
34 |
35 | /**
36 | * 菜单是否展开 0不展开 1展开
37 | */
38 | public static final Integer OPEN_TRUE = 1;
39 | public static final Integer OPEN_FALSE = 0;
40 |
41 | /**
42 | * 商品默认图片
43 | */
44 | public static final String DEFAULT_IMG= "/images/noDefaultImage.jpg";
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/entity/Dept.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 | import lombok.ToString;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 | import java.util.Date;
13 |
14 |
15 | @Data
16 | @EqualsAndHashCode(callSuper = false)
17 | @Accessors(chain = true)
18 | @TableName("sys_dept")
19 | @ToString
20 | public class Dept implements Serializable {
21 |
22 | private static final long serialVersionUID=1L;
23 |
24 | @TableId(value = "id", type = IdType.AUTO)
25 | private Integer id;
26 |
27 | private Integer pid;
28 |
29 | private String name;
30 |
31 | /**
32 | * 是否展开,0不展开,1展开
33 | */
34 | private Integer open;
35 |
36 | private String remark;
37 |
38 | private String address;
39 |
40 | /**
41 | * 是否可用,0不可用,1可用
42 | */
43 | private Integer available;
44 |
45 | /**
46 | * 排序码
47 | */
48 | private Integer ordernum;
49 |
50 | private Date createtime;
51 |
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/entity/Permission.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 | import lombok.EqualsAndHashCode;
8 | import lombok.experimental.Accessors;
9 |
10 | import java.io.Serializable;
11 |
12 |
13 | @Data
14 | @EqualsAndHashCode(callSuper = false)
15 | @Accessors(chain = true)
16 | @TableName("sys_permission")
17 | public class Permission implements Serializable {
18 |
19 | private static final long serialVersionUID=1L;
20 |
21 | @TableId(value = "id", type = IdType.AUTO)
22 | private Integer id;
23 |
24 | private Integer pid;
25 |
26 | private String type;
27 |
28 | private String title;
29 |
30 | /**
31 | * 权限编码[只有type=permission才有 user:view]
32 | */
33 | private String percode;
34 |
35 | private String icon;
36 |
37 | private String href;
38 |
39 | private String target;
40 |
41 | private Integer open;
42 |
43 | private Integer ordernum;
44 |
45 | /**
46 | * 是否可用[0不可用,1可用]
47 | */
48 | private Integer available;
49 |
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/WarehouseApplication.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse;
2 |
3 | import org.mybatis.spring.annotation.MapperScan;
4 | import org.springframework.boot.SpringApplication;
5 | import org.springframework.boot.autoconfigure.SpringBootApplication;
6 | import org.springframework.boot.web.servlet.MultipartConfigFactory;
7 | import org.springframework.context.annotation.Bean;
8 | import org.springframework.context.annotation.Configuration;
9 | import org.springframework.util.unit.DataSize;
10 |
11 | import javax.servlet.MultipartConfigElement;
12 |
13 | @Configuration
14 | @SpringBootApplication
15 | @MapperScan(basePackages = {"com.dev.warehouse.*.mapper"})
16 | public class WarehouseApplication {
17 |
18 | public static void main(String[] args) {
19 | SpringApplication.run(WarehouseApplication.class, args);
20 | }
21 |
22 | @Bean
23 | public MultipartConfigElement multipartConfigElement() {
24 | MultipartConfigFactory factory = new MultipartConfigFactory();
25 | /**
26 | * 单个数据大小
27 | */
28 | factory.setMaxFileSize(DataSize.parse("102400KB"));
29 | /**
30 | * 总上传数据大小
31 | */
32 | factory.setMaxRequestSize(DataSize.parse("102400KB"));
33 | return factory.createMultipartConfig();
34 | }
35 |
36 |
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/impl/DeptServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service.impl;
2 |
3 | import com.baomidou.mybatisplus.core.conditions.Wrapper;
4 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 | import com.dev.warehouse.sys.entity.Dept;
6 | import com.dev.warehouse.sys.mapper.DeptMapper;
7 | import com.dev.warehouse.sys.service.IDeptService;
8 | import org.springframework.stereotype.Service;
9 | import org.springframework.transaction.annotation.Transactional;
10 |
11 | import java.io.Serializable;
12 |
13 |
14 | @Service
15 | @Transactional
16 | public class DeptServiceImpl extends ServiceImpl implements IDeptService {
17 |
18 | @Override
19 | public Dept getById(Serializable id) {
20 | return super.getById(id);
21 | }
22 |
23 | @Override
24 | public boolean update(Dept entity, Wrapper updateWrapper){
25 | return super.update(entity,updateWrapper);
26 | }
27 |
28 | @Override
29 | public boolean updateById(Dept entity){
30 | return super.updateById(entity);
31 | }
32 |
33 | @Override
34 | public boolean removeById(Serializable id){
35 | return super.removeById(id);
36 | }
37 |
38 | @Override
39 | public boolean save(Dept entity) {
40 | return super.save(entity);
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/impl/CustomerServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 | import com.dev.warehouse.bus.entity.Customer;
5 | import com.dev.warehouse.bus.mapper.CustomerMapper;
6 | import com.dev.warehouse.bus.service.ICustomerService;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.transaction.annotation.Transactional;
9 |
10 | import java.io.Serializable;
11 | import java.util.Collection;
12 |
13 |
14 | @Service
15 | @Transactional
16 | public class CustomerServiceImpl extends ServiceImpl implements ICustomerService {
17 |
18 | @Override
19 | public boolean save(Customer entity) {
20 | return super.save(entity);
21 | }
22 |
23 | @Override
24 | public boolean updateById(Customer entity) {
25 | return super.updateById(entity);
26 | }
27 |
28 | @Override
29 | public boolean removeById(Serializable id) {
30 | return super.removeById(id);
31 | }
32 |
33 | @Override
34 | public Customer getById(Serializable id) {
35 | return super.getById(id);
36 | }
37 |
38 | @Override
39 | public boolean removeByIds(Collection extends Serializable> idList) {
40 | return super.removeByIds(idList);
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/service/impl/ProviderServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 |
5 | import com.dev.warehouse.bus.entity.Provider;
6 | import com.dev.warehouse.bus.mapper.ProviderMapper;
7 | import com.dev.warehouse.bus.service.IProviderService;
8 | import org.springframework.stereotype.Service;
9 | import org.springframework.transaction.annotation.Transactional;
10 |
11 | import java.io.Serializable;
12 | import java.util.Collection;
13 |
14 |
15 | @Service
16 | @Transactional
17 | public class ProviderServiceImpl extends ServiceImpl implements IProviderService {
18 |
19 | @Override
20 | public boolean save(Provider entity) {
21 | return super.save(entity);
22 | }
23 |
24 | @Override
25 | public boolean updateById(Provider entity) {
26 | return super.updateById(entity);
27 | }
28 |
29 | @Override
30 | public boolean removeById(Serializable id) {
31 | return super.removeById(id);
32 | }
33 | @Override
34 | public Provider getById(Serializable id) {
35 | return super.getById(id);
36 | }
37 |
38 | @Override
39 | public boolean removeByIds(Collection extends Serializable> idList) {
40 | return super.removeByIds(idList);
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/entity/Goods.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.ToString;
10 | import lombok.experimental.Accessors;
11 |
12 | import java.io.Serializable;
13 |
14 |
15 | @Data
16 | @EqualsAndHashCode(callSuper = false)
17 | @Accessors(chain = true)
18 | @TableName("bus_goods")
19 | @ToString
20 | public class Goods implements Serializable {
21 |
22 | private static final long serialVersionUID=1L;
23 |
24 | @TableId(value = "id", type = IdType.AUTO)
25 | private Integer id;
26 |
27 | private String goodsname;
28 |
29 | private String produceplace;
30 |
31 | private String size;
32 |
33 | private String goodspackage;
34 |
35 | private String productcode;
36 |
37 | private String promitcode;
38 |
39 | private String description;
40 |
41 | private Double price;
42 |
43 | private Integer number;
44 |
45 | private Integer dangernum;
46 |
47 | private String goodsimg;
48 |
49 | private Integer available;
50 |
51 | private Integer providerid;
52 |
53 | @TableField(exist = false)
54 | private String providername;
55 |
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/controller/PhotoController.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.controller;
2 |
3 | import org.springframework.beans.factory.annotation.Autowired;
4 | import org.springframework.beans.factory.annotation.Value;
5 | import org.springframework.core.io.Resource;
6 | import org.springframework.core.io.ResourceLoader;
7 | import org.springframework.http.ResponseEntity;
8 | import org.springframework.stereotype.Controller;
9 | import org.springframework.web.bind.annotation.RequestMapping;
10 | import org.springframework.web.bind.annotation.RequestParam;
11 | import org.springframework.web.bind.annotation.ResponseBody;
12 |
13 | @RequestMapping("/photo")
14 | @Controller
15 | public class PhotoController {
16 | @Autowired
17 | private ResourceLoader resourceLoader;
18 |
19 | @Value("${yuanlrc.photoFilePath}")
20 | private String uploadPhotoPath;//文件保存位置
21 |
22 | /**
23 | * 系统统一的图片查看方法
24 | * @param filename
25 | * @return
26 | */
27 | @RequestMapping(value="/view")
28 | @ResponseBody
29 | public ResponseEntity> viewPhoto(@RequestParam(name="filename",required=true)String filename){
30 | Resource resource = resourceLoader.getResource("file:" + uploadPhotoPath + filename);
31 | try {
32 | return ResponseEntity.ok(resource);
33 | } catch (Exception e) {
34 | return ResponseEntity.notFound().build();
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/entity/Sales.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 | import java.util.Date;
13 |
14 |
15 | @Data
16 | @EqualsAndHashCode(callSuper = false)
17 | @Accessors(chain = true)
18 | @TableName("bus_sales")
19 | public class Sales implements Serializable {
20 |
21 | private static final long serialVersionUID=1L;
22 |
23 | @TableId(value = "id", type = IdType.AUTO)
24 | private Integer id;
25 |
26 | private Integer customerid;
27 |
28 | private String paytype;
29 |
30 | private Date salestime;
31 |
32 | private String operateperson;
33 |
34 | private Integer number;
35 |
36 | private String remark;
37 |
38 | private Double saleprice;
39 |
40 | private Integer goodsid;
41 |
42 | /**
43 | * 客户名称
44 | */
45 | @TableField(exist = false)
46 | private String customername;
47 |
48 | /**
49 | * 商品名称
50 | */
51 | @TableField(exist = false)
52 | private String goodsname;
53 |
54 | /**
55 | * 商品规格
56 | */
57 | @TableField(exist = false)
58 | private String size;
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/entity/Outport.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 | import java.util.Date;
13 |
14 | @Data
15 | @EqualsAndHashCode(callSuper = false)
16 | @Accessors(chain = true)
17 | @TableName("bus_outport")
18 | public class Outport implements Serializable {
19 |
20 | private static final long serialVersionUID=1L;
21 |
22 | @TableId(value = "id", type = IdType.AUTO)
23 | private Integer id;
24 |
25 | private Integer providerid;
26 |
27 | private String paytype;
28 |
29 | private Date outputtime;
30 |
31 | private String operateperson;
32 |
33 | private Double outportprice;
34 |
35 | private Integer number;
36 |
37 | private String remark;
38 |
39 | private Integer goodsid;
40 |
41 | /**
42 | * 供应商姓名
43 | */
44 | @TableField(exist = false)
45 | private String providername;
46 |
47 | /**
48 | * 商品名称
49 | */
50 | @TableField(exist = false)
51 | private String goodsname;
52 |
53 | /**
54 | * 商品规格
55 | */
56 | @TableField(exist = false)
57 | private String size;
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/entity/Inport.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 | import java.util.Date;
13 |
14 |
15 | @Data
16 | @EqualsAndHashCode(callSuper = false)
17 | @Accessors(chain = true)
18 | @TableName("bus_inport")
19 | public class Inport implements Serializable {
20 |
21 | private static final long serialVersionUID=1L;
22 |
23 | @TableId(value = "id", type = IdType.AUTO)
24 | private Integer id;
25 |
26 | private String paytype;
27 |
28 | private Date inporttime;
29 |
30 | private String operateperson;
31 |
32 | private Integer number;
33 |
34 | private String remark;
35 |
36 | private Double inportprice;
37 |
38 | private Integer providerid;
39 |
40 | private Integer goodsid;
41 |
42 | /**
43 | * 供应商姓名
44 | */
45 | @TableField(exist = false)
46 | private String providername;
47 |
48 | /**
49 | * 商品名称
50 | */
51 | @TableField(exist = false)
52 | private String goodsname;
53 |
54 | /**
55 | * 商品规格
56 | */
57 | @TableField(exist = false)
58 | private String size;
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/sys/RoleMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | delete from sys_role_permission where rid = #{pid}
7 |
8 |
9 |
10 | delete from sys_user_role where rid = #{pid}
11 |
12 |
13 |
14 |
17 |
18 |
19 |
20 | insert into sys_role_permission(rid,pid) values (#{rid},#{pid})
21 |
22 |
23 |
24 |
25 | delete from sys_user_role where uid = #{id}
26 |
27 |
28 |
29 |
32 |
33 |
34 |
35 | insert into sys_user_role(uid,rid) values (#{uid},#{rid})
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/entity/Salesback.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.experimental.Accessors;
10 |
11 | import java.io.Serializable;
12 | import java.util.Date;
13 |
14 |
15 | @Data
16 | @EqualsAndHashCode(callSuper = false)
17 | @Accessors(chain = true)
18 | @TableName("bus_salesback")
19 | public class Salesback implements Serializable {
20 |
21 | private static final long serialVersionUID=1L;
22 |
23 | @TableId(value = "id", type = IdType.AUTO)
24 | private Integer id;
25 |
26 | private Integer customerid;
27 |
28 | private String paytype;
29 |
30 | private Date salesbacktime;
31 |
32 | private Double salebackprice;
33 |
34 | private String operateperson;
35 |
36 | private Integer number;
37 |
38 | private String remark;
39 |
40 | private Integer goodsid;
41 |
42 | /**
43 | * 客户姓名
44 | */
45 | @TableField(exist = false)
46 | private String customername;
47 |
48 | /**
49 | * 商品名称
50 | */
51 | @TableField(exist = false)
52 | private String goodsname;
53 |
54 | /**
55 | * 商品规格
56 | */
57 | @TableField(exist = false)
58 | private String size;
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/WebUtils.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 | import org.springframework.web.context.request.RequestContextHolder;
4 | import org.springframework.web.context.request.ServletRequestAttributes;
5 |
6 | import javax.servlet.http.HttpServletRequest;
7 | import javax.servlet.http.HttpSession;
8 |
9 | public class WebUtils {
10 |
11 | /**
12 | * 得到request
13 | * @return
14 | */
15 | public static HttpServletRequest getRequest(){
16 | ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
17 | HttpServletRequest request = requestAttributes.getRequest();
18 | return request;
19 | }
20 |
21 | /**
22 | * 得到session
23 | * @return
24 | */
25 | public static HttpSession getSession(){
26 | return getRequest().getSession();
27 | }
28 |
29 | public static ServletRequestAttributes getServletRequestAttributes() {
30 | return (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
31 | }
32 |
33 | /**
34 | * 得到当前线程的请求对象
35 | * @return
36 | */
37 | public static HttpServletRequest getHttpServletRequest() {
38 | return getServletRequestAttributes().getRequest();
39 | }
40 |
41 | /**
42 | * 得到session对象
43 | */
44 | public static HttpSession getHttpSession() {
45 | return getHttpServletRequest().getSession();
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | #配置数据源
2 | spring:
3 | datasource:
4 | druid:
5 | driver-class-name: com.mysql.jdbc.Driver
6 | url: jdbc:mysql://127.0.0.1:3306/warehouse?useUnicode=true&characterEncoding=utf8
7 | username: root
8 | password: root
9 | max-active: 20
10 | max-wait: 5000
11 | initial-size: 1
12 | filters: stat,log4j,wall
13 | validation-query: SELECT 'X' #验证连接
14 | enable: true
15 | #监控配置
16 | stat-view-servlet:
17 | enabled: true
18 | login-username: root
19 | login-password: 123456
20 | url-pattern: /druid/*
21 |
22 | servlet:
23 | multipart:
24 | max-file-size: 1MB
25 | max-request-size: 10MB
26 |
27 | #thymeleaf的配置
28 | thymeleaf:
29 | cache: false
30 | enabled: true
31 |
32 | jackson:
33 | date-format: yyyy-MM-dd HH:mm:ss
34 | time-zone: GMT+8
35 |
36 | #配置mybatisplus
37 | mybatis-plus:
38 | mapper-locations: classpath*:mapper/**/*Mapper.xml
39 | global-config:
40 | db-config:
41 | id-type: auto
42 | configuration:
43 | log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
44 |
45 | #shiro的配置
46 | shiro:
47 | hash-algorithm-name: md5
48 | hash-iterations: 2
49 | anon-urls:
50 | - /index.html*
51 | - /sys/toLogin*
52 | - /login/login*
53 | - /login/getCode
54 | - /resources/**
55 | login-url: /index.html
56 | log-out-url: /login/logout*
57 | authc-ulrs:
58 | - /**
59 |
60 | #修改端口号为8088
61 | server:
62 | port: 8089
63 |
64 | #图片上传路径
65 | yuanlrc:
66 | photoFilePath: E:/upload/
67 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/mapper/RoleMapper.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.mapper;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.dev.warehouse.sys.entity.Role;
5 | import org.apache.ibatis.annotations.Mapper;
6 | import org.apache.ibatis.annotations.Param;
7 |
8 | import java.io.Serializable;
9 | import java.util.List;
10 |
11 |
12 | @Mapper
13 | public interface RoleMapper extends BaseMapper {
14 |
15 | /**
16 | * 根据角色ID删除sys_role_permission表中的数据
17 | * @param id 角色的id
18 | */
19 | void deleteRolePermissionByRid(@Param("pid") Serializable id);
20 |
21 | /**
22 | * 根据角色ID删除sys_user_role表中的数据
23 | * @param id 角色的id
24 | */
25 | void deleteUserRoleByRid(@Param("pid") Serializable id);
26 |
27 | /**
28 | * 根据角色ID查询当前角色拥有的菜单ID和权限ID
29 | * @param roleId
30 | * @return
31 | */
32 | List queryRolePermissionIdsByRid(@Param("roleId") Integer roleId);
33 |
34 | /**
35 | * 保存角色和菜单权限之间的关系
36 | * @param rid
37 | * @param pid
38 | */
39 | void saveRolePermission(@Param("rid") Integer rid, @Param("pid") Integer pid);
40 |
41 | /**
42 | * 根据用户id删除用户角色中间表的数据
43 | * @param id
44 | */
45 | void deleteRoleUserByUid(@Param("id") Serializable id);
46 |
47 | /**
48 | * 查询当前用户拥有的角色ID集合
49 | * @param id
50 | * @return
51 | */
52 | List queryUserRoleIdsByUid(@Param("id") Integer id);
53 |
54 | /**
55 | * 保存用户和角色的关系
56 | * @param uid 用户的ID
57 | * @param rid 用户拥有的角色的ID的数组
58 | */
59 | void insertUserRole(@Param("uid") Integer uid, @Param("rid") Integer rid);
60 | }
61 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 基于Springboot的进销存后台系统
2 | =
3 | ### 完整代码获取地址:从戎源码网 ([https://armycodes.com/](https://armycodes.com/))
4 | ### 作者微信:19941326836 QQ:952045282
5 | ### 承接计算机毕业设计、Java毕业设计、Python毕业设计、深度学习、机器学习
6 | ### 选题+开题报告+任务书+程序定制+安装调试+论文+答辩ppt 一条龙服务
7 | ### 所有选题地址https://github.com/nature924/allProject
8 |
9 | 一、项目介绍
10 | ---
11 | 基于Springboot框架实现的进销存后台系统包含一种角色:管理员、主要功能如下。
12 |
13 | ### 1. 后台首页:管理员可以查看系统的概览信息和统计数据。
14 | ### 2. 基础管理:
15 | - 客户管理:管理员可以管理客户信息,包括添加、编辑和删除客户。
16 | - 供应商管理:管理员可以管理供应商信息,包括添加、编辑和删除供应商。
17 | - 商品管理:管理员可以管理商品信息,包括添加、编辑和删除商品。
18 | ### 3. 进货管理:
19 | - 商品进货:管理员可以录入商品进货信息,包括选择供应商、商品数量和价格等。
20 | - 商品退货查询:管理员可以查询和处理商品退货信息。
21 | ### 4. 销售管理:
22 | - 商品销售:管理员可以录入商品销售信息,包括选择客户、商品数量和价格等。
23 | - 销售退货查询:管理员可以查询和处理销售退货信息。
24 | ### 5. 系统管理:
25 | - 部门管理:管理员可以管理系统的部门信息,包括添加、编辑和删除部门。
26 | - 菜单管理:管理员可以管理系统的菜单信息,包括添加、编辑和删除菜单。
27 | - 权限管理:管理员可以管理系统的权限信息,包括给用户分配权限和设置权限级别。
28 | - 角色管理:管理员可以管理系统的角色信息,包括添加、编辑和删除角色。
29 | - 用户管理:管理员可以管理系统的用户信息,包括添加、编辑和删除用户。
30 | ### 6. 其它管理:
31 | - 登陆日志:管理员可以查看用户的登录日志,包括登录时间和IP地址等信息。
32 | - 系统公告:管理员可以发布系统公告,包括公告标题和内容。
33 | - 图标管理:管理员可以上传和管理系统的图标文件。
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | 二、项目技术
42 | ---
43 | - 编程语言:Java
44 | - 数据库:MySQL
45 | - 项目管理工具:Maven
46 | - 前端技术:VUE、HTML、Jquery、Bootstrap
47 | - 后端技术:Spring、SpringMVC、MyBatis
48 |
49 | 三、运行环境
50 | ---
51 | - 操作系统:Windows、macOS都可以
52 | - JDK版本:JDK1.8以上都可以
53 | - 开发工具:IDEA、Ecplise、Myecplise都可以
54 | - 数据库: MySQL5.7以上都可以
55 | - Tomcat:任意版本都可以
56 | - Maven:任意版本都可以
57 |
58 | 四、运行截图
59 | ---
60 |
61 | ### 程序截图:
62 | 
63 | 
64 | 
65 | 
66 | 
67 | 
68 | 
69 |
70 |
71 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/ResultObj.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @AllArgsConstructor
9 | @NoArgsConstructor
10 | public class ResultObj {
11 |
12 | public static final ResultObj LOGIN_SUCCESS=new ResultObj(Constast.OK,"登陆成功");
13 | public static final ResultObj LOGIN_ERROR_PASS=new ResultObj(Constast.ERROR,"用户名或密码错误");
14 | public static final ResultObj LOGIN_ERROR_CODE=new ResultObj(Constast.ERROR,"验证码错误");
15 |
16 | public static final ResultObj ADD_SUCCESS = new ResultObj(Constast.OK,"添加成功");
17 | public static final ResultObj ADD_ERROR = new ResultObj(Constast.ERROR,"添加失败");
18 |
19 | public static final ResultObj DELETE_SUCCESS = new ResultObj(Constast.OK,"删除成功");
20 | public static final ResultObj DELETE_ERROR = new ResultObj(Constast.ERROR,"删除失败");
21 |
22 | public static final ResultObj UPDATE_SUCCESS = new ResultObj(Constast.OK,"修改成功");
23 | public static final ResultObj UPDATE_ERROR = new ResultObj(Constast.ERROR,"修改失败");
24 |
25 | public static final ResultObj RESET_SUCCESS = new ResultObj(Constast.OK,"重置成功");
26 | public static final ResultObj RESET_ERROR = new ResultObj(Constast.ERROR,"重置失败");
27 |
28 | public static final ResultObj DISPATCH_SUCCESS = new ResultObj(Constast.OK,"分配成功");
29 | public static final ResultObj DISPATCH_ERROR = new ResultObj(Constast.ERROR,"分配失败");
30 |
31 | public static final ResultObj BACKINPORT_SUCCESS = new ResultObj(Constast.OK,"退货成功");
32 | public static final ResultObj BACKINPORT_ERROR = new ResultObj(Constast.ERROR,"退货失败");
33 | public static final ResultObj SYNCCACHE_SUCCESS = new ResultObj(Constast.OK,"同步缓存成功");
34 |
35 | private Integer code;
36 | private String msg;
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/bus/controller/BusinessController.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.bus.controller;
2 |
3 | import org.springframework.stereotype.Controller;
4 | import org.springframework.web.bind.annotation.RequestMapping;
5 |
6 |
7 | @Controller
8 | @RequestMapping("bus")
9 | public class BusinessController {
10 |
11 | /**
12 | * 跳转到客户管理页面
13 | * @return
14 | */
15 | @RequestMapping("toCustomerManager")
16 | public String toCustomerManager(){
17 | return "business/customer/customerManager";
18 | }
19 |
20 | /**
21 | * 跳转到供应商管理页面
22 | * @return
23 | */
24 | @RequestMapping("toProviderManager")
25 | public String toProviderManager(){
26 | return "business/provider/providerManager";
27 | }
28 |
29 | /**
30 | * 跳转到商品管理页面
31 | * @return
32 | */
33 | @RequestMapping("toGoodsManager")
34 | public String toGoodsManager(){
35 | return "business/goods/goodsManager";
36 | }
37 |
38 | /**
39 | * 跳转到进货管理页面
40 | * @return
41 | */
42 | @RequestMapping("toInportManager")
43 | public String toInportManager(){
44 | return "business/inport/inportManager";
45 | }
46 |
47 | /**
48 | * 跳转到退货管理页面
49 | * @return
50 | */
51 | @RequestMapping("toOutportManager")
52 | public String toOutportManager(){
53 | return "business/outport/outportManager";
54 | }
55 |
56 | /**
57 | * 跳转到商品销售管理页面
58 | * @return
59 | */
60 | @RequestMapping("toSalesManager")
61 | public String toSalesManager(){
62 | return "business/sales/salesManager";
63 | }
64 |
65 | /**
66 | * 跳转到商品销售管理页面
67 | * @return
68 | */
69 | @RequestMapping("toSalesbackManager")
70 | public String toSalesbackManager(){
71 | return "business/salesback/salesbackManager";
72 | }
73 |
74 | }
75 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/service/impl/UserServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 | import com.dev.warehouse.sys.entity.User;
5 | import com.dev.warehouse.sys.mapper.RoleMapper;
6 | import com.dev.warehouse.sys.mapper.UserMapper;
7 | import com.dev.warehouse.sys.service.IUserService;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 | import org.springframework.stereotype.Service;
10 | import org.springframework.transaction.annotation.Transactional;
11 |
12 | import java.io.Serializable;
13 |
14 | @Service
15 | @Transactional
16 | public class UserServiceImpl extends ServiceImpl implements IUserService {
17 |
18 | @Autowired
19 | private RoleMapper roleMapper;
20 |
21 | @Override
22 | public boolean save(User entity) {
23 | return super.save(entity);
24 | }
25 |
26 | @Override
27 | public boolean updateById(User entity) {
28 | return super.updateById(entity);
29 | }
30 |
31 | @Override
32 | public User getById(Serializable id) {
33 | return super.getById(id);
34 | }
35 |
36 | @Override
37 | public boolean removeById(Serializable id) {
38 | //根据用户id删除用户角色中间表的数据
39 | roleMapper.deleteRoleUserByUid(id);
40 | //删除用户头像[如果是默认头像不删除,否则删除]
41 |
42 | return super.removeById(id);
43 | }
44 |
45 | /**
46 | * 保存用户和角色的关系
47 | * @param uid 用户的ID
48 | * @param ids 用户拥有的角色的ID的数组
49 | */
50 | @Override
51 | public void saveUserRole(Integer uid, Integer[] ids) {
52 | //1.根据用户ID删除sys_user_role里面的数据
53 | roleMapper.deleteRoleUserByUid(uid);
54 | if (null!=ids&&ids.length>0){
55 | for (Integer rid : ids) {
56 | roleMapper.insertUserRole(uid,rid);
57 | }
58 | }
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/common/PinyinUtils.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.common;
2 |
3 | import net.sourceforge.pinyin4j.PinyinHelper;
4 | import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
5 | import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
6 | import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
7 | import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
8 | import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
9 |
10 | public class PinyinUtils {
11 |
12 | /**
13 | * 返回一个拼音字符串,并且首字母大写
14 | */
15 | public static String getPingYin(String inputString) {
16 | HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
17 | format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
18 | format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
19 | format.setVCharType(HanyuPinyinVCharType.WITH_V);
20 | String output = "";
21 | if (inputString != null && inputString.length() > 0 && !"null".equals(inputString)) {
22 | char[] input = inputString.trim().toCharArray();
23 | try {
24 | for (int i = 0; i < input.length; i++) {
25 | if (Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {
26 | String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
27 | output += temp[0];
28 | } else {
29 | output += Character.toString(input[i]);
30 | }
31 | }
32 | } catch (BadHanyuPinyinOutputFormatCombination e) {
33 | e.printStackTrace();
34 | }
35 | } else {
36 | return "*";
37 | }
38 | return output;
39 | }
40 |
41 | /* public static void main(String[] args) {
42 | String s = getPingYin("落亦");
43 | System.out.println(s);
44 | }*/
45 |
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/entity/User.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 | import lombok.Data;
8 | import lombok.EqualsAndHashCode;
9 | import lombok.ToString;
10 | import lombok.experimental.Accessors;
11 | import org.springframework.format.annotation.DateTimeFormat;
12 |
13 | import java.io.Serializable;
14 | import java.util.Date;
15 |
16 | @Data
17 | @EqualsAndHashCode(callSuper = false)
18 | @Accessors(chain = true)
19 | @TableName("sys_user")
20 | @ToString
21 | public class User implements Serializable {
22 |
23 | private static final long serialVersionUID=1L;
24 |
25 | @TableId(value = "id", type = IdType.AUTO)
26 | private Integer id;
27 |
28 | private String name;
29 |
30 | private String loginname;
31 |
32 | private String pwd;
33 |
34 | private String address;
35 |
36 | private Integer sex;
37 |
38 | private String remark;
39 |
40 | private Integer deptid;
41 |
42 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
43 | private Date hiredate;
44 |
45 | /**
46 | * 上级领导id
47 | */
48 | private Integer mgr;
49 |
50 | /**
51 | * 是否可用,0不可用,1可用
52 | */
53 | private Integer available;
54 |
55 | /**
56 | * 排序码
57 | */
58 | private Integer ordernum;
59 |
60 | /**
61 | * 用户类型[0超级管理员,1管理员,2普通用户]
62 | */
63 | private Integer type;
64 |
65 | /**
66 | * 用户头像地址
67 | */
68 | private String imgpath;
69 |
70 | /**
71 | * 盐
72 | */
73 | private String salt;
74 |
75 | /**
76 | * 领导名称
77 | */
78 | @TableField(exist = false)
79 | private String leadername;
80 |
81 | /**
82 | * 部门名称
83 | */
84 | @TableField(exist = false)
85 | private String deptname;
86 |
87 |
88 | }
89 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/controller/CacheController.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.controller;
2 |
3 |
4 | import com.dev.warehouse.sys.cache.CachePool;
5 | import com.dev.warehouse.sys.common.CacheBean;
6 | import com.dev.warehouse.sys.common.DataGridView;
7 | import com.dev.warehouse.sys.common.ResultObj;
8 | import org.springframework.web.bind.annotation.RequestMapping;
9 | import org.springframework.web.bind.annotation.RestController;
10 |
11 | import java.util.ArrayList;
12 | import java.util.List;
13 | import java.util.Map;
14 | import java.util.Set;
15 |
16 | @RestController
17 | @RequestMapping("cache")
18 | public class CacheController {
19 |
20 | private static volatile Map CACHE_CONTAINER= CachePool.CACHE_CONTAINER;
21 |
22 | /**
23 | * 查询所有缓存
24 | * @return
25 | */
26 | @RequestMapping("loadAllCache")
27 | public DataGridView loadAllCache(){
28 | List list = new ArrayList<>();
29 |
30 | Set> entrySet = CACHE_CONTAINER.entrySet();
31 | for (Map.Entry entry : entrySet) {
32 | list.add(new CacheBean(entry.getKey(),entry.getValue()));
33 | }
34 | return new DataGridView(list);
35 | }
36 |
37 | /**
38 | * 删除缓存
39 | * @param key
40 | * @return
41 | */
42 | @RequestMapping("deleteCache")
43 | public ResultObj deleteCache(String key){
44 | CachePool.removeCacheByKey(key);
45 | return ResultObj.DELETE_SUCCESS;
46 | }
47 |
48 | /**
49 | * 清空所有缓存
50 | * @return
51 | */
52 | @RequestMapping("removeAllCache")
53 | public ResultObj removeAllCache(){
54 | CachePool.removeAll();
55 | return ResultObj.DELETE_SUCCESS;
56 | }
57 |
58 | /**
59 | * 同步缓存
60 | * @return
61 | */
62 | @RequestMapping("syncCache")
63 | public ResultObj syncCache(){
64 | CachePool.syncData();
65 | return ResultObj.SYNCCACHE_SUCCESS;
66 | }
67 |
68 | }
69 |
--------------------------------------------------------------------------------
/src/main/java/com/dev/warehouse/sys/controller/FileController.java:
--------------------------------------------------------------------------------
1 | package com.dev.warehouse.sys.controller;
2 |
3 | import cn.hutool.core.date.DateUtil;
4 | import com.dev.warehouse.sys.common.AppFileUtils;
5 | import org.springframework.http.ResponseEntity;
6 | import org.springframework.web.bind.annotation.RequestMapping;
7 | import org.springframework.web.bind.annotation.RestController;
8 | import org.springframework.web.multipart.MultipartFile;
9 |
10 | import java.io.File;
11 | import java.io.IOException;
12 | import java.util.Date;
13 | import java.util.HashMap;
14 | import java.util.Map;
15 |
16 | @RestController
17 | @RequestMapping("file")
18 | public class FileController {
19 |
20 | /**
21 | * 文件上传
22 | * @param mf
23 | * @return
24 | */
25 | @RequestMapping("uploadFile")
26 | public Map uploadFile(MultipartFile mf) {
27 | //1.得到文件名
28 | String oldName = mf.getOriginalFilename();
29 | //2.根据旧的文件名生成新的文件名
30 | String newName= AppFileUtils.createNewFileName(oldName);
31 | //3.得到当前日期的字符串
32 | String dirName= DateUtil.format(new Date(), "yyyy-MM-dd");
33 | //4.构造文件夹
34 | File dirFile=new File(AppFileUtils.UPLOAD_PATH,dirName);
35 | //5.判断当前文件夹是否存在
36 | if(!dirFile.exists()) {
37 | //如果不存在则创建新文件夹
38 | dirFile.mkdirs();
39 | }
40 | //6.构造文件对象
41 | File file=new File(dirFile, newName+"_temp");
42 | //7.把mf里面的图片信息写入file
43 | try {
44 | mf.transferTo(file);
45 | } catch (IllegalStateException | IOException e) {
46 | e.printStackTrace();
47 | }
48 | Map map=new HashMap();
49 | map.put("path",dirName+"/"+newName+"_temp");
50 | return map;
51 | }
52 |
53 | /**
54 | * 图片下载
55 | */
56 | @RequestMapping("showImageByPath")
57 | public ResponseEntity