基于javaweb的SSM+Maven手机商城管理系统(java+ssm+layui+echarts+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

041324580701

051324580701

061324580701

081324580701

091324580701

101324580701

111324580701

基于javaweb的SSM+Maven手机商城管理系统(java+ssm+layui+echarts+jsp+mysql)

1
2
3
4
5
6
7
8
9
10
后台管理员:
admin 123456


前台用户(注册):
寒冰 123456
纳尔 123456
卡莎 123456
提莫 123456
....

项目介绍

前台 登陆 注册 注销

查看商品详情、商品评论、热销商品

按照关键词搜索商品

收藏、取消收藏商品

加入购物车、下单

购物车增删改查

收藏中心

分状态查看所有订单,已发货可查看快递单号

支付宝付款、确认收货、删除已完成订单

收货地址的增删改查

修改登陆密码

按照商品点击量定制猜你喜欢

修改个人资料,修改头像

评价已确认收货商品,带评分以及多图上传

后台

所有后台管理展示均使用带条件查询的分页

利用Echarts图表框架展示销量排行、月销售额和订单量趋势、商品浏览量和待办事件等

商品管理:商品的增删改查,按照名称查找、批量删除

订单管理:所有订单查看、删除、修改收货信息、发货,带日期和订单状态等的条件查询

用户管理:所有用户信息的查看、删除、修改、禁用、条件查找及批量删除

轮播图管理:增加、删除、修改、查看轮播图,禁用轮播以及批量删除等

评论管理:查看、删除、批量删除、关键词搜索评价功能

商品分类管理:增加、删除、修改、禁用、批量删除、条件搜索功能

账户管理:更新管理员资料、修改密码功能

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7/8.0等版本均可;

技术栈

后台技术选型:SSM(Spring SpringMVC Mybatis)

前端技术选型:LayUI、echarts、JSP

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目; 3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;

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
	Double totalPrice=0D;
for (Integer i : goodslist) {
Cart cart = cartService.findCartById(i);
totalPrice+=cart.getCartNum()*cart.getCartGoods().getGoodsPrice();
cartList.add(cart);
OrderDetail detail=new OrderDetail(cart.getCartGoods(), cart.getCartGoods().getGoodsPrice()*cart.getCartNum(), cart.getCartNum());
detailList.add(detail);
}
HttpSession session = request.getSession();
Users user=(Users) session.getAttribute("user");
Date orderDate=new Date();
Address address = addressService.findAddresById(addr);
String a=address.getAddrProvince()+address.getAddrCity()+address.getAddrArea()+address.getAddrDetail();
Order order=new Order(user, orderDate, totalPrice, 1, address.getAddrNickname(), address.getAddrPhone(), a);
order.setDetailList(detailList);
Order takeOrder = orderService.takeOrder(order);
for (Cart c : cartList) {
Goods goods = goodsService.findById(c.getCartGoods().getGoodsId());
goods.setGoodsNum(goods.getGoodsNum()-c.getCartNum());
goods.setGoodsVolume(goods.getGoodsVolume()+c.getCartNum());
goodsService.update(goods);
cartService.deleteCart(c.getCartId());
}
model.addAttribute("order",takeOrder);
List<Guess> guessList = guessService.findGuessGoodsByUserId(user.getUserId(), 4);
model.addAttribute("guessList", guessList);
return "userview/takeorder";
}
@RequestMapping("findReadPayOrder")
@ResponseBody
public List<Order> findReadyPayOrder(HttpServletRequest request){
HttpSession session = request.getSession();
Users user=(Users) session.getAttribute("user");
List<Order> orderList = orderService.findOrdersByUserIdAndState(user.getUserId(), 1);
return orderList;
}
@RequestMapping("findReadyToDeliverOrder")
@ResponseBody
public List<Order> findReadyToDeliverOrder(HttpServletRequest request){
HttpSession session = request.getSession();
Users user = (Users) session.getAttribute("user");
List<Order> orderList = orderService.findOrdersByUserIdAndState(user.getUserId(), 2);
return orderList;
}
@RequestMapping("findReadyToReceiveOrder")
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
		alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
