基于SSM springboot框架的游戏商城平台源码

1.本课题的研究目的和意义

        随着计算机技术在各行各业广泛并深入应用,网络在各行各业的发展中占据了重要的地位,而现在的商品宣传已经不仅仅局限于电视和报纸,网络已然成为了商家展示自己商品的一大途径,通过电商网站,来实现商品的宣传与网上购物,而且电商网站改变了原有的经营方式的同时,也给商家带来了更高的利润,另外如果能实现网上交易将大大提高交易速度节约交易成本。能够及时的、准确的提高工作效率,取得经济效益和社会效益。所以,对商家来说,通过电商网站来盈利至关重要。

        随着网络游戏产业盈利模式的完善与获利思路的改变,免费网络游戏开始猛烈地冲击传统收费游戏 所谓免费网络游戏 , 即摒弃原有的计时收费模式 , 让玩家可以永久免费进行游戏 , 从而吸引更广泛的客户群体 , 游戏厂商则通过增殖服务收费 。这一模式也被业界称为IB模式(Item Billing,即道具销售)。

        而一个游戏商城能够让用户以及商家提供一个渠道,例如最近很火的一款国外的游戏平台(STEAM游戏平台),既能通过出售正版游戏和游戏道具盈利,又能让用户更方便,更优惠地购买游戏以及游戏道具,同时能在谈论区中相互交流对游戏的体验。而商家则多了一个销售自己商品的平台,也能在讨论区中了解买家对哪些商品更需要,因此,一个游戏商城能极大地满足了玩家与商家的需求。

【579】基于SSM springboot框架的游戏商城平台源码论文开题报告任务书

  1. 本课题的文献综述(不少于1500字)

     据艾瑞咨询《2011-2012年中国电子商务行业年度监测报告》显示,2011年中国电子商务市场交易规模为6.3万亿元,年增长32.4%,在GDP总额47.2万亿中占比13.4%。另据咨询机构IDC(国际数据公司)与阿里巴巴集团研究中心公布的数据显示,2011年中国网民在线购物交易额达到7849.3亿元,比2010年增长了66%,远远超过同期中国社会消费品零售总额实际增长率11.6%。可见,中国电子商务显示出了巨大的发展潜力,正成为经济发展的"助推器"。而最近,国外调研机构Newzoo的调研显示,中国是全球最大的移动电竞市场。据《中国游戏产业报告(2017年1月至6月)》显示,2017年上半年,中国电子竞技游戏市场实际销售收入达到359.9亿元,同比增长43.2%,占中国游戏市场实际销售收入的36.1%;其中,移动电子竞技游戏市场实际销售收入达到176.5亿元,同比增长100.6%,占移动游戏市场实际销售收入31.4%。

        随着全球互联网的发展以及电脑、智能手机、平板电脑等电子设备的更新换代,网络游戏载体、类型不断丰富,游戏品质不断提高,各细分游戏类型均有庞大的受众群体,全球游戏市场迅速崛起,市场规模逐步扩大。网络游戏和移动游戏的营业收入开始呈现爆炸式增长;移动游戏顺应了游戏用户对碎片化时间、移动化场所的娱乐需求,市场占有率持续上升,成为网络游戏行业增长的主要驱动力。在网络游戏发展如火如荼的中国市场,免费大型多人在线角色扮演游戏(MMORPG)在各类网游模式中异军突起,引起了业内的注目。以永久免费打造进入游戏的超低门槛,以精心设计的IB模式作为盈利的主要手段,免费MMORPG在吸引了众多玩家的同时,也逐渐成为游戏厂商激烈厮杀的红海。免费MMORPG虽然号称永久免费,但综观总体玩家消费情况来看,能够长时间进行游戏却真正意义上零消费的玩家并不占据主流,很多玩家消费水平甚至超过了收费网络游戏玩家的消费水平。

        而在游戏发展如此迅速的情况下,一个游戏商城能极好的发挥其作用,在为用户提供一个购买游戏虚拟物品平台的同时,也为商家带来商机。游戏商城本质上属于一种在线商城。在线商城是一种电子商务,基于商家与消费者模式(Business to Customer), 阿里巴巴的成功使得在线商城成为热门的话题。该模式在近年来都有比较成熟的应用,旧M、EMC等国际上比较知名的科技企业都采用这种B to C模式,客户能够在线购买这些公司的产品。随着中国网民数量的不断增长,以及互联网结构和功能的进一步向生活渗透,网络环境的逐步优化,网络世界将变的更加个性化和多元化。电子商务模式的运作和开发,也随着技术手段的不断发展,己经变得成熟。

        国内外目前对游戏运营的研究,在商业模式、市场分析和运营方式等方面较为集中。技术方面,则集中在游戏算法改进、引擎开发等领域。概括来讲,各个方面的研究都有不同程度的存在,相互之间较为孤立。随着大数据时代的到来,数据挖掘技术在网页游戏中也有一定的应用。对于很多研究学者来说,技术和运营属于两种领域,这种出于运营需求而进行的平台系统研发也就很少纳入考虑。目前,对此类运营管理平台的研发数量极少。主要原因是此种平台具有很强的针对性,对于规模较小的公司,该平台的研发似乎没有特别的必要性。当今市场上也存在游戏运营平台,但这类平台与本文论述的游戏商城还是有着一定的区别,它们大都是第三方交易平台。本系统一方面作为交易平台,另一方面也是管理平台。

        根据上述数据及推论,在游戏发展如此迅速的情况下,游戏商城能更好地体现其价值,能让玩家享受到便捷的同时,还能在商城中的讨论区中发表自己对游戏的体验,实现玩家与玩家之间的交流。与此同时,为商家提供了销售商品的渠道,能够对自己的商品进行宣传与推广。可以说,游戏商城在为玩家提供便利,为商家提供商机的同时,也推动着游戏的发展,实现互惠互利的作用。因此,游戏商城的存在是必然的,是对游戏的支持,更是游戏时代的重要体现。

