Browse Source

集成分布式事务seata

dev
管理员 6 years ago
parent
commit
39d73e02cc
  1. 2
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application-dev.yml
  2. 6
      esua-epdc/epdc-commons/epdc-commons-dynamic-datasource/pom.xml
  3. 9
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java
  4. 21
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/security/config/WebMvcConfig.java
  5. 37
      esua-epdc/epdc-gateway/pom.xml
  6. 23
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  7. 22
      esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml
  8. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiRegisterController.java
  9. 30
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/DemoFeignClient.java
  10. 28
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/DemoFeignClientFallback.java
  11. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  12. 96
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  13. 50
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml
  14. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/logback-spring.xml
  15. 21
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/registry.conf
  16. 0
      esua-epdc/epdc-module/epdc-demo/db/mysql.sql
  17. 0
      esua-epdc/epdc-module/epdc-demo/db/oracle.sql
  18. 0
      esua-epdc/epdc-module/epdc-demo/db/postgresql.sql
  19. 0
      esua-epdc/epdc-module/epdc-demo/db/sqlserver.sql
  20. 27
      esua-epdc/epdc-module/epdc-demo/epdc-demo-client/pom.xml
  21. 85
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/pom.xml
  22. 31
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/ModuleApplication.java
  23. 26
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/config/ModuleConfigImpl.java
  24. 40
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/controller/DemoController.java
  25. 22
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/dao/DemoDao.java
  26. 40
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/entity/DemoEntity.java
  27. 24
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/exception/ModuleErrorCode.java
  28. 23
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/service/DemoService.java
  29. 29
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/service/impl/DemoServiceImpl.java
  30. 21
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/utils/ModuleConstant.java
  31. 67
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/application.yml
  32. 1
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/messages.properties
  33. 1
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/messages_en_US.properties
  34. 1
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/messages_zh_CN.properties
  35. 1
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/messages_zh_TW.properties
  36. 1
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/validation.properties
  37. 1
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/validation_en_US.properties
  38. 1
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/validation_zh_CN.properties
  39. 1
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/validation_zh_TW.properties
  40. 21
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/logback-spring.xml
  41. 21
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/registry.conf
  42. 21
      esua-epdc/epdc-module/epdc-demo/pom.xml
  43. 1
      esua-epdc/epdc-module/pom.xml
  44. 7
      esua-epdc/pom.xml

2
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application-dev.yml

@ -7,7 +7,7 @@ spring:
password: elink@888
datasource:
druid:
driver-class-name: com.mysql.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://47.104.224.45:3308/esua_epdc_admin?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
username: epdc
password: elink888

6
esua-epdc/epdc-commons/epdc-commons-dynamic-datasource/pom.xml

@ -19,6 +19,12 @@
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>

9
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java

@ -1,8 +1,8 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* <p>
* https://www.renren.io
*
* <p>
* 版权所有侵权必究
*/
@ -23,4 +23,9 @@ public interface ServiceConstant {
* 授权服务
*/
String EPDC_AUTH_SERVER = "epdc-auth-server";
/**
* DEMO服务
*/
String EPDC_DEMO_SERVER = "epdc-demo-server";
}

21
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/security/config/WebMvcConfig.java

@ -51,30 +51,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
converters.add(new ResourceHttpMessageConverter());
converters.add(new AllEncompassingFormHttpMessageConverter());
converters.add(new StringHttpMessageConverter());
// converters.add(jackson2HttpMessageConverter());
converters.add(fastJsonHttpMessageConverters());
}
// @Bean
// public MappingJackson2HttpMessageConverter jackson2HttpMessageConverter() {
// MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
// ObjectMapper mapper = new ObjectMapper();
//
// //日期格式转换
// mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// mapper.setDateFormat(new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN));
// mapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
//
// //Long类型转String类型
// SimpleModule simpleModule = new SimpleModule();
// simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
// simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
// mapper.registerModule(simpleModule);
//
// converter.setObjectMapper(mapper);
// return converter;
// }
@Bean
public FastJsonHttpMessageConverter fastJsonHttpMessageConverters() {
//创建fastJson消息转换器

37
esua-epdc/epdc-gateway/pom.xml

@ -75,8 +75,6 @@
<!-- gateway routes -->
<gateway.routes.epdc-auth-server.uri>lb://epdc-auth-server</gateway.routes.epdc-auth-server.uri>
<gateway.routes.epdc-admin-server.uri>lb://epdc-admin-server</gateway.routes.epdc-admin-server.uri>
<gateway.routes.epdc-monitor-server.uri>lb://epdc-monitor-server
</gateway.routes.epdc-monitor-server.uri>
<gateway.routes.epdc-oss-server.uri>lb://epdc-oss-server</gateway.routes.epdc-oss-server.uri>
<gateway.routes.epdc-message-server.uri>lb://epdc-message-server
</gateway.routes.epdc-message-server.uri>
@ -84,14 +82,7 @@
</gateway.routes.epdc-activiti-server.uri>
<gateway.routes.epdc-job-server.uri>lb://epdc-job-server</gateway.routes.epdc-job-server.uri>
<gateway.routes.epdc-api-server.uri>lb://epdc-api-server</gateway.routes.epdc-api-server.uri>
<gateway.routes.epdc-map-server.uri>http://127.0.0.1:8019</gateway.routes.epdc-map-server.uri>
<gateway.routes.epdc-building-server.uri>http://127.0.0.1:8090</gateway.routes.epdc-building-server.uri>
<gateway.routes.epdc-notice-server.uri>lb://epdc-notice-server</gateway.routes.epdc-notice-server.uri>
<gateway.routes.epdc-property-server.uri>http://127.0.0.1:9001</gateway.routes.epdc-property-server.uri>
<gateway.routes.epdc-safety-server.uri>lb://epdc-safety-server</gateway.routes.epdc-safety-server.uri>
<gateway.routes.epdc-config-server.uri>lb://epdc-config-server</gateway.routes.epdc-config-server.uri>
<gateway.routes.epdc-app-user-server.uri>http://127.0.0.1:8088</gateway.routes.epdc-app-user-server.uri>
<gateway.routes.epdc-iot-server.uri>http://127.0.0.1:8069</gateway.routes.epdc-iot-server.uri>
<gateway.routes.epdc-demo-server.uri>lb://epdc-demo-server</gateway.routes.epdc-demo-server.uri>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
@ -111,8 +102,6 @@
<!-- gateway routes -->
<gateway.routes.epdc-auth-server.uri>lb://epdc-auth-server</gateway.routes.epdc-auth-server.uri>
<gateway.routes.epdc-admin-server.uri>lb://epdc-admin-server</gateway.routes.epdc-admin-server.uri>
<gateway.routes.epdc-monitor-server.uri>lb://epdc-monitor-server
</gateway.routes.epdc-monitor-server.uri>
<gateway.routes.epdc-oss-server.uri>lb://epdc-oss-server</gateway.routes.epdc-oss-server.uri>
<gateway.routes.epdc-message-server.uri>lb://epdc-message-server
</gateway.routes.epdc-message-server.uri>
@ -120,16 +109,7 @@
</gateway.routes.epdc-activiti-server.uri>
<gateway.routes.epdc-job-server.uri>lb://epdc-job-server</gateway.routes.epdc-job-server.uri>
<gateway.routes.epdc-api-server.uri>lb://epdc-api-server</gateway.routes.epdc-api-server.uri>
<gateway.routes.epdc-building-server.uri>lb://epdc-building-server
</gateway.routes.epdc-building-server.uri>
<gateway.routes.epdc-notice-server.uri>lb://epdc-notice-server</gateway.routes.epdc-notice-server.uri>
<gateway.routes.epdc-property-server.uri>lb://epdc-property-server
</gateway.routes.epdc-property-server.uri>
<gateway.routes.epdc-safety-server.uri>lb://epdc-safety-server</gateway.routes.epdc-safety-server.uri>
<gateway.routes.epdc-config-server.uri>lb://epdc-config-server</gateway.routes.epdc-config-server.uri>
<gateway.routes.epdc-app-user-server.uri>lb://epdc-app-user-server
</gateway.routes.epdc-app-user-server.uri>
<gateway.routes.epdc-iot-server.uri>lb://epdc-iot-server</gateway.routes.epdc-iot-server.uri>
<gateway.routes.epdc-demo-server.uri>lb://epdc-demo-server</gateway.routes.epdc-demo-server.uri>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
@ -149,8 +129,6 @@
<!-- gateway routes -->
<gateway.routes.epdc-auth-server.uri>lb://epdc-auth-server</gateway.routes.epdc-auth-server.uri>
<gateway.routes.epdc-admin-server.uri>lb://epdc-admin-server</gateway.routes.epdc-admin-server.uri>
<gateway.routes.epdc-monitor-server.uri>lb://epdc-monitor-server
</gateway.routes.epdc-monitor-server.uri>
<gateway.routes.epdc-oss-server.uri>lb://epdc-oss-server</gateway.routes.epdc-oss-server.uri>
<gateway.routes.epdc-message-server.uri>lb://epdc-message-server
</gateway.routes.epdc-message-server.uri>
@ -158,16 +136,7 @@
</gateway.routes.epdc-activiti-server.uri>
<gateway.routes.epdc-job-server.uri>lb://epdc-job-server</gateway.routes.epdc-job-server.uri>
<gateway.routes.epdc-api-server.uri>lb://epdc-api-server</gateway.routes.epdc-api-server.uri>
<gateway.routes.epdc-building-server.uri>lb://epdc-building-server
</gateway.routes.epdc-building-server.uri>
<gateway.routes.epdc-notice-server.uri>lb://epdc-notice-server</gateway.routes.epdc-notice-server.uri>
<gateway.routes.epdc-property-server.uri>lb://epdc-property-server
</gateway.routes.epdc-property-server.uri>
<gateway.routes.epdc-safety-server.uri>lb://epdc-safety-server</gateway.routes.epdc-safety-server.uri>
<gateway.routes.epdc-config-server.uri>lb://epdc-config-server</gateway.routes.epdc-config-server.uri>
<gateway.routes.epdc-app-user-server.uri>lb://epdc-app-user-server
</gateway.routes.epdc-app-user-server.uri>
<gateway.routes.epdc-iot-server.uri>lb://epdc-iot-server</gateway.routes.epdc-iot-server.uri>
<gateway.routes.epdc-demo-server.uri>lb://epdc-demo-server</gateway.routes.epdc-demo-server.uri>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>

23
esua-epdc/epdc-gateway/src/main/resources/application.yml

@ -71,6 +71,14 @@ spring:
- Path=/api/**
filters:
- StripPrefix=0
#DEMO服务
- id: epdc-demo-server
uri: @gateway.routes.epdc-demo-server.uri@
order: 7
predicates:
- Path=/demo/**
filters:
- StripPrefix=0
nacos:
discovery:
server-addr: @nacos.server-addr@
@ -84,21 +92,6 @@ management:
health:
show-details: ALWAYS
#eureka:
# instance:
# prefer-ip-address: true
# instance-id: ${spring.cloud.client.ip-address}:${server.port}
# metadata-map:
# management:
# context-path: /actuator
# health-check-url-path: /actuator/health
# status-page-url-path: /actuator/info
# client:
# service-url:
# defaultZone: http://eureka:8761/eureka/
feign:
hystrix:
enabled: true

22
esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml

@ -36,15 +36,29 @@
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring.boot.admin.version}</version>
</dependency>
<!-- seata 数据库分布式事务 start -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-seata</artifactId>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
</dependency>
<!-- seata 数据库分布式事务 end -->
<!-- nacos start -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- nacos end -->
</dependencies>
<build>

11
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiRegisterController.java

@ -53,4 +53,15 @@ public class ApiRegisterController {
return new Result();
}
/**
* 注册
*
* @param dto
* @return
*/
@PostMapping("register2")
public Result register2(@RequestBody RegisterDTO dto) {
return userService.register2(dto);
}
}

