基于SSM的分布式网络商城系统设计与实现

1.前言

分布式架构网上商城系统的开发运用java技术,MIS的总体思想,以及MYSQL等技术的支持下共同完成了该系统的开发,实现了分布式架构管理的信息化,使用户体验到更优秀的分布式架构网上商城系统,管理员管理操作将更加方便,实现目标。

2. 环境配置

环境配置:
框架:springboot,springCloud
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器/QQ浏览器

3.系统分析

3.1 系统功能分析

考虑到实际生活中分布式架构网上商城在管理方面的需要以及对该平台认真的分析,将系统权限按管理员和用户涉及用户划分。
管理员;管理员使用本系统涉到的功能主要有:首页、个人中心、用户管理、商品信息管理、商品分类管理、系统管理、订单管理等功能。管理员用例图如图:
基于SSM的分布式网络商城系统设计与实现_第1张图片
基于SSM的分布式网络商城系统设计与实现_第2张图片

3.2 统流程的分析

由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以用户功能权限下的系统业务流程来分析,如下图所展示:

3.2.1 用户管理的流程

基于SSM的分布式网络商城系统设计与实现_第3张图片

3.2.2 个人中心管理流程

基于SSM的分布式网络商城系统设计与实现_第4张图片

3.2.3 登录流程

基于SSM的分布式网络商城系统设计与实现_第5张图片

4.系统设计

4.1 软件功能模块设计

基于SSM的分布式网络商城系统设计与实现_第6张图片

4.2 数据库设计与实现

在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。

4.2.1 概念模型设计

概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
购物车实体图如图:
基于SSM的分布式网络商城系统设计与实现_第7张图片
用户注册实体图如图:
基于SSM的分布式网络商城系统设计与实现_第8张图片
商品信息实体图如图:
基于SSM的分布式网络商城系统设计与实现_第9张图片

4.2.2物理模型设计

根据上诉的逻辑模型设计,下面给出物理模型的设计, 设计每张表的变量名,变量的类型及主键等如下表。只展示部分表。
表:购物资讯
基于SSM的分布式网络商城系统设计与实现_第10张图片
表:商品信息评论表
基于SSM的分布式网络商城系统设计与实现_第11张图片

表: 购物车表
基于SSM的分布式网络商城系统设计与实现_第12张图片

5.系统详细设计

5.1系统功能模块

分布式架构网上商城,在系统首页可以查看首首页、商品信息、购物资讯、个人中心、购物车等内容,并进行详细操作;如图:
基于SSM的分布式网络商城系统设计与实现_第13张图片
用户注册,在用户注册页面通过填写账号、密码、确认密码、姓名、手机、邮箱等信息进行注册操作,如图:
基于SSM的分布式网络商城系统设计与实现_第14张图片
购物车,在购物车页面可以查看购买商品、价格、数量、总价等内容,进行删除或购买等操作,如图:
基于SSM的分布式网络商城系统设计与实现_第15张图片

5.2管理员功能模块

管理员进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图:
基于SSM的分布式网络商城系统设计与实现_第16张图片
管理员登录系统后,可以对首页、个人中心、用户管理、商品信息管理、商品分类管理、系统管理、订单管理等功能进行相应的操作管理,如图:
基于SSM的分布式网络商城系统设计与实现_第17张图片
用户管理,在用户管理页面可以对索引、账号、姓名、性别、手机、邮箱、头像等内容进行详情、修改或删除等操作,如图:
基于SSM的分布式网络商城系统设计与实现_第18张图片
商品信息管理,在商品信息管理页面可以对索引、商品名称、商品类型、规格、上架时间、商品图片、价格、单限、库存等内容进行详情、查看评论、修改或删除等操作,如图:
基于SSM的分布式网络商城系统设计与实现_第19张图片

6.部分代码实现

基于SSM的分布式网络商城系统设计与实现_第20张图片

订单管理入口代码

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


    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map params,OrdersEntity orders, 
		HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		orders.setUserid((Long)request.getSession().getAttribute("userId"));
    	}
        EntityWrapper ew = new EntityWrapper();
		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 params,OrdersEntity orders, 
		HttpServletRequest request){
        EntityWrapper ew = new EntityWrapper();
		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 ew = new EntityWrapper();
      	ew.allEq(MPUtil.allEQMapPre( orders, "orders")); 
        return R.ok().put("data", ordersService.selectListView(ew));
    }

用户相关代码

@RestController
@RequestMapping("/yonghu")
public class YonghuController {
    @Autowired
    private YonghuService yonghuService;


    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("zhanghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		
		String token = tokenService.generateToken(user.getId(), username,"yonghu",  "用户" );
		return R.ok().put("token", token);
	}

七. 项目总结

通过对分布式网上商城系统的开发,让我深刻明白开发一个程序软件需要经历的流程,当确定要开发一个系统的时候,对其功能进行合理的需求分析,然后才是程序软件的功能的框架设计,数据库的实体与数据表设计,程序软件的功能详细界面实现,以及程序的功能测试等进行全方位的细致考虑,虽然在此过程中,各个环节都遇到了大大小小的困难,但是通过对这些问题进行反复的分析,深入的思考,借助各种相关文献资料提供的方法与解决思路成功解决面临的各个问题,最后成功的让系统得以正常运行。商毕业设计管理系统在功能上面是基本可以满足用户对系统的操作,但是这个程序软件也有许多方面是不足的,因此,在下一个时间阶段,有几点需要改进的地方需要提出来,它们分别是:

(1)操作页面可以满足用户简易操作的要求,但是在页面多样化设计层面上需要把一些比较丰富的设计结构考虑进来。

(2)程序软件的总体安全性能需要优化,例如程序的退出安全性,以及程序的并发性等问题都需要进行安全性升级。

(3)需要对程序的数据结构方面,程序的代码方面等进行优化,让运行起来的程序可以保持稳定运行,也让程序能够保证短时间内处理相关事务,节省处理事务的时间,提高事务处理的效率,同时对服务器上资源占用的比例进行降低。

八. 源码获取

想要源码的小伙伴,大家点赞、收藏、关注、私信啦。谢谢各位大大。

你可能感兴趣的:(Java,Java精品实战案例,分布式,java,数据库)