网上书城系统的设计与实现

该系统为管理员和用户提供不同权限的功能,包括图书信息管理、用户信息维护、订单处理等。管理员可进行用户和图书类型的全面管理,而用户可以浏览、收藏和管理订单。系统采用数据库存储信息,并有相应的代码实现图书分类的增删查改操作。
摘要由CSDN通过智能技术生成

背景

设计一个网上书城管理系统,通过这个系统能够满足网上书城的管理及用户的图书信息管理及购物功能。系统的主要功能包括:首页、个人中心、用户管理、图书类型管理、图书分类管理、图书信息管理、我的收藏管理、系统管理、订单管理等功能。

管理员可以根据系统给定的账号进行登录,登录后可以进入网上书城管理系统,对网上书城管理系统所有模块进行管理。包括查看和修改自己的个人信息以及登录密码。

该系统为每一个用户都分配了一个用户账号,用户通过账号的登录可以在系统中查看网上书城信息及对个人信息进行修改等功能。

系统架构

可以将网上书城管理系统的功能分为管理员和用户两个部分,系统的主要功能包括首页、个人中心、用户管理、图书类型管理、图书分类管理、图书信息管理、我的收藏管理、系统管理、订单管理等内容。任何用户只要进入网站不需登录也可浏览到的信息,后台管理是针对已登录的用户看到满意的网上书城信息而设计的。

1、一般用户的功能及权限
所谓一般用户就是指还没有注册的过客,他们可以浏览主页面上的信息。但如果有中意的网上书城信息时,要登录注册,只有注册成功才有的权限。

2、管理员的功能及权限
用户信息的添加和管理,网上书城详细信息添加和管理和文档信息添加和管理以及网站信息管理,这些都是管理员的功能。

3、系统功能结构图
系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。网上书城管理系统的整个设计结构如图:

在这里插入图片描述

数据库设计

网上书城管理系统是两种身份的用户,主要涉及管理员和用户。每个身份都是操作起来都是清楚方便的。对于一些网上书城信息,这是任何人都可以查看的,但是如果用户想进入后台管理,则必须是已经进行登录的用户,或者想修改网上书城信息的话,也是需要用户为登录状态。这些用户的基本信息都由管理员对其统一管理。

概念模型ER图

概念模型与数据建模用户的观点一致,用于信息世界的建模工具。通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
用户注册实体图如图:
在这里插入图片描述
图书信息实体图如图:
在这里插入图片描述
购物车实体图如图:

在这里插入图片描述

数据库模型

数据库概念结构设计后,可以数据库概念转化实际的数据模型,这是一种数据库的逻辑结构,就是将概念结构与支持数据库管理系统的模型相符合。具体的表设计如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

详细系统设计

管理员功能模块

管理员登录系统后,可以对首页、个人中心、用户管理、图书类型管理、图书分类管理、图书信息管理、我的收藏管理、系统管理、订单管理等功能进行相应操作,如图:

在这里插入图片描述
用户管理,在用户管理页面可以对索引、用户名、姓名、性别、头像、邮箱、手机等信息进行详情,修改或删除等操作,如图:

在这里插入图片描述
图书类型管理,在图书类型管理页面可以对索引、图书类型等信息进行修改和删除等操作,如图:

在这里插入图片描述

用户后台功能模块

用户登录进入系统后台,可以对首页、个人中心、我的收藏管理、订单管理等功能进行相应操作,如图:

在这里插入图片描述

系统代码实现

由于涉及到的代码较多,此处只展示部分的代码实现。

图书分类代码

