diff --git a/bwie-common/src/main/java/com/bwie/common/domain/Advice.java b/bwie-common/src/main/java/com/bwie/common/domain/Advice.java new file mode 100644 index 0000000..388d136 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/Advice.java @@ -0,0 +1,40 @@ +package com.bwie.common.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 咨询表 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName("advice") +public class Advice { + @TableId(type = IdType.AUTO) + private Long adviceId; //咨讯 + private String adviceTitle; //咨讯标题 + private String adviceConment; //咨讯内容 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date adviceTime; //咨讯上传时间 + private String adviceCome; //咨讯来源 + private Integer adviceStatus; //咨讯状态 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date craeteTime; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + private Integer isDelete; +} diff --git a/bwie-common/src/main/java/com/bwie/common/domain/HouseExamine.java b/bwie-common/src/main/java/com/bwie/common/domain/HouseExamine.java index 1f52000..f63ff4b 100644 --- a/bwie-common/src/main/java/com/bwie/common/domain/HouseExamine.java +++ b/bwie-common/src/main/java/com/bwie/common/domain/HouseExamine.java @@ -8,6 +8,9 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +/** + * 房源审核表 + */ @Data @Builder @AllArgsConstructor diff --git a/bwie-common/src/main/java/com/bwie/common/domain/request/VoIndexList.java b/bwie-common/src/main/java/com/bwie/common/domain/request/VoIndexList.java new file mode 100644 index 0000000..2ea7f4c --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/request/VoIndexList.java @@ -0,0 +1,29 @@ +package com.bwie.common.domain.request; + +import com.bwie.common.domain.Advice; +import com.bwie.common.domain.House; +import com.bwie.common.domain.User; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class VoIndexList { + + private List newHouse; + + private List houseImage; + + private List adviceList; + + private List oldHouse; + + private List userInfo; + +} diff --git a/bwie-common/src/main/resources/META-INF/spring.factories b/bwie-common/src/main/resources/META-INF/spring.factories index d638e57..728c0f4 100644 --- a/bwie-common/src/main/resources/META-INF/spring.factories +++ b/bwie-common/src/main/resources/META-INF/spring.factories @@ -3,4 +3,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.bwie.common.handler.GlobalExceptionHandle,\ com.bwie.common.config.RedisConfig,\ com.bwie.common.redis.RedisCache,\ - com.bwie.common.remote.factory.RemoteHouseFactory + com.bwie.common.remote.factory.RemoteHouseFactory,\ + com.bwie.common.remote.factory.RemoteLoginFactory diff --git a/bwie-modules/bwie-home/pom.xml b/bwie-modules/bwie-home/pom.xml index f85ab6e..875c99b 100644 --- a/bwie-modules/bwie-home/pom.xml +++ b/bwie-modules/bwie-home/pom.xml @@ -53,6 +53,13 @@ pagehelper-spring-boot-starter 1.4.1 + + + + com.xuxueli + xxl-job-core + 2.3.1 + org.jsoup diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/controller/HouseController.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/controller/HouseController.java index 02381d6..ed9f78c 100644 --- a/bwie-modules/bwie-home/src/main/java/com/bwie/home/controller/HouseController.java +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/controller/HouseController.java @@ -2,6 +2,7 @@ package com.bwie.home.controller; import com.bwie.common.domain.House; import com.bwie.common.domain.request.HouseEsRequest; +import com.bwie.common.domain.request.VoIndexList; import com.bwie.common.result.Result; import com.bwie.home.job.Reptile; import com.bwie.home.service.HomeListService; @@ -43,4 +44,11 @@ public class HouseController { reptile.reptile(page); return Result.success(); } + + @GetMapping("/index") + public Result getIndexList(){ + return Result.success( + houseService.getIndexList() + ); + } } diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/job/ReptileJob.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/job/ReptileJob.java index 6ea093d..3596eca 100644 --- a/bwie-modules/bwie-home/src/main/java/com/bwie/home/job/ReptileJob.java +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/job/ReptileJob.java @@ -57,7 +57,6 @@ public class ReptileJob { reptile.reptile(bkUrl); redisCache.redisTemplate.opsForList().rightPush(url, bkUrl); } catch (Exception e) { - throw new RuntimeException(e); } }); diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/AdviceMapper.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/AdviceMapper.java new file mode 100644 index 0000000..8cbdd06 --- /dev/null +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/AdviceMapper.java @@ -0,0 +1,7 @@ +package com.bwie.home.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bwie.common.domain.Advice; + +public interface AdviceMapper extends BaseMapper { +} diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/UserMapper.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/UserMapper.java new file mode 100644 index 0000000..634188d --- /dev/null +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/UserMapper.java @@ -0,0 +1,7 @@ +package com.bwie.home.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bwie.common.domain.User; + +public interface UserMapper extends BaseMapper { +} diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/AdviceService.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/AdviceService.java new file mode 100644 index 0000000..32fd7ec --- /dev/null +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/AdviceService.java @@ -0,0 +1,7 @@ +package com.bwie.home.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bwie.common.domain.Advice; + +public interface AdviceService extends IService { +} diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/HouseService.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/HouseService.java index 09f25c4..2d2c946 100644 --- a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/HouseService.java +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/HouseService.java @@ -3,6 +3,7 @@ package com.bwie.home.service; import com.baomidou.mybatisplus.extension.service.IService; import com.bwie.common.domain.House; import com.bwie.common.domain.request.HouseEsRequest; +import com.bwie.common.domain.request.VoIndexList; import java.util.List; @@ -14,4 +15,10 @@ public interface HouseService extends IService { * @return */ List getHouseEsList(); + + /** + * 获取首页信息 + * @return + */ + VoIndexList getIndexList(); } diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/UserService.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/UserService.java new file mode 100644 index 0000000..aafb3a5 --- /dev/null +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/UserService.java @@ -0,0 +1,7 @@ +package com.bwie.home.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bwie.common.domain.User; + +public interface UserService extends IService { +} diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/AdviceServiceImpl.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/AdviceServiceImpl.java new file mode 100644 index 0000000..1a73002 --- /dev/null +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/AdviceServiceImpl.java @@ -0,0 +1,13 @@ +package com.bwie.home.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bwie.common.domain.Advice; +import com.bwie.home.mapper.AdviceMapper; +import com.bwie.home.service.AdviceService; +import org.springframework.stereotype.Service; + +@Service +public class AdviceServiceImpl extends ServiceImpl + implements AdviceService { + +} diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/HouseServiceImpl.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/HouseServiceImpl.java index 5746ee5..ae1f3eb 100644 --- a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/HouseServiceImpl.java +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/HouseServiceImpl.java @@ -2,20 +2,19 @@ package com.bwie.home.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.bwie.common.domain.DictionaryType; -import com.bwie.common.domain.House; -import com.bwie.common.domain.HouseImages; -import com.bwie.common.domain.HouseType; +import com.bwie.common.domain.*; import com.bwie.common.domain.request.HouseEsRequest; +import com.bwie.common.domain.request.VoIndexList; import com.bwie.home.mapper.HouseMapper; -import com.bwie.home.service.DictionaryTypeService; -import com.bwie.home.service.HouseImagesService; -import com.bwie.home.service.HouseService; -import com.bwie.home.service.HouseTypeService; +import com.bwie.home.service.*; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.Executor; import java.util.stream.Collectors; @Service @@ -25,13 +24,22 @@ public class HouseServiceImpl extends ServiceImpl private final HouseTypeService houseTypeService; private final DictionaryTypeService dictionaryTypeService; private final HouseImagesService houseImagesService; + private final UserService userService; + private final AdviceService adviceService; + private final Executor executor; + public HouseServiceImpl(HouseTypeService houseTypeService, DictionaryTypeService dictionaryTypeService, - HouseImagesService houseImagesService) { + HouseImagesService houseImagesService, + UserService userService, + AdviceService adviceService, Executor executor) { this.houseTypeService = houseTypeService; this.dictionaryTypeService = dictionaryTypeService; this.houseImagesService = houseImagesService; + this.userService = userService; + this.adviceService = adviceService; + this.executor = executor; } @Override @@ -56,4 +64,63 @@ public class HouseServiceImpl extends ServiceImpl return esRequestList; } + + @Override + public VoIndexList getIndexList() { + + CountDownLatch countDownLatch = new CountDownLatch(5); + VoIndexList voIndexList = new VoIndexList(); + + //横幅信息 + CompletableFuture> f1 = CompletableFuture.supplyAsync(() -> { + List list = houseImagesService.list(new LambdaQueryWrapper().eq(HouseImages::getHouseId, 0)); + countDownLatch.countDown(); + return list; + }, executor); + + // 经纪人信息 + CompletableFuture> f2 = CompletableFuture.supplyAsync(() -> { + List list = userService.list(); + countDownLatch.countDown(); + return list; + }, executor); + + //咨询 + CompletableFuture> f3 = CompletableFuture.supplyAsync(() -> { + List list = adviceService.list(); + countDownLatch.countDown(); + return list; + }, executor); + + //新房 + CompletableFuture> f4 = CompletableFuture.supplyAsync(() -> { + List list = this.list(new LambdaQueryWrapper().last("LIMIT" + 5)); + countDownLatch.countDown(); + return list; + }, executor); + + //二手房 + CompletableFuture> f5 = CompletableFuture.supplyAsync(() -> { + List list = this.list(new LambdaQueryWrapper().last("LIMIT" + 5)); + countDownLatch.countDown(); + return list; + }, executor); + + try { + countDownLatch.await(); + List houseImages = f1.get(); + List imageList = houseImages.stream().map(HouseImages::getImageAddr).collect(Collectors.toList()); + voIndexList.setHouseImage(imageList);//横幅信息 + voIndexList.setUserInfo(f2.get()); + voIndexList.setAdviceList(f3.get()); +// voIndexList.setNewHouse(f4.get()); +// voIndexList.setOldHouse(f5.get()); + + } catch (Exception e) { + throw new RuntimeException(e); + } + + + return voIndexList; + } } diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/UserServiceImpl.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..1adaa1e --- /dev/null +++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/UserServiceImpl.java @@ -0,0 +1,12 @@ +package com.bwie.home.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bwie.common.domain.User; +import com.bwie.home.mapper.UserMapper; +import com.bwie.home.service.UserService; +import org.springframework.stereotype.Service; + +@Service +public class UserServiceImpl extends ServiceImpl + implements UserService { +} diff --git a/bwie-modules/pom.xml b/bwie-modules/pom.xml index e43b682..48bea4e 100644 --- a/bwie-modules/pom.xml +++ b/bwie-modules/pom.xml @@ -15,10 +15,14 @@ bwie-group - 8 - 8 UTF-8 + UTF-8 + UTF-8 + 1.8 + 1.8 + + org.elasticsearch diff --git a/pom.xml b/pom.xml index c66d66b..4deb37c 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,9 @@ 8 8 UTF-8 + + org.elasticsearch