1,前臺 web
<a th:href="@{initGoodsByPopularDesc(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==3?'btn btn-default btn-danger':'btn btn-default'" th:if="${orderTypeId}!=2"> 人 氣<i></i> </a>sql
<a th:href="@{initGoodsByPopular(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==2?'btn btn-default btn-danger':'btn btn-default'" th:if="${orderTypeId}==2"> 人 氣<i class="up"></i> </a>apache
<a th:href="@{initGoodsByPriceDesc(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==5?'btn btn-default btn-danger':'btn btn-default'" th:if="${orderTypeId}!=4"> 價 格<i></i> </a>session
<a th:href="@{initGoodsByPrice(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==4?'btn btn-default btn-danger':'btn btn-default'" th:if="${orderTypeId}==4"> 價 格<i class="up"></i> </a>app
2,controller
ide
@Slf4j ui
@Controller("GoodsController")spa
@RequestMapping("/").net
public class GoodsController {orm
@Autowired
GoodsService goodsService;
@RequestMapping(value = "initGoodsByPopularDesc", method = RequestMethod.GET)
public String initGoodsByPopularDesc(Model model, HttpSession session, GoodsForm goodsForm, Device device) {
log.info("以人氣爲條件商品列表初始化");
List<GoodsForm> commodityType = goodsService.getType();
model.addAttribute("commodityType", goodsService.getType());
if(goodsForm.getCommodityTypeId()==null)
{
goodsForm.setCommodityTypeId(commodityType.get(0).getCommodityTypeId());
model.addAttribute("list", goodsService.getTypeList(goodsForm));
model.addAttribute("goodsForm", goodsForm);
}
else
{model.addAttribute("goodsForm", goodsForm);
model.addAttribute("list", goodsService.getTypeList(goodsForm));
}
UVO uvo = (UVO)session.getAttribute("UVO");
if (uvo == null) {
uvo = new UVO();
session.setAttribute("UVO", uvo);
}
model.addAttribute("list", goodsService.searchGoodsListByPopularDesc(goodsForm));
model.addAttribute("orderTypeId", 2);
CartForm cartForm = new CartForm();
cartForm.setGuestId(uvo.getGuestId());
model.addAttribute("cartList", cartService.searchCartList(cartForm));
if(device.isNormal()) {
return "shop/list";
} else {
return "mobile/list";
}
}
@RequestMapping(value = "initGoodsByPopular", method = RequestMethod.GET)
public String initGoodsByPopular(Model model, HttpSession session, GoodsForm goodsForm, Device device) {
log.info("以人氣爲條件商品列表初始化");
List<GoodsForm> commodityType = goodsService.getType();
model.addAttribute("commodityType", goodsService.getType());
if(goodsForm.getCommodityTypeId()==null)
{
goodsForm.setCommodityTypeId(commodityType.get(0).getCommodityTypeId());
model.addAttribute("list", goodsService.getTypeList(goodsForm));
model.addAttribute("goodsForm", goodsForm);
}
else
{model.addAttribute("goodsForm", goodsForm);
model.addAttribute("list", goodsService.getTypeList(goodsForm));
}
UVO uvo = (UVO)session.getAttribute("UVO");
if (uvo == null) {
uvo = new UVO();
session.setAttribute("UVO", uvo);
}
model.addAttribute("list", goodsService.searchGoodsListByPopular(goodsForm));
model.addAttribute("orderTypeId", 3);
CartForm cartForm = new CartForm();
cartForm.setGuestId(uvo.getGuestId());
model.addAttribute("cartList", cartService.searchCartList(cartForm));
if(device.isNormal()) {
return "shop/list";
} else {
return "mobile/list";
}
}
@RequestMapping(value = "initGoodsByPriceDesc", method = RequestMethod.GET)
public String initGoodsByPriceDesc(Model model, HttpSession session, GoodsForm goodsForm, Device device) {
log.info("以價格爲條件商品列表初始化");
List<GoodsForm> commodityType = goodsService.getType();
model.addAttribute("commodityType", goodsService.getType());
if(goodsForm.getCommodityTypeId()==null)
{
goodsForm.setCommodityTypeId(commodityType.get(0).getCommodityTypeId());
model.addAttribute("list", goodsService.getTypeList(goodsForm));
model.addAttribute("goodsForm", goodsForm);
}
else
{model.addAttribute("goodsForm", goodsForm);
model.addAttribute("list", goodsService.getTypeList(goodsForm));
}
UVO uvo = (UVO)session.getAttribute("UVO");
if (uvo == null) {
uvo = new UVO();
session.setAttribute("UVO", uvo);
}
model.addAttribute("list", goodsService.searchGoodsListByPriceDesc(goodsForm));
model.addAttribute("orderTypeId", 4);
CartForm cartForm = new CartForm();
cartForm.setGuestId(uvo.getGuestId());
model.addAttribute("cartList", cartService.searchCartList(cartForm));
if(device.isNormal()) {
return "shop/list";
} else {
return "mobile/list";
}
}
3,service
public List<GoodsForm> searchGoodsListByPriceDesc(GoodsForm frm) {
List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectGoodsListByPriceDesc", frm);
return result;
}
public List<GoodsForm> searchGoodsListByPrice(GoodsForm frm) {
List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectGoodsListByPrice", frm);
return result;
}
public List<GoodsForm> searchGoodsListByPopularDesc(GoodsForm frm) {
List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectGoodsListByPopularDesc", frm);
return result;
}
public List<GoodsForm> searchGoodsListByPopular(GoodsForm frm) {
List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectGoodsListByPopular", frm);
return result;
}
4,SQL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!-- SqlMap定義 -->
<sqlMap namespace="Goods">
<select id="selectGoodsListByPopularDesc"
parameterClass="cn.agriculture.web.form.GoodsForm"
resultClass="cn.agriculture.web.form.GoodsForm">
SELECT commodity.commodity_id as commodityId,
commodity.type as type,
commodity_type.commodity_type_id as commodityTypeId,
commodity_type.commodity_type_name as commodityTypeName,
supplier.supplier_name as supplierName,
brand.brand_name as brandName,
commodity.commodity_name as commodityName,
commodity.weight as weight,
commodity.is_gift as isGift,
commodity.specifications as specifications,
commodity.unit as unit,
commodity.benchmark_price as benchmarkPrice,
commodity.guide_price as guidePrice,
commodity.retail_price as retailPrice,
commodity.competition_level as competitionLevel,
commodity.note as note,
commodity.update_time as updateTime,
commodity.update_user as updateUser,
commodity.picture_id as pictureId,
stock.stock as stock
FROM commodity, supplier, brand, stock,commodity_type
WHERE commodity.commodity_id = stock.commodity_id
AND commodity.supplier_id = supplier.supplier_id
AND commodity.brand_id = brand.brand_id
AND commodity.type = commodity_type.commodity_type_id
<isNotEmpty property="commodityTypeId">
AND commodity_type.commodity_type_id=#commodityTypeId#
</isNotEmpty>
<isNotEmpty property="commodityName">
AND commodity.commodity_name LIKE '%$commodityName$%'
</isNotEmpty>
ORDER BY cast(stock.stock as signed) DESC
</select>
<select id="selectGoodsListByPopular"
parameterClass="cn.agriculture.web.form.GoodsForm"
resultClass="cn.agriculture.web.form.GoodsForm">
SELECT commodity.commodity_id as commodityId,
commodity.type as type,
commodity_type.commodity_type_id as commodityTypeId,
commodity_type.commodity_type_name as commodityTypeName,
supplier.supplier_name as supplierName,
brand.brand_name as brandName,
commodity.commodity_name as commodityName,
commodity.weight as weight,
commodity.is_gift as isGift,
commodity.specifications as specifications,
commodity.unit as unit,
commodity.benchmark_price as benchmarkPrice,
commodity.guide_price as guidePrice,
commodity.retail_price as retailPrice,
commodity.competition_level as competitionLevel,
commodity.note as note,
commodity.update_time as updateTime,
commodity.update_user as updateUser,
commodity.picture_id as pictureId,
stock.stock as stock
FROM commodity, supplier, brand, stock,commodity_type
WHERE commodity.commodity_id = stock.commodity_id
AND commodity.supplier_id = supplier.supplier_id
AND commodity.brand_id = brand.brand_id
AND commodity.type = commodity_type.commodity_type_id
<isNotEmpty property="commodityTypeId">
AND commodity_type.commodity_type_id=#commodityTypeId#
</isNotEmpty>
<isNotEmpty property="commodityName">
AND commodity.commodity_name LIKE '%$commodityName$%'
</isNotEmpty>
ORDER BY cast(stock.stock as signed)
</select>
<select id="selectGoodsListByPriceDesc"
parameterClass="cn.agriculture.web.form.GoodsForm"
resultClass="cn.agriculture.web.form.GoodsForm">
SELECT commodity.commodity_id as commodityId,
commodity.type as type,
commodity_type.commodity_type_id as commodityTypeId,
commodity_type.commodity_type_name as commodityTypeName,
supplier.supplier_name as supplierName,
brand.brand_name as brandName,
commodity.commodity_name as commodityName,
commodity.weight as weight,
commodity.is_gift as isGift,
commodity.specifications as specifications,
commodity.unit as unit,
commodity.benchmark_price as benchmarkPrice,
commodity.guide_price as guidePrice,
commodity.retail_price as retailPrice,
commodity.competition_level as competitionLevel,
commodity.note as note,
commodity.update_time as updateTime,
commodity.update_user as updateUser,
commodity.picture_id as pictureId,
stock.stock as stock
FROM commodity, supplier, brand, stock,commodity_type
WHERE commodity.commodity_id = stock.commodity_id
AND commodity.supplier_id = supplier.supplier_id
AND commodity.brand_id = brand.brand_id
AND commodity.type = commodity_type.commodity_type_id
<isNotEmpty property="commodityTypeId">
AND commodity_type.commodity_type_id=#commodityTypeId#
</isNotEmpty>
<isNotEmpty property="commodityName">
AND commodity.commodity_name LIKE '%$commodityName$%'
</isNotEmpty>
ORDER BY cast(commodity.retail_price as signed) DESC
</select>
<select id="selectGoodsListByPrice"
parameterClass="cn.agriculture.web.form.GoodsForm"
resultClass="cn.agriculture.web.form.GoodsForm">
SELECT commodity.commodity_id as commodityId,
commodity.type as type,
commodity_type.commodity_type_id as commodityTypeId,
commodity_type.commodity_type_name as commodityTypeName,
supplier.supplier_name as supplierName,
brand.brand_name as brandName,
commodity.commodity_name as commodityName,
commodity.weight as weight,
commodity.is_gift as isGift,
commodity.specifications as specifications,
commodity.unit as unit,
commodity.benchmark_price as benchmarkPrice,
commodity.guide_price as guidePrice,
commodity.retail_price as retailPrice,
commodity.competition_level as competitionLevel,
commodity.note as note,
commodity.update_time as updateTime,
commodity.update_user as updateUser,
commodity.picture_id as pictureId,
stock.stock as stock
FROM commodity, supplier, brand, stock,commodity_type
WHERE commodity.commodity_id = stock.commodity_id
AND commodity.supplier_id = supplier.supplier_id
AND commodity.brand_id = brand.brand_id
AND commodity.type = commodity_type.commodity_type_id
<isNotEmpty property="commodityTypeId">
AND commodity_type.commodity_type_id=#commodityTypeId#
</isNotEmpty>
<isNotEmpty property="commodityName">
AND commodity.commodity_name LIKE '%$commodityName$%'
</isNotEmpty>
ORDER BY cast(commodity.retail_price as signed)
</select>