【579】基于SSM springboot框架的游戏商城平台源码论文开题报告任务书

package com.market.controller;

import java.io.File;
import java.io.IOException;
import java.lang.ProcessBuilder.Redirect;
import java.text.ParseException;
import java.util.HashMap;
import java.util.UUID;

import javax.print.DocFlavor.STRING;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jackson.JsonObjectDeserializer;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonObjectFormatVisitor;
import com.fasterxml.jackson.databind.util.JSONPObject;
import com.market.pojo.Goods;
import com.market.pojo.Goodstype;
import com.market.service.GoodsService;
import com.market.service.GoodsmodelService;
import com.market.service.GoodstypeService;

@Controller
public class GoodsController {
	@Autowired
	private GoodsService goodsService;
	@Autowired
	private GoodstypeService goodstypeService;
	@Autowired
	private GoodsmodelService goodsmodelService;

	ModelAndView mav = new ModelAndView();
	Integer userID = 0;
	String path;

	// 主页
	@RequestMapping("/goods")
	public ModelAndView Goodslist2(Goods goods) {
		mav.addObject("goodsList2", goodsService.goodsList2(goods));
		mav.setViewName("index");
		return mav;
	}

	// 商品信息
	@RequestMapping("/goodsdetail")
	public ModelAndView Goodslist3(@RequestParam("goodsId") Integer goodsId, Goods goods) {
		System.out.print(goodsId);
		mav.addObject("goodsList3", goodsService.goodsList3(goods));
		System.out.print(goodsService.goodsList3(goods));
		mav.setViewName("details");
		return mav;
	}

	// 热门游戏专区
	@RequestMapping("/hotsgame")
	public ModelAndView hotsgame(Goods goods) {
		mav.addObject("hotsgame", goodsService.hotsgame(goods));
		mav.addObject("hotsgame2", goodsService.hotsgame2(goods));
		mav.setViewName("hotsgame");
		return mav;
	}

	// steam游戏专区
	@RequestMapping("/steamgame")
	public ModelAndView steamgame(Goods goods) {
		mav.addObject("goodsList2", goodsService.goodsList2(goods));
		mav.setViewName("steamgame");
		return mav;
	}

	// 所有游戏
	@RequestMapping("/allgoods")
	public ModelAndView allgoods(Goods goods) {
		mav.addObject("goodsList2", goodsService.goodsList2(goods));
		mav.setViewName("allgoods");
		return mav;
	}

	// 搜索
	@RequestMapping("/selectgoods")
	public ModelAndView selectgoods(Goods goods, String title) {
		mav.addObject("goodsList5", goodsService.goodsList5(goods, title));
		mav.setViewName("goodsList");
		return mav;
	}

	// 后台商品管理
	@RequestMapping("/goodsmanage")
	public ModelAndView goodsmanage(Goods goods) {
		mav.addObject("mainPage", "admin/goodsManager.jsp");
		mav.addObject("goodsList", goodsService.goodsList(goods));
		mav.setViewName("mainAdmin");
		return mav;
	}

	@RequestMapping("/goodsmanage2")
	public ModelAndView goodsmanage2(Goods goods, Integer userId) {
		if(userID!=0&&userID!=null) {
			userId = userID;
		}
		System.out.print(userID);
		System.out.print(userId);
		mav.addObject("mainPage", "business/goodsManager.jsp");
		mav.addObject("goodsList4", goodsService.goodsList4(goods, userId));
		mav.setViewName("mainBusiness");
		return mav;
	}

	@RequestMapping("/addgoods")
	public ModelAndView addgoods(Goods goods) {
		mav.addObject("mainPage", "admin/goodsManageradd.jsp");
		mav.setViewName("mainAdmin");
		return mav;
	}

	@RequestMapping("/addgoods2")
	public ModelAndView addgoods2(Goods goods) {
		mav.addObject("mainPage", "business/goodsManageradd.jsp");
		mav.setViewName("mainBusiness");
		return mav;
	}

	// 修改页
	@RequestMapping("/toupdategoods")
	public ModelAndView toupdategoods(Integer goodsId) {
		mav.addObject("goodsdata", goodsService.goodsdata(goodsId));
		mav.addObject("mainPage", "admin/goodsManagerSave.jsp");
		mav.setViewName("mainAdmin");
		return mav;
	}

	@RequestMapping("/toupdategoods2")
	public ModelAndView toupdategoods2(Integer goodsId) {
		mav.addObject("goodsdata", goodsService.goodsdata(goodsId));
		mav.addObject("mainPage", "admin/goodsManagerSave.jsp");
		mav.setViewName("mainBusiness");
		return mav;
	}

	// 添加商品
	@RequestMapping("/savegoods")
	public String savegoods(Goods goods, String goodsName, String goodsType, Integer goodsStock, Integer userId,
			Integer price, String detail, String image, Integer goodstypeId, Integer goodsmodelId) {

		goodstypeId = goodstypeService.selectIdByType(goodsType);
		goodsmodelService.insertgoodsmodel(price, detail);
		goodsmodelId = goodsmodelService.selectIdBy(price, detail);
		goodsService.addgoods(goods, goodsName, goodstypeId, goodsStock, userId, goodsmodelId, image);
		System.out.print(image);
		return "redirect:goodsmanage";
	}

	@RequestMapping("/savegoods2")
	public String savegoods2(Goods goods,Integer user, String goodsName, String goodsType, Integer goodsStock, Integer userId,
			Integer price, String detail, String image, Integer goodstypeId, Integer goodsmodelId) {
		userID = user;
		goodstypeId = goodstypeService.selectIdByType(goodsType);
		goodsmodelService.insertgoodsmodel(price, detail);
		goodsmodelId = goodsmodelService.selectIdBy(price, detail);
		goodsService.addgoods(goods, goodsName, goodstypeId, goodsStock, userId, goodsmodelId, image);
		System.out.print(image);
		return "redirect:goodsmanage2";
	}

	// 修改商品
	@RequestMapping("/updategoods")
	public String updategoods(Goods goods, Integer goodsId, String goodsName, Integer goodsStock, Integer userId,
			String goodsdetail, Integer goodsprice, String image) {
		goodsService.updategoods(goods, goodsId, goodsName, goodsStock, userId, goodsdetail, goodsprice, image);
		return "redirect:goodsmanage";
	}

	@RequestMapping("/updategoods2")
	public String updategoods2(Goods goods, Integer goodsId, Integer user, String goodsName, Integer goodsStock, Integer userId,
			String goodsdetail, Integer goodsprice, String image) {
		userID = user;
		goodsService.updategoods(goods, goodsId, goodsName, goodsStock, userId, goodsdetail, goodsprice, image);
		return "redirect:goodsmanage2";
	}

