SpringMVC+Vue项目动漫周边商城

末获取源码 

开发语言:Java

开发工具:IDEA /Eclipse

数据库:MYSQL5.7

应用服务:Tomcat7/Tomcat8

使用框架ssm+vue

JDK版本:jdk1.8

前言介绍  

系统管理也都将通过计算机进行整体智能化操作,对于动漫周边商城所牵扯的管理及数据保存都是非常多的,例如管理员:首页、个人中心、用户管理、卖家管理、商品分类管理、商品信息管理、订单通知管理、发货物资管理、论坛管理、系统管理、订单管理,卖家;首页、个人中心、商品信息管理、订单通知管理、发货物资管理,用户;首页、个人中心、我的收藏管理、订单管理,前台首页:首页、商品信息、论坛信息、促销活动、个人中心、后台管理、购物车、客服。这给管理者的工作带来了巨大的挑战,面对大量的信息,传统的管理系统,都是通过笔记的方式进行详细信息的统计,后来出现电脑,通过电脑输入软件将纸质的信息统计到电脑上,这种方式比较传统,而且想要统计数据信息比较麻烦,还受时间和空间的影响,所以为此开发了动漫周边商城为用户提供了方便管理平台,方便管理员查看及维护,并且可以通过需求进行商品信息内容的编辑及维护等;对于用户而言,可以随时进行查看商品信息和订单信息等信息,管理员可以足不出户就可以获取到系统的数据信息等,而且还能节省用户很多时间,所以开发动漫周边商城给管理者带来了很大的方便,同时也方便管理员对用户信息进行处理。

本论文动漫周边商城主要牵扯到的程序,数据库与计算机技术等。覆盖知识面大,可以大大的提高管理人员工作效率。

项目设计目标与原则

1、关于动漫周边商城的基本要求

(1)管理员功能要求:可以管理首页、个人中心、用户管理、卖家管理、商品分类管理、商品信息管理、订单通知管理、发货物资管理、论坛管理、系统管理、订单管理等功能模块。

(2)卖家功能要求:首页、个人中心、商品信息管理、订单通知管理、发货物资管理。

(3)用户功能要求:首页、个人中心、我的收藏管理、订单管理。

(4)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。

(5)安全与保密要求:用户都必须通过账号、密码才能进入系统。

(6)环境要求:支持Windows系列、Vista系统等多种操作系统使用。

2、开发目标

动漫周边商城的主要开发目标如下:

(1)实现管理系统信息关系的系统化、规范化和自动化;

(2)减少维护人员的工作量以及实现用户对信息的控制和管理;

(3)方便查询信息及管理信息等;

(4)通过网络操作,提高改善处理问题和操作人员工作的效率;

(5)考虑到用户多样性特点,要求界面和操作简便易懂。

系统体系结构

动漫周边商城的结构图

登录系统结构图,如图 

 

 系统结构图,如图

系统详细设计

前台首页功能模块

动漫周边商城,在系统首页可以查看首页、商品信息、论坛信息、促销活动、个人中心、后台管理、购物车、客服等内容,如图

登录、用户注册, 通过输入用户名、密码、姓名、年龄、性别、手机、邮箱、身份证等信息进行登录、注册,如图

 

登录、注册界面图

 

商品信息,在商品信息进行填写商品编号、商品名称、商品类别、图片、店铺编号、店铺名称、积分、价格、单限、库存、审核回复、审核状态并进行立即购买等操作如图

我的订单,在我的订单页面可以填写订单编号、商品、价格、数量、总价、地址等内容进行提交,如图

收货地址添加,在收货地址添加页面可以填写联系人、手机号码、默认地址、选择地址等内容进行添加,如图

管理员功能模块

管理员登录,通过填写用户名、密码、角色等信息,输入完成后选择登录即可进入动漫周边商城,如图 

管理员登录进入动漫周边商城可以查看首页、个人中心、用户管理、卖家管理、商品分类管理、商品信息管理、订单通知管理、发货物资管理、论坛管理、系统管理、订单管理等内容,如图

