diff --git a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java index c6f2cc58..41e11691 100644 --- a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java +++ b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java @@ -8,6 +8,7 @@ import com.jero.common.system.vo.*; import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -288,7 +289,7 @@ public interface ISysBaseAPI extends CommonAPI { * @param templateCode 模板编码 必传 * @param map 模板替换参数 必传 */ - void sendEmailTemplateMsg(String email,String title,String templateCode,HashMap map); + void sendEmailTemplateMsg(String email, String title, String templateCode, Map map); /** * 41根据部门id查询部门所有的父级(不包含自己) * @author 马志朝 @@ -323,4 +324,13 @@ public interface ISysBaseAPI extends CommonAPI { * 发送短信验证码 */ void sendVerificationCode(String phone, String codeType, String codeTime,String templateParas); + /** + * 发送短信 + * @param phone 手机号 + * @param codeType 发送类型 + * @param codeTime 超时时间 + * @param templateCode 模板编码 + * @param map 参数集合 + */ + void sendSMS(String phone, String codeType, String codeTime,String templateCode,HashMap map); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java index c8fabfc5..84479260 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java @@ -94,4 +94,40 @@ public class ProjectCommon { * 邮寄状态(0:未邮寄,1:已邮寄) */ public final static Integer POST_STATUS1 = 1; + /** + * 收入合同处新增标识 flag = 1 + */ + public final static String FLAG = "1"; + /** + * 项目提醒 + */ + public final static String ALERT1 = "1"; + /** + * 合同提醒 + */ + public final static String ALERT2 = "2"; + /** + * 会议提醒 + */ + public final static String ALERT3 = "3"; + /** + * 打包提醒 + */ + public final static String ALERT4 = "4"; + /** + * 企业提醒 + */ + public final static String ALERT5 = "5"; + /** + * 文件提醒 + */ + public final static String ALERT6 = "6"; + /** + * 邮寄提醒 + */ + public final static String ALERT7 = "7"; + /** + * 催款提醒 + */ + public final static String ALERT8 = "8"; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java new file mode 100644 index 00000000..e7ae0c82 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java @@ -0,0 +1,9 @@ +package com.jero.common.common; + +public class RoleCommon { + + /** + * 项目负责人 + */ + public final static String XMFZR = "xmfzr"; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java new file mode 100644 index 00000000..64a6a7bb --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java @@ -0,0 +1,63 @@ +package com.jero.common.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.HashMap; + +/** +* @Description 发送短信,消息,邮件 +* @Author lqt +* @Date 2021/9/24 +*/ +@Data +public class SendMessageDTO implements Serializable { + /** + * 发送短信设置true + */ + private boolean sendSMS; + /** + * 发送消息设置true + */ + private boolean sendMessage; + /** + * 发送email设置true + */ + private boolean sendEmail; + /** + * 发送人(用户登录账户) + */ + private String fromUser; + /** + * 发送给(用户登录账户) + */ + private String toUser; + /** + * 手机号(发送短信必传) + */ + private String phone; + /** + * 邮箱地址(发送邮箱必传) + */ + private String email; + /** + * 消息主题 + */ + private String title; + /** + * 业务类型 + */ + private String busType; + /** + * 业务id + */ + private String busId; + /** + * 模板编码 + */ + private String templateCode; + /** + * 模板参数 + */ + private HashMap templateParam; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/SendMessageService.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/SendMessageService.java new file mode 100644 index 00000000..831afc97 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/SendMessageService.java @@ -0,0 +1,15 @@ +package com.jero.common.service; + +import com.jero.common.dto.SendMessageDTO; + +public interface SendMessageService { + /** + * @Description 发送短信,消息,邮件 + * @Author lqt + * @Date 2021/9/24 + * @Param sendMessageDTO + * @Return + * @Exception + */ + void SendMessageService(SendMessageDTO sendMessageDTO); +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java new file mode 100644 index 00000000..1e4fadab --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -0,0 +1,53 @@ +package com.jero.common.service.impl; + +import com.jero.common.api.dto.message.BusTemplateMessageDTO; +import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.service.SendMessageService; +import com.jero.common.system.api.ISysBaseAPI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Service; + +import java.util.Objects; +@Service +public class SendMessageServiceImpl implements SendMessageService { + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private Environment env; + /** + * 超时时间 + */ + private String time = "60"; + /** + * 短信类型 + */ + private String type = "5"; + + + @Override + public void SendMessageService(SendMessageDTO sendMessageDTO) { + // 发送邮件 true + if(sendMessageDTO.isSendEmail()){ + sysBaseAPI.sendEmailTemplateMsg(sendMessageDTO.getEmail(), sendMessageDTO.getTitle(), sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam()); + } + // 发送消息 + if(sendMessageDTO.isSendMessage()){ + BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO(); + busTemplateMessageDTO.setTitle(sendMessageDTO.getTitle()); + busTemplateMessageDTO.setFromUser(sendMessageDTO.getFromUser()); + busTemplateMessageDTO.setToUser(sendMessageDTO.getToUser()); + busTemplateMessageDTO.setTemplateCode(sendMessageDTO.getTemplateCode()); + busTemplateMessageDTO.setTemplateParam(sendMessageDTO.getTemplateParam()); + busTemplateMessageDTO.setBusType(sendMessageDTO.getBusType()); + busTemplateMessageDTO.setBusId(sendMessageDTO.getBusId()); + // 发送消息 + sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO); + } + // todo 发送短信 待完成 + if(Objects.equals(env.getProperty("huaWeiSms.open"),true) && sendMessageDTO.isSendSMS()){ + sysBaseAPI.sendSMS(sendMessageDTO.getPhone(),type,time,sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam()); + } + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java index da051033..83542ba0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java @@ -13,6 +13,7 @@ import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.api.vo.Result; +import com.jero.common.common.ProjectCommon; import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index e7472747..f04a5798 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -6,8 +6,11 @@ import javax.servlet.http.HttpServletRequest; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.dto.message.BusTemplateMessageDTO; import com.jero.common.api.vo.Result; +import com.jero.common.common.ProjectCommon; +import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.service.ProjectDetailService; +import com.jero.common.service.SendMessageService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.vo.LoginUser; @@ -53,6 +56,8 @@ public class PayWorkingGroupSubItemController extends JeroController{ - List listContactsEmail = listPayContactsManagementTemporary.stream().filter(item->Objects.equals(p.getContactsTemporaryIdOne(),item.getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContactsEmail)){ + List listContactsInfo = listPayContactsManagementTemporary.stream().filter(item->Objects.equals(p.getContactsTemporaryIdOne(),item.getId())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(listContactsInfo)){ return; } - if(StringUtils.isBlank(listContactsEmail.get(0).getEmail())){ + if(StringUtils.isBlank(listContactsInfo.get(0).getEmail()) || StringUtils.isBlank(listContactsInfo.get(0).getPhone())){ return; } HashMap map = new HashMap<>(); map.put("projectName",payWorkingGroup.getWorkingGroupProject()); - // 发送邮件 - sysBaseAPI.sendEmailTemplateMsg(PasswordUtil.decrypt(listContactsEmail.get(0).getEmail()), CompanyMessageEnums.MSG11.getValue(), CompanyMessageEnums.MSG11.getCode(),map); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO(); - busTemplateMessageDTO.setTitle(CompanyMessageEnums.MSG11.getValue()); - busTemplateMessageDTO.setFromUser(sysUser.getId()); - busTemplateMessageDTO.setToUser(sysUser.getUsername()); - busTemplateMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); - busTemplateMessageDTO.setTemplateParam(map); - busTemplateMessageDTO.setBusType("email"); - busTemplateMessageDTO.setBusId(p.getId()); // 发送消息 - sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO); + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setSendEmail(true); + sendMessageDTO.setSendMessage(true); + sendMessageDTO.setSendSMS(true); + sendMessageDTO.setTitle(ProjectCommon.ALERT8); + sendMessageDTO.setFromUser(sysUser.getId()); + sendMessageDTO.setToUser(sysUser.getUsername());// PasswordUtil.decrypt(listContactsInfo.get(0).getPhone()) + sendMessageDTO.setPhone(PasswordUtil.decrypt(listContactsInfo.get(0).getPhone())); + sendMessageDTO.setEmail(PasswordUtil.decrypt(listContactsInfo.get(0).getEmail())); + sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("email"); + sendMessageDTO.setBusId(p.getId()); + sendMessageService.SendMessageService(sendMessageDTO); }); return Result.OK("添加成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java index 01d48853..af83d35a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java @@ -199,4 +199,10 @@ public class PayCommonProject implements Serializable { @TableField(exist = false) @ApiModelProperty(value = "联系人邮箱") private String email; + /** + * 收入合同处新增标识 flag = 1 + */ + @TableField(exist = false) + @ApiModelProperty(value = "收入合同处新增标识 flag = 1") + private String flag; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java index 897094f4..682617e8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java @@ -5,15 +5,25 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; +import com.jero.common.common.ProjectCommon; +import com.jero.common.common.RoleCommon; +import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; +import com.jero.common.service.SendMessageService; +import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; import com.jero.common.vo.ProjectStatusVO; import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractService; +import com.jero.modules.system.entity.SysRole; import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysRoleService; import com.jero.modules.system.service.ISysUserService; import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompanyProject; @@ -34,6 +44,7 @@ import com.jero.temporary.service.IPayContactsManagementTemporaryService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -43,10 +54,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.lang.reflect.Array; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * @Description: pay_common_project @@ -74,6 +82,9 @@ public class PayCommonProjectServiceImpl extends ServiceImpl list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.XMFZR)); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(p->{ + if(StringUtils.isBlank(p.getEmail())){ + return; + } + HashMap map = new HashMap<>(); + map.put("projectName",payCommonProject.getChargeProject()); + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setSendEmail(true); + sendMessageDTO.setSendMessage(true); + sendMessageDTO.setSendSMS(true); + sendMessageDTO.setTitle(ProjectCommon.ALERT1); + sendMessageDTO.setFromUser(sysUser.getId()); + sendMessageDTO.setToUser(p.getUsername()); + sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone())); + sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail())); + sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("email"); + sendMessageDTO.setBusId(p.getId()); + sendMessageService.SendMessageService(sendMessageDTO); + }); + } + } + } @Override diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java index e0d71634..eac122be 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java @@ -32,6 +32,7 @@ public class SysAnnouncement implements Serializable { * 标题 */ @Excel(name = "标题", width = 15) + @Dict(dicCode = "message_type") private java.lang.String titile; /** * 内容 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java index 52752f6f..a92dda82 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java @@ -2,6 +2,7 @@ package com.jero.modules.system.model; import java.io.Serializable; +import com.jero.common.aspect.annotation.Dict; import org.springframework.format.annotation.DateTimeFormat; import com.baomidou.mybatisplus.annotation.IdType; @@ -29,6 +30,7 @@ public class AnnouncementSendModel implements Serializable { /**用户id*/ private java.lang.String userId; /**标题*/ + @Dict(dicCode = "message_type") private java.lang.String titile; /**内容*/ private java.lang.String msgContent; diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index c868d1bf..a780a314 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -243,4 +243,11 @@ public interface ISysUserService extends IService { String resetPassword(String username); void verificationChangePassword(SysLoginVO loginVO); + + /** + * 通过角色编码,查询角色下用户 + * @param roleCode 角色集合 + * @return + */ + List getRolesUser(List roleCode); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index 24c63a39..b42809ad 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -407,13 +407,13 @@ public class SysBaseApiImpl implements ISysBaseAPI { } SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); //模板标题 - title = title==null?sysSmsTemplate.getTemplateName():title; + // title = title==null?sysSmsTemplate.getTemplateName():title; //模板内容 String content = sysSmsTemplate.getTemplateContent(); if(map!=null) { for (Map.Entry entry : map.entrySet()) { String str = "${" + entry.getKey() + "}"; - title = title.replace(str, entry.getValue()); + // title = title.replace(str, entry.getValue()); content = content.replace(str, entry.getValue()); } } @@ -1015,7 +1015,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { } @Override - public void sendEmailTemplateMsg(String email,String title,String templateCode,HashMap map) { + public void sendEmailTemplateMsg(String email,String title,String templateCode,Map map) { if(StringUtils.isBlank(email)){ throw new JeroBootException("邮件接收人不能为空"); } @@ -1028,13 +1028,13 @@ public class SysBaseApiImpl implements ISysBaseAPI { } SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); //模板标题 - title = Objects.isNull(title) ? sysSmsTemplate.getTemplateName() : title; + // title = Objects.isNull(title) ? sysSmsTemplate.getTemplateName() : title; //模板内容 String content = sysSmsTemplate.getTemplateContent(); if(!Objects.isNull(map)) { for (Map.Entry entry : map.entrySet()) { String str = "${" + entry.getKey() + "}"; - title = title.replace(str, entry.getValue()); + // title = title.replace(str, entry.getValue()); content = content.replace(str, entry.getValue()); } } @@ -1059,6 +1059,33 @@ public class SysBaseApiImpl implements ISysBaseAPI { huaWeiSmsUtil.sendVerificationCode(phone, codeType, codeTime, templateParas); } + @Override + public void sendSMS(String phone, String codeType, String codeTime,String templateCode,HashMap map) { + if(StringUtils.isBlank(phone)){ + throw new JeroBootException("手机号不能为空"); + } + if(StringUtils.isBlank(templateCode)){ + throw new JeroBootException("模板编码不能为空"); + } + List sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); + if(CollectionUtils.isEmpty(sysSmsTemplates)){ + throw new JeroBootException("消息模板不存在,模板编码:"+templateCode); + } + SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); + //模板标题 + String title = sysSmsTemplate.getTemplateName(); + //模板内容 + String content = sysSmsTemplate.getTemplateContent(); + if(!Objects.isNull(map)) { + for (Map.Entry entry : map.entrySet()) { + String str = "${" + entry.getKey() + "}"; + title = title.replace(str, entry.getValue()); + content = content.replace(str, entry.getValue()); + } + } + huaWeiSmsUtil.sendVerificationCode(phone, codeType, codeTime, content); + } + /** * 根据部门id查询部门所有的父级(不包含自己) * @author 马志朝 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 56b4e8be..00c999ec 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -27,7 +27,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; +import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.util.*; @@ -520,6 +522,31 @@ public class SysUserServiceImpl extends ServiceImpl impl //SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper().eq(SysRole::getRoleCode, roles.get(0))); } + @Override + public List getRolesUser(List roleCode) { + if(CollectionUtils.isEmpty(roleCode)){ + throw new JeroBootException("角色编码为空!"); + } + LambdaQueryWrapper queryRole = new LambdaQueryWrapper<>(); + queryRole.in(SysRole::getRoleCode,roleCode); + List listSysRole = sysRoleMapper.selectList(queryRole); + if(CollectionUtils.isEmpty(listSysRole)){ + throw new JeroBootException("角色不存在!"); + } + List listRoleId = listSysRole.stream().map(SysRole::getId).collect(Collectors.toList()); + LambdaQueryWrapper querySysUserRole = new LambdaQueryWrapper<>(); + querySysUserRole.in(SysUserRole::getRoleId,listRoleId); + List listSysUserRole = sysUserRoleMapper.selectList(querySysUserRole); + if(StringUtils.isEmpty(listSysUserRole)){ + return null; + } + List listUserId = listSysUserRole.stream().map(SysUserRole::getUserId).collect(Collectors.toList()); + LambdaQueryWrapper querySysUser = new LambdaQueryWrapper<>(); + querySysUser.in(SysUser::getId,listUserId); + List listSysUser = userMapper.selectList(querySysUser); + return listSysUser; + } + /** * 忘记密码校验 * @param user