Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -0,0 +1,42 @@
|
|||||||
|
package com.jeelowcode.module.biz.controller;
|
||||||
|
|
||||||
|
import com.jeelowcode.core.framework.controller.BaseController;
|
||||||
|
import com.jeelowcode.framework.global.JeeLowCodeBaseConstant;
|
||||||
|
import com.jeelowcode.framework.tenant.annotation.JeeLowCodeTenantIgnore;
|
||||||
|
import com.jeelowcode.module.biz.service.IPortalTodoService;
|
||||||
|
import com.jeelowcode.tool.framework.common.pojo.CommonResult;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门户待办有关接口
|
||||||
|
*
|
||||||
|
* @author yangchenjj
|
||||||
|
*/
|
||||||
|
@JeeLowCodeTenantIgnore
|
||||||
|
@Tag(name = "低代码框架 - 门户待办有关接口")
|
||||||
|
@RestController
|
||||||
|
@AllArgsConstructor
|
||||||
|
@RequestMapping(JeeLowCodeBaseConstant.REQUEST_URL_START + "/portal-to-do/push-done")
|
||||||
|
public class PortalTodoController extends BaseController {
|
||||||
|
|
||||||
|
private final IPortalTodoService portalTodoService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 风险隐患推送待办完成
|
||||||
|
*
|
||||||
|
* @param workflowId 待办id
|
||||||
|
* @return boolean 推送结果
|
||||||
|
*/
|
||||||
|
@Operation(summary = "风险隐患推送待办完成")
|
||||||
|
@RequestMapping(value = "/risk-hazard/{workflowId}", method = RequestMethod.POST)
|
||||||
|
public CommonResult<Boolean> pushDoneRiskHazardWorkflow(@PathVariable("workflowId") Long workflowId) {
|
||||||
|
return CommonResult.success(portalTodoService.pushDoneRiskHazardWorkflow(workflowId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.jeelowcode.module.biz.service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待办系统接口
|
||||||
|
*
|
||||||
|
* @author yangchenjj
|
||||||
|
*/
|
||||||
|
public interface IPortalTodoService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 风险隐患推送待办完成
|
||||||
|
*
|
||||||
|
* @param workflowId 流程id
|
||||||
|
* @return boolean 推送结果
|
||||||
|
*/
|
||||||
|
boolean pushDoneRiskHazardWorkflow(Long workflowId);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
package com.jeelowcode.module.biz.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.codec.Base64;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.map.MapUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.jeelowcode.framework.plus.core.toolkit.StringUtils;
|
||||||
|
import com.jeelowcode.framework.utils.tool.spring.SpringUtils;
|
||||||
|
import com.jeelowcode.module.biz.service.IPortalTodoService;
|
||||||
|
import com.jeelowcode.module.biz.service.IRiskService;
|
||||||
|
import com.jeelowcode.service.bpm.config.framework.portal.core.PortalRequest;
|
||||||
|
import com.jeelowcode.service.bpm.config.framework.portal.core.dto.ReceiveRequestInfoDTO;
|
||||||
|
import com.jeelowcode.service.system.api.IApiAdminUserApi;
|
||||||
|
import com.jeelowcode.service.system.dto.AdminUserRespDTO;
|
||||||
|
import com.jeelowcode.tool.framework.common.util.object.BeanUtils;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import static com.jeelowcode.tool.framework.common.util.collection.CollectionUtils.getFirst;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待办系统接口实现类
|
||||||
|
*
|
||||||
|
* @author yangchenjj
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class PortalTodoServiceImpl implements IPortalTodoService {
|
||||||
|
|
||||||
|
private static final String SPACE = " ";
|
||||||
|
private static final String WORK_NODE_NAME = "整改风险隐患";
|
||||||
|
private static final String WORK_FLOW_NAME = "风险隐患信息";
|
||||||
|
// TODO 待办跳转链接,这个以后需要优化,通过配置去取这个链接,不能写死在这里
|
||||||
|
private static final String RISK_PC_URL = "/fx/table/view/1963446160885366786";
|
||||||
|
private static final String WORK_STATUS_TODO = "0";
|
||||||
|
private static final String WORK_STATUS_DONE = "2";
|
||||||
|
private static final String WORK_STATUS_COMPLETE = "4";
|
||||||
|
private static final String VIEW_TYPE_UNREAD = "0";
|
||||||
|
private static final String VIEW_TYPE_READ = "1";
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IRiskService riskService;
|
||||||
|
@Resource
|
||||||
|
private IApiAdminUserApi apiAdminUserApi;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean pushDoneRiskHazardWorkflow(Long id) {
|
||||||
|
// 0.1.查找风险隐患数据,如果查不到则放弃推送
|
||||||
|
Map<String, Object> risk = riskService.getRiskById(id);
|
||||||
|
if (MapUtil.isEmpty(risk)) return false;
|
||||||
|
// 0.2.从容器中获取 PortalRequest 对象,如果没有配置则放弃通知
|
||||||
|
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
||||||
|
if (ObjectUtil.isNull(portalRequest)) return false;
|
||||||
|
|
||||||
|
// 1.构建请求参数,准备推送待办信息
|
||||||
|
// 1.1.拼接标题
|
||||||
|
String requestName = DateUtil.formatDate((Date) risk.getOrDefault("check_date", new Date())) + SPACE +
|
||||||
|
risk.getOrDefault("parkName", "") + SPACE +
|
||||||
|
risk.getOrDefault("check_area", "") + SPACE +
|
||||||
|
risk.getOrDefault("check_content", "") + SPACE +
|
||||||
|
risk.getOrDefault("check_problem", "") + SPACE +
|
||||||
|
risk.getOrDefault("check_people", "");
|
||||||
|
// 1.2.暂时先使用创建人当作发送人 TODO 需要升级存储检查人的username
|
||||||
|
Long createUserId = Objects.isNull(risk.get("create_user")) ? null : (Long) risk.get("create_user");
|
||||||
|
AdminUserRespDTO createUser = Optional.ofNullable(createUserId)
|
||||||
|
.map(userId -> apiAdminUserApi.getUser(userId))
|
||||||
|
.orElse(new AdminUserRespDTO());
|
||||||
|
Date createDateTime = Objects.isNull(risk.get("create_time")) ? new Date() : (Date) risk.get("create_time");
|
||||||
|
|
||||||
|
// 1.3.从风险隐患数据中获取整改确认人 TODO 需要升级存储整改确认人的username
|
||||||
|
String corrective_confirm_people = Objects.isNull(risk.get("corrective_confirm_people")) ? null : (String) risk.get("corrective_confirm_people");
|
||||||
|
List<AdminUserRespDTO> confirmUserList = Optional.ofNullable(corrective_confirm_people)
|
||||||
|
.map(userName -> apiAdminUserApi.getUserListByNickname(userName))
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
|
// 如果没有整改确认人则放弃通知
|
||||||
|
if (confirmUserList.isEmpty()) return false;
|
||||||
|
String receiver = Optional.ofNullable(getFirst(confirmUserList))
|
||||||
|
.map(AdminUserRespDTO::getUsername).orElse(null);
|
||||||
|
if (StringUtils.isEmpty(receiver)) return false;
|
||||||
|
|
||||||
|
// 1.2.组织请求数据
|
||||||
|
ReceiveRequestInfoDTO todoRequestDTO = new ReceiveRequestInfoDTO()
|
||||||
|
.setFlowId(Base64.encode(String.valueOf(id)))
|
||||||
|
.setRequestName(requestName)
|
||||||
|
.setWorkflowName(WORK_FLOW_NAME)
|
||||||
|
.setNodeName(WORK_NODE_NAME)
|
||||||
|
.setPcUrl(RISK_PC_URL)
|
||||||
|
.setIsRemark(WORK_STATUS_DONE)
|
||||||
|
.setViewType(VIEW_TYPE_READ)
|
||||||
|
.setCreator(createUser.getUsername())
|
||||||
|
.setCreateDateTime(createDateTime)
|
||||||
|
.setReceiver(receiver)
|
||||||
|
.setReceiveDateTime(new Date())
|
||||||
|
.setReceiveTs(String.valueOf(System.currentTimeMillis()));
|
||||||
|
ReceiveRequestInfoDTO completeRequestDTO = BeanUtils.toBean(todoRequestDTO, ReceiveRequestInfoDTO.class);
|
||||||
|
completeRequestDTO.setIsRemark(WORK_STATUS_COMPLETE);
|
||||||
|
|
||||||
|
// 2.推送待办信息,使用try-catch避免影响上层调用方法的事务回滚
|
||||||
|
try {
|
||||||
|
portalRequest.receiveRequestInfo(todoRequestDTO);
|
||||||
|
portalRequest.receiveRequestInfo(completeRequestDTO);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("推送待办信息失败", e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,25 +1,26 @@
|
|||||||
|
|
||||||
package com.jeelowcode.module.biz.service.impl;
|
package com.jeelowcode.module.biz.service.impl;
|
||||||
|
|
||||||
import com.jeelowcode.core.framework.mapper.JeeLowCodeSqlMapper;
|
import cn.hutool.core.codec.Base64;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.map.MapUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.jeelowcode.core.framework.service.IFrameSqlService;
|
import com.jeelowcode.core.framework.service.IFrameSqlService;
|
||||||
import com.jeelowcode.framework.global.JeeLowCodeBaseConstant;
|
|
||||||
import com.jeelowcode.framework.plus.SqlHelper;
|
import com.jeelowcode.framework.plus.SqlHelper;
|
||||||
import com.jeelowcode.framework.plus.build.buildmodel.wrapper.SqlInfoQueryWrapper;
|
import com.jeelowcode.framework.plus.build.buildmodel.wrapper.SqlInfoQueryWrapper;
|
||||||
import com.jeelowcode.framework.plus.core.model.SqlFormatModel;
|
import com.jeelowcode.framework.plus.core.toolkit.StringUtils;
|
||||||
import com.jeelowcode.module.biz.service.IPlanIssusService;
|
import com.jeelowcode.framework.utils.tool.spring.SpringUtils;
|
||||||
import com.jeelowcode.module.biz.service.IRiskService;
|
import com.jeelowcode.module.biz.service.IRiskService;
|
||||||
import com.jeelowcode.service.system.controller.vo.notify.template.NotifyTemplateSendReqVO;
|
import com.jeelowcode.service.bpm.config.framework.portal.core.PortalRequest;
|
||||||
import com.jeelowcode.service.system.service.INotifySendService;
|
import com.jeelowcode.service.bpm.config.framework.portal.core.dto.ReceiveRequestInfoDTO;
|
||||||
|
import com.jeelowcode.service.system.api.IApiAdminUserApi;
|
||||||
|
import com.jeelowcode.service.system.dto.AdminUserRespDTO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import static com.jeelowcode.tool.framework.common.util.collection.CollectionUtils.getFirst;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,40 +30,83 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
public class RiskServiceImpl implements IRiskService {
|
public class RiskServiceImpl implements IRiskService {
|
||||||
|
|
||||||
@Autowired
|
private static final String SPACE = " ";
|
||||||
|
private static final String WORK_NODE_NAME = "整改风险隐患";
|
||||||
|
private static final String WORK_FLOW_NAME = "风险隐患信息";
|
||||||
|
// TODO 待办跳转链接,这个以后需要优化,通过配置去取这个链接,不能写死在这里
|
||||||
|
private static final String RISK_PC_URL = "/fx/table/view/1963446160885366786";
|
||||||
|
private static final String WORK_STATUS_TODO = "0";
|
||||||
|
private static final String WORK_STATUS_DONE = "2";
|
||||||
|
private static final String VIEW_TYPE_UNREAD = "0";
|
||||||
|
private static final String VIEW_TYPE_READ = "1";
|
||||||
|
|
||||||
|
@Resource
|
||||||
private IFrameSqlService sqlService;
|
private IFrameSqlService sqlService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private INotifySendService notifySendService;
|
private IApiAdminUserApi apiAdminUserApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发生消息给整改人
|
* 发生消息给整改人
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void sendNotify2Corrective(Long id) {
|
public void sendNotify2Corrective(Long id) {
|
||||||
// 根据ID查找风险隐患数据
|
// 0.1.查找风险隐患数据,如果查不到任务可以结束了
|
||||||
Map<String, Object> risk = getRiskById(id);
|
Map<String, Object> risk = this.getRiskById(id);
|
||||||
NotifyTemplateSendReqVO sendReqVO=new NotifyTemplateSendReqVO();
|
if (MapUtil.isEmpty(risk)) return;
|
||||||
// 构建消息参数
|
|
||||||
List<Long> userIdList = new ArrayList<>();
|
|
||||||
Map<String, Object> templateParams=new HashMap<>();
|
|
||||||
userIdList.add( Long.valueOf(risk.get("corrective_charge_people_id").toString()));
|
|
||||||
userIdList.add( Long.valueOf(risk.get("corrective_confirm_people_id").toString()));
|
|
||||||
sendReqVO.setUserIdList(userIdList);
|
|
||||||
|
|
||||||
templateParams.put("check_date",risk.get("check_date"));
|
// 0.2.从容器中获取 PortalRequest 对象,如果没有配置则放弃通知
|
||||||
templateParams.put("parkName",risk.get("parkName"));
|
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
||||||
templateParams.put("check_area",risk.get("check_area"));
|
if (ObjectUtil.isNull(portalRequest)) return;
|
||||||
templateParams.put("check_content",risk.get("check_content"));
|
|
||||||
templateParams.put("check_problem",risk.get("check_problem"));
|
|
||||||
templateParams.put("check_people",risk.get("check_people"));
|
|
||||||
sendReqVO.setTemplateCode("risk_corrective_notice");
|
|
||||||
|
|
||||||
sendReqVO.setTemplateParams(templateParams);
|
// 1.构建请求参数,准备推送待办信息
|
||||||
// 发送消息
|
// 1.1.拼接标题
|
||||||
notifySendService.sendSingleNotifyToAdmin(sendReqVO.getUserIdList(),
|
String requestName = DateUtil.formatDate((Date) risk.getOrDefault("check_date", new Date())) + SPACE +
|
||||||
sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams());
|
risk.getOrDefault("parkName", "") + SPACE +
|
||||||
|
risk.getOrDefault("check_area", "") + SPACE +
|
||||||
|
risk.getOrDefault("check_content", "") + SPACE +
|
||||||
|
risk.getOrDefault("check_problem", "") + SPACE +
|
||||||
|
risk.getOrDefault("check_people", "");
|
||||||
|
|
||||||
|
// 1.2.暂时先使用创建人当作发送人 TODO 需要升级存储检查人的username
|
||||||
|
Long createUserId = Objects.isNull(risk.get("create_user")) ? null : (Long) risk.get("create_user");
|
||||||
|
AdminUserRespDTO createUser = Optional.ofNullable(createUserId)
|
||||||
|
.map(userId -> apiAdminUserApi.getUser(userId))
|
||||||
|
.orElse(new AdminUserRespDTO());
|
||||||
|
Date createDateTime = Objects.isNull(risk.get("create_time")) ? new Date() : (Date) risk.get("create_time");
|
||||||
|
|
||||||
|
// 1.3.从风险隐患数据中获取整改确认人 TODO 需要升级存储整改确认人的username
|
||||||
|
String corrective_confirm_people = Objects.isNull(risk.get("corrective_confirm_people")) ? null : (String) risk.get("corrective_confirm_people");
|
||||||
|
List<AdminUserRespDTO> confirmUserList = Optional.ofNullable(corrective_confirm_people)
|
||||||
|
.map(userName -> apiAdminUserApi.getUserListByNickname(userName))
|
||||||
|
.orElse(Collections.emptyList());
|
||||||
|
// 如果没有整改确认人则放弃通知
|
||||||
|
if (confirmUserList.isEmpty()) return;
|
||||||
|
String receiver = Optional.ofNullable(getFirst(confirmUserList))
|
||||||
|
.map(AdminUserRespDTO::getUsername).orElse(null);
|
||||||
|
if (StringUtils.isEmpty(receiver)) return;
|
||||||
|
|
||||||
|
// 1.2.组织请求数据
|
||||||
|
ReceiveRequestInfoDTO requestDTO = new ReceiveRequestInfoDTO()
|
||||||
|
.setFlowId(Base64.encode(String.valueOf(id)))
|
||||||
|
.setRequestName(requestName)
|
||||||
|
.setWorkflowName(WORK_FLOW_NAME)
|
||||||
|
.setNodeName(WORK_NODE_NAME)
|
||||||
|
.setPcUrl(RISK_PC_URL)
|
||||||
|
.setIsRemark(WORK_STATUS_TODO)
|
||||||
|
.setViewType(VIEW_TYPE_UNREAD)
|
||||||
|
.setCreator(createUser.getUsername())
|
||||||
|
.setCreateDateTime(createDateTime)
|
||||||
|
.setReceiver(receiver)
|
||||||
|
.setReceiveDateTime(new Date())
|
||||||
|
.setReceiveTs(String.valueOf(System.currentTimeMillis()));
|
||||||
|
|
||||||
|
// 2.将请求包裹在try catch 中,避免异常导致上层调用方法事务回滚
|
||||||
|
try {
|
||||||
|
portalRequest.receiveRequestInfo(requestDTO);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("发送待办信息失败", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,37 +114,17 @@ public class RiskServiceImpl implements IRiskService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void sendNotify2Check(Long id) {
|
public void sendNotify2Check(Long id) {
|
||||||
// 根据ID查找风险隐患数据
|
// 空实现目前业务需求并不需要发送给检查人
|
||||||
Map<String, Object> risk = getRiskById(id);
|
|
||||||
NotifyTemplateSendReqVO sendReqVO=new NotifyTemplateSendReqVO();
|
|
||||||
// 构建消息参数
|
|
||||||
List<Long> userIdList = new ArrayList<>();
|
|
||||||
Map<String, Object> templateParams=new HashMap<>();
|
|
||||||
userIdList.add( Long.valueOf(risk.get("check_people_id").toString()));
|
|
||||||
sendReqVO.setUserIdList(userIdList);
|
|
||||||
|
|
||||||
templateParams.put("billNo",risk.get("billNo"));
|
|
||||||
templateParams.put("check_date",risk.get("check_date"));
|
|
||||||
templateParams.put("parkName",risk.get("parkName"));
|
|
||||||
templateParams.put("check_area",risk.get("check_area"));
|
|
||||||
templateParams.put("check_content",risk.get("check_content"));
|
|
||||||
templateParams.put("check_problem",risk.get("check_problem"));
|
|
||||||
sendReqVO.setTemplateCode("risk_check_notify");
|
|
||||||
|
|
||||||
sendReqVO.setTemplateParams(templateParams);
|
|
||||||
// 发送消息
|
|
||||||
notifySendService.sendSingleNotifyToAdmin(sendReqVO.getUserIdList(),
|
|
||||||
sendReqVO.getTemplateCode(), sendReqVO.getTemplateParams());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> getRiskById(long id) {
|
public Map<String, Object> getRiskById(long id) {
|
||||||
SqlInfoQueryWrapper.Wrapper wrapper = SqlHelper.getQueryWrapper();
|
SqlInfoQueryWrapper.Wrapper wrapper = SqlHelper.getQueryWrapper();
|
||||||
wrapper.setTableName("lc_risk_hazard_manage");
|
wrapper.setTableName("lc_risk_hazard_manage");
|
||||||
wrapper.setWhere(where->{
|
wrapper.setWhere(where -> {
|
||||||
where.eq("id",id);
|
where.eq("id", id);
|
||||||
});
|
});
|
||||||
Map<String, Object> dataMap = sqlService.getDataOneByPlus(wrapper);
|
return sqlService.getDataOneByPlus(wrapper);
|
||||||
return dataMap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,4 +79,12 @@ public interface IApiAdminUserApi {
|
|||||||
*/
|
*/
|
||||||
void validateUserList(Collection<Long> ids);
|
void validateUserList(Collection<Long> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过用户昵称,获得用户列表
|
||||||
|
*
|
||||||
|
* @param nickname 昵称
|
||||||
|
* @return 用户列表
|
||||||
|
*/
|
||||||
|
List<AdminUserRespDTO> getUserListByNickname(String nickname);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static com.jeelowcode.tool.framework.common.util.collection.CollectionUtils.convertSet;
|
import static com.jeelowcode.tool.framework.common.util.collection.CollectionUtils.convertSet;
|
||||||
@@ -55,4 +56,10 @@ public class ApiAdminUserApiImpl implements IApiAdminUserApi {
|
|||||||
userService.validateUserList(ids);
|
userService.validateUserList(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AdminUserRespDTO> getUserListByNickname(String nickname) {
|
||||||
|
List<AdminUserDO> users = userService.getUserListByNickname(nickname);
|
||||||
|
return BeanUtils.toBean(users, AdminUserRespDTO.class);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user