diff --git a/demo/src/main/java/com/example/demo/searchService/controller/SearchServiceController.java b/demo/src/main/java/com/example/demo/searchService/controller/SearchServiceController.java new file mode 100644 index 0000000..88b93d1 --- /dev/null +++ b/demo/src/main/java/com/example/demo/searchService/controller/SearchServiceController.java @@ -0,0 +1,38 @@ +package com.example.demo.searchService.controller; + + +import com.example.demo.bean.Product; +import com.example.demo.searchService.service.ProductSearchService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + +@Controller +public class SearchServiceController { + private ProductSearchService productSearchService; + @RequestMapping("/search") + public List productSearch(HttpServletRequest request, HttpServletResponse response){ + List list = new ArrayList(); + String productName = request.getParameter("productName"); + String category = request.getParameter("category"); + float intrate = Integer.parseInt(request.getParameter("intrate")); + if(productName!=null){ + list = productSearchService.findByNameLike(productName); + //按关键字搜索 + }else if(category!=null){ + list = productSearchService.findByCategory(category); + //按产品类别搜索 + }else if(intrate!=0){ + list = productSearchService.findByIntrate(intrate); + //按利率排序由低到高 + }else{ + list = productSearchService.findByCount(); + //默认按产品使用的产品的数量由高到低排序 + } + return list; + } +} diff --git a/demo/src/main/java/com/example/demo/searchService/service/ProductSearchService.java b/demo/src/main/java/com/example/demo/searchService/service/ProductSearchService.java new file mode 100644 index 0000000..f681cc1 --- /dev/null +++ b/demo/src/main/java/com/example/demo/searchService/service/ProductSearchService.java @@ -0,0 +1,19 @@ +package com.example.demo.searchService.service; + +import com.example.demo.bean.Product; + +import java.util.List; + +public interface ProductSearchService { + //按关键字查询 + List findByNameLike(String productName); + + //按类别查询 + List findByCategory(String category); + + //按利率从高到低 + List findByIntrate(float intrate); + + ////默认按产品使用的产品的数量由高到低排序 + List findByCount(); +} diff --git a/demo/src/main/java/com/example/demo/searchService/service/impl/ProductSearchServiceImpl.java b/demo/src/main/java/com/example/demo/searchService/service/impl/ProductSearchServiceImpl.java new file mode 100644 index 0000000..96c33fc --- /dev/null +++ b/demo/src/main/java/com/example/demo/searchService/service/impl/ProductSearchServiceImpl.java @@ -0,0 +1,45 @@ +package com.example.demo.searchService.service.impl; + +import com.example.demo.Dao.productMapper; +import com.example.demo.Dao.usageDateMapper; +import com.example.demo.bean.Product; +import com.example.demo.searchService.service.ProductSearchService; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.List; + +public class ProductSearchServiceImpl implements ProductSearchService { + @Autowired + productMapper productMapper; + usageDateMapper usageDateMapper; + Product product; + + @Override + public List findByNameLike(String productName){ + return productMapper.findByNameLike(productName); + } + + @Override + public List findByCategory(String category){ + return productMapper.findByCategory(category); + } + + @Override + public List findByIntrate(float intrate){ + return productMapper.findByIntrate(intrate); + } + + @Override + public List findByCount(){ + List productList = new ArrayList(); + List listusage = usageDateMapper.selectByCount(); + int[] arr = listusage.stream().mapToInt(Integer::valueOf).toArray(); + for(int i=0;i