新增查询用户和根据用户名发送钉钉消息的方法

yun-zuoyi
nies 3 years ago
parent a34dd143d2
commit 3250c79ee3

@ -3,6 +3,8 @@ package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.shirotoken.BaseToken;
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserModel;
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserResultModel;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.ApiOperation;
@ -406,4 +408,29 @@ public interface ISysUserService {
*/
@ApiOperation(value = "获取用户菜单信息")
void packUser(SysUser user);
/**
* andonmodel
* @param andonQueryUserModel
* @param pager
* @return
*/
@ApiOperation(value = "根据andon查询model查询用户信息")
ListPager<AndonQueryUserResultModel> findUserByAndonQueryUserModel(AndonQueryUserModel andonQueryUserModel, Pager pager);
/**
* sysUser to AndonQueryUserResultModel
* @param sysUserList
* @return
*/
List<AndonQueryUserResultModel> packAndonQueryUserResultModel(List<SysUser> sysUserList);
/**
*
* @param userLoginNamegenList
* @return
*/
@ApiOperation(value = "获取批量账号信息", notes = "查询用户信息-批量根据登录名称查询")
List<SysUser> findSysUserByLoginName(List<String> userLoginNamegenList);
}

@ -62,6 +62,7 @@ import com.google.common.cache.CacheBuilder;
import com.taobao.api.ApiException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jodd.util.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.*;
import org.slf4j.Logger;
@ -1110,6 +1111,42 @@ public class WhiteController extends CoreBaseController {
* @param dingSendBatchRequestModel
* @return
*/
@PostMapping(value = "/dingRobot/sendBatchRequestByUserLoginName")
@ApiOperation(value = "根据登录用户名 钉钉单聊机器人批量发送消息", notes = "根据登录用户名 钉钉单聊机器人批量发送消息")
public ResultBean singleRobotsendBatchRequestByUserLoginName(@RequestBody DingSendBatchRequestModel dingSendBatchRequestModel ) {
if(ObjectUtils.isEmpty(dingSendBatchRequestModel)){
return ResultBean.fail("消息内容不能为空");
}
if(ObjectUtils.isEmpty(dingSendBatchRequestModel.getUserLoginNameList())){
return ResultBean.fail("登录用户名不能为空");
}
List<String> userLoginNameList = dingSendBatchRequestModel.getUserLoginNameList();
userLoginNameList = userLoginNameList.stream().filter(StringUtils::isNotBlank).distinct().collect(Collectors.toList());
if(ObjectUtils.isEmpty(userLoginNameList)){
return ResultBean.fail("登录用户名不能为空");
}
List<SysUser> userList = userService.findSysUserByLoginName(userLoginNameList);
if(ObjectUtils.isEmpty(userList)){
return ResultBean.fail("登录用户名没有对应的账号");
}
List<String> phoneNumberList =userList.stream().map(SysUser::getUserPhone).filter(StringUtils::isNotBlank).distinct().collect(Collectors.toList());
if(ObjectUtils.isEmpty(userList)){
return ResultBean.fail("登录用户名没有对应的手机号");
}
dingSendBatchRequestModel.setPhoneNumberList(phoneNumberList);
return singleRobotsendBatchRequest(dingSendBatchRequestModel);
}
/**
*
*/
private final int MAX_DINGROBOT_SEND_NUM = 1000;
/**
*
* @param dingSendBatchRequestModel
* @return
*/
@PostMapping(value = "/dingRobot/sendBatchRequest")
@ApiOperation(value = "根据手机号 钉钉单聊机器人批量发送消息", notes = "根据手机号 钉钉单聊机器人批量发送消息")
public ResultBean singleRobotsendBatchRequest(@RequestBody DingSendBatchRequestModel dingSendBatchRequestModel ) {
@ -1125,7 +1162,7 @@ public class WhiteController extends CoreBaseController {
if (ObjectUtils.isEmpty(phoneNumberList)) {
return ResultBean.fail("手机号不能为空");
}
phoneNumberList = phoneNumberList.stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
phoneNumberList = phoneNumberList.stream().filter(StringUtils::isNotBlank).distinct().collect(Collectors.toList());
if (ObjectUtils.isEmpty(phoneNumberList)) {
return ResultBean.fail("手机号不能为空");
}

@ -23,6 +23,8 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.platform.AccountExportModel;
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserModel;
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserResultModel;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
@ -35,6 +37,7 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.text.StrBuilder;
import org.apache.commons.lang3.RandomStringUtils;
import org.slf4j.Logger;
@ -872,4 +875,38 @@ public class SysUserController extends CoreBaseController {
}
}
@GetMapping(value = "/query-user-andonQueryUserModel")
@ApiOperation(value = "根据andonQueryUserModel查询系统用户")
public ResultBean queryUserByAndonQueryUserModel(AndonQueryUserModel andonQueryUserModel, Pager pager) {
try {
ValidatorBean.checkNotNull(andonQueryUserModel);
if (StringUtils.isBlank(andonQueryUserModel.getOrganizeCode())) {
andonQueryUserModel.setOrganizeCode(AuthUtil.getOrganizeCode());
}
if (ObjectUtils.isEmpty(pager)) {
pager = Pager.defaultPager();
}
ListPager<AndonQueryUserResultModel> resultList = sysUserService.findUserByAndonQueryUserModel(andonQueryUserModel, pager);
return ResultBean.success("操作成功").setListPager(resultList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/query-user-by-org")
@ApiOperation(value = "根据orgCode查询Sysuser用户")
public ResultBean queryUserByOrg(String organizeCode) {
try {
List<SysUser> sysUsers = sysUserService.querySysUserByOrganizeCode(organizeCode);
return ResultBean.success("操作成功").setResultList(sysUserService.packAndonQueryUserResultModel(sysUsers)).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -19,6 +19,8 @@ import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserModel;
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserResultModel;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.repository.SysLogUserLoginRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserDepartmentRepository;
@ -160,8 +162,7 @@ public class SysUserService implements ISysUserService {
} catch (ImppBusiException e) {
e.printStackTrace();
resultBean = ResultBean.fail(e);
}
catch (CredentialsException e) {
} catch (CredentialsException e) {
// 用户名或密码错误
e.printStackTrace();
resultBean = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_NAME);
@ -187,8 +188,7 @@ public class SysUserService implements ISysUserService {
resultBean.setErrorMsg(e.getMessage());
}
LOGGER.warn("Impp业务异常AuthenticationException 登录失败 ", e);
}
catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
resultBean = ResultBean.fail(e);
if (e.getCause() != null) {
@ -207,8 +207,7 @@ public class SysUserService implements ISysUserService {
this.refreshUserLoginDateTime(user.getId(), user.getUserInfoId());
}
}
}
catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
@ -693,7 +692,7 @@ public class SysUserService implements ISysUserService {
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(distinctUserIds)) {
return null;
return new ArrayList();
}
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getInPackList(distinctUserIds, "id", packBean);
@ -1027,6 +1026,42 @@ public class SysUserService implements ISysUserService {
}
@Override
public ListPager<AndonQueryUserResultModel> findUserByAndonQueryUserModel(AndonQueryUserModel andonQueryUserModel, Pager pager) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(andonQueryUserModel.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(andonQueryUserModel.getOrganizeCode(), "organizeCode", ddlPackBean);
DdlPreparedPack.getStringLikerPack(andonQueryUserModel.getDepartment(), "departmentNameRdd", ddlPackBean);
DdlPreparedPack.getStringLikerPack(andonQueryUserModel.getUserLoginName(), "userLoginName", ddlPackBean);
DdlPreparedPack.getStringLikerPack(andonQueryUserModel.getUserName(), "userName", ddlPackBean);
pager = PagerHelper.getPager(pager, userRDao.findByHqlWhereCount(ddlPackBean));
return new ListPager(packAndonQueryUserResultModel(userRDao.findByHqlWherePage(ddlPackBean, pager)), pager);
}
@Override
public List<AndonQueryUserResultModel> packAndonQueryUserResultModel(List<SysUser> sysUserList) {
if (ObjectUtils.isEmpty(sysUserList)) {
return new ArrayList<>();
}
return sysUserList.stream().map(el -> {
AndonQueryUserResultModel andonQueryUserModel = new AndonQueryUserResultModel();
andonQueryUserModel.setDepartment(el.getDepartmentNameRdd());
andonQueryUserModel.setLoginName(el.getUserLoginName());
andonQueryUserModel.setUserId(el.getId());
andonQueryUserModel.setUserInfoId(el.getUserInfoId());
andonQueryUserModel.setUserName(el.getUserName());
return andonQueryUserModel;
}).collect(Collectors.toList());
}
@Override
public List<SysUser> findSysUserByLoginName(List<String> userLoginNamegenList) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getInPackList(userLoginNamegenList,"userLoginName",ddlPackBean);
return userRDao.findByHqlWhere(ddlPackBean);
}
/**
*
*

Loading…
Cancel
Save