package com.caimei.controller.search; import com.caimei.controller.user.LoginController; import com.caimei.entity.CmMallPage; import com.caimei.entity.CmWxJsonModel; import com.caimei.entity.CmMallOrganizeProducts; import com.caimei.entity.CmMallProductLadderPrice; import com.caimei.entity.CmMallProductSearchHistory; import com.caimei.service.search.SearchService; import com.caimei.utils.AppUtils; import com.github.pagehelper.PageHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * 搜索 */ @Controller @RequestMapping("/search") public class SearchController { @Autowired private SearchService searchService; @Autowired private LoginController loginController; @Value("${miniprogram.domain}") private String domain; /** * 首页搜索商品 */ @ResponseBody @RequestMapping("/product") public CmWxJsonModel searchProduct(Integer organizeID, String searchWord, String code, Integer index, Integer pageSize, HttpServletRequest request) { CmWxJsonModel jsonModel = loginController.login(code, request, organizeID); String openID = (String) jsonModel.getData(); //保存并删除大于10条的历史记录 searchService.saveProductRecord(organizeID, searchWord, openID); searchService.deleteProductRecord(organizeID, openID); if (index == null) index = 0; if (pageSize == null) pageSize = 10; PageHelper.startPage(index, pageSize); List list = searchService.searchProduct(organizeID, searchWord); for (CmMallOrganizeProducts products : list) { products.setMainImage(AppUtils.getImageURL("product", products.getMainImage(), 0, domain)); //是否启用阶梯价格 if (products.getLadderPriceFlag().equals("1")) { CmMallProductLadderPrice ladderPrice = searchService.findLadderPrice(products.getId()); products.setRetailPrice(ladderPrice.getBuyPrice()); } } CmMallPage productsPage = new CmMallPage<>(list); return CmWxJsonModel.newInstance().success(productsPage); } /** * 首页搜索历史记录 */ @ResponseBody @RequestMapping("/record") public CmWxJsonModel productRecord(Integer organizeID, String code, HttpServletRequest request) { CmWxJsonModel jsonModel = loginController.login(code, request, organizeID); String openID = (String) jsonModel.getData(); List historyList = searchService.findProductRecord(organizeID, openID); return CmWxJsonModel.newInstance().success(historyList); } }