diff --git a/bwie-common/pom.xml b/bwie-common/pom.xml
index 6f86910..b3ec386 100644
--- a/bwie-common/pom.xml
+++ b/bwie-common/pom.xml
@@ -116,5 +116,6 @@
fastjson2
2.0.42
+
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/Abc.java b/bwie-common/src/main/java/com/bwie/common/domain/Abc.java
deleted file mode 100644
index e720254..0000000
--- a/bwie-common/src/main/java/com/bwie/common/domain/Abc.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.bwie.common.domain;
-
-public class Abc {
-}
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/Chat.java b/bwie-common/src/main/java/com/bwie/common/domain/Chat.java
new file mode 100644
index 0000000..c4d8646
--- /dev/null
+++ b/bwie-common/src/main/java/com/bwie/common/domain/Chat.java
@@ -0,0 +1,28 @@
+package com.bwie.common.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Chat {
+ private Long ChatId;
+ private Long sendId;
+ private Long receiveId;
+ private String chatText;
+ private Integer isUp;
+ @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;
+ private Integer isRead;
+}
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/House.java b/bwie-common/src/main/java/com/bwie/common/domain/House.java
index 6bbe0de..338fdca 100644
--- a/bwie-common/src/main/java/com/bwie/common/domain/House.java
+++ b/bwie-common/src/main/java/com/bwie/common/domain/House.java
@@ -8,6 +8,7 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@@ -44,5 +45,5 @@ public class House {
private Date createTime; //创建时间
private Date updateTime; //最近更新时间
private Integer isDelete; //逻辑删除字段
-
+ private Long dictionaryTypeId;
}
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/HouseImages.java b/bwie-common/src/main/java/com/bwie/common/domain/HouseImages.java
index 5ef4c7a..a991225 100644
--- a/bwie-common/src/main/java/com/bwie/common/domain/HouseImages.java
+++ b/bwie-common/src/main/java/com/bwie/common/domain/HouseImages.java
@@ -19,4 +19,5 @@ public class HouseImages {
private Long id; //id
private Long houseId; //房型id
private String imageAddr; //图片地址
+
}
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/Info.java b/bwie-common/src/main/java/com/bwie/common/domain/Info.java
new file mode 100644
index 0000000..d2a4529
--- /dev/null
+++ b/bwie-common/src/main/java/com/bwie/common/domain/Info.java
@@ -0,0 +1,46 @@
+package com.bwie.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+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
+public class Info {
+ /*
+ id
+ */
+ private Long userId;
+ /*
+ 姓名
+ */
+ private String userName;
+ /*
+ 手机号
+ */
+ private String userTel;
+
+ /*
+ 公司
+ */
+ private String company;
+ /*
+ 积分
+ */
+ private Integer point;
+
+ /*
+ 登陆人身份【0-经纪人 1-用户】
+ */
+ private Integer userRole;
+
+
+}
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/Message.java b/bwie-common/src/main/java/com/bwie/common/domain/Message.java
new file mode 100644
index 0000000..2e7e2fa
--- /dev/null
+++ b/bwie-common/src/main/java/com/bwie/common/domain/Message.java
@@ -0,0 +1,30 @@
+package com.bwie.common.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Message {
+ private Long messageId;
+ private Long userId;
+ private String messageText;
+ private Integer isUp;
+ @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;
+ private Integer isRead;
+
+
+
+}
diff --git a/bwie-common/src/main/java/com/bwie/common/handler/GlobalExceptionHandle.java b/bwie-common/src/main/java/com/bwie/common/handler/GlobalExceptionHandle.java
index ac544b4..3e2d7aa 100644
--- a/bwie-common/src/main/java/com/bwie/common/handler/GlobalExceptionHandle.java
+++ b/bwie-common/src/main/java/com/bwie/common/handler/GlobalExceptionHandle.java
@@ -8,7 +8,6 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import java.util.stream.Collectors;
diff --git a/bwie-common/src/main/java/com/bwie/common/remote/house/RemoteHouseService.java b/bwie-common/src/main/java/com/bwie/common/remote/house/RemoteHouseService.java
index 1c46fd7..16b0d18 100644
--- a/bwie-common/src/main/java/com/bwie/common/remote/house/RemoteHouseService.java
+++ b/bwie-common/src/main/java/com/bwie/common/remote/house/RemoteHouseService.java
@@ -1,11 +1,13 @@
package com.bwie.common.remote.house;
+import com.bwie.common.domain.House;
import com.bwie.common.domain.request.HouseEsRequest;
import com.bwie.common.remote.house.factory.RemoteHouseFactory;
import com.bwie.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
@@ -17,4 +19,7 @@ import java.util.List;
public interface RemoteHouseService {
@GetMapping("/list")
public Result> getHouseEsList();
+
+ @PostMapping("/shouall")
+ public Result> shouall();
}
diff --git a/bwie-common/src/main/java/com/bwie/common/remote/house/factory/RemoteHouseFactory.java b/bwie-common/src/main/java/com/bwie/common/remote/house/factory/RemoteHouseFactory.java
index 92df99a..ab991e7 100644
--- a/bwie-common/src/main/java/com/bwie/common/remote/house/factory/RemoteHouseFactory.java
+++ b/bwie-common/src/main/java/com/bwie/common/remote/house/factory/RemoteHouseFactory.java
@@ -1,5 +1,6 @@
package com.bwie.common.remote.house.factory;
+import com.bwie.common.domain.House;
import com.bwie.common.domain.request.HouseEsRequest;
import com.bwie.common.remote.house.RemoteHouseService;
@@ -21,6 +22,12 @@ public class RemoteHouseFactory implements FallbackFactory {
log.error("远程调用失败:[{}]",cause.getMessage(),cause);
return Result.error(cause.getMessage());
}
+
+ @Override
+ public Result> shouall(){
+ log.error("远程调用失败:[{}]",cause.getMessage(),cause);
+ return Result.error(cause.getMessage());
+ }
};
}
}
diff --git a/bwie-modules/bwie-background/src/main/java/com/bwie/background/BackgroundMapperApp.java b/bwie-modules/bwie-background/src/main/java/com/bwie/background/BackgroundApp.java
similarity index 100%
rename from bwie-modules/bwie-background/src/main/java/com/bwie/background/BackgroundMapperApp.java
rename to bwie-modules/bwie-background/src/main/java/com/bwie/background/BackgroundApp.java
diff --git a/bwie-modules/bwie-chat/src/main/java/com/bwie/chat/handle/WebScoketHandle.java b/bwie-modules/bwie-chat/src/main/java/com/bwie/chat/handle/WebScoketHandle.java
new file mode 100644
index 0000000..bd77362
--- /dev/null
+++ b/bwie-modules/bwie-chat/src/main/java/com/bwie/chat/handle/WebScoketHandle.java
@@ -0,0 +1,186 @@
+package com.bwie.chat.handle;
+
+import com.bwie.chat.entry.CodeEnum;
+import com.bwie.common.result.Result;
+import com.mysql.cj.protocol.x.Notice;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.socket.*;
+
+import java.io.IOException;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
+
+@Slf4j
+public class WebScoketHandle implements WebSocketHandler {
+ // 存放 sessionId 与 session
+ private static Map SESSIONS = new ConcurrentHashMap<>();
+ // 在线用户列表
+ private static List ONLINE_USERS = new ArrayList<>();
+ // 消息列表
+ private static List msgList = new ArrayList<>();
+ // 公告
+ private static Notice notice = new Notice();
+
+ /**
+ * WebSocket 连接建立后调用的方法,通常用于处理连接建立后的业务逻辑。
+ * @param session
+ * @throws Exception
+ */
+ @Override
+ public void afterConnectionEstablished(WebSocketSession session) throws Exception {
+ log.info("WebSocket 连接已打开:" + session.getId());
+ // 获取请求路径 判断是否携带用户名
+ String uri = session.getUri().toString();
+ // ws://localhost:8080/username=zxwy&id=1
+ log.info(uri);
+ // 获取id 与 用户名
+ String id = uri.substring(uri.lastIndexOf('=')+1);
+ uri = uri.substring(0,uri.lastIndexOf('&'));
+ String username = uri.substring(uri.lastIndexOf('=')+1);
+
+ if ("".equals(username)){
+ session.sendMessage(new TextMessage(JsonUtils.toJson(Result.error(CodeEnum.NOT_USERNAME))));
+ return;
+ }
+ User user = new User();
+ user.setUsername(username);
+ user.setId(Integer.valueOf(id));
+
+ // 判断当前用户是否已经连接过
+ List onlineUser = ONLINE_USERS.stream()
+ .filter(tmp -> tmp.getId()==user.getId())
+ .collect(Collectors.toList());
+ // 如果存在相同用户已经登录 删除之前登录的session并关闭
+ if (onlineUser.size() != 0){
+ delSessionById(onlineUser.get(0).getId());
+ }
+
+ SESSIONS.put(session.getId(),session);
+ // 将用户添加到在线列表
+ ONLINE_USERS.add(user);
+
+ session.getAttributes().put(session.getId(),user);
+ session.getAttributes().put("sessionId",session.getId());
+
+ // 将连接id推送给前端
+ session.sendMessage(new TextMessage(JsonUtils.toJson(Result.set(CodeEnum.SESSION_ID,session.getId(),null))));
+ // 推送在线列表
+ pushOnlineUser();
+ // 推送公告
+ pushNotice(session);
+ // 首次连接推送所有消息
+ session.sendMessage(new TextMessage(JsonUtils.toJson(Result.set(CodeEnum.SERVER_TO,null,msgList))));
+ }
+
+ /**
+ * handleTextMessage: 处理接收到的文本消息。
+ * @param session
+ * @param message 前端发送的消息
+ * @throws Exception
+ */
+ @Override
+ public void handleMessage(WebSocketSession session, WebSocketMessage> message) throws Exception {
+ log.info("收到 WebSocket 消息:" + message.getPayload().toString());
+
+ Result result = JsonUtils.parse(message.getPayload().toString(),Result.class);
+ userMsg userMsg = JsonUtils.parse(result.getData().toString(), userMsg.class);
+ String username = userMsg.getUser().getUsername();
+ long id = userMsg.getUser().getId();
+ if (username == null || "".equals(username)){
+ session.sendMessage(new TextMessage(JsonUtils.toJson(Result.error(CodeEnum.NOT_USERNAME))));
+ }
+ String mtext = userMsg.getMessageInput();
+ // 指令 清空消息
+ if (mtext.substring(0,1).equals("$")){
+ if (mtext.equals("$clear")&&id==1){
+ msgList.removeAll(msgList);
+ broadcast(JsonUtils.toJson(Result.set(CodeEnum.SERVER_TO,null,msgList)));
+ return;
+ }
+ // 指令 发送公告
+ if (mtext.substring(0,3).equals("$gg")&&id==1){
+ notice.setTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")));
+ notice.setGg(mtext.substring(3));
+ broadcast(JsonUtils.toJson(Result.set(CodeEnum.NOTICE,null,notice)));
+ return;
+ }
+ }
+
+
+ // 普通消息
+ Message msg = new Message();
+ msg.setId(msgList.size());
+ msg.setSender(username);
+ msg.setTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")));
+ msg.setText(mtext);
+ // 广播消息给所有连接的客户端
+ msgList.add(msg);
+ if (msgList.size()==60)
+ msgList.remove(0);
+ broadcast(JsonUtils.toJson(Result.set(CodeEnum.MESSAGE,session.getId(),msg)));
+ }
+
+
+
+ @Override
+ public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
+ log.info("WebSocket 连接错误:" + session.getId() + ", " + exception.getMessage());
+ }
+
+ @Override
+ public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {
+ log.info("WebSocket 连接已关闭:" + session.getId());
+ // 移除session id与websocket连接的映射关系
+ User user = (User) session.getAttributes().get(session.getId());
+ ONLINE_USERS.remove(user);
+ String sessionId = (String) session.getAttributes().get("sessionId");
+ if (sessionId != null) {
+ SESSIONS.remove(sessionId);
+ session.close();
+ }
+ pushOnlineUser();
+ }
+
+ @Override
+ public boolean supportsPartialMessages() {
+ return false;
+ }
+
+ private void broadcast(String message) throws IOException {
+ Set> entries = SESSIONS.entrySet();
+ for (Map.Entry sessions : entries) {
+ if(sessions.getValue().isOpen()){
+ sessions.getValue().sendMessage(new TextMessage(message));
+ }
+ }
+ }
+
+ // 推送在线列表
+ private void pushOnlineUser() throws Exception{
+
+ broadcast(JsonUtils.toJson(Result.set(CodeEnum.ONLINE_USERS,null,ONLINE_USERS)));
+ }
+ // 推送公告
+ private void pushNotice(WebSocketSession session) throws Exception{
+ session.sendMessage(new TextMessage(JsonUtils.toJson
+ (Result.set(CodeEnum.NOTICE,null,notice))));
+ }
+ private void delSessionById(long id) throws Exception{
+ Set> entries = SESSIONS.entrySet();
+ for (Map.Entry sessions : entries) {
+ User user = (User)sessions.getValue().getAttributes().get(sessions.getValue().getId());
+ if (user.getId()==id){
+ String sessionId = (String) sessions.getValue().getAttributes().get("sessionId");
+ if (sessionId != null) {
+ SESSIONS.remove(sessionId);
+ sessions.getValue().close();
+ }
+ }
+ }
+ }
+
+}
diff --git a/bwie-modules/bwie-es/src/main/java/com/bwie/es/EsApplication.java b/bwie-modules/bwie-es/src/main/java/com/bwie/es/EsApplication.java
new file mode 100644
index 0000000..17f2795
--- /dev/null
+++ b/bwie-modules/bwie-es/src/main/java/com/bwie/es/EsApplication.java
@@ -0,0 +1,18 @@
+package com.bwie.es;
+
+import com.bwie.common.handler.GlobalExceptionHandle;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.Import;
+
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+@EnableFeignClients("com.bwie.**")
+@EnableDiscoveryClient
+public class EsApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(EsApplication.class);
+ }
+}
diff --git a/bwie-modules/bwie-es/src/main/java/com/bwie/es/sync/SyncHouseData.java b/bwie-modules/bwie-es/src/main/java/com/bwie/es/sync/SyncHouseData.java
index 3dc997c..c5550ea 100644
--- a/bwie-modules/bwie-es/src/main/java/com/bwie/es/sync/SyncHouseData.java
+++ b/bwie-modules/bwie-es/src/main/java/com/bwie/es/sync/SyncHouseData.java
@@ -7,6 +7,7 @@ import com.bwie.common.result.Result;
import com.bwie.es.service.EsService;
import com.xxl.job.core.handler.annotation.XxlJob;
+
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Component;
@@ -14,6 +15,7 @@ import java.util.List;
@Component
@Log4j2
+
public class SyncHouseData {
private final RemoteHouseService remoteHouseService;
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 0476da3..92ae02c 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
@@ -1,14 +1,15 @@
package com.bwie.home.controller;
+import com.bwie.common.domain.House;
import com.bwie.common.domain.request.HouseEsRequest;
import com.bwie.common.result.Result;
-import com.bwie.home.job.Reptile;
+import com.bwie.home.service.HomeListService;
import com.bwie.home.service.HouseService;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import java.io.IOException;
import java.util.List;
@RestController
@@ -16,11 +17,11 @@ import java.util.List;
public class HouseController {
private final HouseService houseService;
- private final Reptile reptile;
- public HouseController(HouseService houseService, Reptile reptile) {
+ private final HomeListService homeListService;
+ public HouseController(HouseService houseService, HomeListService homeListService) {
this.houseService = houseService;
- this.reptile = reptile;
+ this.homeListService = homeListService;
}
@GetMapping("/list")
@@ -31,10 +32,8 @@ public class HouseController {
}
- @GetMapping("/addHouse")
- private Result getAddHouse() throws IOException {
- reptile.reptile();
- return Result.success();
+ @PostMapping("/shouall")
+ public Result> shouall(){
+ return homeListService.shouall();
}
-
}
diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/HomeListMapper.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/HomeListMapper.java
new file mode 100644
index 0000000..75b5561
--- /dev/null
+++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/mapper/HomeListMapper.java
@@ -0,0 +1,10 @@
+package com.bwie.home.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.bwie.common.domain.House;
+
+import java.util.List;
+
+public interface HomeListMapper extends BaseMapper {
+ List shouall();
+}
diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/HomeListService.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/HomeListService.java
new file mode 100644
index 0000000..843b05a
--- /dev/null
+++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/HomeListService.java
@@ -0,0 +1,13 @@
+package com.bwie.home.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.bwie.common.domain.House;
+import com.bwie.common.result.Result;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+public interface HomeListService extends IService {
+ public Result> shouall();
+}
diff --git a/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/HomeListServiceImpl.java b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/HomeListServiceImpl.java
new file mode 100644
index 0000000..f2f9eff
--- /dev/null
+++ b/bwie-modules/bwie-home/src/main/java/com/bwie/home/service/impl/HomeListServiceImpl.java
@@ -0,0 +1,30 @@
+package com.bwie.home.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.bwie.common.domain.House;
+import com.bwie.common.result.Result;
+import com.bwie.home.mapper.HomeListMapper;
+import com.bwie.home.service.HomeListService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class HomeListServiceImpl extends ServiceImpl implements HomeListService {
+ private final HomeListMapper listMapper;
+ public HomeListServiceImpl(HomeListMapper listMapper) {
+ this.listMapper = listMapper;
+ }
+ @Override
+ public Result> shouall(){
+ List list = listMapper.shouall();
+ return Result.success(list);
+ }
+
+
+
+
+
+
+
+}
diff --git a/bwie-modules/bwie-home/src/main/resources/mapper/HomeListMapper.xml b/bwie-modules/bwie-home/src/main/resources/mapper/HomeListMapper.xml
new file mode 100644
index 0000000..84628db
--- /dev/null
+++ b/bwie-modules/bwie-home/src/main/resources/mapper/HomeListMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/bwie-modules/pom.xml b/bwie-modules/pom.xml
index 2006bf4..16f91b7 100644
--- a/bwie-modules/pom.xml
+++ b/bwie-modules/pom.xml
@@ -8,18 +8,15 @@
house_project
1.0.0
-
bwie-modules
pom
bwie-system
bwie-group
-
8
8
UTF-8
-