@RestController
@RequestMapping("/tushufenlei")
public class TushufenleiController {
    @Autowired
    private TushufenleiService tushufenleiService;

    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,TushufenleiEntity tushufenlei,
		HttpServletRequest request){
        EntityWrapper<TushufenleiEntity> ew = new EntityWrapper<TushufenleiEntity>();
		PageUtils page = tushufenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tushufenlei), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,TushufenleiEntity tushufenlei, 
		HttpServletRequest request){
        EntityWrapper<TushufenleiEntity> ew = new EntityWrapper<TushufenleiEntity>();
		PageUtils page = tushufenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tushufenlei), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( TushufenleiEntity tushufenlei){
       	EntityWrapper<TushufenleiEntity> ew = new EntityWrapper<TushufenleiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( tushufenlei, "tushufenlei")); 
        return R.ok().put("data", tushufenleiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(TushufenleiEntity tushufenlei){
        EntityWrapper< TushufenleiEntity> ew = new EntityWrapper< TushufenleiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( tushufenlei, "tushufenlei")); 
		TushufenleiView tushufenleiView =  tushufenleiService.selectView(ew);
		return R.ok("查询图书分类成功").put("data", tushufenleiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        TushufenleiEntity tushufenlei = tushufenleiService.selectById(id);
        return R.ok().put("data", tushufenlei);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        TushufenleiEntity tushufenlei = tushufenleiService.selectById(id);
        return R.ok().put("data", tushufenlei);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody TushufenleiEntity tushufenlei, HttpServletRequest request){
    	tushufenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(tushufenlei);
        tushufenleiService.insert(tushufenlei);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody TushufenleiEntity tushufenlei, HttpServletRequest request){
    	tushufenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(tushufenlei);
        tushufenleiService.insert(tushufenlei);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody TushufenleiEntity tushufenlei, HttpServletRequest request){
        //ValidatorUtils.validateEntity(tushufenlei);
        tushufenleiService.updateById(tushufenlei);//全部更新
        return R.ok();
    }

订单管理入口代码


@RestController
@RequestMapping(“/orders”)
public class OrdersController {
@Autowired
private OrdersService ordersService;

/**
 * 后端列表
 */
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,OrdersEntity orders,
	HttpServletRequest request){
	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
		orders.setUserid((Long)request.getSession().getAttribute("userId"));
	}
    EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
	PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));

    return R.ok().put("data", page);
}

/**
 * 前端列表
 */
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,OrdersEntity orders, 
	HttpServletRequest request){
    EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
	PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
    return R.ok().put("data", page);
}

/**
 * 列表
 */
@RequestMapping("/lists")
public R list( OrdersEntity orders){
   	EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
  	ew.allEq(MPUtil.allEQMapPre( orders, "orders")); 
    return R.ok().put("data", ordersService.selectListView(ew));
}

 /**
 * 查询
 */
@RequestMapping("/query")
public R query(OrdersEntity orders){
    EntityWrapper< OrdersEntity> ew = new EntityWrapper< OrdersEntity>();
	ew.allEq(MPUtil.allEQMapPre( orders, "orders")); 
	OrdersView ordersView =  ordersService.selectView(ew);
	return R.ok("查询订单成功").put("data", ordersView);
}
网上书店的设计实现 作 者: 指导老师: (湖南信息学院电子信息学院2012级软件设计,长沙 410151) 摘要: 网上书店系统是建立在Internet网上进行商务活动的虚拟网络空间和保障商务顺利运营的管理环境;是协调、整合信息流、物质流、资金流有序、关联、高效流动的重要场所。网上商家、合作商家、企业和网络客户可充分利用在线书城提供的网络基础设施、支付平台、安全平台、管理平台等共享资源有效地、低成本地开展自己的商务活动。 网上书店系统是基于B/S模式的小型电子商务系统,能够满足中小型书店的网上售书需要。 系统采用Visual Studio作为开发平台,以MS SQL Server 2000 作为 后台数据库来完成对系统设计和开发。主要开发流程为:对基于WEB的网上购物系统进行可行性分析,并对资源分配、进度安排等做出合理的计划后,对该系统进行了需求分析、概要设计和详细设计,最后对每个模块进行了编码,并进一步对完成好的系统进行了测试和运行。 说明书首先对电子商务的基础知识和构建网上书店的关键业务进行了阐述。其次用面向对象的方法分析并设计了一个网上书店系统,其中涉及了网上书店系统开发的模式、后台关系型数据库设计、工具及环境的说明。本网站开发过程中将依照软件生命周期法则,在需求分析阶段进行了功能需求分析、非功能性需求,其中包括系统业务流程分析。同时对数据库中的关键技术和分析方法也做了详细的阐述。基本囊括了一个电子商务网站的开发制作流程和应该予以重视的要点问题。 关键词:电子商务;网上购物;数据库;动态建模
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱coding的同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值