初始化

master
张腾 2024-09-19 21:07:54 +08:00
parent fac31cb7a8
commit 14da1917c3
16 changed files with 246 additions and 7 deletions

View File

@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
addr: 47.116.173.119:8848
addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight

View File

@ -11,6 +11,11 @@ public class SecurityConstants {
*/
public static final String DETAILS_USER_ID = "user_id";
/**
* ID
*/
public static final String DETAILS_FIRM_ID = "firm_id";
/**
*
*/

View File

@ -44,6 +44,7 @@ public class TokenService {
String token = IdUtils.fastUUID();
Long userId = loginUser.getSysUser().getUserId();
String userName = loginUser.getSysUser().getUserName();
Integer firmId = loginUser.getSysUser().getFirmId();
loginUser.setToken(token);
loginUser.setUserid(userId);
loginUser.setUsername(userName);
@ -55,11 +56,13 @@ public class TokenService {
claimsMap.put(SecurityConstants.USER_KEY, token);
claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
claimsMap.put(SecurityConstants.DETAILS_FIRM_ID,firmId);
// 接口返回信息
Map<String, Object> rspMap = new HashMap<String, Object>();
rspMap.put("access_token", JwtUtils.createToken(claimsMap));
rspMap.put("expires_in", expireTime);
return rspMap;
}

View File

@ -0,0 +1,40 @@
package com.muyu.common.system.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author
* @Packagecom.muyu.common.system.domain
* @Projectcloud-server-8
* @nameDatasourceInfo
* @Date2024/9/18 19:25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DatasourceInfo {
/**
*
*/
private String key;
/**
*
*/
private String url;
/**
*
*/
private String userName;
/**
*
*/
private String password;
}

View File

@ -0,0 +1,99 @@
package com.muyu.common.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @Author
* @Packagecom.muyu.common.system.domain
* @Projectcloud-server-8
* @nameSysFirm
* @Date2024/9/18 19:04
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "sys_firm",autoResultMap = true)
public class SysFirm extends BaseEntity {
/**
*
*/
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
/**
*
*/
@NotBlank(message = "统一社会信用代码不能为空")
private String firmCreditCode;
/**
*
*/
@NotBlank(message = "请上传对应的营业执照")
private String firmImages;
/**
*
*/
@NotBlank(message = "企业名称不能为空")
private String firmName;
/**
*LOGO
*/
@NotBlank(message = "请上传企业logo")
private String firmLogo;
/**
*
*/
@NotBlank(message = "企业法人不能为空")
private String firmLegalPerson;
/**
*
*/
@NotBlank(message = "请输入联系电话")
private String firmPhone;
/**
*
*/
@NotBlank(message = "请输入联系邮箱")
private String firmEmail;
/**
*
*/
@NotBlank(message = "联系网址不能为空")
private String firmWebsite;
/**
*
*/
@NotBlank(message = "企业地址不能为空")
private String firmAddress;
/**
*
*/
private String firmDesc;
/**
*(1. 2. 3.)
*/
private Integer state;
}

View File

@ -83,6 +83,11 @@ public class SysUser extends BaseEntity {
*/
private String password;
/**
* ID
*/
private Integer firmId;
/**
* 0 1
*/

View File

@ -50,7 +50,7 @@ public class ValidateCodeServiceImpl implements ValidateCodeService {
CaptchaCodeResp.CaptchaCodeRespBuilder respBuilder = CaptchaCodeResp.builder()
.captchaEnabled(captchaEnabled);
if (!captchaEnabled) {
return Result.success(respBuilder);
return Result.success(respBuilder.build());
}
// 保存验证码信息

View File

@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
addr: 47.116.173.119:8848
addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight

View File

@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
addr: 47.116.173.119:8848
addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight

View File

@ -4,6 +4,7 @@ import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
/**
*

View File

@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
addr: 47.116.173.119:8848
addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight

View File

@ -0,0 +1,24 @@
package com.muyu.system.config;
import com.muyu.system.interceptor.DataSourceInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @Author
* @Packagecom.muyu.system.config
* @Projectcloud-server-8
* @nameWebConfig
* @Date2024/9/18 19:51
*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DataSourceInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/");
}
}

View File

@ -0,0 +1,24 @@
package com.muyu.system.holder;
/**
* @Author
* @Packagecom.muyu.system.holder
* @Projectcloud-server-8
* @nameDataSourcceContextHolder
* @Date2024/9/18 19:45
*/
public class DataSourceContextHolder {
private static final ThreadLocal<String> DYNAMIC_DATASOURCE_KEY = new ThreadLocal<>();
public static void setDatasourceMsg(String datasourceKey){
DYNAMIC_DATASOURCE_KEY.set(datasourceKey);
}
public static String getDatasourceMsg(){
return DYNAMIC_DATASOURCE_KEY.get();
}
public static void clearDataSourceKey(){
DYNAMIC_DATASOURCE_KEY.remove();
}
}

View File

@ -0,0 +1,38 @@
package com.muyu.system.interceptor;
import com.muyu.system.holder.DataSourceContextHolder;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
/**
* @Author
* @Packagecom.muyu.system.interceptor
* @Projectcloud-server-8
* @nameDataSourceInterceptor
* @Date2024/9/18 19:40
*/
public class DataSourceInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//从请求当中获取数据源标识符
String database = request.getParameter("database");
if (null != database){
DataSourceContextHolder.setDatasourceMsg(database);
}
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
//请求完成之后进行清理操作
DataSourceContextHolder.clearDataSourceKey();
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
//请求完成之后进行清理操作
DataSourceContextHolder.clearDataSourceKey();
}
}

View File

@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
addr: 47.116.173.119:8848
addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight

View File

@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
addr: 47.116.173.119:8848
addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight