简介

关于宠物的商店,首页,搜索商品,详情页,可选择尺寸,衣服颜色,根据不同规格显示不同的商品价格,加入购物车,立即购买,评价列表展示,商品详情展示,商品评分,分类商品,标签查询,更多分类查询

演示视频 https://www.bilibili.com/video/BV1od4y1p7A7/?share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156

技术

Ssm+ajax+bootscrap+css+jq+js+jsp

功能:

首页,搜索商品,详情页,可选择尺寸,衣服颜色,根据不同规格显示不同的商品价格,加入购物车,立即购买,评价列表展示,商品详情展示,商品评分,分类商品,标签查询,更多分类查询

用户:登录(密码MD5加密),注册,修改密码,收货地址管理,购物车,确认支付订单修改收货地址,添加备注,待支付订单,待发货订单,待收货订单,待评价低订单,已完成订单,申请退款订单,已退款订单,取消订单,删除订单,查看评价信息,我的购物车(可修改购买数量,可删除,可批量付款,也可单个付款)。订单没有合并,一个商品一个订单哦。

管理员:商品分类管理(排序),商品标签管理,商品管理(可灵活设置商品尺寸没规格参数和不同的价格,图文混合编辑),订单管理(未付款,待发货,待确认,待评价,已完成,待退款,已退款,查看评价),用户管理

网站建议+特价+轮播+导出月销量+销量统计图

部分截图

商品代码

package s.jf3q.com.controller.jsp;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import s.jf3q.com.cons.Sys;
import s.jf3q.com.model.SpAd;
import s.jf3q.com.model.SpGoods;
import s.jf3q.com.model.SpTags;
import s.jf3q.com.service.SpAdService;
import s.jf3q.com.service.SpGoodsService;
import s.jf3q.com.service.SpTagsService;
import s.jf3q.com.service.SpTypeService; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; @Controller
@RequestMapping("/shop/spGoods")
public class SpGoodsController { @Resource
SpGoodsService spGoodsService;
@Resource
SpTypeService spTypeService;
@Resource
SpTagsService spTagsService;
@Resource
SpAdService spAdService;
/*
* 商品分类
* */
@RequestMapping("/index")
public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session,
Model model,SpGoods g) throws IOException {
g.setIs_putaway("1");
PageHelper.startPage(pageNo,16," cts desc ");
List<SpGoods> li=spGoodsService.queryList(g);
PageInfo<SpGoods> pageInfo = new PageInfo<SpGoods>(li,Sys.Common.pageSize); li=pageInfo.getList();
if(li.size()>0) {
for(SpGoods spg:li){
spg.setMain_img(spg.getMain_img().split(",")[0]);
spg.setGdesc(null);
} }
model.addAttribute("pageInfo", pageInfo); SpAd ad=new SpAd();
ad.setOrderby("tsort_asc");
ad.setHasimg("1");
ad.setType("lb");
List<SpAd> lbli=spAdService.queryList(ad);
ad.setType("dg");
List<SpAd> dgli=spAdService.queryList(ad);
model.addAttribute("lbli", lbli);
model.addAttribute("dgli", dgli); return Sys.Common.front + "/index";
} /*
* 商品分类
* */
@RequestMapping("/search")
public String search(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session,
Model model,SpGoods g) throws IOException {
g.setIs_putaway("1");
PageHelper.startPage(pageNo,16," cts desc ");
List<SpGoods> li=spGoodsService.queryList(g);
PageInfo<SpGoods> pageInfo = new PageInfo<SpGoods>(li,Sys.Common.pageSize); li=pageInfo.getList();
if(li.size()>0) {
for(SpGoods spg:li){
spg.setMain_img(spg.getMain_img().split(",")[0]);
spg.setGdesc(null);
} }
model.addAttribute("pageInfo", pageInfo);
model.addAttribute("g", g); return Sys.Common.front + "/goods_list";
}
/*
* 商品分类
* */
@RequestMapping("/detail")
public String detail(HttpServletRequest request, HttpServletResponse response,HttpSession session,
Model model,SpGoods g) throws IOException {
//添加浏览量
g=spGoodsService.queryById(g.getId()+"");
g.setView_num(g.getView_num()+1);
spGoodsService.update(g); //获取图片
String[] imgs=g.getMain_img().split(",");
List<String> imgli=new ArrayList<String> ();
for(String img:imgs){
if(img.trim().length()>0)imgli.add(img);
}
model.addAttribute("g", g);
model.addAttribute("imgli", imgli); //尺寸规格
String[] gsize=g.getGsize().split(",");
List<String> gszieli=new ArrayList<String> ();
for(String s:gsize){
if(s.trim().length()>0)gszieli.add(s);
}
model.addAttribute("gszieli", gszieli);
//规格
String[] spec_price=g.getSpec_price().split("-");
List<Map<String,Object>> sprli=new ArrayList<Map<String,Object>> ();
for(String s:spec_price){
if(s.trim().length()>0){
Map<String,Object> m=new HashMap<String,Object>();
m.put("spec",s.split("@")[0]);
m.put("price",s.split("@")[1]);
sprli.add(m);
}
}
model.addAttribute("sprli", sprli); //获取标签
SpTags tags=new SpTags();
tags.setTid(g.getGtype());
List<SpTags> tagsli=spTagsService.queryList(tags);
model.addAttribute("tagsli",tagsli); //获取猜你喜欢同类型的商品
SpGoods gcon=new SpGoods();
gcon.setGtype(g.getGtype());
PageHelper.startPage(1,15," cts desc ");
List<SpGoods> goodsli=spGoodsService.queryList(gcon);
PageInfo pageInfo = new PageInfo(goodsli,Sys.Common.pageSize);
goodsli=pageInfo.getList();
if(goodsli.size()>0) {
for(SpGoods spg:goodsli){
spg.setMain_img(spg.getMain_img().split(",")[0]);
spg.setGdesc(null);
} }
model.addAttribute("goodsli",goodsli);
//商品平均分
int avg_evel=5;
if(g.getEvel()>0&&g.getEvaluation_num()>0){
avg_evel=g.getEvel()/g.getEvaluation_num();
} model.addAttribute("avg_evel",avg_evel);
return Sys.Common.front + "/detail";
} /*
* 更多分类
* */
@RequestMapping("/more")
public String more(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session,
Model model,SpGoods g) throws IOException { return Sys.Common.front+"/more";
} }