30
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/DemoFeignClient.java

@ -0,0 +1,30 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.fallback.DemoFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 用户接口
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@FeignClient(name = ServiceConstant.EPDC_DEMO_SERVER, fallback = DemoFeignClientFallback.class, contextId = "DemoFeignClient")
public interface DemoFeignClient {
@GetMapping("demo/demo/seata")
Result<String> seata(@RequestParam("name") String username, @RequestParam("age") int age);
}

28
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/DemoFeignClientFallback.java

@ -0,0 +1,28 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.DemoFeignClient;
import org.springframework.stereotype.Component;
/**
* 用户接口 Fallback
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Component
public class DemoFeignClientFallback implements DemoFeignClient {
@Override
public Result<String> seata(String username, int age) {
return new Result<String>().error("调用失败");
}
}

4
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -9,6 +9,8 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.RegisterDTO;
import com.elink.esua.epdc.entity.UserEntity;
import com.elink.esua.epdc.dto.LoginDTO;
@ -31,4 +33,6 @@ public interface UserService extends BaseService<UserEntity> {
* @return 返回登录信息
*/
Map<String, Object> login(LoginDTO dto);
Result register2(RegisterDTO dto);
}

96
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -1,8 +1,8 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* <p>
* https://www.renren.io
*
* <p>
* 版权所有侵权必究
*/
@ -11,53 +11,81 @@ package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.dao.UserDao;
import com.elink.esua.epdc.dto.RegisterDTO;
import com.elink.esua.epdc.entity.TokenEntity;
import com.elink.esua.epdc.entity.UserEntity;
import com.elink.esua.epdc.dto.LoginDTO;
import com.elink.esua.epdc.feign.DemoFeignClient;
import com.elink.esua.epdc.service.TokenService;
import com.elink.esua.epdc.service.UserService;
import io.seata.spring.annotation.GlobalTransactional;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Service
public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implements UserService {
@Autowired
private TokenService tokenService;
@Override
public UserEntity getByMobile(String mobile) {
return baseDao.getUserByMobile(mobile);
}
@Override
public UserEntity getUserByUserId(Long userId) {
return baseDao.getUserByUserId(userId);
}
@Override
public Map<String, Object> login(LoginDTO dto) {
UserEntity user = getByMobile(dto.getMobile());
AssertUtils.isNull(user, ErrorCode.ACCOUNT_PASSWORD_ERROR);
//密码错误
if(!user.getPassword().equals(DigestUtils.sha256Hex(dto.getPassword()))){
throw new RenException(ErrorCode.ACCOUNT_PASSWORD_ERROR);
}
//获取登录token
TokenEntity tokenEntity = tokenService.createToken(user.getId());
Map<String, Object> map = new HashMap<>(2);
map.put("token", tokenEntity.getToken());
map.put("expire", tokenEntity.getExpireDate().getTime() - System.currentTimeMillis());
return map;
}
@Autowired
private DemoFeignClient demoFeignClient;
@Autowired
private TokenService tokenService;
@Override
public UserEntity getByMobile(String mobile) {
return baseDao.getUserByMobile(mobile);
}
@Override
public UserEntity getUserByUserId(Long userId) {
return baseDao.getUserByUserId(userId);
}
@Override
public Map<String, Object> login(LoginDTO dto) {
UserEntity user = getByMobile(dto.getMobile());
AssertUtils.isNull(user, ErrorCode.ACCOUNT_PASSWORD_ERROR);
//密码错误
if (!user.getPassword().equals(DigestUtils.sha256Hex(dto.getPassword()))) {
throw new RenException(ErrorCode.ACCOUNT_PASSWORD_ERROR);
}
//获取登录token
TokenEntity tokenEntity = tokenService.createToken(user.getId());
Map<String, Object> map = new HashMap<>(2);
map.put("token", tokenEntity.getToken());
map.put("expire", tokenEntity.getExpireDate().getTime() - System.currentTimeMillis());
return map;
}
@Override
@GlobalTransactional
public Result register2(RegisterDTO dto) {
UserEntity user = new UserEntity();
user.setMobile(dto.getMobile());
user.setUsername(dto.getMobile());
user.setPassword(DigestUtils.sha256Hex(dto.getPassword()));
user.setCreateDate(new Date());
boolean success = this.insert(user);
if (success) {
Result<String> result = demoFeignClient.seata(dto.getMobile(), 1405);
if (!result.success()) {
throw new RuntimeException("失败lelelelellele");
}
return new Result();
}
return new Result().error();
}
}

