feat:sync user
This commit is contained in:
parent
635495c64c
commit
a1ca5b9cfc
ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm
evnet/listener
job
service
ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system
event
service
@ -0,0 +1,39 @@
|
|||||||
|
package com.ensign.crm.module.crm.evnet.listener;
|
||||||
|
|
||||||
|
import com.ensign.crm.module.crm.exception.AllKingdeeException;
|
||||||
|
import com.ensign.crm.module.crm.job.service.TaskHandler;
|
||||||
|
import com.ensign.crm.module.system.event.UserRegisterEvent;
|
||||||
|
import com.ensign.crm.module.system.service.permission.PermissionService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.event.EventListener;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: TODO
|
||||||
|
* @Date: 2024/10/15 16:14
|
||||||
|
* @Created: by ZZSLL
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class UserRegisterEventLister {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TaskHandler taskHandler;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PermissionService permissionService;
|
||||||
|
|
||||||
|
@EventListener
|
||||||
|
public void onRegister(UserRegisterEvent event) throws AllKingdeeException, IOException, URISyntaxException {
|
||||||
|
log.info("[UserRegisterEventLister] onRegister");
|
||||||
|
taskHandler.syncUser(event.getAdminUserDO(), new ArrayList<>());
|
||||||
|
permissionService.assignPermissions(event.getAdminUserDO());
|
||||||
|
}
|
||||||
|
}
|
@ -1,30 +1,19 @@
|
|||||||
package com.ensign.crm.module.crm.job;
|
package com.ensign.crm.module.crm.job;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ensign.crm.framework.common.enums.CommonStatusEnum;
|
import com.ensign.crm.framework.common.enums.CommonStatusEnum;
|
||||||
import com.ensign.crm.framework.common.enums.CrmUserTypeEnum;
|
import com.ensign.crm.framework.common.enums.CrmUserTypeEnum;
|
||||||
import com.ensign.crm.framework.common.enums.UserTypeEnum;
|
|
||||||
import com.ensign.crm.framework.quartz.core.handler.JobHandler;
|
import com.ensign.crm.framework.quartz.core.handler.JobHandler;
|
||||||
import com.ensign.crm.framework.tenant.core.aop.TenantIgnore;
|
import com.ensign.crm.framework.tenant.core.aop.TenantIgnore;
|
||||||
import com.ensign.crm.module.crm.exception.AllKingdeeException;
|
import com.ensign.crm.module.crm.job.service.TaskHandler;
|
||||||
import com.ensign.crm.module.crm.service.ProxyService;
|
|
||||||
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
import com.ensign.crm.module.system.dal.mysql.user.AdminUserMapper;
|
import com.ensign.crm.module.system.dal.mysql.user.AdminUserMapper;
|
||||||
import com.ensign.crm.module.system.service.user.AdminUserService;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.checkerframework.checker.units.qual.A;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.net.URISyntaxException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,7 +31,7 @@ public class UserSyncKingdeeTask implements JobHandler {
|
|||||||
private AdminUserMapper userMapper;
|
private AdminUserMapper userMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProxyService proxyService;
|
private TaskHandler taskHandler;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@TenantIgnore
|
@TenantIgnore
|
||||||
@ -55,7 +44,7 @@ public class UserSyncKingdeeTask implements JobHandler {
|
|||||||
|
|
||||||
List<AdminUserDO> errors = new ArrayList<>();
|
List<AdminUserDO> errors = new ArrayList<>();
|
||||||
for (AdminUserDO user : users) {
|
for (AdminUserDO user : users) {
|
||||||
doSyncUser(user, errors);
|
taskHandler.syncUser(user, errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Long> errorIds = errors.stream()
|
List<Long> errorIds = errors.stream()
|
||||||
@ -76,48 +65,4 @@ public class UserSyncKingdeeTask implements JobHandler {
|
|||||||
.map(user -> user.getUsername() + "_" + user.getNickname())
|
.map(user -> user.getUsername() + "_" + user.getNickname())
|
||||||
.collect(Collectors.joining(", "));
|
.collect(Collectors.joining(", "));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doSyncUser(AdminUserDO user, List<AdminUserDO> errors) throws AllKingdeeException, IOException, URISyntaxException {
|
|
||||||
Map<String, Object> body = convertToKingdeeObj(user);
|
|
||||||
log.info("请求body:{}", body);
|
|
||||||
JSONObject jsonObject = proxyService.doRequest("/ierp/kapi/v2/yem/yem_crmbasic/yem_crm_dealeruser/CRM_yem_crm_dealeruser", "POST", body, null);
|
|
||||||
log.info("响应body:{}", jsonObject);
|
|
||||||
if (jsonObject.containsKey("status") && jsonObject.containsKey("errorCode")) {
|
|
||||||
if (jsonObject.getBoolean("status") && jsonObject.getInteger("errorCode") == 0) {
|
|
||||||
if (jsonObject.containsKey("data")) {
|
|
||||||
JSONObject dataObject = jsonObject.getJSONObject("data");
|
|
||||||
if (dataObject.containsKey("successCount")) {
|
|
||||||
int successCount = dataObject.getInteger("successCount");
|
|
||||||
if (successCount < 1) {
|
|
||||||
errors.add(user);
|
|
||||||
log.error("异常数据");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (successCount == 1) {
|
|
||||||
user.setIsSyncKingdee(CommonStatusEnum.ENABLE.getStatus());
|
|
||||||
userMapper.updateById(user);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static Map<String, Object> convertToKingdeeObj(AdminUserDO user) {
|
|
||||||
List<Map<String, Object>> list = new ArrayList<>();
|
|
||||||
|
|
||||||
Map<String, Object> addUser = new HashMap<>();
|
|
||||||
addUser.put("number", user.getUsername());//编码
|
|
||||||
addUser.put("name", user.getNickname());//经销商销售员
|
|
||||||
addUser.put("webuserid", user.getId());//移动端人员ID
|
|
||||||
addUser.put("webdeptid", user.getDeptId());//经销商.移动端部门ID
|
|
||||||
addUser.put("function", "B");//职能 [A:经销商后台, B:经销商销售员]
|
|
||||||
addUser.put("phone", user.getMobile());//手机号
|
|
||||||
addUser.put("createorg", "110");//创建组织.编码
|
|
||||||
list.add(addUser);
|
|
||||||
Map<String, Object> body = new HashMap<>();
|
|
||||||
body.put("data", list);
|
|
||||||
return body;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,79 @@
|
|||||||
|
package com.ensign.crm.module.crm.job.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.ensign.crm.framework.common.enums.CommonStatusEnum;
|
||||||
|
import com.ensign.crm.module.crm.exception.AllKingdeeException;
|
||||||
|
import com.ensign.crm.module.crm.service.ProxyService;
|
||||||
|
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
import com.ensign.crm.module.system.dal.mysql.user.AdminUserMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: TODO
|
||||||
|
* @Date: 2024/10/15 17:02
|
||||||
|
* @Created: by ZZSLL
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class TaskHandler {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AdminUserMapper userMapper;
|
||||||
|
@Autowired
|
||||||
|
private ProxyService proxyService;
|
||||||
|
|
||||||
|
public void syncUser(AdminUserDO user, List<AdminUserDO> errors) throws IOException, URISyntaxException, AllKingdeeException {
|
||||||
|
Map<String, Object> body = convertToKingdeeObj(user);
|
||||||
|
log.info("请求body:{}", body);
|
||||||
|
JSONObject jsonObject = proxyService.doRequestPost("/ierp/kapi/v2/yem/yem_crmbasic/yem_crm_dealeruser/CRM_yem_crm_dealeruser", "POST", body, null);
|
||||||
|
log.info("响应body:{}", jsonObject);
|
||||||
|
if (jsonObject.containsKey("status") && jsonObject.containsKey("errorCode")) {
|
||||||
|
if (jsonObject.getBoolean("status") && jsonObject.getInteger("errorCode") == 0) {
|
||||||
|
if (jsonObject.containsKey("data")) {
|
||||||
|
JSONObject dataObject = jsonObject.getJSONObject("data");
|
||||||
|
if (dataObject.containsKey("successCount")) {
|
||||||
|
int successCount = dataObject.getInteger("successCount");
|
||||||
|
if (successCount < 1) {
|
||||||
|
errors.add(user);
|
||||||
|
log.error("异常数据");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (successCount == 1) {
|
||||||
|
user.setIsSyncKingdee(CommonStatusEnum.ENABLE.getStatus());
|
||||||
|
userMapper.updateById(user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public static Map<String, Object> convertToKingdeeObj(AdminUserDO user) {
|
||||||
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
|
|
||||||
|
Map<String, Object> addUser = new HashMap<>();
|
||||||
|
addUser.put("number", user.getUsername());//编码
|
||||||
|
addUser.put("name", user.getNickname());//经销商销售员
|
||||||
|
addUser.put("webuserid", user.getId());//移动端人员ID
|
||||||
|
addUser.put("webdeptid", user.getDeptId());//经销商.移动端部门ID
|
||||||
|
addUser.put("function", "E");//职能 [D:经销商后台, E:经销商销售员]
|
||||||
|
addUser.put("phone", user.getMobile());//手机号
|
||||||
|
addUser.put("createorg", "110");//创建组织.编码
|
||||||
|
list.add(addUser);
|
||||||
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
body.put("data", list);
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
}
|
@ -13,9 +13,7 @@ import org.apache.http.HttpEntity;
|
|||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.client.HttpClient;
|
import org.apache.http.client.HttpClient;
|
||||||
import org.apache.http.client.config.RequestConfig;
|
import org.apache.http.client.config.RequestConfig;
|
||||||
import org.apache.http.client.methods.HttpPost;
|
import org.apache.http.client.methods.*;
|
||||||
import org.apache.http.client.methods.HttpUriRequest;
|
|
||||||
import org.apache.http.client.methods.RequestBuilder;
|
|
||||||
import org.apache.http.entity.StringEntity;
|
import org.apache.http.entity.StringEntity;
|
||||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
|
import org.apache.http.entity.mime.MultipartEntityBuilder;
|
||||||
import org.apache.http.entity.mime.content.FileBody;
|
import org.apache.http.entity.mime.content.FileBody;
|
||||||
@ -255,7 +253,7 @@ public class ProxyService {
|
|||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
||||||
public JSONObject doRequest(String endpoint, String methodName, Map<String, Object> body, Map<String, Object> header) throws AllKingdeeException, IOException, URISyntaxException {
|
public JSONObject doRequestPost(String endpoint, String methodName, Map<String, Object> body, Map<String, Object> header) throws AllKingdeeException, IOException, URISyntaxException {
|
||||||
log.info("================request kingdee start================");
|
log.info("================request kingdee start================");
|
||||||
|
|
||||||
HttpClient httpClient = HttpClients.createDefault();
|
HttpClient httpClient = HttpClients.createDefault();
|
||||||
@ -267,30 +265,24 @@ public class ProxyService {
|
|||||||
throw new AllKingdeeException("unknown request methodName: " + methodName);
|
throw new AllKingdeeException("unknown request methodName: " + methodName);
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpUriRequest request = null;
|
HttpPost request = new HttpPost(newUri);
|
||||||
if (httpMethod == HttpMethod.GET) {
|
if (body != null) {
|
||||||
request = RequestBuilder.get(newUri).build();
|
StringEntity entity = new StringEntity(JSON.toJSONString(body), "UTF-8");
|
||||||
} else if (httpMethod == HttpMethod.POST) {
|
entity.setContentType("application/json;charset=utf-8");
|
||||||
// Assuming body is a JSON object
|
request.setEntity(entity);
|
||||||
String jsonBody = JSONUtil.toJsonStr(body);
|
|
||||||
request = RequestBuilder.post(newUri).setEntity(new StringEntity(jsonBody)).build();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add headers to the request
|
if (header != null) {
|
||||||
if (header != null && request != null) {
|
|
||||||
for (Map.Entry<String, Object> entry : header.entrySet()) {
|
for (Map.Entry<String, Object> entry : header.entrySet()) {
|
||||||
request.addHeader(entry.getKey(), entry.getValue().toString());
|
request.addHeader(entry.getKey(), entry.getValue().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (request != null) {
|
|
||||||
request.addHeader("access_token", initAccessToken());
|
request.addHeader("access_token", initAccessToken());
|
||||||
request.addHeader("Content-Type", "application/json; charset=utf-8");
|
|
||||||
log.info("Requesting: {}", request);
|
log.info("Requesting: {}", request);
|
||||||
Header[] headers = request.getAllHeaders();
|
Header[] headers = request.getAllHeaders();
|
||||||
for (Header hd : headers) {
|
for (Header hd : headers) {
|
||||||
log.info("header: {}", hd);
|
log.info("header: {}", hd);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
HttpResponse response = httpClient.execute(request);
|
HttpResponse response = httpClient.execute(request);
|
||||||
|
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.ensign.crm.module.system.event;
|
||||||
|
|
||||||
|
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
import lombok.Getter;
|
||||||
|
import org.springframework.context.ApplicationEvent;
|
||||||
|
|
||||||
|
import java.time.Clock;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: TODO
|
||||||
|
* @Date: 2024/10/15 16:05
|
||||||
|
* @Created: by ZZSLL
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public class UserRegisterEvent extends ApplicationEvent {
|
||||||
|
|
||||||
|
private final AdminUserDO adminUserDO;
|
||||||
|
|
||||||
|
public UserRegisterEvent(Object source, Clock clock, AdminUserDO adminUserDO) {
|
||||||
|
super(source, clock);
|
||||||
|
this.adminUserDO = adminUserDO;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserRegisterEvent(Object source, AdminUserDO adminUserDO) {
|
||||||
|
super(source);
|
||||||
|
this.adminUserDO = adminUserDO;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.ensign.crm.module.system.event.publisher;
|
||||||
|
|
||||||
|
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
import com.ensign.crm.module.system.event.UserRegisterEvent;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.ApplicationEventPublisher;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: TODO
|
||||||
|
* @Date: 2024/10/15 16:10
|
||||||
|
* @Created: by ZZSLL
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class UserRegisterEventPublisher {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public ApplicationEventPublisher publisher;
|
||||||
|
|
||||||
|
public void publish(AdminUserDO user) {
|
||||||
|
UserRegisterEvent userRegisterEvent = new UserRegisterEvent(this, user);
|
||||||
|
publisher.publishEvent(userRegisterEvent);
|
||||||
|
log.info("[UserRegisterEventPublisher] publish event");
|
||||||
|
}
|
||||||
|
}
|
@ -378,16 +378,16 @@ public class PermissionServiceImpl implements PermissionService {
|
|||||||
roles.addAll(UserFunctionRoleEnum.get(1, 2, 3, 4, 5));
|
roles.addAll(UserFunctionRoleEnum.get(1, 2, 3, 4, 5));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
roles.addAll(UserFunctionRoleEnum.get(1, 2, 3, 4));
|
roles.addAll(UserFunctionRoleEnum.get(2, 3, 4, 5));
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
roles.addAll(UserFunctionRoleEnum.get(1, 2, 3));
|
roles.addAll(UserFunctionRoleEnum.get(3, 4, 5));
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
roles.addAll(UserFunctionRoleEnum.get(1, 2));
|
roles.addAll(UserFunctionRoleEnum.get(4, 5));
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
roles.addAll(UserFunctionRoleEnum.get(1));
|
roles.addAll(UserFunctionRoleEnum.get(5));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return roles;
|
return roles;
|
||||||
|
@ -9,7 +9,9 @@ import com.ensign.crm.framework.common.pojo.PageResult;
|
|||||||
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -200,5 +202,4 @@ public interface AdminUserService {
|
|||||||
* @return 是否匹配
|
* @return 是否匹配
|
||||||
*/
|
*/
|
||||||
boolean isPasswordMatch(String rawPassword, String encodedPassword);
|
boolean isPasswordMatch(String rawPassword, String encodedPassword);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ import com.ensign.crm.module.system.dal.dataobject.dept.UserPostDO;
|
|||||||
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
import com.ensign.crm.module.system.dal.mysql.dept.UserPostMapper;
|
import com.ensign.crm.module.system.dal.mysql.dept.UserPostMapper;
|
||||||
import com.ensign.crm.module.system.dal.mysql.user.AdminUserMapper;
|
import com.ensign.crm.module.system.dal.mysql.user.AdminUserMapper;
|
||||||
|
import com.ensign.crm.module.system.event.publisher.UserRegisterEventPublisher;
|
||||||
import com.ensign.crm.module.system.service.dept.DeptService;
|
import com.ensign.crm.module.system.service.dept.DeptService;
|
||||||
import com.ensign.crm.module.system.service.dept.PostService;
|
import com.ensign.crm.module.system.service.dept.PostService;
|
||||||
import com.ensign.crm.module.system.service.permission.PermissionService;
|
import com.ensign.crm.module.system.service.permission.PermissionService;
|
||||||
@ -33,6 +34,8 @@ import com.mzt.logapi.context.LogRecordContext;
|
|||||||
import com.mzt.logapi.service.impl.DiffParseFunction;
|
import com.mzt.logapi.service.impl.DiffParseFunction;
|
||||||
import com.mzt.logapi.starter.annotation.LogRecord;
|
import com.mzt.logapi.starter.annotation.LogRecord;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -40,7 +43,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.validation.ConstraintViolationException;
|
import javax.validation.ConstraintViolationException;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@ -84,6 +89,9 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ConfigApi configApi;
|
private ConfigApi configApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private UserRegisterEventPublisher publisher;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user.id}}",
|
@LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user.id}}",
|
||||||
@ -112,6 +120,8 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|||||||
|
|
||||||
// 3. 记录操作日志上下文
|
// 3. 记录操作日志上下文
|
||||||
LogRecordContext.putVariable("user", user);
|
LogRecordContext.putVariable("user", user);
|
||||||
|
|
||||||
|
publisher.publish(user);
|
||||||
return user.getId();
|
return user.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -501,5 +511,4 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|||||||
private String encodePassword(String password) {
|
private String encodePassword(String password) {
|
||||||
return passwordEncoder.encode(password);
|
return passwordEncoder.encode(password);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user