java基于ssm开发的宠物商城宠物店源码
简介
关于宠物的商店,首页,搜索商品,详情页,可选择尺寸,衣服颜色,根据不同规格显示不同的商品价格,加入购物车,立即购买,评价列表展示,商品详情展示,商品评分,分类商品,标签查询,更多分类查询
技术
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开发的宠物商城宠物店源码的更多相关文章
- 基于SSM开发自行车在线租赁管理系统源码
开发环境: Windows操作系统开发工具: Myeclipse+Jdk+Tomcat+MYSQL数据库注意:此项目分管理员与普通用户两种角色运行效果图 源码及原文链接:https://javadao ...
- 基于SSM开发在线家教预约系统源码
开发环境: Windows操作系统开发工具:Eclipse+Jdk+Tomcat8+mysql数据库 注意:次项目运行Tomcat8服务器里面 次项目比较大,需要自行研究 运行效果图 源码及原文链接: ...
- 基于SSM开发大学食堂采购管理系统源码
开发环境: Windows操作系统开发工具: Eclipse+Jdk+Tomcat+MySQL数据库 次项目分为管理员和普通用户两种角色 运行效果图
- 基于Struts2开发快递收发系统 毕业设计 源码
基于Struts2开发快递收发系统 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat6+MySql数据库 运行效果图: 此源码经过详细测试 保证 ...
- 基于S2SH开发学生考勤管理系统 附源码
开发环境: Windows操作系统开发工具:Eclipse+Jdk+Tomcat+mysql数据库 运行效果图 源码及原文链接:http://javadao.xyz/forum.php?mod=vie ...
- Java基于ssm框架的restful应用开发
Java基于ssm框架的restful应用开发 好几年都没写过java的应用了,这里记录下使用java ssm框架.jwt如何进行rest应用开发,文中会涉及到全局异常拦截处理.jwt校验.token ...
- 点菜网---Java开源生鲜电商平台-技术选型(源码可下载)
点菜网---Java开源生鲜电商平台-技术选型(源码可下载) 1.内容简介 点菜网目前选用的是最流行的微服务架构模式,采用前后端分离的开发模式,具备高可用,高负载,支持千万级别的数据量的请求. 2. ...
- java学习笔记(3)数据类型、源码、反码、补码、精度损失、基本数据类型互相转换
关于java中的数据类型: 1.数据类型的作用是什么? 程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用的空间大小不同. 数据类型的作用是指导java虚拟机(JVM)在运行程序的 ...
- Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
概要 前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对Linked ...
- Java 集合系列07之 Stack详细介绍(源码解析)和使用示例
概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...
随机推荐
- vue实现记录分享是否有上级
前言: 项目需要做活动分享功能(增加网站.app等访问量),但是,,,无功不受禄,也就需要分享时带上级ID,好友中奖,本人也受同样优惠 需求开发: 开发一个活动后,本人参加之后,分享给好友,增加自身中 ...
- RockyLinux8.7 制作OpenSSH9.2 rpm包
由于系统原装的openssh存在高危的漏洞,安全扫描不过,故制作出最新版本的rpm包修复openssh高危漏洞. 1.安装基础环境工具 dnf install wget make gcc perl r ...
- 无法识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
无法识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次 解决方法: 1.在开始菜单里找到Windows PowerShell.并以管理 ...
- react native 状态栏和安全区域的使用
1. 状态栏组件,react native文档提供了说明.我需要的是设置透明效果,如下图. 代码如下 <StatusBar translucent={true} backgroundColor ...
- 公司官网百度搜素优化(www.curetech.cc)
1. 解读" 百度搜素引擎网页质量白皮书 " . 链接:https://pan.baidu.com/s/1fD7Cm93qsK01M0K1M1cIKw 提取码:9krx 2. ...
- FSL--fsleyes建立软连接方法
在使用conda下载完fsleyes后,还是显示not found ,无法使用怎么办? 1.首先在/anaconda/envs/fslpython/bin/ 中搜索 fsleyes 确定已经下载好 ...
- DOS命令操作
打开CMD的方式 1.开始+系统+命令提示符 2.Win键+R 输入CMD打开控制台(推荐使用) 3.在任意的文件夹下面,按住shift+鼠标右键点击,在此处打开命令行窗口 4.资源管理器的地址栏前面 ...
- nodejs查询
const tagModel = require("../mongodb"); 1 const mongoose = require("mongoose"); ...
- python生成一个WAV文件的正弦波
import numpy as np import matplotlib.pyplot as plt T = 1.0 / sample_rate #周期 x = np.arange(0, 1.0, T ...
- Create React App 安装时出现的错误解决方法
安装很简单 创建一个文件夹 xxx 第一步:npx create-react-app my-app 第二部:cd my-app 第三部:npm start 安装时出现的错误 一 解决方案 一: 全 ...