50
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/application.yml

@ -17,31 +17,24 @@ spring:
date-format: yyyy-MM-dd HH:mm:ss
redis:
database: 0
host: redis
host: 47.104.224.45
timeout: 30s
port: 6379
password: 123456
password: elink@888
datasource:
druid:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/renren_cloud?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: renren
password: 123456
#Oracle
# driver-class-name: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@localhost:1521:xe
# username: renren_cloud
# password: 123456
#SQLServer
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://localhost:1433;DatabaseName=renren_cloud
# username: sa
# password: 123456
#postgresql
# driver-class-name: org.postgresql.Driver
# url: jdbc:postgresql://localhost:5432/renren_cloud
# username: postgres
# password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://47.104.224.45:3308/epdc_api?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
username: root
password: shibei@888
cloud:
nacos:
discovery:
server-addr: 47.104.224.45:8848
register-enabled: true
alibaba:
seata:
tx-service-group: epdc-api-server-fescar-service-group
management:
endpoints:
@ -52,23 +45,10 @@ management:
health:
show-details: ALWAYS
eureka:
instance:
prefer-ip-address: true
instance-id: ${spring.cloud.client.ip-address}:${server.port}
metadata-map:
management:
context-path: ${server.servlet.context-path}/actuator
health-check-url-path: ${server.servlet.context-path}/actuator/health
status-page-url-path: ${server.servlet.context-path}/actuator/info
client:
service-url:
defaultZone: http://eureka:8761/eureka/
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: io.renren.entity
typeAliasesPackage: com.elink.esua.epdc.entity
global-config:
#数据库相关配置
db-config:

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/logback-spring.xml

