开店铺所用的表格:
req_create_shop //请求开店
shop //已开店铺
member //员工信息
流程如下:
一、检查是否具有申请开店资格:
登录——检查请求开店表(req_create_shop)——检查已开店铺(shop)
员工登录&(请求开店表未有该员工记录 || 请求开店表该员工记录状态为(预处理、可见、已审核、审核不通过))&已开店未有该员工记录 ——具有开店资格
否则,不具有再次申请开店资格
(即:每名员工只能开一个店铺,若已经有开店请求,若审核中,不具有再开店资格,若审核不通过,则有继续开店资格)
二、请求开店
登录——输入真实姓名——身份证号——店铺名称——系统对相应参数进行检查——持久化入 req_create_shop 表中,申请开店完成
三、系统对req_create_shop 表格进行定时扫描
(1)查询未经扫描的记录(即p_status=0);
(2) 查出未经扫描的记录List<CreateShopRequest>,从中获取单个对象,获取该对象的memberId,通过memberId查询其p_status!=0的上一个对象,其状态为预处理、可见;
(3)存在以下情况:
若无上一个对象,将单个对象状态(p_status)设置为:预处理,可见
若有上一个对象,该对象状态为:预处理、可见、已审核、审核通过,将单个对象状态设置为:预处理、不可见
若有上一个对象,该对象状态为:预处理、可见、已审核、审核未通过,将单个对象状态设置:预处理、可见
若有上一个对象,该对象状态为:预处理、可见、未审核、审核未通过,将单个对象状态设置:与处理、不可见
四、开店,系统对req_create_shop表进行定时扫描
查询对象状态为:预处理、可见、已审核、审核通过、店铺生成器未扫描,获取List<createShopRequest>集合
获取单个对象,获取其memberId,查询shop表,若该memberId有shop对象,开店失败;
若该memberId无shop对象,获取单个对象的相关参数,持久化入(save)shop表,对member表中与开店相关的参数进行更新,开店成功。