diff --git a/.idea/misc.xml b/.idea/misc.xml
index de9ec8c..eeeade4 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,6 +8,8 @@
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 94a25f7..35eb1dd 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/bwie-auth/pom.xml b/bwie-auth/pom.xml
index 1aee564..da0bef4 100644
--- a/bwie-auth/pom.xml
+++ b/bwie-auth/pom.xml
@@ -16,6 +16,7 @@
8
UTF-8
+
@@ -27,5 +28,11 @@
org.springframework.boot
spring-boot-starter-web
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
diff --git a/bwie-auth/src/main/java/com/bwie/AuthApp.java b/bwie-auth/src/main/java/com/bwie/AuthApp.java
index 370ee8a..f4d5375 100644
--- a/bwie-auth/src/main/java/com/bwie/AuthApp.java
+++ b/bwie-auth/src/main/java/com/bwie/AuthApp.java
@@ -3,7 +3,9 @@ package com.bwie;
import com.bwie.common.handler.GlobalExceptionHandle;
import com.bwie.common.redis.RedisCache;
+import com.bwie.common.remote.RemoteLoginService;
import com.bwie.common.remote.factory.RemoteHouseFactory;
+import com.bwie.common.remote.factory.RemoteLoginFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@@ -14,7 +16,8 @@ import org.springframework.context.annotation.Import;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@EnableDiscoveryClient
@EnableFeignClients("com.bwie.**")
-@Import({GlobalExceptionHandle.class, RedisCache.class, RemoteHouseFactory.class})
+@Import({GlobalExceptionHandle.class, RedisCache.class,
+ RemoteLoginFactory.class})
public class AuthApp {
public static void main(String[] args) {
diff --git a/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java b/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java
index c34426a..3aa956e 100644
--- a/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java
+++ b/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java
@@ -3,21 +3,23 @@ package com.bwie.auth.controller;
import com.bwie.auth.service.AuthService;
import com.bwie.common.domain.User;
import com.bwie.common.domain.request.LoginRequest;
+import com.bwie.common.domain.request.PhoneLoginRequest;
import com.bwie.common.domain.request.UserReq;
import com.bwie.common.domain.request.UserRequest;
+import com.bwie.common.domain.response.system.UserResponse;
import com.bwie.common.result.Result;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
@RestController
public class AuthController {
- @Autowired
- private AuthService authService;
+
+ private final AuthService authService;
+
+ public AuthController(AuthService authService) {
+ this.authService = authService;
+ }
/**
* 登录
@@ -25,11 +27,12 @@ public class AuthController {
* @return
*/
@PostMapping("/login")
- public Result login(@RequestBody LoginRequest loginRequest){
- return authService.login(loginRequest);
+ public Result login(@RequestBody LoginRequest loginRequest){
+ return Result.success(
+ authService.login(loginRequest)
+ );
}
-
/**
* 注册
* @param userReq
@@ -45,29 +48,46 @@ public class AuthController {
* @param userTel
* @return
*/
- @PostMapping("/sendCode/{userTel}")
- public Result sendCode(@PathVariable("userTel") String userTel){
+ @GetMapping("/sendCode/{userTel}")
+ public Result sencCode(@PathVariable("userTel") String userTel){
return authService.sendCode(userTel);
}
/**
- * 手机号登录
- * @param userRequest
+ * 手机号登录
+ * @param userTel
+ * @return
+ */
+ @PostMapping("/sendCode/{userTel}")
+ public Result sendCode(@PathVariable String userTel){
+
+ Result result = authService.sencCode(userTel);
+
+ return result;
+
+ }
+
+ /**
+ * 获取验证码
+ * @param phoneLoginRequest
* @return
*/
@PostMapping("/phoneLogin")
- public Result phoneLogin(@RequestBody UserRequest userRequest){
- return authService.phoneLogin(userRequest);
+ public Result phoneLogin1(@RequestBody PhoneLoginRequest phoneLoginRequest){
+ Result result = authService.phoneLogin(phoneLoginRequest);
+
+ return Result.success(result);
}
/**
* 获取用户信息
* @return
*/
- @PostMapping("/info")
- public Result info(){
- User user = authService.info();
- return Result.success(user);
+ @GetMapping("/info")
+ public Result getInfo(){
+ return Result.success(
+ authService.getInfo()
+ );
}
}
diff --git a/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java b/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java
index d82d8f6..a23e1aa 100644
--- a/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java
+++ b/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java
@@ -2,20 +2,25 @@ package com.bwie.auth.service;
import com.bwie.common.domain.User;
import com.bwie.common.domain.request.LoginRequest;
+import com.bwie.common.domain.request.PhoneLoginRequest;
import com.bwie.common.domain.request.UserReq;
import com.bwie.common.domain.request.UserRequest;
+import com.bwie.common.domain.response.system.UserResponse;
import com.bwie.common.result.Result;
public interface AuthService {
- Result login(LoginRequest loginRequest);
Result reg(UserReq userReq);
Result sendCode(String userTel);
- Result phoneLogin(UserRequest userRequest);
+ UserResponse login(LoginRequest loginRequest);
- User info();
+ User getInfo();
+
+ Result sencCode(String userTel);
+
+ Result phoneLogin(PhoneLoginRequest phoneLoginRequest);
}
diff --git a/bwie-auth/src/main/java/com/bwie/auth/service/impl/AuthServiceImpl.java b/bwie-auth/src/main/java/com/bwie/auth/service/impl/AuthServiceImpl.java
index 7402eef..1b25a81 100644
--- a/bwie-auth/src/main/java/com/bwie/auth/service/impl/AuthServiceImpl.java
+++ b/bwie-auth/src/main/java/com/bwie/auth/service/impl/AuthServiceImpl.java
@@ -3,6 +3,7 @@ package com.bwie.auth.service.impl;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.crypto.SecureUtil;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.bwie.auth.service.AuthService;
import com.bwie.common.constant.JwtConstants;
@@ -10,11 +11,13 @@ import com.bwie.common.constant.TokenConstants;
import com.bwie.common.domain.User;
import com.bwie.common.domain.request.LoginRequest;
+import com.bwie.common.domain.request.PhoneLoginRequest;
import com.bwie.common.domain.request.UserReq;
import com.bwie.common.domain.request.UserRequest;
import com.bwie.common.domain.response.system.UserResponse;
import com.bwie.common.redis.RedisCache;
import com.bwie.common.remote.RemoteHouseService;
+import com.bwie.common.remote.RemoteLoginService;
import com.bwie.common.result.BizException;
import com.bwie.common.result.Result;
import com.bwie.common.utils.IdUtils;
@@ -22,17 +25,22 @@ import com.bwie.common.utils.JwtUtils;
import com.bwie.common.utils.StringUtils;
import io.jsonwebtoken.Claims;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
+import java.util.UUID;
import java.util.concurrent.TimeUnit;
@Service
public class AuthServiceImpl implements AuthService {
@Autowired
- private RemoteHouseService remoteLoginService;
+ private RemoteLoginService remoteLoginService;
+
+ @Autowired
+ private StringRedisTemplate redisTemplate;
@Autowired
private RedisCache redisCache;
@@ -42,31 +50,41 @@ public class AuthServiceImpl implements AuthService {
@Override
- public Result login(LoginRequest loginRequest) {
+ public UserResponse login(LoginRequest loginRequest) {
- User builder = User.builder()
- .userName(loginRequest.getUserName())
- .userPassword(loginRequest.getUserPwd()).build();
- Result result = remoteLoginService.login(builder);
+ Assert.isTrue(
+ !StringUtils.isAnyBlank(loginRequest.getUserPwd(),
+ loginRequest.getUserName()),"账号或密码不能为空"
+ );
+ Result result = remoteLoginService.login(loginRequest);
User user = result.getData();
- Assert.notNull(
- user, "账号为空"
+ Assert.notNull(user,"该账号不是系统用户");
+
+ HashMap map = new HashMap<>();
+ String userKey = UUID.randomUUID().toString().replaceAll("-", "");
+ map.put(JwtConstants.USER_KEY,userKey);
+ map.put(JwtConstants.DETAILS_USERNAME,user.getUserName());
+ map.put(JwtConstants.DETAILS_USER_ID,user.getUserId());
+ String token = JwtUtils.createToken(map);
+ redisCache.setCacheObject(
+ TokenConstants.LOGIN_TOKEN_KEY+userKey,
+ JSON.toJSONString(user),
+ TokenConstants.EXPIRATION,
+ TimeUnit.SECONDS
);
- SecureUtil.md5(
- user.getUserSalt() + loginRequest.getUserPwd()
- );
- return Result.success("登陆成功");
+ return UserResponse.builder()
+ .token(token)
+ .expired(TokenConstants.EXPIRATION)
+ .build();
}
@Override
public Result reg(UserReq userReq) {
- String salt = RandomUtil.randomString(6);
- String password = SecureUtil.md5(userReq.getUserPassword() + "|" + salt);
+ String password = SecureUtil.md5(userReq.getUserPassword() + "|" +"");
Result result = remoteLoginService.register(
User.builder()
.userName(userReq.getUserName())
.userPassword(password)
- .userSalt(salt)
.userTel(userReq.getUserTel())
.userStatus(userReq.getUserStatus())
.userRole(userReq.getUserRole())
@@ -84,48 +102,59 @@ public class AuthServiceImpl implements AuthService {
if(null == user){
throw new BizException(408,"请先注册手机号");
}
- String code = RandomUtil.randomNumbers(6);
+ String code = RandomUtil.randomNumbers(4);
redisCache.setCacheObject("Send_sms_"+userTel,code);
return Result.success("验证码为:"+code,"发送成功");
}
+
@Override
- public Result phoneLogin(UserRequest userRequest) {
- Result result = remoteLoginService.findByPhone(userRequest.getUserTel());
+ public Result sencCode(String userTel) {
+ Result result = remoteLoginService.phoneLogin(userTel);
+ if(StringUtils.isNull(result.getData())){
+ return Result.error("手机号不存在");
+ }
+ String code = RandomUtil.randomNumbers(4);
+ System.out.println("验证码为:"+code);
+ redisTemplate.opsForValue().set(userTel,code,5,TimeUnit.MINUTES);
+
+ return result;
+ }
+
+ @Override
+ public Result phoneLogin(PhoneLoginRequest phoneLoginRequest) {
+ Result result = remoteLoginService.phoneLogin(phoneLoginRequest.getUserTel());
User user = result.getData();
- if(null != user){
- throw new BizException(408,"请先注册");
+ if(null==user){
+ return Result.error("手机号不存在");
}
- if(StringUtils.isAnyBlank(userRequest.getUserTel(),userRequest.getUserCode())){
- throw new BizException(408,"手机号验证码错误");
+ if(!redisTemplate.hasKey(phoneLoginRequest.getUserTel())){
+ return Result.error("验证码过期");
}
- String code = redisCache.getCacheObject("send_sms_" + userRequest.getUserTel());
- if(StringUtils.isAnyBlank(code)){
- throw new BizException(408,"验证码已过期");
- }
- if(!code.equals(userRequest.getUserCode())){
- throw new BizException(408,"验证码错误");
+ String code = redisTemplate.opsForValue().get(phoneLoginRequest.getUserTel());
+ if(!phoneLoginRequest.getUserCode().equals(code)){
+ return Result.error("验证码错误");
}
HashMap map = new HashMap<>();
- String userKey = IdUtils.genId();
+ String userKey = UUID.randomUUID().toString().replaceAll("-","");
map.put(JwtConstants.USER_KEY,userKey);
String token = JwtUtils.createToken(map);
- redisCache.setCacheObject(TokenConstants.TOKEN+userKey, JSONObject.toJSONString(user),TokenConstants.EXPIRATION, TimeUnit.HOURS);
+ redisCache.setCacheObject(TokenConstants.TOKEN+token, user, TokenConstants.EXPIRATION, TimeUnit.HOURS);
UserResponse userResponse = new UserResponse();
userResponse.setToken(token);
- userResponse.setExpired("15MIN");
-
- return Result.success(userResponse);
+ userResponse.setExpired(TokenConstants.EXPIRATION);
+ return Result.success(userResponse,"登陆成功");
}
@Override
- public User info() {
+ public User getInfo() {
String token = request.getHeader(TokenConstants.TOKEN);
Claims claims = JwtUtils.parseToken(token);
String userKey = JwtUtils.getUserKey(claims);
- String user = redisCache.getCacheObject(TokenConstants.TOKEN + userKey);
- return JSONObject.parseObject(user,User.class);
+ String cacheObject = redisCache.getCacheObject(TokenConstants.LOGIN_TOKEN_KEY + userKey);
+ return JSONObject.parseObject(cacheObject, User.class);
}
+
}
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/User.java b/bwie-common/src/main/java/com/bwie/common/domain/User.java
index 4d0db20..00d53c9 100644
--- a/bwie-common/src/main/java/com/bwie/common/domain/User.java
+++ b/bwie-common/src/main/java/com/bwie/common/domain/User.java
@@ -34,10 +34,6 @@ public class User {
密码
*/
private String userPassword;
- /*
- 盐
- */
- private String userSalt;
/*
手机号
*/
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/request/PhoneLoginRequest.java b/bwie-common/src/main/java/com/bwie/common/domain/request/PhoneLoginRequest.java
new file mode 100644
index 0000000..6178dc0
--- /dev/null
+++ b/bwie-common/src/main/java/com/bwie/common/domain/request/PhoneLoginRequest.java
@@ -0,0 +1,18 @@
+package com.bwie.common.domain.request;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class PhoneLoginRequest {
+
+ private String userTel;
+
+ private String userCode;
+
+}
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/request/UserReq.java b/bwie-common/src/main/java/com/bwie/common/domain/request/UserReq.java
index 564ded4..d773a55 100644
--- a/bwie-common/src/main/java/com/bwie/common/domain/request/UserReq.java
+++ b/bwie-common/src/main/java/com/bwie/common/domain/request/UserReq.java
@@ -14,10 +14,6 @@ public class UserReq {
密码
*/
private String userPassword;
- /*
- 盐
- */
- private String userSalt;
/*
手机号
*/
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/response/system/UserResponse.java b/bwie-common/src/main/java/com/bwie/common/domain/response/system/UserResponse.java
index c12bb52..b6bea36 100644
--- a/bwie-common/src/main/java/com/bwie/common/domain/response/system/UserResponse.java
+++ b/bwie-common/src/main/java/com/bwie/common/domain/response/system/UserResponse.java
@@ -13,6 +13,6 @@ public class UserResponse {
private String token;
- private String expired;
+ private Long expired;
}
diff --git a/bwie-common/src/main/java/com/bwie/common/remote/RemoteHouseService.java b/bwie-common/src/main/java/com/bwie/common/remote/RemoteHouseService.java
index 4ec1d0a..09f1662 100644
--- a/bwie-common/src/main/java/com/bwie/common/remote/RemoteHouseService.java
+++ b/bwie-common/src/main/java/com/bwie/common/remote/RemoteHouseService.java
@@ -23,7 +23,7 @@ public interface RemoteHouseService {
@GetMapping("/list")
public Result> getHouseEsList();
- @PostMapping("/shouall")
+ @GetMapping("/shouall")
public Result> shouall();
@PostMapping("/login")
diff --git a/bwie-common/src/main/java/com/bwie/common/remote/RemoteLoginService.java b/bwie-common/src/main/java/com/bwie/common/remote/RemoteLoginService.java
new file mode 100644
index 0000000..2c9ba98
--- /dev/null
+++ b/bwie-common/src/main/java/com/bwie/common/remote/RemoteLoginService.java
@@ -0,0 +1,33 @@
+package com.bwie.common.remote;
+
+
+import com.bwie.common.constant.ServerNameConstants;
+import com.bwie.common.domain.User;
+import com.bwie.common.domain.request.LoginRequest;
+import com.bwie.common.remote.factory.RemoteLoginFactory;
+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.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(
+ name = ServerNameConstants.SYSTEM_NAME,
+ fallbackFactory = RemoteLoginFactory.class
+)
+public interface RemoteLoginService {
+
+ @PostMapping("/login")
+ Result login(@RequestBody LoginRequest loginRequest);
+
+ @PostMapping("register")
+ Result register(@RequestBody User user);
+
+ @GetMapping("/findByPhone/{userTel}")
+ Result findByPhone(@PathVariable("userTel") String userTel);
+
+ @PostMapping("/phoneLogin/{userTel}")
+ Result phoneLogin(@PathVariable String userTel);
+
+}
diff --git a/bwie-common/src/main/java/com/bwie/common/remote/factory/RemoteLoginFactory.java b/bwie-common/src/main/java/com/bwie/common/remote/factory/RemoteLoginFactory.java
new file mode 100644
index 0000000..c9a4f55
--- /dev/null
+++ b/bwie-common/src/main/java/com/bwie/common/remote/factory/RemoteLoginFactory.java
@@ -0,0 +1,45 @@
+package com.bwie.common.remote.factory;
+
+import com.bwie.common.domain.User;
+import com.bwie.common.domain.request.LoginRequest;
+import com.bwie.common.remote.RemoteLoginService;
+import com.bwie.common.result.Result;
+import lombok.extern.java.Log;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+@Component
+@Log4j2
+public class RemoteLoginFactory implements FallbackFactory {
+
+
+ @Override
+ public RemoteLoginService create(Throwable cause) {
+ return new RemoteLoginService() {
+ @Override
+ public Result login(LoginRequest loginRequest) {
+ log.error("登录失败{}",cause.getMessage(),cause);
+ return Result.error(cause.getMessage());
+ }
+
+ @Override
+ public Result register(User user) {
+ log.error("注册失败{}",cause.getMessage(),cause);
+ return Result.error(cause.getMessage());
+ }
+
+ @Override
+ public Result findByPhone(String userTel) {
+ log.error("查询失败{}",cause.getMessage(),cause);
+ return Result.error(cause.getMessage());
+ }
+
+ @Override
+ public Result phoneLogin(String userTel) {
+ log.error("登录失败{}",cause.getMessage(),cause);
+ return Result.error(cause.getMessage());
+ }
+ };
+ }
+}
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
index 17f2795..2dc7b55 100644
--- 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
@@ -7,10 +7,12 @@ 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;
+import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableFeignClients("com.bwie.**")
@EnableDiscoveryClient
+@EnableScheduling
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/controller/EsController.java b/bwie-modules/bwie-es/src/main/java/com/bwie/es/controller/EsController.java
index 6606c76..4b41b20 100644
--- a/bwie-modules/bwie-es/src/main/java/com/bwie/es/controller/EsController.java
+++ b/bwie-modules/bwie-es/src/main/java/com/bwie/es/controller/EsController.java
@@ -3,6 +3,7 @@ package com.bwie.es.controller;
import com.bwie.common.domain.House;
import com.bwie.common.domain.request.HouseEsRequest;
import com.bwie.common.domain.request.HouseFindRequest;
+import com.bwie.common.domain.request.ManagementRequest;
import com.bwie.common.result.PageResult;
import com.bwie.common.result.Result;
import com.bwie.es.service.EsListService;
@@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.io.IOException;
import java.util.List;
@RestController
@@ -38,6 +40,15 @@ public class EsController {
esListService.managementSync(list);
}
+ @PostMapping("/managementList")
+ public Result managementList(@RequestBody ManagementRequest managementRequest){
+ return esListService.managementList(managementRequest);
+ }
+
+ @PostMapping("/printDocument")
+ public House printDocument(String id) throws IOException {
+ return esListService.printDocument(id);
+ }
}
diff --git a/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/EsListService.java b/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/EsListService.java
index a25058c..4b9873b 100644
--- a/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/EsListService.java
+++ b/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/EsListService.java
@@ -1,10 +1,20 @@
package com.bwie.es.service;
import com.bwie.common.domain.House;
+import com.bwie.common.domain.request.ManagementRequest;
+import com.bwie.common.result.Result;
+import org.elasticsearch.action.get.GetResponse;
+import java.io.IOException;
import java.util.List;
public interface EsListService {
public void managementSync(List list);
+
+ public Result managementList(ManagementRequest managementRequest);
+
+ public House printDocument(String id) throws IOException;
+
+
}
diff --git a/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/impl/EsListServiceImpl.java b/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/impl/EsListServiceImpl.java
index 192ce47..cf4f223 100644
--- a/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/impl/EsListServiceImpl.java
+++ b/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/impl/EsListServiceImpl.java
@@ -1,19 +1,34 @@
package com.bwie.es.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.bwie.common.domain.House;
import com.bwie.common.domain.request.ManagementRequest;
import com.bwie.common.remote.RemoteHouseService;
import com.bwie.common.result.Result;
import com.bwie.es.service.EsListService;
+import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
import org.elasticsearch.action.bulk.BulkRequest;
+import org.elasticsearch.action.bulk.BulkResponse;
+import org.elasticsearch.action.get.GetRequest;
+import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexRequest;
+import org.elasticsearch.action.search.SearchRequest;
+import org.elasticsearch.action.search.SearchResponse;
+import org.elasticsearch.action.support.master.AcknowledgedResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
+import org.elasticsearch.index.query.BoolQueryBuilder;
+import org.elasticsearch.index.query.QueryBuilders;
+import org.elasticsearch.search.SearchHit;
+import org.elasticsearch.search.SearchHits;
+import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.xcontent.XContentType;
import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -31,23 +46,91 @@ public class EsListServiceImpl implements EsListService {
public void managementSync(List list){
try {
BulkRequest bulkRequest = new BulkRequest();
- list.forEach(house -> {
+ list.forEach(houseEsRequest -> {
bulkRequest.add(
- new IndexRequest("")
- .id(JSON.toJSONString(house.getHouseTypeId()))
- .source(JSON.toJSONString(house), XContentType.JSON)
-
+ new IndexRequest("houes")
+ .id(houseEsRequest.getId().toString())
+ .source(JSONObject.toJSONString(houseEsRequest), XContentType.JSON)
);
});
- client.bulk(bulkRequest, RequestOptions.DEFAULT);
- } catch (IOException e) {
+ BulkResponse bulk = client.bulk(bulkRequest, RequestOptions.DEFAULT);
+ Assert.isTrue(!bulk.hasFailures(),"添加失败");
+ } catch (Exception e) {
throw new RuntimeException(e);
}
}
+ @Override
+ public Result managementList(ManagementRequest managementRequest){
-// @Override
-// public Result managementList(ManagementRequest managementRequest){
+
+ ArrayList houses = new ArrayList<>();
+ SearchRequest searchRequest = new SearchRequest("houes");
+ SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
+ BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
+ sourceBuilder.from((managementRequest.getPageNum()-1)*managementRequest.getPageSize());
+ sourceBuilder.size(managementRequest.getPageSize());
+// if(managementRequest.){
//
-// }
+// }
+ sourceBuilder.query(boolQueryBuilder);
+ searchRequest.source(sourceBuilder);
+ try {
+ SearchResponse search = client.search(searchRequest, RequestOptions.DEFAULT);
+ SearchHits hits = search.getHits();
+ for (SearchHit hit : hits.getHits()) {
+ String sourceAsString = hit.getSourceAsString();
+ House house = JSON.parseObject(sourceAsString, House.class);
+ houses.add(house);
+ }
+ }catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return Result.success(houses);
+ }
+
+
+ public GetResponse getDocumentById(String documentId) throws IOException {
+ GetRequest getRequest = new GetRequest("houes", documentId);
+ return client.get(getRequest, RequestOptions.DEFAULT);
+ }
+
+
+ /**
+ * 逻辑删除内容
+ */
+ @Override
+ public House printDocument(String id) throws IOException {
+ House house = new House();
+ GetResponse response = getDocumentById(id);
+ if (response.isExists()) {
+ String sourceAsString = response.getSourceAsString();
+ house = JSON.parseObject(sourceAsString, House.class);
+ System.out.println("这是个啥内容:::::"+response.getSourceAsString()); // 输出JSON格式的完整文档内容
+ DeleteIndexRequest request = new DeleteIndexRequest(id);
+ AcknowledgedResponse delete = client.indices().delete(request, RequestOptions.DEFAULT);
+ } else {
+ System.out.println("Document not found with ID: " + id);
+ }
+ return house;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}
diff --git a/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/impl/EsServiceImpl.java b/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/impl/EsServiceImpl.java
index 66914ad..0367b05 100644
--- a/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/impl/EsServiceImpl.java
+++ b/bwie-modules/bwie-es/src/main/java/com/bwie/es/service/impl/EsServiceImpl.java
@@ -41,7 +41,7 @@ public class EsServiceImpl implements EsService {
@Override
public void syncHouse(List list) {
try {
- BulkRequest bulkRequest = new BulkRequest("house");
+ BulkRequest bulkRequest = new BulkRequest();
list.forEach(houseEsRequest -> {
bulkRequest.add(
new IndexRequest("house")
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 96d637f..b88f227 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
@@ -5,11 +5,13 @@ import com.bwie.common.domain.request.HouseEsRequest;
import com.bwie.common.remote.RemoteHouseService;
import com.bwie.common.result.Result;
+import com.bwie.es.service.EsListService;
import com.bwie.es.service.EsService;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.log4j.Log4j2;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
@@ -22,17 +24,21 @@ public class SyncHouseData {
private final RemoteHouseService remoteHouseService;
private final EsService esService;
- public SyncHouseData(RemoteHouseService remoteHouseService,
- EsService esService) {
+ private final EsListService esListService;
+
+ public SyncHouseData(RemoteHouseService remoteHouseService,EsService esService, EsListService esListService) {
this.remoteHouseService = remoteHouseService;
this.esService = esService;
+ this.esListService = esListService;
}
- @XxlJob("managementList")
+ @Scheduled(cron = "0/30 * * * * *")
public void managementList(){
Result> shouall = remoteHouseService.shouall();
List data = shouall.getData();
-
+ if(data!=null){
+ esListService.managementSync(data);
+ }
log.info("房源管理未卖出同步定时器启动>>>>>>>>>>");
}
diff --git a/bwie-modules/bwie-es/src/main/resources/bootstrap.yml b/bwie-modules/bwie-es/src/main/resources/bootstrap.yml
index 9aa1f7e..072431a 100644
--- a/bwie-modules/bwie-es/src/main/resources/bootstrap.yml
+++ b/bwie-modules/bwie-es/src/main/resources/bootstrap.yml
@@ -34,7 +34,3 @@ spring:
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
-# 将mapper接口所在包的日志级别改成debug,可以在控制台打印es
-logging:
- level:
- org.apache.http: trace
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 92ae02c..7d742ee 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
@@ -32,7 +32,7 @@ public class HouseController {
}
- @PostMapping("/shouall")
+ @GetMapping("/shouall")
public Result> shouall(){
return homeListService.shouall();
}
diff --git a/bwie-modules/bwie-home/src/main/resources/mapper/HomeListMapper.xml b/bwie-modules/bwie-home/src/main/resources/mapper/HomeListMapper.xml
index a2abab6..1850a3c 100644
--- a/bwie-modules/bwie-home/src/main/resources/mapper/HomeListMapper.xml
+++ b/bwie-modules/bwie-home/src/main/resources/mapper/HomeListMapper.xml
@@ -2,6 +2,6 @@
diff --git a/bwie-modules/bwie-system/src/main/java/com/bwie/user/controller/UserController.java b/bwie-modules/bwie-system/src/main/java/com/bwie/user/controller/UserController.java
index 31e8be3..0f8e340 100644
--- a/bwie-modules/bwie-system/src/main/java/com/bwie/user/controller/UserController.java
+++ b/bwie-modules/bwie-system/src/main/java/com/bwie/user/controller/UserController.java
@@ -1,17 +1,23 @@
package com.bwie.user.controller;
+import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A;
import com.bwie.common.domain.User;
+import com.bwie.common.domain.request.LoginRequest;
import com.bwie.common.domain.request.UserRequest;
import com.bwie.common.result.Result;
import com.bwie.user.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.validation.constraints.Past;
+
@RestController
public class UserController {
- private final UserService userService;
+ @Autowired
+ private UserService userService;
public UserController(UserService userService) {
this.userService = userService;
@@ -19,10 +25,10 @@ public class UserController {
@PostMapping("/login")
- public Result login(@RequestBody UserRequest userRequest){
+ public Result login(@RequestBody LoginRequest loginRequest){
return Result.success(
- userService.login(userRequest)
+ userService.login(loginRequest)
);
}
@@ -37,6 +43,13 @@ public class UserController {
return userService.findByPhone(userTel);
}
+ @PostMapping("/phoneLogin/{userTel}")
+ public Result phoneLogin(@PathVariable String userTel){
+ User user = userService.phoneLogin(userTel);
+
+ return Result.success(user);
+ }
+
}
diff --git a/bwie-modules/bwie-system/src/main/java/com/bwie/user/mapper/UserMapper.java b/bwie-modules/bwie-system/src/main/java/com/bwie/user/mapper/UserMapper.java
index ea5e1e5..a39fc3e 100644
--- a/bwie-modules/bwie-system/src/main/java/com/bwie/user/mapper/UserMapper.java
+++ b/bwie-modules/bwie-system/src/main/java/com/bwie/user/mapper/UserMapper.java
@@ -3,10 +3,11 @@ package com.bwie.user.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bwie.common.domain.User;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
@Mapper
public interface UserMapper extends BaseMapper {
-
+ User phoneLogin(@Param("userTel") String userTel);
}
diff --git a/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/UserService.java b/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/UserService.java
index eb63ee9..c013deb 100644
--- a/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/UserService.java
+++ b/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/UserService.java
@@ -3,15 +3,18 @@ package com.bwie.user.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bwie.common.domain.User;
+import com.bwie.common.domain.request.LoginRequest;
import com.bwie.common.domain.request.UserRequest;
import com.bwie.common.result.Result;
public interface UserService extends IService {
- User login(UserRequest userRequest);
+ User login(LoginRequest loginRequest);
void register(User user);
Result findByPhone(String userTel);
+
+ User phoneLogin(String userTel);
}
diff --git a/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java b/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java
index 0448c91..459cb03 100644
--- a/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java
+++ b/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java
@@ -3,21 +3,25 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bwie.common.domain.User;
+import com.bwie.common.domain.request.LoginRequest;
import com.bwie.common.domain.request.UserRequest;
import com.bwie.common.result.Result;
import com.bwie.user.mapper.UserMapper;
import com.bwie.user.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl extends ServiceImpl implements UserService {
+ @Autowired
+ private UserMapper userMapper;
@Override
- public User login(UserRequest userRequest) {
+ public User login(LoginRequest loginRequest) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(User::getUserName,userRequest.getUserName())
- .eq(User::getUserPassword,userRequest.getUserPassword());
+ queryWrapper.eq(User::getUserName,loginRequest.getUserName())
+ .eq(User::getUserPassword,loginRequest.getUserPwd());
return this.getOne(queryWrapper);
}
@@ -32,4 +36,10 @@ public class UserServiceImpl extends ServiceImpl implements Use
.eq(User::getUserTel, userTel));
return Result.success(user);
}
+
+ @Override
+ public User phoneLogin(String userTel) {
+
+ return userMapper.phoneLogin(userTel);
+ }
}
diff --git a/bwie-modules/bwie-system/src/main/resources/mapper/UserMapper.xml b/bwie-modules/bwie-system/src/main/resources/mapper/UserMapper.xml
new file mode 100644
index 0000000..b8065b2
--- /dev/null
+++ b/bwie-modules/bwie-system/src/main/resources/mapper/UserMapper.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+