@ -8,14 +8,14 @@
<springProfile name="dev,test">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO" />
<logger name="io.renren" level="DEBUG" />
<logger name="com.elink.esua.epdc" level="DEBUG" />
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<logger name="org.springframework.web" level="ERROR"/>
<logger name="org.springboot.sample" level="ERROR" />
<logger name="io.renren" level="ERROR" />
<logger name="com.elink.esua.epdc" level="ERROR" />
</springProfile>
</configuration>
</configuration>

21
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/registry.conf

@ -0,0 +1,21 @@
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "nacos"
nacos {
serverAddr = "47.104.224.45"
namespace = "public"
cluster = "default"
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "nacos"
nacos {
serverAddr = "47.104.224.45"
namespace = "public"
cluster = "default"
}
}

0
esua-epdc/epdc-module/epdc-demo/db/mysql.sql

0
esua-epdc/epdc-module/epdc-demo/db/oracle.sql

0
esua-epdc/epdc-module/epdc-demo/db/postgresql.sql

0
esua-epdc/epdc-module/epdc-demo/db/sqlserver.sql

27
esua-epdc/epdc-module/epdc-demo/epdc-demo-client/pom.xml

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-demo</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>epdc-demo-client</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-tools</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

85
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/pom.xml

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-demo</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>epdc-demo-server</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-demo-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-tools</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-mybatis</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring.boot.admin.version}</version>
</dependency>
<!-- nacos start -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- nacos end -->
<!-- seata 数据库分布式事务 start -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-seata</artifactId>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
</dependency>
<!-- seata 数据库分布式事务 end -->
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

31
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/ModuleApplication.java

@ -0,0 +1,31 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* 模块
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ModuleApplication {
public static void main(String[] args) {
SpringApplication.run(ModuleApplication.class, args);
}
}

26
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/config/ModuleConfigImpl.java

@ -0,0 +1,26 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.config;
import com.elink.esua.epdc.commons.tools.config.ModuleConfig;
import org.springframework.stereotype.Service;
/**
* 模块配置信息
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Service
public class ModuleConfigImpl implements ModuleConfig {
@Override
public String getName() {
return "module";
}
}

40
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/controller/DemoController.java

@ -0,0 +1,40 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.service.DemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 测试接口
*
* @author Mark sunlightcs@gmail.com
*/
@RestController
@RequestMapping("demo")
public class DemoController {
@Autowired
private DemoService demoService;
/**
* 忽略Token验证测试
*
* @return
*/
@GetMapping("seata")
public Result<String> seata(String name, int age) {
return demoService.createDemo(name, age);
}
}

22
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/dao/DemoDao.java

@ -0,0 +1,22 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.DemoEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 用户
*
* @author Mark sunlightcs@gmail.com
*/
@Mapper
public interface DemoDao extends BaseDao<DemoEntity> {
}

40
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/entity/DemoEntity.java

@ -0,0 +1,40 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* 用户
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@TableName("demo")
public class DemoEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户ID
*/
@TableId
private Long id;
/**
* 用户名
*/
private String name;
/**
* 手机号
*/
private int age;
}

24
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/exception/ModuleErrorCode.java

@ -0,0 +1,24 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.exception;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
/**
* 模块错误编码由9位数字组成前6位为模块编码后3位为业务编码
* <p>
* 100001001100001代表模块001代表业务代码
* </p>
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public interface ModuleErrorCode extends ErrorCode {
}

23
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/service/DemoService.java

@ -0,0 +1,23 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.entity.DemoEntity;
/**
* 用户
*
* @author Mark sunlightcs@gmail.com
*/
public interface DemoService extends BaseService<DemoEntity> {
Result<String> createDemo(String name, int age);
}