用户管理,在用户管理页面可以查看用户名、密码、姓名、年龄、性别、手机、邮箱、身份证、积分等信息,并可根据需要对用户管理进行详情,修改,删除或查看详细内容等操作,如图 

 

卖家管理,在卖家管理页面可以查看店铺编号、密码、店铺名称、店铺头像、负责人、身份证、联系电话、店铺邮箱、地址、主要产品、积分等信息,并可根据需要对卖家管理进行详情,修改、删除或查看详细内容等操作,如图

商品信息管理,在商品信息管理页面可以查看商品编号、商品名称、商品类别、图片、店铺编号、店铺名称、积分、价格、单限、库存、审核回复、审核状态、审核等信息,并可根据需要对商品信息管理进行详情,修改、删除或查看详细内容操作,如图

 

发货物资管理,在发货物资管理页面可以查看店铺编号、店铺名称、商品名称、数量、收货地址、收货人姓名、联系电话、物流公司、物流单号等内容,并可根据需要对发货物资管理进行查看详情,修改,删除或查看详细内容等操作,如图

 

论坛管理,在论坛管理页面可以查看帖子标题、用户名、状态等信息,并可根据需要对论坛管理进行详情,修改、删除或查看详细内容等操作,如图

 

订单管理,在订单管理页面可以查看订单编号、商品名称、商品图片、购买数量、价格/积分、折扣价格、总价格/总积分、折扣总价格、支付类型、状态、地址等内容,并可根据需要对订单管理进行详情,修改,删除和查看详细内容等操作,如图

 

用户功能模块

用户登录,用户通过填写用户名、密码、角色限等信息,输入完成后选择登录即可进入动漫周边商城,如图 

用户登录进入动漫周边商城可以查看首页、个人中心、我的收藏管理、订单管理等内容,如图

 

我的收藏管理,在我的收藏管理页面可以查看收藏ID、表名、收藏名称、收藏图片等详细进行详情、删除,如图

 

订单管理,在订单管理页面可以查看订单编号、商品名称、商品图片、购买数量、价格/积分、折扣价格、总价格/总积分、折扣总价格、支付类型、状态、地址等信息,并可根据需要对订单管理进行查看详细内容等操作,如图

卖家功能模块

卖家登录,卖家通过填写用户名、密码、角色等信息,输入完成后选择登录即可进入动漫周边商城,如图 

卖家登录进入动漫周边商城可以查看首页、个人中心、商品信息管理、订单通知管理、发货物资管理等内容,如图 

商品信息管理,在商品信息管理页面通过填写商品编号、商品名称、商品类别、图片、店铺编号、店铺名称、积分、价格、单限、库存、审核回复、审核状态等信息,并可根据需要对商品信息管理信息进行详情、修改、删除,如图

 

发货物资管理,在发货物资管理页面通过填写店铺编号、店铺名称、商品名称、数量、收货地址、收货人姓名、联系电话、物流公司、物流单号等信息进行详情、删除,如图

 

 部分核心代码:   


/**
 * 购物车表
 * 后端接口
 * @author 
 * @email 
 * @date 2021-01-15 10:24:47
 */
@RestController
@RequestMapping("/cart")
public class CartController {
    @Autowired
    private CartService cartService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,CartEntity cart, HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		cart.setUserid((Long)request.getSession().getAttribute("userId"));
    	}

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

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(CartEntity cart){
        EntityWrapper< CartEntity> ew = new EntityWrapper< CartEntity>();
 		ew.allEq(MPUtil.allEQMapPre( cart, "cart")); 
		CartView cartView =  cartService.selectView(ew);
		return R.ok("查询购物车表成功").put("data", cartView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        CartEntity cart = cartService.selectById(id);
        return R.ok().put("data", cart);
    }

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



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody CartEntity cart, HttpServletRequest request){
    	cart.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(cart);
    	cart.setUserid((Long)request.getSession().getAttribute("userId"));

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

        cartService.insert(cart);
        return R.ok();
    }

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        cartService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<CartEntity> wrapper = new EntityWrapper<CartEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}
		if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		wrapper.eq("userid", (Long)request.getSession().getAttribute("userId"));
    	}


		int count = cartService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一季春秋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值