校园商铺-9前端展示系统-8店铺详情页的开发

1.controller层

package com.csj2018.o2o.web.frontend;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.csj2018.o2o.dto.ProductExecution;
import com.csj2018.o2o.entity.Product;
import com.csj2018.o2o.entity.ProductCategory;
import com.csj2018.o2o.entity.Shop;
import com.csj2018.o2o.service.ProductCategoryService;
import com.csj2018.o2o.service.ProductService;
import com.csj2018.o2o.service.ShopService;
import com.csj2018.o2o.util.HttpServletRequestUtil;

@Controller
@RequestMapping(value="/frontend")
public class ShopDetailController {
	@Autowired
	private ShopService shopService;
	@Autowired
	private ProductService productService;
	@Autowired
	private ProductCategoryService productCategoryService;
	/**
	 * 查询店铺信息和店铺下的商品分类
	 * @param request
	 * @return
	 */
	@RequestMapping(value="/listshopdetailpageinfo",method=RequestMethod.GET)
	@ResponseBody
	private Map<String,Object> listShopDetailInfo(HttpServletRequest request){
		Map<String,Object> modelMap = new HashMap<String,Object>();
		//获取前台传过来的shopId
		long shopId = HttpServletRequestUtil.getLong(request, "shopId");
		Shop shop = null;
		List<ProductCategory> productCategoryList = null;
		if(shopId != -1) {
			//获取店铺信息
			shop = shopService.getByShopId(shopId);
			//获取店铺的商品分类
			productCategoryList = productCategoryService.getProductCategoryList(shopId);
			modelMap.put("shop", shop);
			modelMap.put("productCategoryList", productCategoryList);
			modelMap.put("success", true);
		}else {
			modelMap.put("success","false");
			modelMap.put("errMsg", "empty shopId");
		}
		return modelMap;
	}

	@RequestMapping(value="listproductbyshop",method=RequestMethod.GET)
	@ResponseBody
	private Map<String,Object> listProductsByShop(HttpServletRequest request){
		Map<String,Object> modelMap = new HashMap<String,Object>();
		//获取页码
		int pageIndex = HttpServletRequestUtil.getInt(request, "pageIndex");
		int pageSize = HttpServletRequestUtil.getInt(request, "pageSize");
		long shopId = HttpServletRequestUtil.getLong(request, "shopId");
		//空值判断
		if((pageIndex > -1)&&(pageSize > -1)&&(shopId > -1)) {
			//获取筛选条件
			long productCategoryId = HttpServletRequestUtil.getLong(request, "productCategoryId");
			String productName = HttpServletRequestUtil.getString(request, "productName");
			//组合查询
			Product productCondition = compactProductCondition4Search(shopId,productCategoryId,productName);
			//
			ProductExecution pe = productService.getProductList(productCondition, pageIndex, pageSize);
			modelMap.put("productList", pe.getProductList());
			modelMap.put("count", pe.getCount());
			modelMap.put("success", true);
		}else {
			modelMap.put("success", "false");
			modelMap.put("errMsg", "empty pageSize or pageIndex or shopId");
		}
		return modelMap;
	}

	private Product compactProductCondition4Search(long shopId,long productCategoryId,String productName) {
		Product productCondition = new Product();
		Shop shop = new Shop();
		shop.setShopId(shopId);
		productCondition.setShop(shop);
		if(productCategoryId != -1) {
			//查询某个商品类别下面的商品列表
			ProductCategory productCategory = new ProductCategory();
			productCategory.setProductCategoryId(productCategoryId);
			productCondition.setProductCategory(productCategory);
		}
		if(productName != null) {
			productCondition.setProductName(productName);
		}
		//只允许选出状态为上架的商品
		productCondition.setEnableStatus(1);
		return productCondition;
	}
}

2.验证

http://127.0.0.1:18080/o2o/frontend/listshopdetailpageinfo?shopId=1

http://127.0.0.1:18080/o2o/frontend/listproductbyshop?shopId=1&pageIndex=0&pageSize=3&productName=前端

原文地址:https://www.cnblogs.com/csj2018/p/12601088.html