java基于ssm开发的宠物商城宠物店源码的更多相关文章

  1. 基于SSM开发自行车在线租赁管理系统源码

    开发环境: Windows操作系统开发工具: Myeclipse+Jdk+Tomcat+MYSQL数据库注意:此项目分管理员与普通用户两种角色运行效果图 源码及原文链接:https://javadao ...

  2. 基于SSM开发在线家教预约系统源码

    开发环境: Windows操作系统开发工具:Eclipse+Jdk+Tomcat8+mysql数据库 注意:次项目运行Tomcat8服务器里面 次项目比较大,需要自行研究 运行效果图 源码及原文链接: ...

  3. 基于SSM开发大学食堂采购管理系统源码

    开发环境: Windows操作系统开发工具: Eclipse+Jdk+Tomcat+MySQL数据库 次项目分为管理员和普通用户两种角色 运行效果图

  4. 基于Struts2开发快递收发系统 毕业设计 源码

    基于Struts2开发快递收发系统 开发环境:  Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat6+MySql数据库 运行效果图: 此源码经过详细测试 保证 ...

  5. 基于S2SH开发学生考勤管理系统 附源码

    开发环境: Windows操作系统开发工具:Eclipse+Jdk+Tomcat+mysql数据库 运行效果图 源码及原文链接:http://javadao.xyz/forum.php?mod=vie ...

  6. Java基于ssm框架的restful应用开发

    Java基于ssm框架的restful应用开发 好几年都没写过java的应用了,这里记录下使用java ssm框架.jwt如何进行rest应用开发,文中会涉及到全局异常拦截处理.jwt校验.token ...

  7. 点菜网---Java开源生鲜电商平台-技术选型(源码可下载)

    点菜网---Java开源生鲜电商平台-技术选型(源码可下载) 1.内容简介 点菜网目前选用的是最流行的微服务架构模式,采用前后端分离的开发模式,具备高可用,高负载,支持千万级别的数据量的请求. 2. ...

  8. java学习笔记(3)数据类型、源码、反码、补码、精度损失、基本数据类型互相转换

    关于java中的数据类型: 1.数据类型的作用是什么? 程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用的空间大小不同. 数据类型的作用是指导java虚拟机(JVM)在运行程序的 ...

  9. Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例

    概要  前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对Linked ...

  10. Java 集合系列07之 Stack详细介绍(源码解析)和使用示例

    概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...

随机推荐

  1. 学习操作系统P4 理解并发程序执行 (Peterson算法、模型检验与软件自动化工具)

    啊 多一个线程,在状态机里也可以理解为多一个栈帧 啊 啊 啊 错误如下图所示 啊 啊 当只有一个人想上厕所时,只有一个旗子被举起来,因此举旗的人可以直接进厕所 当两个人都想上厕所时,看门上的名字可以判 ...

  2. springmvc关于通过使用路径占位符出现中文乱码解决办法

    springmvc接受json数据使用@GetMapping通过名称.通过对象,也可以通过路径.当使用路径占位符时,会出现中文乱码.此时,需要转换.即 @GetMapping("/girl5 ...

  3. WeNet调试

    运行: 参照:markdown 问题: CMake Error: Error: generator : Ninja Ninja:提高构建速度 wenet/runtime/libtorch/fc_bas ...

  4. Chrome浏览器崩溃

    1.使用Win+R打开运行对话框,输入regedit,点击确定打开注册表: 2.找到"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome&q ...

  5. Codeforces 1492D、Genius's Gambit

    原题网址 https://codeforces.com/contest/1492/problem/D 题目大意 给定a,b,k,求x,y使得x和y的二进制表示都恰有a个0和b个1,且不能使用开头的0. ...

  6. element-UI 如果获取表格当前行

    表格获取当前行的方法,参考element-UI文档上,可以使用作用域插槽获取当前行的数据 // 通过 slot-scope 可以获取到 row, column, $index 和 store(tabl ...

  7. redis底层数据结构之双向链表(linkedlist)

    双向链表(linkedlist) redis的双向链表(linkedlist)是基于链表的一种数据结构 链表是一种常见的基础数据结构,是一种非顺序存储数据的线性表,在每一个节点里存储了下一个节点的指针 ...

  8. 蓝牙mesh组网实践(节点功能介绍)

    目录 未配网设备在配好网,被纳入网络后,可称之为节点. 蓝牙mesh网络中,节点可以有选择地支持四大功能--朋友.低功耗.转发.代理功能,可以复用多个功能(由于单片机硬件限制,ch582除了复用转发功 ...

  9. Mysql之迂回连接术

    转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/14932870.html 关键词:OmniDB.Mysql Router 背景:项目的测试数据库放在了生产机 ...

  10. 快速确定execl 列数

    1.在最后的列输入公式=COLUMN(). 2.按回车