私信或留言即免费送开题报告和任务书(可指定任意题目)
目录
一、摘要
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本图书商城管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此图书商城管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、字典管理、图书管理、图书收藏管理、图书评价管理、图书订单管理、用户管理、管理员管理等功能。图书商城管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
关键词:图书商城管理系统;SSM框架;Mysql;自动化
二、相关技术
java、tomcat、mysql、spring、springBoot、mybatis、query、vue
三、系统设计
3.1 整体功能设计图
3.2 功能具体细节设计
(1)图书列表
如图5.1显示的就是图书列表页面,此页面提供给管理员的功能有:查看图书、新增图书、修改图书、删除图书等。
(2)图书订单信息管理
图书订单信息管理页面提供的功能操作有:发货,删除图书订单操作。下图就是图书订单信息管理页面。
(3)图书类型管理
图书类型管理页面显示所有图书类型,在此页面既可以让管理员添加新的图书信息类型,也能对已有的图书类型信息执行编辑更新,失效的图书类型信息也能让管理员快速删除。下图就是图书类型管理页面。
四、数据库设计
表4.1收货地址表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
yonghu_id |
Integer |
创建用户 |
是 |
3 |
address_name |
String |
收货人 |
是 |
4 |
address_phone |
String |
电话 |
是 |
5 |
address_dizhi |
String |
地址 |
是 |
6 |
isdefault_types |
Integer |
是否默认地址 |
是 |
7 |
insert_time |
Date |
添加时间 |
是 |
8 |
update_time |
Date |
修改时间 |
是 |
9 |
create_time |
Date |
创建时间 |
是 |
表4.2购物车表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
yonghu_id |
Integer |
所属用户 |
是 |
3 |
tushu_id |
Integer |
图书 |
是 |
4 |
buy_number |
Integer |
购买数量 |
是 |
5 |
create_time |
Date |
添加时间 |
是 |
6 |
update_time |
Date |
更新时间 |
是 |
7 |
insert_time |
Date |
创建时间 |
是 |
表4.3字典表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
dic_code |
String |
字段 |
是 |
3 |
dic_name |
String |
字段名 |
是 |
4 |
code_index |
Integer |
编码 |
是 |
5 |
index_name |
String |
编码名字 |
是 |
6 |
super_id |
Integer |
父字段id |
是 |
7 |
beizhu |
String |
备注 |
是 |
8 |
create_time |
Date |
创建时间 |
是 |
表4.4图书表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
tushu_name |
String |
图书名称 |
是 |
3 |
tushu_photo |
String |
图书照片 |
是 |
4 |
tushu_types |
Integer |
图书类型 |
是 |
5 |
tushu_kucun_number |
Integer |
图书库存 |
是 |
6 |
tushu_price |
Integer |
购买获得积分 |
是 |
7 |
tushu_old_money |
BigDecimal |
图书原价 |
是 |
8 |
tushu_new_money |
BigDecimal |
现价 |
是 |
9 |
tushu_clicknum |
Integer |
点击次数 |
是 |
10 |
tushu_content |
String |
图书简介 |
是 |
11 |
shangxia_types |
Integer |
是否上架 |
是 |
12 |
tushu_delete |
Integer |
逻辑删除 |
是 |
13 |
create_time |
Date |
创建时间 |
是 |
表4.5图书收藏表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
tushu_id |
Integer |
图书 |
是 |
3 |
yonghu_id |
Integer |
用户 |
是 |
4 |
tushu_collection_types |
Integer |
类型 |
是 |
5 |
insert_time |
Date |
收藏时间 |
是 |
6 |
create_time |
Date |
创建时间 |
是 |
表4.6图书评价表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
tushu_id |
Integer |
图书 |
是 |
3 |
yonghu_id |
Integer |
用户 |
是 |
4 |
tushu_commentback_text |
String |
评价内容 |
是 |
5 |
insert_time |
Date |
评价时间 |
是 |
6 |
reply_text |
String |
回复内容 |
是 |
7 |
update_time |
Date |
回复时间 |
是 |
8 |
create_time |
Date |
创建时间 |
是 |
表4.7图书订单表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
tushu_order_uuid_number |
String |
订单号 |
是 |
3 |
address_id |
Integer |
收获地址 |
是 |
4 |
tushu_id |
Integer |
图书 |
是 |
5 |
yonghu_id |
Integer |
用户 |
是 |
6 |
buy_number |
Integer |
购买数量 |
是 |
7 |
tushu_order_true_price |
BigDecimal |
实付价格 |
是 |
8 |
tushu_order_courier_name |
String |
快递公司 |
是 |
9 |
tushu_order_courier_number |
String |
订单快递单号 |
是 |
10 |
tushu_order_types |
Integer |
订单类型 |
是 |
11 |
tushu_order_payment_types |
Integer |
支付类型 |
是 |
12 |
insert_time |
Date |
订单创建时间 |
是 |
13 |
create_time |
Date |
创建时间 |
是 |
五、核心代码
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
ShigudengjiEntity shigudengji = shigudengjiService.selectById(id);
if(shigudengji !=null){
//entity转view
ShigudengjiView view = new ShigudengjiView();
BeanUtils.copyProperties( shigudengji , view );//把实体数据重构到view中
//级联表
YonghuEntity yonghu = yonghuService.selectById(shigudengji.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//级联表
YuangongEntity yuangong = yuangongService.selectById(shigudengji.getYuangongId());
if(yuangong != null){
BeanUtils.copyProperties( yuangong , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYuangongId(yuangong.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody ShigudengjiEntity shigudengji, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,shigudengji:{}",this.getClass().getName(),shigudengji.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isEmpty(role))
return R.error(511,"权限为空");
else if("员工".equals(role))
shigudengji.setYuangongId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
Wrapper<ShigudengjiEntity> queryWrapper = new EntityWrapper<ShigudengjiEntity>()
.eq("yonghu_id", shigudengji.getYonghuId())
.eq("yuangong_id", shigudengji.getYuangongId())
.eq("shigudengji_uuid_number", shigudengji.getShigudengjiUuidNumber())
.eq("shigudengji_name", shigudengji.getShigudengjiName())
.eq("shigudengji_types", shigudengji.getShigudengjiTypes())
.eq("zeren_types", shigudengji.getZerenTypes())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
ShigudengjiEntity shigudengjiEntity = shigudengjiService.selectOne(queryWrapper);
if(shigudengjiEntity==null){
shigudengji.setInsertTime(new Date());
shigudengji.setCreateTime(new Date());
shigudengjiService.insert(shigudengji);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
六、论文参考
七、源码获取
点赞、收藏、关注、评论啦。
联系即送开题报告和任务书,欢迎咨询