时间: 2024-11-05 20:38:00

校园商铺-9前端展示系统-8店铺详情页的开发的相关文章

校园商铺-9前端展示系统-9店铺详情页的前端开发

1.前端 1.1 html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>商店详情</title> <meta name="viewport" content

shop--11.前端展示系统--店铺列表(后端)

按照页面原型设计 点击全部商店后加载一级商铺列表,加载对应的数据 点击特定的一级商铺列表,加载对应商铺列表下的数据 区域显示全部区域 店铺列表页面需要支持分页功能,使用无极滚动的样式 店铺列表页面需要支持多条件排列组合查询店铺信息 <select id="queryShopList" resultMap="shopMap"> SELECT s.shop_id, s.shop_name, s.shop_desc, s.shop_addr, s.phone,

shop--11.前端展示系统--店铺详情(后端)

大多与店铺列表展示页面相同 shopdetail.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>商店详情</title> <meta name="viewpo

shop--11.前端展示系统--首页展示(前端)

index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>我的生活</title> <meta name="viewport" content=&q

校园商铺-7商品类别模块-5商品类别删除后端开发

1.Dao层 1.1Dao接口 package com.csj2018.o2o.dao; import java.util.List; import org.apache.ibatis.annotations.Param; import com.csj2018.o2o.entity.ProductCategory; public interface ProductCategoryDao { /** * 查询某个店铺下的商品分类 * @param shopId * @return */ List<

京东店铺详情页如何做关联销售?如何给图片加热点链接?

顾客进入店铺是时,如何提高客单价,如何提高访问深度.这些都是运营一直探索的问题,用的最多的无非也就是关联销售,今天我们来说下京东详情页的关联销售. 为什么说京东详情页的关联销售呢,因为淘宝.天猫的这种效果,是可以买工具做的,京东相对来说,麻烦那么一点点,但也省钱嘻嘻,我们可以自己做嘛.其实很简单的:) 以下是我们要做的效果图,涉及工具dreamweaver,photoshop. 第一步:我们首先用PS完成以上效果图 第二步:给图片加热点链接.打开dreamweaver软件,插入图片.以下是效果图

校园商铺-4店铺注册功能模块-1Dao层之新增店铺

1. 系统功能开发的优先级. 项目共有3个系统,前端展示系统,店家管理系统,超级管理员管理系统. 店家的优先级是最高的,因为最有可能带来收益的是店家,而且一旦店家系统开发出来,店家往系统里填写商品信息.前端展示系统才有展示的数据源. 超级管理员系统可以用手工录入的方式来代替,优先级是最低. 分析之后,开发的优先级从高到低一次为店铺管理.前端展示.超级管理员系统. 2. 项目1.0-店家管理系统开发 店家可以通过店家管理系统来管理店铺信息 店铺 商品 2.1 店铺注册从底层到前端开发 学习目标:

Java期末项目——校园商铺平台(一)

需求分析: 1.1背景 随着高等院校规模的扩大,学生数量的增加,学生的需求日益多样化,加之现在高等学校大多位于郊区,校园商铺发挥着越来越重要的作用.大学校园经济有一定的特殊性,主要体现在,消费群体单一稳定性,购买行为的多次重复性.校园商铺不仅给在现实生提供了方便快捷的商品购买的同时,也是一个很好的盈利方式.在开展校园商铺的同时,要考虑到学校的实际情况,以及是否能盈利. 1.2非功能性需求分析 首先在性能要求上,简约的设计界面,操作灵敏快捷,方便用户体验.网页反应速度快.易打开.网页界面稳定等.在

SSM到Spring Boot -从零开发校园商铺平台

第1章 开发准备   1-1 课程导学   1-2 开发准备第2章 项目设计和框架搭建   2-1 系统功能模块划分   2-2 实体类设计与表创建A   2-3 实体类设计与表创建B   2-4 实体类设计与表创建C   2-5 配置Maven   2-6 逐层完成SSM的各项配置   2-7 验证Dao   2-8 验证Sevice   2-9 验证Controller   2-10 彩蛋时间第3章 Logback配置与使用   3-1 logback介绍   3-2 logback的配置