Commit 40e4487d authored by fangxinjiang's avatar fangxinjiang

init

parent 7fc66be0
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.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import lombok.extern.log4j.Log4j2;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.client.RestTemplate;
import java.net.URI;
......@@ -32,17 +34,17 @@ public class HttpDaprUtil {
* @date 2022-05-23 17:56
* @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
initResTemplate();
// 初始化请求URL
initUrl(appUrl, appId, method, param);
ResponseEntity<T> res;
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);
} catch (Exception e) {
return R.failed("获取信息失败:" + e.getMessage());
......@@ -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
initResTemplate();
// 初始化请求URL
initUrl(appUrl, appId, method, "");
ResponseEntity<T> res;
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);
} catch (Exception e) {
return R.failed("获取信息失败:" + e.getMessage());
......
......@@ -50,5 +50,16 @@
<groupId>org.springframework.security.oauth.boot</groupId>
<artifactId>spring-security-oauth2-autoconfigure</artifactId>
</dependency>
<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>
......@@ -16,9 +16,12 @@
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.event.SysLogListener;
import lombok.RequiredArgsConstructor;
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.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
......@@ -33,10 +36,10 @@ import org.springframework.scheduling.annotation.EnableAsync;
@Configuration(proxyBeanMethods = false)
public class LogAutoConfiguration {
/*@Bean
public SysLogListener sysLogListener(RemoteLogService remoteLogService) {
return new SysLogListener(remoteLogService);
}*/
@Bean
public SysLogListener sysLogListener(DaprUpmsProperties logService) {
return new SysLogListener(logService);
}
@Bean
public SysLogAspect sysLogAspect() {
......
......@@ -16,28 +16,40 @@
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.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.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.event.EventListener;
import org.springframework.core.annotation.Order;
import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.RequestHeader;
/**
* @author lengleng 异步监听日志事件
*/
@Slf4j
@EnableConfigurationProperties(DaprUpmsProperties.class)
@RequiredArgsConstructor
public class SysLogListener {
//private final RemoteLogService remoteLogService;
private final DaprUpmsProperties daprUpmsProperties;
@Async
@Order
@EventListener(SysLogEvent.class)
public void saveSysLog(SysLogEvent event) {
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 {
return getUser(authentication);
}
public String getUserToken() {
Authentication authentication = getAuthentication();
if (authentication == null) {
return null;
}
YifuUser user = getUser(authentication);
return null;
}
/**
* 获取用户角色信息
* @return 角色集合
......
......@@ -21,6 +21,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
......@@ -107,6 +108,7 @@ public class SysLog extends BaseEntity {
/**
* 执行时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@ExcelProperty("方法执行时间")
@Schema(description = "方法执行时间")
private Long time;
......
......@@ -47,11 +47,17 @@ public class SysUser extends BaseEntity {
private Long userId;
/**
* 用户名
* 用户名 登录名称
*/
@Schema(title = "用户名")
private String username;
/**
* 用户名称
*/
@Schema(title = "用户名称")
private String nickname;
/**
* 密码
*/
......
......@@ -43,6 +43,11 @@ public class UserVO implements Serializable {
*/
private String username;
/**
* 用户名
*/
private String nickname;
/**
* 密码
*/
......
......@@ -146,6 +146,9 @@ public class UserController {
@PreAuthorize("@pms.hasPermission('sys_user_del')")
public R<Boolean> userDel(@PathVariable Long id) {
SysUser sysUser = userService.getById(id);
if (null == sysUser){
return R.failed(Boolean.FALSE);
}
return R.ok(userService.removeUserById(sysUser));
}
......
......@@ -164,6 +164,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
@CacheEvict(value = CacheConstants.USER_DETAILS, key = "#sysUser.username")
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());
this.removeById(sysUser.getUserId());
return Boolean.TRUE;
......
......@@ -31,6 +31,7 @@
<result column="udel_flag" property="delFlag"/>
<result column="deptId" property="deptId"/>
<result column="deptName" property="deptName"/>
<result column="nickname" property="nickname"/>
<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">
</collection>
......@@ -53,6 +54,7 @@
<result column="udel_flag" property="delFlag"/>
<result column="deptId" property="deptId"/>
<result column="deptName" property="deptName"/>
<result column="nickname" property="nickname"/>
<collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole">
<id column="role_id" property="roleId"/>
<result column="role_name" property="roleName"/>
......@@ -66,6 +68,7 @@
<sql id="userRoleSql">
sys_user.user_id,
sys_user.username,
sys_user.nickname,
sys_user.`password`,
sys_user.salt,
sys_user.phone,
......@@ -87,6 +90,7 @@
<sql id="userRoleDeptSql">
sys_user.user_id,
sys_user.username,
sys_user.nickname,
sys_user.`password`,
sys_user.salt,
sys_user.phone,
......@@ -127,6 +131,7 @@
<select id="getUserVosPage" resultMap="baseResultMap">
SELECT sys_user.user_id,
sys_user.username,
sys_user.nickname,
sys_user.salt,
sys_user.phone,
sys_user.avatar,
......@@ -152,6 +157,7 @@
<select id="selectVoList" resultMap="baseResultMap">
SELECT u.user_id,
u.username,
u.nickname,
u.password,
u.salt,
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