基于javaweb的SpringBoot体育用品商城(java+springboot+jsp+maven+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

560023522402

570023522402

590023522402

000023532402

010023532402

020023532402

基于javaweb的SpringBoot体育用品商城(java+springboot+jsp+maven+mysql)

本项目为前后台管理系统,包括管理员与普通用户两种角色;

管理员角色包含以下功能: 管理员登录,用户管理,商品类型管理,商品管理,订单信息管理,用户留言管理,资讯管理等功能。

用户角色包含以下功能: 用户首页,用户登录,商品推荐,资讯信息,留言板,查看商品,提交订单,查看订单信息,个人资料管理等功能。

ps:推荐模块用了协同过滤推荐算法,下订单模块用的是百度地图api。本商城可以修改为任意商城不止是体育商城。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
		return "error";
}

return "card";
}

/**
* @Title: modifyCard
* @Description: 修改购物车
* @return String
*/
@RequestMapping(value="page_modifyCard.action")
@ResponseBody
public JSONData modifyCard(OrdersDetail paramsOrdersDetail,PaperUtil paperUtil,
ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){
JSONData jsonData = new JSONData();
try {
//修改购物车
indexManager.modifyCard(paramsOrdersDetail, httpSession);

} catch (Exception e) {
e.printStackTrace();
jsonData.setErrorReason("修改数量失败!");
return jsonData;
}

return jsonData;
}

/**
* @Title: delGoodsFromCard
* @Description: 从购物车删除
* @return String
*/
@RequestMapping(value="page_delGoodsFromCard.action")
public String delGoodsFromCard(OrdersDetail paramsOrdersDetail,PaperUtil paperUtil,
ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){
try {
//从购物车删除
indexManager.delGoodsFromCard(paramsOrdersDetail.getGoods_id(), httpSession);

//查询购物车
List<OrdersDetail> ordersDetails = indexManager.listCard(httpSession);
model.addAttribute("ordersDetails", ordersDetails);
User user = (User)httpSession.getAttribute("userFront");
if(user == null) {
model.addAttribute("tip","登录超时请重新登录!");
return "login";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
	}
List<Sblog> sblogs = sblogDao.listSblogs(sblog);
if (sblogs!=null) {
for (Sblog sblog2 : sblogs) {
SblogReply sblogReply = new SblogReply();
sblogReply.setStart(-1);
sblogReply.setSblog_id(sblog2.getSblog_id());
List<SblogReply> replys = sblogReplyDao.listSblogReplys(sblogReply);
if (replys!=null) {
sblog2.setReplys(replys);
}
}
}
return sblogs;
}

/**
* @Title: querySblog
* @Description: 查询留言
* @param sblog
* @return Sblog
*/
public Sblog querySblog(Sblog sblog) {
Sblog _sblog = sblogDao.getSblog(sblog);
return _sblog;
}

/**
* @Title: addSblog
* @Description: 新增留言信息
* @param sblog
* @return void
*/
public void addSblog(Sblog sblog){
if (!StringUtil.isEmptyString(sblog.getSblog_content())) {
sblog.setSblog_content(Transcode.htmlEncode(sblog.getSblog_content()));
}
sblog.setSblog_date(DateUtil.getCurDateTime());
sblogDao.addSblog(sblog);
}

/**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
	DingDan dingdan = new DingDan();
dingdan.setUser_id(similar.getUserid());
List<DingDan> dingDans = dingDanDao.listDingDans(dingdan);
for(DingDan temp:dingDans) {
Goods tempGoods = new Goods();
tempGoods.setGoods_id(temp.getGoods_id());
List<Goods> goodsList = goodsDao.listGoodss(tempGoods);
goods.addAll(goodsList);
}
}
for(Similar similar:list) {
GouWuChe gouwuche = new GouWuChe();
gouwuche.setUser_id(similar.getUserid());
List<GouWuChe> gouWuChes = gouWuCheDao.listGouWuChes(gouwuche);
for(GouWuChe temp:gouWuChes) {
Goods tempGoods = new Goods();
tempGoods.setGoods_id(temp.getGoods_id());
List<Goods> goodsList = goodsDao.listGoodss(tempGoods);
goods.addAll(goodsList);
}
}
paramsGoods.setUser_hobby(userFront.getUser_id());
if(goods.size()<5) {
// List<Goods> goodss = indexManager.listGoodss(paramsGoods,sum);
// goods.addAll(goodss);
}
Set<Goods> goodSet = new HashSet<Goods>();
goods = goods.stream().distinct().collect(Collectors.toList());
for (int i = 0; i < goods.size(); i++) {
for (int j = 0; j < goods.size(); j++) {
if(i!=j&&goods.get(i).getGoods_id()==goods.get(j).getGoods_id()) {
goodSet.add(goods.get(i));

}
}
}
for(Goods goods2:goodSet) {
goods.remove(goods2);
}
model.addAttribute("goodss", goods);
model.addAttribute("paramsGoods", paramsGoods);
paperUtil.setTotalCount(goods.size());
//查询商品类型
GoodsType goodsType = new GoodsType();
goodsType.setStart(-1);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
	ordersDao.updateOrders(orders);


}

/**
* @Title: listSblogs
* @Description: 查询留言信息
* @param sblog
* @return List<Sblog>
*/
public List<Sblog> listSblogs(Sblog sblog,int[] sum){
if (sum!=null) {
sum[0] = sblogDao.listSblogsCount(sblog);
}
List<Sblog> sblogs = sblogDao.listSblogs(sblog);
if (sblogs!=null) {
for (Sblog sblog2 : sblogs) {
SblogReply sblogReply = new SblogReply();
sblogReply.setStart(-1);
sblogReply.setSblog_id(sblog2.getSblog_id());
List<SblogReply> replys = sblogReplyDao.listSblogReplys(sblogReply);
if (replys!=null) {
sblog2.setReplys(replys);
}
}
}
return sblogs;
}

/**
* @Title: querySblog
* @Description: 查询留言
* @param sblog
* @return Sblog
*/
public Sblog querySblog(Sblog sblog) {
Sblog _sblog = sblogDao.getSblog(sblog);
return _sblog;
}

/**
* @Title: addSblog
* @Description: 新增留言信息
* @param sblog
* @return void
*/
public void addSblog(Sblog sblog){
if (!StringUtil.isEmptyString(sblog.getSblog_content())) {
sblog.setSblog_content(Transcode.htmlEncode(sblog.getSblog_content()));
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 * @Title: queryGoods
* @Description: 商品查询
* @param goods
* @return Goods
*/
public Goods queryGoods(Goods goods) {
Goods _goods = goodsDao.getGoods(goods);
return _goods;
}

/**
* @Title: listEvaluates
* @Description: 查询商品评价信息
* @param evaluate
* @return List<Evaluate>
*/
public List<Evaluate> listEvaluates(Evaluate evaluate,int[] sum){
if (sum!=null) {
sum[0] = evaluateDao.listEvaluatesCount(evaluate);
}
List<Evaluate> evaluates = evaluateDao.listEvaluates(evaluate);
return evaluates;
}

/**
* @Title: addCard
* @Description: 添加购物车
* @param ordersDetail
*/
@SuppressWarnings("unchecked")
public void addCard(OrdersDetail ordersDetail,HttpSession httpSession) {
//查询购物车
List<OrdersDetail> card = (List<OrdersDetail>) httpSession.getAttribute("card");
if (card==null) {
card = new ArrayList<OrdersDetail>();
}
OrdersDetail oldDetail = getGoodsFromCard(ordersDetail.getGoods_id(),httpSession);
if (oldDetail==null) {//新增商品
//计算总额
double goods_money = ordersDetail.getGoods_price()*ordersDetail.getGoods_count()*ordersDetail.getGoods_discount()/10.0;
ordersDetail.setGoods_money(Math.round(goods_money*10)/10.0);
card.add(ordersDetail);
}else {//修改购物车商品
card.remove(oldDetail);
oldDetail.setGoods_count(oldDetail.getGoods_count()+ordersDetail.getGoods_count());
double goods_money = oldDetail.getGoods_price()*oldDetail.getGoods_count()*oldDetail.getGoods_discount()/10.0;;
oldDetail.setGoods_money(Math.round(goods_money*10)/10.0);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
	return null;
}

/**
* @Title: addOrders
* @Description: 添加商品订单
* @param orders
* @return Orders
*/
@SuppressWarnings("unchecked")
public void addOrders(Orders orders,HttpSession httpSession) {
//生成订单号
String orders_no = DateUtil.dateToDateString(new Date(), "yyyyMMddHHmmss")+orders.getUser_id();
orders.setOrders_no(orders_no);
//订单日期
orders.setOrders_date(DateUtil.dateToDateString(new Date(), "yyyy-MM-dd"));
//1:待发货
orders.setOrders_flag(1);
//查询购物车
List<OrdersDetail> card = (List<OrdersDetail>) httpSession.getAttribute("card");
double orders_money=0;
for (int i = 0; i < card.size(); i++) {
OrdersDetail ordersDetail = card.get(i);
orders_money+=ordersDetail.getGoods_money();//累计总金额
ordersDetail.setOrders_no(orders_no);//设置订单号
//保存订单明细
ordersDetailDao.addOrdersDetail(ordersDetail);
}
//设置总额
orders.setOrders_money(orders_money);
//保存订单
ordersDao.addOrders(orders);

//清空购物车
httpSession.removeAttribute("card");


}

/**
* @Title: listCard
* @Description: 查询购物车
* @return List<OrdersDetail>
*/
@SuppressWarnings("unchecked")
public List<OrdersDetail> listCard(HttpSession httpSession) {
//查询购物车
List<OrdersDetail> card = (List<OrdersDetail>) httpSession.getAttribute("card");


项目链接:
https://javayms.github.io?id=051422272105200ae
https://javayms.pages.dev?id=051422272105200ae