# shareCommunity **Repository Path**: vmvm/share-community ## Basic Information - **Project Name**: shareCommunity - **Description**: 综合事务处理平台开发中 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-05 - **Last Updated**: 2025-12-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CloudAlibaba_concordance使用文档 ​ 本项目使用SpringBoot 2.7.5 ​ 部分配置采用了b站:黑马程序员、三更草堂 ​ 项目启动后接口文档地址:(ip:port/swagger-ui/index.html) ​ 使用方式可参考demo、example、gateway ​ 已配置: - ElasticSearch - Load-balancer - MybatisPlus - Nacos - OpenFeign - Redis - Seata - Sentinel - SpringSecurity+Jwt - Swagger3 - JustAuth(第三方登录) ​ seata-1.4.2、sentinel-1.8.1(持久化)、nacos-2.1.2 ## League_management ​ 父项目,用于管理服务所需要的父依赖,同时执行maven指令 ​ 项目配置主要依赖Nacos,请将other/nacosConfigs目录下的配置文件导入到Nacos ​ sql导入: ```xml org.springframework.boot spring-boot-starter-parent 2.7.5 com.hncj League-management 1.0-SNAPSHOT pom League-core example common demo gateway rabbit-consumer rabbit-publisher com.alibaba.cloud spring-cloud-alibaba-dependencies 2021.0.4.0 pom import org.springframework.boot spring-boot-starter-amqp org.springframework.boot spring-boot-devtools runtime true ``` ## logs ​ 子项目的日志存放目录,便于查看bug调试 ## common ### pom ​ 子项目的通用pom配置,导入各种实用坐标,目前含有: - spring-boot-starter-web 2.7.5(boot官方) - spring-boot-starter-test 2.7.5(boot官方) - spring-boot-starter-log4j 1.3.8.RELEASE(boot官方) - lombok (org.projectlombok) 1.18.24 - fastjson (阿里官方) 1.2.78 - commons-pool2 (阿帕奇官方) 2.11.1 - commons-lang3 (阿帕奇官方) 3.12.0 ### pojo ​ 设置通用实体类,标注公共字段 #### User ```java package com.dftdla.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.Date; /** * 用户表(User)实体类 * * @author 14501 */ @Data @AllArgsConstructor @NoArgsConstructor @TableName("sys_user") public class User implements Serializable { private static final long serialVersionUID = -40356785423868312L; /** * 主键 */ private Long id; /** * 用户名 */ private String userName; /** * 昵称 */ private String nickName; /** * 密码 */ private String password; /** * 账号状态(0正常 1停用) */ private String status; /** * 邮箱 */ private String email; /** * 手机号 */ private String phonenumber; /** * 用户性别(0男,1女,2未知) */ private String sex; /** * 头像 */ private String avatar; /** * 用户类型(0管理员,1普通用户) */ private String userType; /** * 创建人的用户id */ @TableField(fill = FieldFill.INSERT) private Long createBy; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private Date createTime; /** * 更新人 */ @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateBy; /** * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; /** * 删除标志(0代表未删除,1代表已删除) */ private Integer delFlag; } ``` ### result ​ 通用返回值类型 ```java /** * * @author 14501 */ @JsonInclude(JsonInclude.Include.NON_NULL) public class ResponseResult { /** * 状态码 */ private Integer code; /** * 提示信息,如果有错误时,前端可以获取该字段进行提示 */ private String msg; /** * 查询到的结果数据, */ private T data; public ResponseResult(Integer code, String msg) { this.code = code; this.msg = msg; } public ResponseResult(Integer code, T data) { this.code = code; this.data = data; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getData() { return data; } public void setData(T data) { this.data = data; } public ResponseResult(Integer code, String msg, T data) { this.code = code; this.msg = msg; this.data = data; } } ``` ### util ​ 通用工具类 #### JsonConverter ```java /** * JSON转换器 当FastJson报错使用 */ public class JsonConverter { public static T JsonToEvery(T t,Class cl){ return JSON.parseObject(JSON.toJSONString(t), cl); } } ``` #### StatusCode ​ 自定义的响应码 ```java public class StatusCode { /** * 响应成功 */ public static final Integer RESPONSE_SUCCESS= 200; /** * 资源不存在 */ public static final Integer RESPONSE_NOT_FOUND= 404; /** * 未授权 或 未登录 */ public static final Integer RESPONSE_FORBIDDEN= 403; /** * 未知错误 */ public static final Integer RESPONSE_OTHER= 405; } ``` ## demo ​ League-Core使用示例,包括: - Nacos子项目连接 - OpenFeign被调用服务 - MybatisPlus操作MySQL - Seata分布式事务 - SpringSecurity+Jwt认证校验权限 - Redis缓存操作 ## example ​ League-Core使用示例,包括: - Sentinel持久化连接,熔断,限流测试 - OpenFeign服务调用 - MybatisPlus连接MySQL ## gateway ​ 网关服务,可按照需要自行配置,包括: - Sentinel(League-core) - GateWay(cloud官方) 3.1.1 - Load-balancer(League-core) - Nacos(League-core) ​ ​ 建议连接Nacos配置中心,进行配置热更新 ## rabbitmq ​ 建议当做中转站,其余服务调用即可 ## League-core ​ 微服务依赖管理,配置微服务的共享依赖,控制执行maven指令 ​ 微服务包中的yml只做配置示例,无法生效 ​ boot自动加载情况,请查看各包下的resources/META-INF/spring.factories ### ElasticSearch - 在com.dftdlaElastic.config.elasticConfig中配置RestHighLevelClient - 导入此包,使用自动装配即可获取RestHighLevelClient使用 ### Load-balancer ​ 当服务与nacos负载均衡出问题时,导入此包 ### Mybatis-plus ​ 在com.dftdlaMp.config.MybatisPlusConfig处配置MybatisPlus ​ 在com.dftdlaMp.util.MyMetaObjectHandler处配置自定义元数据处理器 ​ 使用方式与平常一致,但配置在此包中配置 ### Nacos ​ 配置了nacos客户端的服务连接,配置连接,不需要配置连接时,在yml中配置一下即可: ```yml spring: cloud: nacos: #2021.0.5版本引入nacos配置文件方式,无需bootstrap包 config: #关闭spring.config.import: nacos: XXXX.yml import-check: enabled: false ``` ​ 使用时导入 ### OpenFeign ​ 在com.dftdlaFeign.config.DefaultFeignConfig处配置OpenFeign ​ 使用方式与平常一样,配置在此包中配置 ### Redis ​ 在com.dftdlaRedis.config配置redisTemplate ​ 在com.dftdlaRedis.cache配置redis的api ​ 导入此包即可直接使用redisCache或redisTemplate(泛型) ### Seata ​ 在导入主目录nacosConfigs的配置文件以及sql的情况下,导入此包即可直接使用 ​ 注意:seata自身目录的配置需如下: ```json registry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa type = "nacos" nacos { application = "seata-tc-server" serverAddr = "127.0.0.1:8848" group = "DEFAULT_GROUP" namespace = "" cluster = "yc" username = "nacos" password = "nacos" } } config { # file、nacos 、apollo、zk、consul、etcd3 type = "nacos" nacos { serverAddr = "127.0.0.1:8848" namespace = "" group = "SEATA_GROUP" username = "nacos" password = "nacos" dataId = "seataServer.properties" } } ``` ​ 使用方式与平常一样 ### Sentinel ​ 导入此包即可使用 ### SpringSecurity+Jwt ​ 包含:SecurityConfig、JwtAuthenticationTokenFilter、UserAuthenticationMapper、LoginUser、自定义异常处理(认证、授权)、JwtUtil、UserDetailsService、JwtKey ​ 详细请见各类中的注释 ​ 使用与平常一样,配置在此包中配置 ### Swagger3 ​ 包含:Swagger3注解依赖,以及Swagger配置类的示例使用 ### JustAuth ​ 包含:Boot整合JustAuth的依赖,以及第三方登录接口的Demo