	// 删除商品
	@RequestMapping("/deletegoods")
	public String delgoods(Goods goods, Integer goodsId) {
		goodsService.delgoods(goods, goodsId);
		return "redirect:goodsmanage";
	}

	// 删除商品
	@RequestMapping("/deletegoods2")
	public String delgoods2(Goods goods, Integer goodsId, Integer user) {
		userID = user;
		goodsService.delgoods(goods, goodsId);
		return "redirect:goodsmanage2";
	}

	// 后台商品搜索
	@RequestMapping("/selectgoodsName")
	public ModelAndView selectgoodsName(Goods goods, String goodsName) {
		mav.addObject("goodsList", goodsService.goodsList6(goods, goodsName));
		mav.addObject("mainPage", "admin/goodsManager.jsp");
		mav.setViewName("mainAdmin");
		return mav;
	}

	// 后台商品搜索
	@RequestMapping("/selectgoodsName2")
	public ModelAndView selectgoodsName2(Goods goods, String goodsName, Integer user) {
		userID = user;
		mav.addObject("goodsList4", goodsService.goodsList7(goods, goodsName, user));
		mav.addObject("mainPage", "business/goodsManager.jsp");
		mav.setViewName("mainBusiness");
		return mav;
	}

}
package com.market.controller;

import java.sql.Date;
import java.util.HashMap;
import java.util.Map;

import javax.xml.crypto.Data;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.alibaba.fastjson.JSONObject;
import com.market.pojo.Goods;
import com.market.pojo.Mail;
import com.market.pojo.Order;
import com.market.pojo.Pingjia;
import com.market.pojo.User;
import com.market.service.GoodsService;
import com.market.service.MailSerivice;
import com.market.service.OrderService;
import com.market.service.PingjiaService;
import com.market.service.UserService;

@Controller
public class OrderController {
	@Autowired
	private OrderService orderService;
	@Autowired
	private UserService userService;
	@Autowired
	private MailSerivice mailSerivice;
	@Autowired
	private GoodsService goodsService;
	@Autowired
	private PingjiaService pingjiaService;
	ModelAndView mav = new ModelAndView();
	long l = System.currentTimeMillis();
	Integer userID = 0;

	// 我的订单(所有订单)
	@RequestMapping("/order")
	public ModelAndView orderlist(Order order, Integer userId) {
		mav.addObject("mainPage", "myself/order.jsp");
		mav.addObject("orderlist", orderService.orderlist(order, userId));
		mav.setViewName("myself");
		System.out.print(orderService.orderlist(order, userId));
		return mav;
	}

	// 确认收货
	@RequestMapping("/orderfinish")
	public ModelAndView orderfinish(String status, Integer orderId) {
		status = "已完成";
		orderService.orderfinish(status, orderId);
		mav.addObject("mainPage", "myself/order.jsp");
		mav.setViewName("myself");
		return mav;
	}

	// 进行中订单
	@RequestMapping("/order2")
	public ModelAndView orderlist2(Order order, Integer userId, String status) {
		status = "进行中";
		mav.addObject("mainPage", "myself/order2.jsp");
		mav.addObject("orderlist2", orderService.orderlist2(order, userId, status));
		mav.setViewName("myself");
		System.out.print(orderService.orderlist2(order, userId, status));
		return mav;
	}

	// 已完成订单
	@RequestMapping("/order3")
	public ModelAndView orderlist3(Order order, Integer userId, String status) {
		status = "已完成";
		mav.addObject("mainPage", "myself/order3.jsp");
		mav.addObject("orderlist3", orderService.orderlist3(order, userId, status));
		mav.setViewName("myself");
		System.out.print(orderService.orderlist3(order, userId, status));
		return mav;
	}

	// 新建订单
	@RequestMapping("/neworder")
	public ModelAndView neworder(Goods goods, Integer userId, Integer goodsId, Integer number) {
		mav.addObject("goodsList3", goodsService.goodsList3(goods));
		mav.addObject("number", number);
		mav.setViewName("neworder");
		return mav;
	}

