一、数据表设计
管理员用户表tb_newbee_mall_admin_user
admin_user_id
:管理员id
,自增主键,用于唯一标识每个管理员用户。
login_user_name
:管理员登陆名称
,用于管理员登录系统。
login_password
:管理员登陆密码
,与登录用户名配合进行登录验证。
nick_name
:管理员显示昵称
,用于在系统中显示管理员的称呼。
locked
:是否锁定 0 未锁定 1 已锁定无法登陆
,用于控制管理员账号的登录状态。
首页轮播图表tb_newbee_mall_carousel
carousel_id
:首页轮播图主键 id,用于唯一标识每个轮播图记录。
carousel_url
:轮播图的 URL,存储轮播图的图片地址。
redirect_url
:点击轮播图后的跳转地址,表示点击轮播图后要跳转的页面地址。
carousel_rank
:排序值,字段值越大表示在轮播图展示中越靠前。
is_deleted
:删除标识字段,默认值为 0。0 表示未删除,1 表示已删除。
create_time
:创建时间,默认值为当前时间。记录轮播图的创建时间。
create_user
:创建者 id,默认值为 0。表示创建该轮播图记录的用户 id。
update_time
:修改时间,默认值为当前时间。记录轮播图记录的最后修改时间。
update_user
:修改者 id,默认值为 0。表示最后修改该轮播图记录的用户 id。
商品分类表tb_newbee_mall_goods_category
category_id
:分类 id,用于唯一标识每个商品分类。
category_level
:分类级别,用于区分不同层级的商品分类。
parent_id
:父分类 id,存储当前分类的父分类 id,如果是一级分类,则父分类 id 为 0。
category_name
:分类名称,用于存储商品分类的具体名称。
category_rank
:排序值,默认值为 0。字段值越大表示在商品分类展示中越靠前。
is_deleted
:删除标识字段,用于标记商品分类是否被删除。
create_time
:创建时间,默认值为当前时间。记录商品分类的创建时间。
create_user
:创建者 id,默认值为 0。表示创建该商品分类的用户 id。
update_time
:修改时间,默认值为当前时间。记录商品分类记录的最后修改时间。
update_user
:修改者 id,表示最后修改该商品分类记录的用户 id。
商品信息表tb_newbee_mall_goods_info
goods_id
: 商品表的主键id。
goods_name
: 商品的名称。
goods_intro
: 商品的简介。
goods_category_id
: 关联的商品分类id。
goods_cover_img
: 商品的主图,默认为/admin/dist/img/no-img.png
。
goods_carousel
: 商品的轮播图,默认为/admin/dist/img/no-img.png
。
goods_detail_content
: 商品的详细内容。
original_price
: 商品的原价。
selling_price
: 商品的实际售价。
stock_num
: 商品的库存数量。
tag
: 商品的标签。
goods_sell_status
: 商品的上架状态,0为下架,1为上架。
create_user
: 添加者的主键id。
create_time
: 商品的添加时间,默认为当前时间。
update_user
: 修改者的主键id。
update_time
: 商品的修改时间,默认为当前时间。
首页配置表tb_newbee_mall_index_config
config_id
:首页配置项的主键id,用于唯一标识每个配置项。
config_name
:显示字符,用于配置搜索时的显示字符,不能为空,默认为空。
config_type
:配置类型,表示配置项的类型,取值范围为1-5,分别对应不同的配置类型:1-搜索框热搜,2-搜索下拉框热搜,3-首页热销商品,4-首页新品上线,5-首页为你推荐。
goods_id
:商品id,默认为0,用于指定配置项对应的商品id。
redirect_url
:点击后的跳转地址,默认为"##",表示点击配置项后的跳转地址,默认不跳转。
config_rank
:排序值,默认为0,用于指定配置项的排序,字段越大越靠前。
is_deleted
:删除标识字段,默认为0,用于标识配置项是否已删除
create_time
:创建时间,默认为当前时间,用于记录配置项的创建时间。
create_user
:创建者id,默认为0,用于记录配置项的创建者id。
update_time
:最新修改时间,默认为当前时间,用于记录配置项的最新修改时间。
update_user
:修改者id,默认为0,用于记录配置项的修改者id。
销售定单表tb_newbee_mall_order
order_id
:订单表主键id,类型为bigint,自增长,不可为空。
order_no
:订单号,类型为varchar,长度为20,字符集为utf8,不可为空,默认值为空字符串。
user_id
:用户主键id,类型为bigint,不可为空,默认值为0。
total_price
:订单总价,类型为int,长度为11,不可为空,默认值为1。
pay_status
:支付状态,类型为tinyint,长度为4,不可为空,默认值为0。取值范围为0(未支付)、1(支付成功)、-1(支付失败)。
pay_type
:支付类型,类型为tinyint,长度为4,不可为空,默认值为0。取值范围为0(无)、1(支付宝支付)、2(微信支付)。
pay_time
:支付时间,类型为datetime,可为空,默认值为空。
order_status
:订单状态,类型为tinyint,长度为4,不可为空,默认值为0。取值范围为0(待支付)、1(已支付)、2(配货完成)、3(出库成功)、4(交易成功)、-1(手动关闭)、-2(超时关闭)、-3(商家关闭)。
extra_info
:订单body,类型为varchar,长度为100,字符集为utf8,不可为空,默认值为空字符串。
user_name
:收货人姓名,类型为varchar,长度为30,字符集为utf8,不可为空,默认值为空字符串。
user_phone
:收货人手机号,类型为varchar,长度为11,字符集为utf8,不可为空,默认值为空字符串。
user_address
:收货人收货地址,类型为varchar,长度为100,字符集为utf8,不可为空,默认值为空字符串。
is_deleted
:删除标识字段,类型为tinyint,长度为4,不可为空,默认值为0。取值范围为0(未删除)、1(已删除)。
create_time
:创建时间,类型为datetime,不可为空,默认值为当前时间。
update_time
:最新修改时间,类型为datetime,不可为空,默认值为当前时间。
定单列表项表tb_newbee_mall_order_item
order_item_id:订单关联购物项主键id
order_id:订单主键id
goods_id:关联商品id
goods_name:下单时商品的名称(订单快照)
goods_cover_img:下单时商品的主图(订单快照)
selling_price:下单时商品的价格(订单快照)
goods_count:数量(订单快照)
create_time:创建时间
购物车列表项表tb_newbee_mall_shopping_cart_item
cart_item_id
:购物项主键id
user_id
:用户主键id
goods_id
:关联商品id
goods_count
:数量(最大为5)
is_deleted
:删除标识字段(0-未删除 1-已删除)
create_time
:创建时间
update_time
:最新修改时间
消费者用户表tb_newbee_mall_user
user_id
:用户主键id
nick_name
:用户昵称
login_name
:登陆名称,即手机号
password_md5
:MD5加密后的密码
introduce_sign
:个性签名
address
:收货地址
is_deleted
:注销标识字段,0表示正常,1表示已注销
locked_flag
:锁定标识字段,0表示未锁定,1表示已锁定
create_time
:注册时间
二、、DAO接口
管理员用户表
public interface AdminUserMapper {
int insert(AdminUser record);
int insertSelective(AdminUser record);
/**
* 登陆方法
*
* @param userName
* @param password
* @return
*/
AdminUser login(@Param("userName") String userName, @Param("password") String password);
AdminUser selectByPrimaryKey(Integer adminUserId);
int updateByPrimaryKeySelective(AdminUser record);
int updateByPrimaryKey(AdminUser record);
}
首页轮播表
public interface CarouselMapper {
int deleteByPrimaryKey(Integer carouselId);
int insert(Carousel record);
int insertSelective(Carousel record);
Carousel selectByPrimaryKey(Integer carouselId);
int updateByPrimaryKeySelective(Carousel record);
int updateByPrimaryKey(Carousel record);
List<Carousel> findCarouselList(PageQueryUtil pageUtil);
int getTotalCarousels(PageQueryUtil pageUtil);
int deleteBatch(Integer[] ids);
List<Carousel> findCarouselsByNum(@Param("number") int number);
}
商品分类表
public interface GoodsCategoryMapper {
int deleteByPrimaryKey(Long categoryId);
int insert(GoodsCategory record);
int insertSelective(GoodsCategory record);
GoodsCategory selectByPrimaryKey(Long categoryId);
GoodsCategory selectByLevelAndName(@Param("categoryLevel") Byte categoryLevel, @Param("categoryName") String categoryName);
int updateByPrimaryKeySelective(GoodsCategory record);
int updateByPrimaryKey(GoodsCategory record);
List<GoodsCategory> findGoodsCategoryList(PageQueryUtil pageUtil);
int getTotalGoodsCategories(PageQueryUtil pageUtil);
int deleteBatch(Integer[] ids);
List<GoodsCategory> selectByLevelAndParentIdsAndNumber(@Param("parentIds") List<Long> parentIds, @Param("categoryLevel") int categoryLevel, @Param("number") int number);
}
商品信息表
public interface NewBeeMallGoodsMapper {
int deleteByPrimaryKey(Long goodsId);
int insert(NewBeeMallGoods record);
int insertSelective(NewBeeMallGoods record);
NewBeeMallGoods selectByPrimaryKey(Long goodsId);
NewBeeMallGoods selectByCategoryIdAndName(@Param("goodsName") String goodsName, @Param("goodsCategoryId") Long goodsCategoryId);
int updateByPrimaryKeySelective(NewBeeMallGoods record);
int updateByPrimaryKeyWithBLOBs(NewBeeMallGoods record);
int updateByPrimaryKey(NewBeeMallGoods record);
List<NewBeeMallGoods> findNewBeeMallGoodsList(PageQueryUtil pageUtil);
int getTotalNewBeeMallGoods(PageQueryUtil pageUtil);
List<NewBeeMallGoods> selectByPrimaryKeys(List<Long> goodsIds);
List<NewBeeMallGoods> findNewBeeMallGoodsListBySearch(PageQueryUtil pageUtil);
int getTotalNewBeeMallGoodsBySearch(PageQueryUtil pageUtil);
int batchInsert(@Param("newBeeMallGoodsList") List<NewBeeMallGoods> newBeeMallGoodsList);
int updateStockNum(@Param("stockNumDTOS") List<StockNumDTO> stockNumDTOS);
int recoverStockNum(@Param("stockNumDTOS") List<StockNumDTO> stockNumDTOS);
int batchUpdateSellStatus(@Param("orderIds")Long[] orderIds,@Param("sellStatus") int sellStatus);
}
首页配置表
public interface IndexConfigMapper {
int deleteByPrimaryKey(Long configId);
int insert(IndexConfig record);
int insertSelective(IndexConfig record);
IndexConfig selectByPrimaryKey(Long configId);
IndexConfig selectByTypeAndGoodsId(@Param("configType") int configType, @Param("goodsId") Long goodsId);
int updateByPrimaryKeySelective(IndexConfig record);
int updateByPrimaryKey(IndexConfig record);
List<IndexConfig> findIndexConfigList(PageQueryUtil pageUtil);
int getTotalIndexConfigs(PageQueryUtil pageUtil);
int deleteBatch(Long[] ids);
List<IndexConfig> findIndexConfigsByTypeAndNum(@Param("configType") int configType, @Param("number") int number);
}
销售定单表
public interface NewBeeMallOrderMapper {
int deleteByPrimaryKey(Long orderId);
int insert(NewBeeMallOrder record);
int insertSelective(NewBeeMallOrder record);
NewBeeMallOrder selectByPrimaryKey(Long orderId);
NewBeeMallOrder selectByOrderNo(String orderNo);
int updateByPrimaryKeySelective(NewBeeMallOrder record);
int updateByPrimaryKey(NewBeeMallOrder record);
List<NewBeeMallOrder> findNewBeeMallOrderList(PageQueryUtil pageUtil);
int getTotalNewBeeMallOrders(PageQueryUtil pageUtil);
List<NewBeeMallOrder> selectByPrimaryKeys(@Param("orderIds") List<Long> orderIds);
int checkOut(@Param("orderIds") List<Long> orderIds);
int closeOrder(@Param("orderIds") List<Long> orderIds, @Param("orderStatus") int orderStatus);
int checkDone(@Param("orderIds") List<Long> asList);
}
定单列表项表
public interface NewBeeMallOrderItemMapper {
int deleteByPrimaryKey(Long orderItemId);
int insert(NewBeeMallOrderItem record);
int insertSelective(NewBeeMallOrderItem record);
NewBeeMallOrderItem selectByPrimaryKey(Long orderItemId);
/**
* 根据订单id获取订单项列表
*
* @param orderId
* @return
*/
List<NewBeeMallOrderItem> selectByOrderId(Long orderId);
/**
* 根据订单ids获取订单项列表
*
* @param orderIds
* @return
*/
List<NewBeeMallOrderItem> selectByOrderIds(@Param("orderIds") List<Long> orderIds);
/**
* 批量insert订单项数据
*
* @param orderItems
* @return
*/
int insertBatch(@Param("orderItems") List<NewBeeMallOrderItem> orderItems);
int updateByPrimaryKeySelective(NewBeeMallOrderItem record);
int updateByPrimaryKey(NewBeeMallOrderItem record);
}
购物车列表项表
public interface NewBeeMallShoppingCartItemMapper {
int deleteByPrimaryKey(Long cartItemId);
int insert(NewBeeMallShoppingCartItem record);
int insertSelective(NewBeeMallShoppingCartItem record);
NewBeeMallShoppingCartItem selectByPrimaryKey(Long cartItemId);
NewBeeMallShoppingCartItem selectByUserIdAndGoodsId(@Param("newBeeMallUserId") Long newBeeMallUserId, @Param("goodsId") Long goodsId);
List<NewBeeMallShoppingCartItem> selectByUserId(@Param("newBeeMallUserId") Long newBeeMallUserId, @Param("number") int number);
int selectCountByUserId(Long newBeeMallUserId);
int updateByPrimaryKeySelective(NewBeeMallShoppingCartItem record);
int updateByPrimaryKey(NewBeeMallShoppingCartItem record);
int deleteBatch(List<Long> ids);
}
消费者用户表
public interface MallUserMapper {
int deleteByPrimaryKey(Long userId);
int insert(MallUser record);
int insertSelective(MallUser record);
MallUser selectByPrimaryKey(Long userId);
MallUser selectByLoginName(String loginName);
MallUser selectByLoginNameAndPasswd(@Param("loginName") String loginName, @Param("password") String password);
int updateByPrimaryKeySelective(MallUser record);
int updateByPrimaryKey(MallUser record);
List<MallUser> findMallUserList(PageQueryUtil pageUtil);
int getTotalMallUsers(PageQueryUtil pageUtil);
int lockUserBatch(@Param("ids") Integer[] ids, @Param("lockStatus") int lockStatus);
}