# FZ
**Repository Path**: luck19920329/fz
## Basic Information
- **Project Name**: FZ
- **Description**: 服装管理系统hello
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-02-09
- **Last Updated**: 2024-07-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: saas, 线下, 服装
## README
# FZ连锁服装管理系统

## saas化
规则:
1. 订单添加了店铺区分
2. sku添加了店铺区分,但是skuById 并不会,admin不区分,查所有
3. 管理员查询不添加店铺区分,新增 修改shop_id=1
4. 至于spu和用户相关操作 不对子店铺提供权限,所以无需提供区分
5. 定时任务不需要拦截修改的
拦截器的一些 思路, 判断是否管理员, 管理员所有字段都不做店铺id= , 直接查所有数据, 如果是分店店员 或分店负责人 ,那就增删查改都要做限制
增加拦截器里面非admin修改其他店铺数据 店铺id=登陆账号所在id
SQL拦截器定时任务 的sql也会拦截 只是不会做修改 , 因为没加注解
启动的时候登录查username的时候也不替换 ,
## 系统用户基本设置功能:
主要包括客户、分店负责人、营业员及管理员的不同权限设置功能、
lucky: 店铺表 所有的表关联店铺表 总店可以设置所有的权限 就是admin 已
lucky: 客户表 已
lucky: 员工管理则在系统用户管理中
## 服装信息管理功能:
主要包括服装类别管理和服装编码、分类、材质、颜色、以及库存量等 已
基本信息的录入、修改、删除、查询及 已
报表生成等功能。未
## 员工信息管理:
主要包括对店员基本信息的增加、修改、删除和查询以及 -> 做入管理员 已
报表生成功能,记录店员绩效与职责,薪资水平等。 ->做入管理员 已
## 进销存管理功能:
主要包括供应商管理,记录各个分店库存状况统计总库存量,以及各 已

### 订单
#### 新增订单
雪花id, 事务排他锁做并发安全 ,扣减sku库存(库存不足可以提示去申请跨店调配或者新增货源),重新去数据库查询价格计算总价,同步插入orderitem表
如果是会员可以折扣,.需要校验会员是否存在 同时会增加客户积分
#### 查询
查orderitem表
#### 删除取消订单
时回滚库存 还要删除订单商品数据 会回滚用户积分记录
有做删除订单还得删除与之相关的OrderItem数据和回滚sku库存且判断已完成,或已支付则不能删除订单
#### 修改订单
不允许
### 库存相关逻辑
---- 不涉及到仓库, 所以把库存做到了 sku,spu, 已
lucky: 后续所有修改库存的操作 ,都仅仅能够调用 sku.updateSku(Sku sku) ,且都需要查询加锁.定时任务也需要,selectSkuByIdForUpdate不允许调用skuMapper --------------------------------------重点
lucky : 做了店铺库存就是sku - sku总库存 -spu库存 - spu绑定brand
lucky: 定时任务可以统计每个sku隶属于某个供应商总库存,spu总库存,总库存 这个是为了校准. 主要还是平时增删改sku的时候,做库存扣除 已
lucky: 业务做 sku店铺库存扣减 (销售表) 已
lucky: sku新增和扣减库存 . 库存直接设计到 sku, spu, brand. 扣减和新增都需要扣减几个地方事务操作 定时任务1小时统计一次spu数量 已,
lucky: 主要包括供应商管理,记录各个分店库存状况统计总库存量,以及各
## 分店间调配功能:
主要包括跨店查询,调货请求及确认,调货配送跟踪,各店库存更新等。
店员可以申请只能申请本店铺的并且数量<=# 库存预警可申请值 才可以申请,
但是只能由目标店的负责人才能批准,根据shop表查看负责人id
审批 按钮触发没反应
# 技术选型
springBoot + html+ css+ js+JQuery+ adminLTE2.0 + mysql+ shiro+thymeleaf+lombok+pageHelper+bootstarp + easyExcel + aop + 富文本编辑器
## 技术点备忘:
1. 页面到后端业务层拿数据
```html
菜单状态:
```
2. 富文本编辑器文档
技术要点-富文本编辑器

3. 启用禁用插件
技术要点-启用禁用插件

4. 批量上传图片
技术要点-批量上传图片

5. bootstrap
https://v3.bootcss.com/
6. adminLTE2.0
http://adminlte.la998.com/documentation/index.html
7. shiro
https://zhuanlan.zhihu.com/p/366251013
8. thymeleaf
https://zhuanlan.zhihu.com/p/90642654
9. knif4j
https://zhuanlan.zhihu.com/p/550914935
10. pageHelper
https://zhuanlan.zhihu.com/p/453238791
11. 重点功能 - excel
12. 参数校验框架 validation
https://blog.csdn.net/justry_deng/article/details/86571671
简化版:
加依赖
```xml
org.springframework.boot
spring-boot-starter-validation
```
实体类加如下注解

controller 方法参数加@Validated注解
```java
/**
* 新增保存商品货品
*/
@RequiresPermissions("sku:add")
@PostMapping("/add")
@ResponseBody
public JsonResult addSave(@Validated Sku sku)
{
return new JsonResult(skuService.insertSku(sku));
}
```
全局异常处理类
```java
/**
* 全局异常处理类 捕获未通过校验的controller参数
*/
@ExceptionHandler({BindException.class, UnexpectedTypeException.class})
@ResponseBody
public JsonResult validatedBindException(BindException e)
{
String message = e.getAllErrors().get(0).getDefaultMessage();
ServiceException serviceException = new ServiceException(message);
return new JsonResult(serviceException);
}
```
13. springBoot使用定时任务,完成对stock库存汇总
https://blog.csdn.net/qianlixiaomage/article/details/106599951
14. 做订单的时候发现页面不好画,所以引入了elementUI
参考文档: https://blog.csdn.net/a873744779/article/details/123115883
15. saas实现,使用了mybatis sql拦截器实现
增改查的时候, 去拦截sql 拼接shop_id字段
16. 导出excel,使用的是easyExcel
# 项目部署启动
### 1.百度富文本记得添加 如下jar包在项目中

### 2.注意target里面的classes字节码里面public/img/的图片要复制过去,从public可以手动复制到classes ,如果有新的上传图片,也会出现在target目录
### 3.用户名密码
admin 123456
店长01 123456
店长02 123456
店长03 123456
店长04 123456
销售01 123456
销售02 123456