// Order order = orderService.findOrderById(orderId);
Integer rs = orderService.payForOrder(orderId);
if(rs>0){
System.out.println("同步通知支付成功");
}
return "paysuccess";
// //商户订单号,商户网站订单系统中唯一订单号,必填
// String out_trade_no=null;
// //付款金额,必填
// String total_amount=null;
// //订单名称,必填
// String subject=null;
// try {
// out_trade_no = new String(orderId.getBytes("ISO-8859-1"),"UTF-8");
// total_amount = new String((order.getOrderPrice()+"").getBytes("ISO-8859-1"),"UTF-8");
// subject = new String("乐购手机商城");
// } catch (UnsupportedEncodingException e1) {
// e1.printStackTrace();
// }
// //商品描述,可空
// List<OrderDetail> detailList = order.getDetailList();
// String body = null;
// for (OrderDetail o : detailList) {
// body=body+o.getDetailGoods().getGoodsName()+",";
// }
// body=body.substring(0, body.length()-1)+"等商品";
//
// alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","
// + "\"total_amount\":\""+ total_amount +"\","
// + "\"subject\":\""+ subject +"\","
// + "\"body\":\""+ body +"\","
// + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
// //请求
// try {
// String result = alipayClient.pageExecute(alipayRequest).getBody();
// //输出
// response.setContentType("text/html; charset=utf-8");
// PrintWriter out = response.getWriter();
// out.print(result);
// } catch (AlipayApiException | IOException e) {
// e.printStackTrace();
// }
// return null;
}
@RequestMapping("notify_url")
public void notifyUrl(HttpServletRequest request,HttpServletResponse response){
Map<String,String> params = new HashMap<String,String>();
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
@Controller
@RequestMapping("/goodsType")
public class GoodsTypeController {
@Autowired
private IGoodsTypeService goodsTypeService;
@RequestMapping("findAll")
@ResponseBody
public List<GoodsType> finAllType(){
List<GoodsType> list = goodsTypeService.findAllType();
return list;
}
@RequestMapping("findTypeBySplitPage")
@ResponseBody
public JSONObject findTypeBySplitPage(Integer page,Integer limit,String keyword){
PageInfo<GoodsType> info = goodsTypeService.findTypeBySplitPage(page, limit, keyword);
JSONObject obj=new JSONObject();
obj.put("code", 0);
obj.put("msg", "");
obj.put("count", info.getTotal());
obj.put("data", info.getList());
return obj;
}
@RequestMapping("deleteGoodsType")
@ResponseBody
public String deleteGoodsType(Integer typeId){
Integer rs = goodsTypeService.deleteGoodsType(typeId);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("updateGoodsType")
@ResponseBody
public String updateGoodsType(GoodsType type){
Integer rs = goodsTypeService.updateGoodsType(type);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("changeTypeState")
@ResponseBody
public String disableGoodsType(Integer typeId,Integer state){
System.out.println(state+"state");
System.out.println(typeId+"typeId");
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
		}else{
return "fail";
}
}
@RequestMapping("deleteBanner")
@ResponseBody
public String deleteBanner(Integer bannerId){
Integer rs = bannerService.deleteBanner(bannerId);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("batchDelete")
@ResponseBody
public String batchDelete(String batchId){
String[] list = batchId.split(",");
boolean flag=true;
for (String id : list) {
Integer bannerId = Integer.valueOf(id);
Integer rs = bannerService.deleteBanner(bannerId);
if(rs<0){
flag=false;
}
}
if(flag){
return "success";
}else{
return "fail";
}
}
@RequestMapping("addBanner")
@ResponseBody
public String addBanner(Banner banner){
Integer rs = bannerService.addBanner(banner);
if(rs>0){
return "success";
}else{
return "fail";
}
}
}


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
	@ResponseBody
public Object uploadGoodsImg(@PathVariable(value="file")MultipartFile file,HttpServletRequest request){
String str = file.getOriginalFilename();
String name=UUIDUtil.getUUID()+str.substring(str.lastIndexOf("."));
String path=request.getSession().getServletContext().getRealPath("/upload")+"/"+name;
try {
file.transferTo(new File(path));
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
JSONObject obj=new JSONObject();
obj.put("src", name);
return obj;
}
@RequestMapping("addGoods")
@ResponseBody
public String addGoods(Goods goods){
Integer rs = goodsService.addGoods(goods);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("findGoodsByVolume")
@ResponseBody
public JSONObject findGoodsByVolume(){
List<Goods> goodsList = goodsService.findGoodsByVolume(5);
String[] name=new String[5];
Integer[] volume=new Integer[5];
for(int i=0;i<goodsList.size();i++){
name[i]=goodsList.get(i).getGoodsName();
volume[i]=goodsList.get(i).getGoodsVolume();
}
JSONObject obj=new JSONObject();
obj.put("name", name);
obj.put("volume", volume);
return obj;
}
}

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
	@RequestMapping("removeFavorite")
@ResponseBody
public String removeFavorite(Integer goodsId,HttpServletRequest request){
HttpSession session = request.getSession();
Users user = (Users) session.getAttribute("user");
Integer rs = guessService.removeFavorite(user.getUserId(), goodsId);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("findRecentGoods")
@ResponseBody
public List<Guess> findRecentViewGoods(HttpServletRequest request){
HttpSession session = request.getSession();
Users user = (Users) session.getAttribute("user");
List<Guess> list = guessService.findRecentViewGoods(user.getUserId(), 8);
return list;
}
@RequestMapping("findMostHotGoods")
@ResponseBody
public JSONArray findHotGoods(){
List<Map<String, Object>> list = guessService.findMostHotGoods(6);
JSONArray arr=new JSONArray();
for (Map<String, Object> map : list) {
JSONObject obj=new JSONObject();
Integer goodsId = (Integer) map.get("g");
Number n=(Number) map.get("num");
Goods g = goodsService.findById(goodsId);
obj.put("name", g.getGoodsName());
obj.put("num", n.longValue());
arr.add(obj);
}
return arr;
}
}





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