java开发的玩具商城系统玩具店
简介
Java使用ssm框架开发的玩具商城,用户可以浏览商品,搜索,分类查看商品,添加购物车和购买商品,可注册登录,在个人中心管理自己的订单。商家也就是管理员可以在后台发布商品,上架下架商品,管理商品分类以及用户,订单等。
技术
Ssm(spring+springMVC+myibats)+ajax+bootscrap+css+jq+js+图片剪裁和压缩 +highcharts+simditor图文编辑器+jsp
功能:
首页,搜索商品,详情页,可选择尺寸,衣服颜色,根据不同规格显示不同的商品价格,加入购物车,立即购买,评价列表展示,商品详情展示,商品评分,分类商品,标签查询,更多分类查询 ,特价商品查询,网站建议
用户:登录(密码MD5加密),注册,修改密码,收货地址管理,购物车,确认支付订单修改收货地址,添加备注,待支付订单,待发货订单,待收货订单,待评价低订单,已完成订单,申请退款订单,已退款订单,取消订单,删除订单,查看评价信息,我的购物车(可修改购买数量,可删除,可批量付款,也可单个付款)
管理员:商品分类管理(排序),商品标签管理,商品管理(可灵活设置商品尺寸没规格参数和不同的价格,图文混合编辑),订单管理(未付款,待发货,待确认,待评价,已完成,待退款,已退款,查看评价。订单没有合并,是一个商品一个订单那哦),用户管理 ,商品月销售统计(拍下即减),统计图,导出月销量excel,轮播,网站建议回复
部分截图:
后台功能
1.1登录和退出
管理员输入账号和密码即可登录,主要使用AdminSpUsersController实现,方法如下:
方法名: 说明:
登录:
public String login(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpUsers u) Phone手机号,upass密码,密码采用md5加密,登录成功之后将数据存入session
退出:
public String logout(HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model) 移除session里的登录数据
如图:
1.2分类管理
为了方便用户查询对药品进行的分类管理,一页10条,还可以根据分类名称搜索,主要使用AdminSpTypeController实现,方法如下:
方法名: 说明:
分页及搜索:
public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpType t) pageNo页码(默认显示第一页,非必选),tname分类名称 (非必选)
跳转编辑或者添加的页面
public String toedit(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpType t) 当id=null表示添加,不为空则查询回显数据
保存添加或者编辑的数据
public String save(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpType a) 当id=null表示添加,调用add方法,不为空则表示更新调用update方法
删除
public String del(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpType a) 根据id删除
管理员可以进行搜索、编辑、添加、分页以及删除分类数据。当进入该管理页面前,会执行 List
如果需要查询则执行sql:SELECT * FROM sp_type WHERE 1 = 1 AND tnameLIKE concat('%', ?, '%') order by cts desc LIMIT ? 从而实现分页的功能,添加编辑和删除的功能也是如此,分别调用add,update,delete方法,执行对应的sql语句,进而实现这些功能。
如图:
1.3标签管理
为了方便用户快速查询药品,进行标签管理,一页10条,还可以根据标签名称和分类搜索,主要使用AdminSpTagController实现,方法如下:
方法名: 说明:
分页及搜索:
public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpTag t) pageNo页码(默认显示第一页,非必选),tag_name分类名称 (非必选),tid分类id(非必选)
跳转编辑或者添加的页面
public String toedit(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpTag t) 当id=null表示添加,不为空则查询回显数据
保存添加或者编辑的数据
public String save(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpTag a) 当id=null表示添加,调用add方法,不为空则表示更新调用update方法
删除
public String del(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpTag a) 根据id删除
管理员可以进行搜索、编辑、添加、分页以及删除数据。当进入该管理页面前,会执行 List
如果需要查询则执行sql:SELECT * FROM sp_tag WHERE 1 = 1 AND tid=? and tag_name LIKE concat('%', ?, '%') order by cts desc LIMIT ? 从而实现分页的功能,添加编辑和删除的功能也是如此,分别调用add,update,delete方法,执行对应的sql语句,进而实现这些功能。
如图:
1.4玩具管理
玩具管理是该系统的核心功能,除了基本的功能外,为了美观,还使用jquery.photoClip.js对图片进行裁剪 。一页10条,还可以根据药品名称和分类搜索,主要使用AdminSpGoodsController实现,方法如下:
方法名: 说明:
分页及搜索:
public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods t) pageNo页码(默认显示第一页,非必选),gname分类名称 (非必选),tid分类id(非必选)
跳转编辑或者添加的页面
public String toedit(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods t) 当id=null表示添加,不为空则查询回显数据
保存添加或者编辑的数据
public String save(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods a) 当id=null表示添加,调用add方法,不为空则表示更新调用update方法
删除
public String del(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods a) 根据id删除
上架下架药品
public String putaway(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoods g) 根据id和前端操作修改status,status=1表示上架,0表示下架
管理员可以进行搜索、编辑、添加、分页以及删除数据。当管理员在添加或者编辑商品时可以裁剪图片,添加不同规格和对应的不同价格,还可以上架下架该商品, 使用simditor-1.0.5富文本编译器进行药品内容的编写
如图:
1.5订单管理
订单管理也是核心功能之一,分为待支付订单,待发货订单,待评价订单,已发货订单,已完成订单,申请退款订单,已退看订单 ,主要使用AdminSpOrdersController实现,方法如下:
方法名: 说明:
分页及搜索:
public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) pageNo页码(默认显示第一页,非必选),_type必填,查询不同状态的订单,同时还可以根据订单号,药品名称,买家昵称查询
发货
public String send(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) 根据订单id修改订单状态
退款
public String refunded(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpOrders a) 根据订单id修改订单状态
订单管理属于较为复杂的业务逻辑,因为同时设计好几个状态,比如支付(is_pay: 0待支付1已支付),发货(,is_send :0待发货,1已发货),确认收货(is_accept:0待确认收货,1已确认),退款(is_refund:0初始,1已退款,2申请退款),评价(is_evaluate:0待评价,1已评价),不同的状态需要根据这个字段进行不同的赋值查询,如下:
待支付状态:is_pay=0,is_send=0,is_accept=0,is_evaluate=0,is_refund=0;
待发货状态:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=0;
待确认收货状态:is_pay=1,is_send=1,is_accept=0,is_evaluate=0,is_refund=0;
待评价状态:is_pay=1,is_send=1,is_accept=1,is_evaluate=0,is_refund=0;
已完成订单:is_pay=1,is_send=1,is_accept=1,is_evaluate=1,is_refund=0;
申请退款:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=2;
已退款:is_pay=1,is_send=0,is_accept=0,is_evaluate=0,is_refund=1。
如图:
1.6用户管理
管理员可以查看和搜索注册的用户信息,主要使用AdminSpUsersController实现,方法如下:
方法名: 说明:
分页及搜索:
public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpUsers a) pageNo页码(默认显示第一页,非必选), 同时还可以根据 买家昵称或者注册手机号查询查询
如图:
1.7 月统计及统计图表
当用户拍下药品就会修改月统计销量以及总营业额,还可以导出excel,主要使用AdminSpGoodsSalesController实现:
方法名: 说明:
分页及搜索:
public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session, Model model,SpGoodsSalesa) pageNo页码(默认显示第一页,非必选), 同时还可以根据 药品名称,特价,分类,标签查询
public void getExcel(SpGoodsSales t,HttpServletResponse response,HttpSession session) 导出excel,使用poi实现
统计图表如下:主要是月统计,年统计以及每月销量营业额统计,使用highchart.js实现。