From 09a5674672d2944bd55185c584aac5d6e40cb3e8 Mon Sep 17 00:00:00 2001 From: meowrain Date: Mon, 17 Nov 2025 23:44:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20User-Service=20=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../userservice/UserServiceApplication.java | 13 +++ .../constants/UserServiceChainConstants.java | 5 ++ .../common/enums/ChianMarkEnums.java | 20 +++++ .../config/FrameworkConfiguration.java | 12 +++ .../config/SwaggerConfiguration.java | 38 +++++++++ .../controller/UserController.java | 7 ++ .../backend/userservice/dao/entity/User.java | 80 +++++++++++++++++++ .../userservice/dao/mapper/UserMapper.java | 7 ++ .../UserRegisterRequestParamVerifyChain.java | 43 ++++++++++ ...UserRegisterRequestParamVerifyContext.java | 9 +++ .../userservice/dto/req/UserLoginRequest.java | 13 +++ .../dto/req/UserRegisterRequest.java | 12 +++ .../dto/resp/UserLoginResponse.java | 47 +++++++++++ .../dto/resp/UserRegisterResponse.java | 13 +++ .../userservice/service/UserService.java | 16 ++++ .../service/impl/UserServiceImpl.java | 39 +++++++++ .../src/main/resources/application-dev.yml | 16 ++++ .../src/main/resources/application-prod.yml | 11 +++ .../src/main/resources/application-test.yml | 11 +++ .../src/main/resources/application.yml | 29 +++++++ 20 files changed, 441 insertions(+) create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/UserServiceApplication.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/common/constants/UserServiceChainConstants.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/common/enums/ChianMarkEnums.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/config/FrameworkConfiguration.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/config/SwaggerConfiguration.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/controller/UserController.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dao/entity/User.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dao/mapper/UserMapper.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/chains/UserRegisterRequestParamVerifyChain.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/chains/context/UserRegisterRequestParamVerifyContext.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/req/UserLoginRequest.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/req/UserRegisterRequest.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/resp/UserLoginResponse.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/resp/UserRegisterResponse.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/service/UserService.java create mode 100644 aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/service/impl/UserServiceImpl.java create mode 100644 aioj-backend-user-service/src/main/resources/application-dev.yml create mode 100644 aioj-backend-user-service/src/main/resources/application-prod.yml create mode 100644 aioj-backend-user-service/src/main/resources/application-test.yml create mode 100644 aioj-backend-user-service/src/main/resources/application.yml diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/UserServiceApplication.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/UserServiceApplication.java new file mode 100644 index 0000000..c86fb27 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/UserServiceApplication.java @@ -0,0 +1,13 @@ +package cn.meowrain.aioj.backend.userservice; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +@MapperScan("cn.meowrain.aioj.backend.userservice.dao.mapper") +public class UserServiceApplication { + public static void main(String[] args) { + SpringApplication.run(UserServiceApplication.class, args); + } +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/common/constants/UserServiceChainConstants.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/common/constants/UserServiceChainConstants.java new file mode 100644 index 0000000..12ac2c9 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/common/constants/UserServiceChainConstants.java @@ -0,0 +1,5 @@ +package cn.meowrain.aioj.backend.userservice.common.constants; + +public class UserServiceChainConstants { + protected static final String register_req_verify = "register_req_verify"; +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/common/enums/ChianMarkEnums.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/common/enums/ChianMarkEnums.java new file mode 100644 index 0000000..de3f64c --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/common/enums/ChianMarkEnums.java @@ -0,0 +1,20 @@ +package cn.meowrain.aioj.backend.userservice.common.enums; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +public enum ChianMarkEnums { + /** + * 用户注册请求验证 + */ + USER_REGISTER_REQ_PARAM_VERIFY("USER_REGISTER_REQ_PARAM_VERIFY"); + + @Getter + private final String markName; + + @Override + public String toString() { + return markName; + } +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/config/FrameworkConfiguration.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/config/FrameworkConfiguration.java new file mode 100644 index 0000000..6af99f6 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/config/FrameworkConfiguration.java @@ -0,0 +1,12 @@ +package cn.meowrain.aioj.backend.userservice.config; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.ComponentScans; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScans({ + @ComponentScan("cn.meowrain.aioj.backend.framework.banner") +}) +public class FrameworkConfiguration { +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/config/SwaggerConfiguration.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/config/SwaggerConfiguration.java new file mode 100644 index 0000000..65b5d60 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/config/SwaggerConfiguration.java @@ -0,0 +1,38 @@ +package cn.meowrain.aioj.backend.userservice.config; + +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Slf4j +@Configuration +@EnableKnife4j +public class SwaggerConfiguration implements ApplicationRunner { + @Value("${server.port:8080}") + private String serverPort; + @Value("${server.servlet.context-path:}") + private String contextPath; + + @Bean + public OpenAPI customerOpenAPI() { + return new OpenAPI() + .info(new Info() + .title("AIOJ-用户微服务✨") + .description("用户注册,用户登录等功能") + .version("v1.0.0") + .contact(new Contact().name("meowrain").email("meowrain@126.com")) + .license(new License().name("MeowRain").url("https://meowrain.cn"))); + } + @Override + public void run(ApplicationArguments args) throws Exception { + log.info("✨API Document: http://127.0.0.1:{}{}/doc.html", serverPort, contextPath); + } +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/controller/UserController.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/controller/UserController.java new file mode 100644 index 0000000..c51f2fe --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/controller/UserController.java @@ -0,0 +1,7 @@ +package cn.meowrain.aioj.backend.userservice.controller; + +import org.springframework.web.bind.annotation.RestController; + +@RestController("/user") +public class UserController { +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dao/entity/User.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dao/entity/User.java new file mode 100644 index 0000000..256582c --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dao/entity/User.java @@ -0,0 +1,80 @@ +package cn.meowrain.aioj.backend.userservice.dao.entity; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName(value = "user") +@Accessors(chain = true) +public class User implements Serializable { + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** + * 用户账号 + */ + private String userAccount; + + /** + * 用户密码 + */ + private String userPassword; + + /** + * 开放平台id + */ + private String unionId; + + /** + * 公众号openId + */ + private String mpOpenId; + + /** + * 用户昵称 + */ + private String userName; + + /** + * 用户头像 + */ + private String userAvatar; + + /** + * 用户简介 + */ + private String userProfile; + + /** + * 用户角色:user/admin/ban + */ + private String userRole; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 是否删除 + */ + @TableLogic + private Integer isDelete; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dao/mapper/UserMapper.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dao/mapper/UserMapper.java new file mode 100644 index 0000000..3828791 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dao/mapper/UserMapper.java @@ -0,0 +1,7 @@ +package cn.meowrain.aioj.backend.userservice.dao.mapper; + +import cn.meowrain.aioj.backend.userservice.dao.entity.User; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface UserMapper extends BaseMapper { +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/chains/UserRegisterRequestParamVerifyChain.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/chains/UserRegisterRequestParamVerifyChain.java new file mode 100644 index 0000000..192baae --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/chains/UserRegisterRequestParamVerifyChain.java @@ -0,0 +1,43 @@ +package cn.meowrain.aioj.backend.userservice.dto.chains; + +import cn.meowrain.aioj.backend.framework.designpattern.chains.AbstractChianHandler; +import cn.meowrain.aioj.backend.framework.errorcode.ErrorCode; +import cn.meowrain.aioj.backend.framework.exception.ClientException; +import cn.meowrain.aioj.backend.userservice.common.enums.ChianMarkEnums; +import cn.meowrain.aioj.backend.userservice.dto.req.UserRegisterRequest; +import com.alibaba.nacos.common.utils.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class UserRegisterRequestParamVerifyChain implements AbstractChianHandler { + @Override + public void handle(UserRegisterRequest requestParam) { + // 校验参数里面用户名和密码是不是空的 + if (StringUtils.isAnyBlank(requestParam.getUserAccount(), requestParam.getUserPassword())) { + throw new ClientException("参数为空", ErrorCode.PARAMS_ERROR); + } + if (requestParam.getUserAccount().length() < 4) { + throw new ClientException("账号长度不小于4位", ErrorCode.PARAMS_ERROR); + } + if (requestParam.getUserPassword().length() < 8) { + throw new ClientException("密码长度不小于8位", ErrorCode.PARAMS_ERROR); + } + // 密码和校验密码相同 + if (!requestParam.getUserPassword().equals(requestParam.getCheckPassword())) { + throw new ClientException("两次输入的密码不一致", ErrorCode.PARAMS_ERROR); + } + + } + + @Override + public String mark() { + return ChianMarkEnums.USER_REGISTER_REQ_PARAM_VERIFY.getMarkName(); + } + + @Override + public int getOrder() { + return 10; + } +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/chains/context/UserRegisterRequestParamVerifyContext.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/chains/context/UserRegisterRequestParamVerifyContext.java new file mode 100644 index 0000000..fa94e94 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/chains/context/UserRegisterRequestParamVerifyContext.java @@ -0,0 +1,9 @@ +package cn.meowrain.aioj.backend.userservice.dto.chains.context; + +import cn.meowrain.aioj.backend.framework.designpattern.chains.CommonChainContext; +import cn.meowrain.aioj.backend.userservice.dto.req.UserRegisterRequest; +import org.springframework.stereotype.Component; + +@Component +public class UserRegisterRequestParamVerifyContext extends CommonChainContext { +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/req/UserLoginRequest.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/req/UserLoginRequest.java new file mode 100644 index 0000000..a92d012 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/req/UserLoginRequest.java @@ -0,0 +1,13 @@ +package cn.meowrain.aioj.backend.userservice.dto.req; + +import jakarta.servlet.http.HttpServletRequest; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class UserLoginRequest { + private String userAccount; + private String userPassword; + HttpServletRequest request; +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/req/UserRegisterRequest.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/req/UserRegisterRequest.java new file mode 100644 index 0000000..c419f7a --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/req/UserRegisterRequest.java @@ -0,0 +1,12 @@ +package cn.meowrain.aioj.backend.userservice.dto.req; + +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class UserRegisterRequest { + private String userAccount; + private String userPassword; + private String checkPassword; +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/resp/UserLoginResponse.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/resp/UserLoginResponse.java new file mode 100644 index 0000000..da58620 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/resp/UserLoginResponse.java @@ -0,0 +1,47 @@ +package cn.meowrain.aioj.backend.userservice.dto.resp; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class UserLoginResponse implements Serializable { + + /** + * 用户 id + */ + private Long id; + + /** + * 用户昵称 + */ + private String userName; + + /** + * 用户头像 + */ + private String userAvatar; + + /** + * 用户简介 + */ + private String userProfile; + + /** + * 用户角色:user/admin/ban + */ + private String userRole; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + private static final long serialVersionUID = 1L; +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/resp/UserRegisterResponse.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/resp/UserRegisterResponse.java new file mode 100644 index 0000000..a4ef950 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/dto/resp/UserRegisterResponse.java @@ -0,0 +1,13 @@ +package cn.meowrain.aioj.backend.userservice.dto.resp; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户注册成功响应对象 + */ +@Data +public class UserRegisterResponse implements Serializable { + private static final long serialVersionUID = 1L; +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/service/UserService.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/service/UserService.java new file mode 100644 index 0000000..07b50a1 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/service/UserService.java @@ -0,0 +1,16 @@ +package cn.meowrain.aioj.backend.userservice.service; + +import cn.meowrain.aioj.backend.userservice.dao.entity.User; +import cn.meowrain.aioj.backend.userservice.dto.req.UserRegisterRequest; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface UserService extends IService { + /** + * 用户注册 + * @param request {@link UserRegisterRequest} + * @return + */ + Long userRegister(UserRegisterRequest request); + + +} diff --git a/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/service/impl/UserServiceImpl.java b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..abca8d9 --- /dev/null +++ b/aioj-backend-user-service/src/main/java/cn/meowrain/aioj/backend/userservice/service/impl/UserServiceImpl.java @@ -0,0 +1,39 @@ +package cn.meowrain.aioj.backend.userservice.service.impl; + +import cn.meowrain.aioj.backend.framework.errorcode.ErrorCode; +import cn.meowrain.aioj.backend.framework.exception.ServiceException; +import cn.meowrain.aioj.backend.userservice.common.enums.ChianMarkEnums; +import cn.meowrain.aioj.backend.userservice.dao.entity.User; +import cn.meowrain.aioj.backend.userservice.dao.mapper.UserMapper; +import cn.meowrain.aioj.backend.userservice.dto.chains.context.UserRegisterRequestParamVerifyContext; +import cn.meowrain.aioj.backend.userservice.dto.req.UserRegisterRequest; +import cn.meowrain.aioj.backend.userservice.service.UserService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.stereotype.Service; +import org.springframework.util.DigestUtils; + +@Service +@RequiredArgsConstructor +public class UserServiceImpl extends ServiceImpl implements UserService { + private final UserRegisterRequestParamVerifyContext userRegisterRequestParamVerifyContext; + private final String SALT = "meowrain"; + + @Override + public Long userRegister(UserRegisterRequest request) { + userRegisterRequestParamVerifyContext.handler(ChianMarkEnums.USER_REGISTER_REQ_PARAM_VERIFY.getMarkName(), request); + // 加密 + String encryptPassword = DigestUtils.md5DigestAsHex((SALT + request.getUserPassword()).getBytes()); + User user = new User().setUserAccount(request.getUserAccount()).setUserPassword(encryptPassword); + + try { + this.save(user); + } catch (DuplicateKeyException e) { + log.error("重复创建用户"); + throw new ServiceException("用户名已存在", ErrorCode.SYSTEM_ERROR); + } + + return user.getId(); + } +} diff --git a/aioj-backend-user-service/src/main/resources/application-dev.yml b/aioj-backend-user-service/src/main/resources/application-dev.yml new file mode 100644 index 0000000..3c2f2a4 --- /dev/null +++ b/aioj-backend-user-service/src/main/resources/application-dev.yml @@ -0,0 +1,16 @@ +spring: + data: + redis: + host: 10.0.0.10 + port: 6379 + password: 123456 + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://10.0.0.10/aioj_dev + username: root + password: 123456 + cloud: + nacos: + discovery: + enabled: false # 🚫 禁用 Nacos 服务发现 + register-enabled: false # 🚫 禁用向 Nacos 注册 \ No newline at end of file diff --git a/aioj-backend-user-service/src/main/resources/application-prod.yml b/aioj-backend-user-service/src/main/resources/application-prod.yml new file mode 100644 index 0000000..07caeb5 --- /dev/null +++ b/aioj-backend-user-service/src/main/resources/application-prod.yml @@ -0,0 +1,11 @@ +spring: + data: + redis: + host: 10.0.0.10 + port: 6379 + password: 123456 + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://10.0.0.10/aioj_prod + username: root + password: 123456 \ No newline at end of file diff --git a/aioj-backend-user-service/src/main/resources/application-test.yml b/aioj-backend-user-service/src/main/resources/application-test.yml new file mode 100644 index 0000000..1e38912 --- /dev/null +++ b/aioj-backend-user-service/src/main/resources/application-test.yml @@ -0,0 +1,11 @@ +spring: + data: + redis: + host: 10.0.0.10 + port: 6379 + password: 123456 + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://10.0.0.10/aioj_test + username: root + password: 123456 \ No newline at end of file diff --git a/aioj-backend-user-service/src/main/resources/application.yml b/aioj-backend-user-service/src/main/resources/application.yml new file mode 100644 index 0000000..f6ac7e7 --- /dev/null +++ b/aioj-backend-user-service/src/main/resources/application.yml @@ -0,0 +1,29 @@ +spring: + application: + name: user-service + profiles: + active: @env@ +server: + port: 10010 +springdoc: + api-docs: + enabled: true + path: /v3/api-docs + default-flat-param-object: true + swagger-ui: + path: /swagger-ui.html + tags-sorter: alpha + operations-sorter: alpha + group-configs: + - group: 'default' + paths-to-match: '/**' + packages-to-scan: cn.meowrain.aioj +knife4j: + basic: + enable: true + setting: + language: zh_cn +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:/mapper/**/*.xml