	// 生成订单
	@RequestMapping("/addorder")
	@ResponseBody
	public Map<String, Object> addorder(Order order, @RequestBody(required = false) JSONObject object, Integer userId,
			Integer goodsId, Integer number, String status, String phone) {
		Map<String, Object> map = new HashMap<String, Object>();
		String result = "";// 上传结果信息
		userId = object.getInteger("userId");
		goodsId = object.getInteger("goodsId");
		number = object.getInteger("number");
		phone = object.getString("phone");
		System.out.println(object);
		System.out.println(goodsId);
		status = "进行中";
		if (orderService.addorder(order, userId, goodsId, number, status, phone)) {
			result = "a";
		} else {
			result = "b";
		}
		map.put("result", result);

		return map;
	}

	// 商家后台
	// 商家订单
	@RequestMapping("/businessorder")
	public ModelAndView businessorder(Order order, Integer userId) {
		if (userID != 0 && userID != null) {
			userId = userID;
		}
		mav.addObject("mainPage", "business/orderManager.jsp");
		mav.addObject("orderlist4", orderService.orderlist4(order, userId));
		mav.setViewName("mainBusiness");
		return mav;
	}

	// 确认发货
	@RequestMapping("Delivergoods")
	public ModelAndView Delivergoods(String status, Integer orderId) {
		status = "已发货";
		orderService.orderfinish(status, orderId);
		mav.addObject("mainPage", "business/orderManager.jsp");
		mav.setViewName("mainBusiness");
		return mav;
	}

	// 删除订单
	@RequestMapping("/delorder")
	public String delorder(Order order, Integer orderId, Integer user) {
		userID = user;
		orderService.delorder(order, orderId, user);
		return "redirect:businessorder";
	}

	// 订单号搜索
	@RequestMapping("/selectOrderId")
	public ModelAndView selectOrderId(Order order, Integer orderId, Integer user) {
		mav.addObject("mainPage", "business/orderManager.jsp");
		mav.addObject("orderlist4", orderService.selectOrderId(order, orderId, user));
		mav.setViewName("mainBusiness");
		return mav;
	}

	// 联系买家
	@RequestMapping("/tosendmail")
	public ModelAndView tosendmail(Order order, Integer orderId) {
		mav.addObject("mainPage", "business/sendmail.jsp");
		mav.addObject("username", orderService.findnamebyorderId(order, orderId));
		mav.addObject("orderId", orderId);
		mav.setViewName("mainBusiness");
		return mav;
	}

	// 发送信件(联系买家)
	@RequestMapping("/sendmail")
	public void sendmail(Order order, User user,Mail mail,Integer orderId, String title, String content, String name,String r_name,
			Integer userId, Integer s_userId) {
		userId = orderService.findidbyorderId(order, orderId);
		name = userService.findname(user, s_userId);
		r_name = orderService.findname(order, orderId);
		System.out.print(r_name);
		mailSerivice.addmail(mail, userId, title, content, name, s_userId, r_name);
	}

	// 用户评价
	@RequestMapping("/togoodsPJ2")
	public ModelAndView togoodsPJ2(Pingjia pingjia, Integer orderId) {
		mav.addObject("mainPage", "myself/goodsPJ.jsp");
		mav.addObject("orderId", orderId);
		mav.setViewName("myself");
		return mav;
	}

	// 完成评价
	@RequestMapping("goodsPJ2")
	public ModelAndView goodsPJ2(Pingjia pingjia, String status, Integer pId, Integer orderId, String plevel,
			String pcontent) {
		status = "已完成(已评价)";
		pingjiaService.addPingjia(pingjia, plevel, pcontent);
		pId = pingjiaService.selectpId(pingjia, plevel, pcontent);
		orderService.orderfinish2(status, orderId, pId);
		mav.addObject("mainPage", "myself/order.jsp");
		mav.setViewName("myself");
		return mav;
	}

	// 查看评价
	@RequestMapping("/togoodsPJ")
	public ModelAndView togoodsPJ(Pingjia pingjia, Integer orderId) {
		mav.addObject("mainPage", "business/goodsPJ.jsp");
		mav.addObject("pingjialist", pingjiaService.pingjialist(pingjia, orderId));
		mav.setViewName("mainBusiness");
		return mav;
	}
}