Commit 40e4487d authored by fangxinjiang's avatar fangxinjiang

init

parent 7fc66be0
package com.yifu.cloud.plus.v1.yifu.common.dapr.util; package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import java.net.URI; import java.net.URI;
...@@ -32,17 +34,17 @@ public class HttpDaprUtil { ...@@ -32,17 +34,17 @@ public class HttpDaprUtil {
* @date 2022-05-23 17:56 * @date 2022-05-23 17:56
* @description get请求获取指定对象信息 * @description get请求获取指定对象信息
**/ **/
public static <T> R<T> invokeMethodGet(String appUrl, String appId, String method, String param, Class cs) throws Exception { public static <T> R<T> invokeMethodGet(String appUrl,
String appId,
String method,
String param,
Class cs) throws Exception {
// 实例化 RestTemplate // 实例化 RestTemplate
initResTemplate(); initResTemplate();
// 初始化请求URL // 初始化请求URL
initUrl(appUrl, appId, method, param); initUrl(appUrl, appId, method, param);
ResponseEntity<T> res; ResponseEntity<T> res;
try { try {
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
res = restTemplate.getForEntity(stringBuffer.toString(), cs); res = restTemplate.getForEntity(stringBuffer.toString(), cs);
} catch (Exception e) { } catch (Exception e) {
return R.failed("获取信息失败:" + e.getMessage()); return R.failed("获取信息失败:" + e.getMessage());
...@@ -54,18 +56,18 @@ public class HttpDaprUtil { ...@@ -54,18 +56,18 @@ public class HttpDaprUtil {
} }
} }
public static <T> R<T> invokeMethodPost(String appUrl, String appId, String method, Object param, Class cs,String token) throws Exception { public static <T> R<T> invokeMethodPost(String appUrl,
String appId,
String method,
Object param,
Class cs,
@RequestHeader(SecurityConstants.FROM) String from) throws Exception {
// 实例化 RestTemplate // 实例化 RestTemplate
initResTemplate(); initResTemplate();
// 初始化请求URL // 初始化请求URL
initUrl(appUrl, appId, method, ""); initUrl(appUrl, appId, method, "");
ResponseEntity<T> res; ResponseEntity<T> res;
try { try {
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
headers.add("access_token",token);
res = restTemplate.postForEntity(URI.create(stringBuffer.toString()),param, cs); res = restTemplate.postForEntity(URI.create(stringBuffer.toString()),param, cs);
} catch (Exception e) { } catch (Exception e) {
return R.failed("获取信息失败:" + e.getMessage()); return R.failed("获取信息失败:" + e.getMessage());
......
...@@ -50,5 +50,16 @@ ...@@ -50,5 +50,16 @@
<groupId>org.springframework.security.oauth.boot</groupId> <groupId>org.springframework.security.oauth.boot</groupId>
<artifactId>spring-security-oauth2-autoconfigure</artifactId> <artifactId>spring-security-oauth2-autoconfigure</artifactId>
</dependency> </dependency>
</dependencies> <dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-dapr</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.78</version>
</dependency>
</dependencies>
</project> </project>
...@@ -16,9 +16,12 @@ ...@@ -16,9 +16,12 @@
package com.yifu.cloud.plus.v1.yifu.common.log; package com.yifu.cloud.plus.v1.yifu.common.log;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties;
import com.yifu.cloud.plus.v1.yifu.common.log.aspect.SysLogAspect; import com.yifu.cloud.plus.v1.yifu.common.log.aspect.SysLogAspect;
import com.yifu.cloud.plus.v1.yifu.common.log.event.SysLogListener;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableAsync;
...@@ -33,10 +36,10 @@ import org.springframework.scheduling.annotation.EnableAsync; ...@@ -33,10 +36,10 @@ import org.springframework.scheduling.annotation.EnableAsync;
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
public class LogAutoConfiguration { public class LogAutoConfiguration {
/*@Bean @Bean
public SysLogListener sysLogListener(RemoteLogService remoteLogService) { public SysLogListener sysLogListener(DaprUpmsProperties logService) {
return new SysLogListener(remoteLogService); return new SysLogListener(logService);
}*/ }
@Bean @Bean
public SysLogAspect sysLogAspect() { public SysLogAspect sysLogAspect() {
......
...@@ -16,28 +16,40 @@ ...@@ -16,28 +16,40 @@
package com.yifu.cloud.plus.v1.yifu.common.log.event; package com.yifu.cloud.plus.v1.yifu.common.log.event;
import com.alibaba.fastjson.JSON;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysLog; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.RequestHeader;
/** /**
* @author lengleng 异步监听日志事件 * @author lengleng 异步监听日志事件
*/ */
@Slf4j @Slf4j
@EnableConfigurationProperties(DaprUpmsProperties.class)
@RequiredArgsConstructor @RequiredArgsConstructor
public class SysLogListener { public class SysLogListener {
//private final RemoteLogService remoteLogService; private final DaprUpmsProperties daprUpmsProperties;
@Async @Async
@Order @Order
@EventListener(SysLogEvent.class) @EventListener(SysLogEvent.class)
public void saveSysLog(SysLogEvent event) { public void saveSysLog(SysLogEvent event) {
SysLog sysLog = (SysLog) event.getSource(); SysLog sysLog = (SysLog) event.getSource();
//remoteLogService.saveLog(sysLog, SecurityConstants.FROM_IN); try {
HttpDaprUtil.invokeMethodPost(daprUpmsProperties.getAppUrl(),daprUpmsProperties.getAppId(), "/log", sysLog, SysLog.class, SecurityConstants.FROM_IN);
}catch (Exception e){
log.error("日志保持异常:",e);
}
} }
} }
...@@ -65,6 +65,15 @@ public class SecurityUtils { ...@@ -65,6 +65,15 @@ public class SecurityUtils {
return getUser(authentication); return getUser(authentication);
} }
public String getUserToken() {
Authentication authentication = getAuthentication();
if (authentication == null) {
return null;
}
YifuUser user = getUser(authentication);
return null;
}
/** /**
* 获取用户角色信息 * 获取用户角色信息
* @return 角色集合 * @return 角色集合
......
...@@ -21,6 +21,7 @@ import com.alibaba.excel.annotation.ExcelProperty; ...@@ -21,6 +21,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
...@@ -107,6 +108,7 @@ public class SysLog extends BaseEntity { ...@@ -107,6 +108,7 @@ public class SysLog extends BaseEntity {
/** /**
* 执行时间 * 执行时间
*/ */
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@ExcelProperty("方法执行时间") @ExcelProperty("方法执行时间")
@Schema(description = "方法执行时间") @Schema(description = "方法执行时间")
private Long time; private Long time;
......
...@@ -47,11 +47,17 @@ public class SysUser extends BaseEntity { ...@@ -47,11 +47,17 @@ public class SysUser extends BaseEntity {
private Long userId; private Long userId;
/** /**
* 用户名 * 用户名 登录名称
*/ */
@Schema(title = "用户名") @Schema(title = "用户名")
private String username; private String username;
/**
* 用户名称
*/
@Schema(title = "用户名称")
private String nickname;
/** /**
* 密码 * 密码
*/ */
......
...@@ -43,6 +43,11 @@ public class UserVO implements Serializable { ...@@ -43,6 +43,11 @@ public class UserVO implements Serializable {
*/ */
private String username; private String username;
/**
* 用户名
*/
private String nickname;
/** /**
* 密码 * 密码
*/ */
......
...@@ -146,6 +146,9 @@ public class UserController { ...@@ -146,6 +146,9 @@ public class UserController {
@PreAuthorize("@pms.hasPermission('sys_user_del')") @PreAuthorize("@pms.hasPermission('sys_user_del')")
public R<Boolean> userDel(@PathVariable Long id) { public R<Boolean> userDel(@PathVariable Long id) {
SysUser sysUser = userService.getById(id); SysUser sysUser = userService.getById(id);
if (null == sysUser){
return R.failed(Boolean.FALSE);
}
return R.ok(userService.removeUserById(sysUser)); return R.ok(userService.removeUserById(sysUser));
} }
......
...@@ -164,6 +164,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl ...@@ -164,6 +164,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override @Override
@CacheEvict(value = CacheConstants.USER_DETAILS, key = "#sysUser.username") @CacheEvict(value = CacheConstants.USER_DETAILS, key = "#sysUser.username")
public Boolean removeUserById(SysUser sysUser) { public Boolean removeUserById(SysUser sysUser) {
if (null == sysUser || null == sysUser.getUserId()){
return Boolean.FALSE;
}
SysUser user = baseMapper.selectById(sysUser.getUserId());
if (null == user){
return Boolean.FALSE;
}
sysUserRoleMapper.deleteByUserId(sysUser.getUserId()); sysUserRoleMapper.deleteByUserId(sysUser.getUserId());
this.removeById(sysUser.getUserId()); this.removeById(sysUser.getUserId());
return Boolean.TRUE; return Boolean.TRUE;
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
<result column="udel_flag" property="delFlag"/> <result column="udel_flag" property="delFlag"/>
<result column="deptId" property="deptId"/> <result column="deptId" property="deptId"/>
<result column="deptName" property="deptName"/> <result column="deptName" property="deptName"/>
<result column="nickname" property="nickname"/>
<collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole" <collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole"
select="com.yifu.cloud.plus.v1.yifu.admin.mapper.SysRoleMapper.listRolesByUserId" column="user_id"> select="com.yifu.cloud.plus.v1.yifu.admin.mapper.SysRoleMapper.listRolesByUserId" column="user_id">
</collection> </collection>
...@@ -53,6 +54,7 @@ ...@@ -53,6 +54,7 @@
<result column="udel_flag" property="delFlag"/> <result column="udel_flag" property="delFlag"/>
<result column="deptId" property="deptId"/> <result column="deptId" property="deptId"/>
<result column="deptName" property="deptName"/> <result column="deptName" property="deptName"/>
<result column="nickname" property="nickname"/>
<collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole"> <collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole">
<id column="role_id" property="roleId"/> <id column="role_id" property="roleId"/>
<result column="role_name" property="roleName"/> <result column="role_name" property="roleName"/>
...@@ -66,6 +68,7 @@ ...@@ -66,6 +68,7 @@
<sql id="userRoleSql"> <sql id="userRoleSql">
sys_user.user_id, sys_user.user_id,
sys_user.username, sys_user.username,
sys_user.nickname,
sys_user.`password`, sys_user.`password`,
sys_user.salt, sys_user.salt,
sys_user.phone, sys_user.phone,
...@@ -87,6 +90,7 @@ ...@@ -87,6 +90,7 @@
<sql id="userRoleDeptSql"> <sql id="userRoleDeptSql">
sys_user.user_id, sys_user.user_id,
sys_user.username, sys_user.username,
sys_user.nickname,
sys_user.`password`, sys_user.`password`,
sys_user.salt, sys_user.salt,
sys_user.phone, sys_user.phone,
...@@ -127,6 +131,7 @@ ...@@ -127,6 +131,7 @@
<select id="getUserVosPage" resultMap="baseResultMap"> <select id="getUserVosPage" resultMap="baseResultMap">
SELECT sys_user.user_id, SELECT sys_user.user_id,
sys_user.username, sys_user.username,
sys_user.nickname,
sys_user.salt, sys_user.salt,
sys_user.phone, sys_user.phone,
sys_user.avatar, sys_user.avatar,
...@@ -152,6 +157,7 @@ ...@@ -152,6 +157,7 @@
<select id="selectVoList" resultMap="baseResultMap"> <select id="selectVoList" resultMap="baseResultMap">
SELECT u.user_id, SELECT u.user_id,
u.username, u.username,
u.nickname,
u.password, u.password,
u.salt, u.salt,
u.phone, u.phone,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment