SearchController.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.caimei.controller.search;
  2. import com.caimei.controller.user.LoginController;
  3. import com.caimei.entity.CmMallPage;
  4. import com.caimei.entity.CmWxJsonModel;
  5. import com.caimei.entity.CmMallOrganizeProducts;
  6. import com.caimei.entity.CmMallProductLadderPrice;
  7. import com.caimei.entity.CmMallProductSearchHistory;
  8. import com.caimei.service.search.SearchService;
  9. import com.caimei.utils.AppUtils;
  10. import com.github.pagehelper.PageHelper;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.beans.factory.annotation.Value;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.ResponseBody;
  16. import javax.servlet.http.HttpServletRequest;
  17. import java.util.List;
  18. /**
  19. * 搜索
  20. */
  21. @Controller
  22. @RequestMapping("/search")
  23. public class SearchController {
  24. @Autowired
  25. private SearchService searchService;
  26. @Autowired
  27. private LoginController loginController;
  28. @Value("${miniprogram.domain}")
  29. private String domain;
  30. /**
  31. * 首页搜索商品
  32. */
  33. @ResponseBody
  34. @RequestMapping("/product")
  35. public CmWxJsonModel searchProduct(Integer organizeID, String searchWord, String code, Integer index,
  36. Integer pageSize, HttpServletRequest request) {
  37. CmWxJsonModel jsonModel = loginController.login(code, request, organizeID);
  38. String openID = (String) jsonModel.getData();
  39. //保存并删除大于10条的历史记录
  40. searchService.saveProductRecord(organizeID, searchWord, openID);
  41. searchService.deleteProductRecord(organizeID, openID);
  42. if (index == null) index = 0;
  43. if (pageSize == null) pageSize = 10;
  44. PageHelper.startPage(index, pageSize);
  45. List<CmMallOrganizeProducts> list = searchService.searchProduct(organizeID, searchWord);
  46. for (CmMallOrganizeProducts products : list) {
  47. products.setMainImage(AppUtils.getImageURL("product", products.getMainImage(), 0, domain));
  48. //是否启用阶梯价格
  49. if (products.getLadderPriceFlag().equals("1")) {
  50. CmMallProductLadderPrice ladderPrice = searchService.findLadderPrice(products.getId());
  51. products.setRetailPrice(ladderPrice.getBuyPrice());
  52. }
  53. }
  54. CmMallPage<CmMallOrganizeProducts> productsPage = new CmMallPage<>(list);
  55. return CmWxJsonModel.newInstance().success(productsPage);
  56. }
  57. /**
  58. * 首页搜索历史记录
  59. */
  60. @ResponseBody
  61. @RequestMapping("/record")
  62. public CmWxJsonModel productRecord(Integer organizeID, String code, HttpServletRequest request) {
  63. CmWxJsonModel jsonModel = loginController.login(code, request, organizeID);
  64. String openID = (String) jsonModel.getData();
  65. List<CmMallProductSearchHistory> historyList = searchService.findProductRecord(organizeID, openID);
  66. return CmWxJsonModel.newInstance().success(historyList);
  67. }
  68. }