191129项目进度

search-service 和 search-web 代码

  1. search-service编程思路
  2. search-web编程思路
  3. search-service代码实现
  4. search-web代码实现

search-service编程思路

创建spring-boot工程

添加依赖

整合es

在gmall-search-service的pom中添加

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

<!-- https://mvnrepository.com/artifact/io.searchbox/jest -->
<dependency>
   <groupId>io.searchbox</groupId>
   <artifactId>jest</artifactId>
   <version>5.3.3</version>
</dependency>

<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
<dependency>
   <groupId>net.java.dev.jna</groupId>
   <artifactId>jna</artifactId>
   <version>4.5.1</version>
</dependency>

对其他工程的依赖

<dependency>
			<groupId>com.atguigu.gmall</groupId>
			<artifactId>gmall-api</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

		<dependency>
			<groupId>com.atguigu.gmall</groupId>
			<artifactId>gmall-service-util</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

配置文件

server.port=8073
logging.level.root=info
spring.datasource.url=jdbc:mysql://localhost:3306/gmall0722?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=123456
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis.mapper-locations=classpath:mapper/*Mapper.xml
mybatis.configuration.map-underscore-to-camel-case=true

# dubbo的配置
spring.dubbo.registry.address=192.168.222.20:2181
spring.dubbo.registry.protocol=zookeeper
spring.dubbo.protocol.name=dubbo
spring.dubbo.base-package=com.atguigu.gmall
spring.dubbo.application.name=gmall-search-service
# es配置
#spring.elasticsearch.rest.uris=http://192.168.222.20:9200
spring.elasticsearch.jest.uris=http://192.168.222.20:9200

新增文件

没有

search-web编程思路

创建spring-boot工程

添加依赖

对其他工程的依赖

			<groupId>com.atguigu.gmall</groupId>
			<artifactId>gmall-web-util</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

		<dependency>
			<groupId>com.atguigu.gmall</groupId>
			<artifactId>gmall-api</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

配置文件

server.port=8083

logging.level.root=info

# dubbo的配置
spring.dubbo.registry.address=192.168.222.20:2181
spring.dubbo.registry.protocol=zookeeper
spring.dubbo.protocol.name=dubbo
spring.dubbo.base-package=com.atguigu.gmall
spring.dubbo.application.name=gmall-search-web

spring.dubbo.consumer.check=false
spring.dubbo.consumer.timeout=600000

#thymeleaf
spring.thymeleaf.mode=LEGACYHTML5
spring.thymeleaf.cache=false

新增文件

1.static
包含用于Index和list所用的静态文件
2.templates
包含 index.htiml 和 templates.html

search-web代码实现

  1. 创建SearchController
    1. 实现search方法
      方法传参为 ModelMap modelMap, PmsSearchParam pmsSearchParam
      @RequestMapping(“list.html”)
      a.首先创建一个ListPmsSearchSkuInfo类型调用search传入pmsSearchParam查找出pmsSearchParam的值

      b.将查询结果sku中的属性值去重后抽取出来到一个集合中
      实现代码如下
      创建一个HashSet命名为valueIdSet来存取全部的valueId
      foreach循环List每一次执行都在新创建的List1中用pmsSearchSkuInfo调用getSkuAttrValueList()查出SkuAttrValue的值
      放入List1
      并且在循环List每一次执行是嵌套一个foreach循环List1
      这个嵌套循环在每一次执行都将valueIdpmsSkuAttrValue调用getValueId();方法赋值
      并且执行一次
      valueIdSet.add(valueId);

      c. 根据属性值查询页面属性和属性值列表 创建一个ListPmsBaseAttrInfo类型的并且通过attrService调 用getAttrInfoListByValueIds方法传入valueIdSet

      d.modelMap.put(“attrList”,pmsBaseAttrInfos);

      e.modelMap.put(“skuLsInfoList”,pmsSearchSkuInfos);

      f.返回list

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值