29
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/service/impl/DemoServiceImpl.java

@ -0,0 +1,29 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.DemoDao;
import com.elink.esua.epdc.entity.DemoEntity;
import com.elink.esua.epdc.service.DemoService;
import org.springframework.stereotype.Service;
@Service
public class DemoServiceImpl extends BaseServiceImpl<DemoDao, DemoEntity> implements DemoService {
@Override
public Result<String> createDemo(String name, int age) {
DemoEntity entity = new DemoEntity();
entity.setName(name);
entity.setAge(age);
baseDao.insert(entity);
return new Result<String>().ok("demo执行完毕");
}
}

21
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/utils/ModuleConstant.java

@ -0,0 +1,21 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.utils;
import com.elink.esua.epdc.commons.tools.constant.Constant;
/**
* 模块常量
*
* @author Mark sunlightcs@gmail.com
* @since 1.1.0
*/
public interface ModuleConstant extends Constant {
}

67
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/application.yml

@ -0,0 +1,67 @@
server:
port: 9654
servlet:
context-path: /demo
spring:
application:
name: epdc-demo-server
# 环境 dev|test|prod
profiles:
active: dev
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
redis:
database: 0
host: 47.104.224.45
timeout: 30s
port: 6379
password: elink@888
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://47.104.224.45:3308/epdc_demo?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
username: root
password: shibei@888
cloud:
nacos:
discovery:
server-addr: 47.104.224.45:8848
register-enabled: true
alibaba:
seata:
tx-service-group: epdc-demo-server-fescar-service-group
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: ALWAYS
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.elink.esua.epdc.entity
global-config:
#数据库相关配置
db-config:
#主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
id-type: UUID
#字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
field-strategy: NOT_NULL
#驼峰下划线转换
column-underline: true
banner: false
#原生配置
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true

1
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/messages.properties

@ -0,0 +1 @@
#Default

1
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/messages_en_US.properties

@ -0,0 +1 @@
#English

1
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/messages_zh_CN.properties

@ -0,0 +1 @@
#\u7B80\u4F53\u4E2D\u6587

1
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/messages_zh_TW.properties

@ -0,0 +1 @@
#\u7E41\u4F53\u4E2D\u6587

1
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/validation.properties

@ -0,0 +1 @@
#Default

1
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/validation_en_US.properties

@ -0,0 +1 @@
#English

1
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/validation_zh_CN.properties

@ -0,0 +1 @@
#\u7B80\u4F53\u4E2D\u6587

1
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/i18n/validation_zh_TW.properties

@ -0,0 +1 @@
#\u7E41\u4F53\u4E2D\u6587

21
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/logback-spring.xml

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="TRACE" />
<!-- 开发、测试环境 -->
<springProfile name="dev,test">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO" />
<logger name="io.renren" level="DEBUG" />
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<logger name="org.springframework.web" level="ERROR"/>
<logger name="org.springboot.sample" level="ERROR" />
<logger name="io.renren" level="ERROR" />
</springProfile>
</configuration>

21
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/resources/registry.conf

@ -0,0 +1,21 @@
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "nacos"
nacos {
serverAddr = "47.104.224.45"
namespace = "public"
cluster = "default"
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "nacos"
nacos {
serverAddr = "47.104.224.45"
namespace = "public"
cluster = "default"
}
}

21
esua-epdc/epdc-module/epdc-demo/pom.xml

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-module</artifactId>
<version>1.0.0</version>
</parent>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-demo</artifactId>
<packaging>pom</packaging>
<modules>
<module>epdc-demo-client</module>
<module>epdc-demo-server</module>
</modules>
</project>

1
esua-epdc/epdc-module/pom.xml

@ -19,6 +19,7 @@
<module>epdc-message</module>
<module>epdc-activiti</module>
<module>epdc-api</module>
<module>epdc-demo</module>
</modules>
</project>

7
esua-epdc/pom.xml

@ -32,6 +32,7 @@
<swagger.version>2.7.0</swagger.version>
<docker.plugin.version>1.1.1</docker.plugin.version>
<spring.boot.admin.version>2.0.3</spring.boot.admin.version>
<seata.version>0.8.0</seata.version>
</properties>
<dependencies>
@ -59,6 +60,12 @@
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
<version>${seata.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

Loading…
Cancel
Save