| | |
| | | |
| | | return CommonResult.success(res, "ok"); |
| | | } catch (Exception e) { |
| | | return CommonResult.failed("fail!"); |
| | | return CommonResult.failed("图片格式只能为jpg、jpeg、png,只修改文件的后缀无效!"); |
| | | } |
| | | } |
| | | |
| | |
| | | @TableField(exist = false) |
| | | private String departName; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "用户类型") |
| | | private Byte userType; |
| | | |
| | |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @TableName("ums_menu") |
| | | @ApiModel(value="UmsMenu对象", description="后台菜单表") |
| | | @ApiModel(value = "UmsMenu对象", description = "后台菜单表") |
| | | public class UmsMenu implements Serializable { |
| | | |
| | | private static final long serialVersionUID=1L; |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | |
| | | @ApiModelProperty(value = "菜单名称") |
| | | private String title; |
| | | |
| | | @ApiModelProperty(value = "url路由") |
| | | private String url; |
| | | |
| | | @ApiModelProperty(value = "菜单级数") |
| | | private Integer level; |
| | | |
| | |
| | | List<UmsMenuVo> ListTreeMyself(Long id); |
| | | |
| | | String getPermission(Long userId); |
| | | |
| | | UmsMenuNode covertMenuNode(UmsMenu menu, List<UmsMenu> menuList); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ycl.dto.UmsMenuNode; |
| | | import com.ycl.entity.user.UmsMenu; |
| | | import com.ycl.entity.user.UmsResource; |
| | | import com.ycl.entity.user.UmsRole; |
| | |
| | | /** |
| | | * 根据管理员ID获取对应菜单 |
| | | */ |
| | | List<UmsMenu> getMenuList(Long adminId); |
| | | List<UmsMenuNode> getMenuList(Long adminId); |
| | | |
| | | /** |
| | | * 获取角色相关菜单 |
| | |
| | | umsDepartManage.setDepartId(departId); |
| | | umsDepartManageMapper.insert(umsDepartManage); |
| | | UmsAdmin umsAdmin = new UmsAdmin(); |
| | | umsAdmin.setDepartmentId(departId); |
| | | //umsAdmin.setDepartmentId(departId); |
| | | umsAdmin.setId(userId); |
| | | umsAdminService.updateById(umsAdmin); |
| | | } |
| | |
| | | /** |
| | | * 将UmsMenu转化为UmsMenuNode并设置children属性 |
| | | */ |
| | | private UmsMenuNode covertMenuNode(UmsMenu menu, List<UmsMenu> menuList) { |
| | | @Override |
| | | public UmsMenuNode covertMenuNode(UmsMenu menu, List<UmsMenu> menuList) { |
| | | UmsMenuNode node = new UmsMenuNode(); |
| | | BeanUtils.copyProperties(menu, node); |
| | | List<UmsMenuNode> children = menuList.stream() |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ycl.dto.UmsMenuNode; |
| | | import com.ycl.entity.dict.DataDictionary; |
| | | import com.ycl.entity.user.*; |
| | | import com.ycl.mapper.dict.DataDictionaryMapper; |
| | | import com.ycl.mapper.user.UmsMenuMapper; |
| | | import com.ycl.mapper.user.UmsResourceMapper; |
| | | import com.ycl.mapper.user.UmsRoleMapper; |
| | | import com.ycl.service.user.UmsAdminCacheService; |
| | | import com.ycl.service.user.UmsRoleMenuRelationService; |
| | | import com.ycl.service.user.UmsRoleResourceRelationService; |
| | | import com.ycl.service.user.UmsRoleService; |
| | | import com.ycl.service.user.*; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | private UmsRoleMenuRelationService roleMenuRelationService; |
| | | @Autowired |
| | | private UmsRoleResourceRelationService roleResourceRelationService; |
| | | |
| | | private UmsMenuService umsMenuService; |
| | | @Autowired |
| | | public void setUmsMenuService(UmsMenuService umsMenuService) { |
| | | this.umsMenuService = umsMenuService; |
| | | } |
| | | |
| | | @Resource |
| | | private UmsMenuMapper umsMenuMapper; |
| | | @Resource |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<UmsMenu> getMenuList(Long adminId) { |
| | | return umsMenuMapper.getMenuList(adminId); |
| | | public List<UmsMenuNode> getMenuList(Long adminId) { |
| | | List<UmsMenu> menuList = umsMenuMapper.getMenuList(adminId); |
| | | List<UmsMenuNode> result = menuList.stream() |
| | | .filter(menu -> menu.getParentId().equals(0L)) |
| | | .map(menu -> umsMenuService.covertMenuNode(menu, menuList)).collect(Collectors.toList()); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<UmsMenu> listMenu(Long roleId) { |
| | | return umsMenuMapper.getMenuListByRoleId(roleId); |
| | |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.ycl.entity.user.UmsMenu"> |
| | | <id column="id" property="id" /> |
| | | <result column="parent_id" property="parentId" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="title" property="title" /> |
| | | <result column="level" property="level" /> |
| | | <result column="sort" property="sort" /> |
| | | <result column="name" property="name" /> |
| | | <result column="icon" property="icon" /> |
| | | <result column="hidden" property="hidden" /> |
| | | <id column="id" property="id"/> |
| | | <result column="parent_id" property="parentId"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="title" property="title"/> |
| | | <result column="level" property="level"/> |
| | | <result column="sort" property="sort"/> |
| | | <result column="name" property="name"/> |
| | | <result column="icon" property="icon"/> |
| | | <result column="hidden" property="hidden"/> |
| | | </resultMap> |
| | | |
| | | <select id="getMenuList" resultType="com.ycl.entity.user.UmsMenu"> |
| | | SELECT |
| | | m.id id, |
| | | m.parent_id parentId, |
| | | m.create_time createTime, |
| | | m.title title, |
| | | m.level level, |
| | | m.sort sort, |
| | | m.name name, |
| | | m.icon icon, |
| | | m.hidden hidden |
| | | FROM |
| | | ums_admin_role_relation arr |
| | | LEFT JOIN ums_role r ON arr.role_id = r.id |
| | | LEFT JOIN ums_role_menu_relation rmr ON r.id = rmr.role_id |
| | | LEFT JOIN ums_menu m ON rmr.menu_id = m.id |
| | | WHERE |
| | | arr.admin_id = #{adminId} |
| | | SELECT distinct m.id, |
| | | m.parent_id parentId, |
| | | m.create_time createTime, |
| | | m.title, |
| | | m.url, |
| | | m.level, |
| | | m.sort, |
| | | m.name, |
| | | m.icon, |
| | | m.hidden |
| | | FROM ums_admin_role_relation arr |
| | | LEFT JOIN ums_role r ON arr.role_id = r.id |
| | | LEFT JOIN ums_role_menu_relation rmr ON r.id = rmr.role_id |
| | | LEFT JOIN ums_menu m ON rmr.menu_id = m.id |
| | | WHERE arr.admin_id = #{adminId} |
| | | AND m.id IS NOT NULL |
| | | GROUP BY |
| | | m.id |
| | | Order BY m.`level`, m.sort |
| | | </select> |
| | | <select id="getMenuListByRoleId" resultType="com.ycl.entity.user.UmsMenu"> |
| | | SELECT |
| | | m.id id, |
| | | m.parent_id parentId, |
| | | m.create_time createTime, |
| | | m.title title, |
| | | m.level level, |
| | | m.sort sort, |
| | | m.name name, |
| | | m.icon icon, |
| | | m.hidden hidden |
| | | FROM |
| | | ums_role_menu_relation rmr |
| | | LEFT JOIN ums_menu m ON rmr.menu_id = m.id |
| | | WHERE |
| | | rmr.role_id = #{roleId} |
| | | SELECT m.id id, |
| | | m.parent_id parentId, |
| | | m.create_time createTime, |
| | | m.title title, |
| | | m.level level, |
| | | m.sort sort, |
| | | m.name name, |
| | | m.icon icon, |
| | | m.hidden hidden |
| | | FROM ums_role_menu_relation rmr |
| | | LEFT JOIN ums_menu m ON rmr.menu_id = m.id and m.leaf = 1 |
| | | WHERE rmr.role_id = #{roleId} |
| | | AND m.id IS NOT NULL |
| | | GROUP BY |
| | | m.id |
| | | GROUP BY m.id |
| | | </select> |
| | | |
| | | <select id="adminMenuRelation" resultType="com.ycl.entity.user.vo.UmsMenuVo"> |
| | | SELECT |
| | | amr.id AS relationId, |
| | | amr.is_start AS isStart, |
| | | amr.sort, |
| | | m.id, |
| | | m.parent_id AS parentId, |
| | | m.title, |
| | | m.url, |
| | | m.`level`, |
| | | m.description, |
| | | m.create_time as createTime, |
| | | m.hidden, |
| | | m.icon |
| | | FROM |
| | | `ums_admin_menu_relation` AS amr |
| | | JOIN ums_menu AS m ON amr.menu_id = m.id |
| | | WHERE |
| | | amr.admin_id = #{id} |
| | | SELECT amr.id AS relationId, |
| | | amr.is_start AS isStart, |
| | | amr.sort, |
| | | m.id, |
| | | m.parent_id AS parentId, |
| | | m.title, |
| | | m.url, |
| | | m.`level`, |
| | | m.description, |
| | | m.create_time as createTime, |
| | | m.hidden, |
| | | m.icon |
| | | FROM `ums_admin_menu_relation` AS amr |
| | | JOIN ums_menu AS m ON amr.menu_id = m.id |
| | | WHERE amr.admin_id = #{id} |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | @RequestMapping(value = "/delete", method = RequestMethod.POST) |
| | | @ResponseBody |
| | | public CommonResult delete(@RequestParam("ids") List<Long> ids) { |
| | | boolean success = iMessageService.removeBatchByIds(ids); |
| | | boolean success = iMessageService.deleteMessages(ids); |
| | | if (success) { |
| | | return CommonResult.success(null); |
| | | } |
| | |
| | | @ApiModelProperty(value = "审核人Id") |
| | | private Long auditId; |
| | | /** |
| | | * 真实审核Id |
| | | */ |
| | | @TableField("real_audit_id") |
| | | @ApiModelProperty(value = "审核人Id") |
| | | private Long realAuditId; |
| | | /** |
| | | * 审核状态 |
| | | */ |
| | | @TableField("audit_status") |
| | |
| | | @ApiModelProperty(value = "更新时间") |
| | | private Date updateTime; |
| | | |
| | | |
| | | /** |
| | | * 审核人文本 |
| | | */ |
| | | @ApiModelProperty(value = "审核人文本") |
| | | @TableField(value = "audit_text",exist = false) |
| | | private String auditText; |
| | | /** |
| | | * 标题 |
| | | */ |
| | |
| | | @TableField(value = "body",exist = false) |
| | | private String body; |
| | | /** |
| | | * 审核人文本 |
| | | */ |
| | | @ApiModelProperty(value = "审核人文本") |
| | | @TableField(value = "audit_text",exist = false) |
| | | private String auditText; |
| | | /** |
| | | * 真实审核人 |
| | | */ |
| | | @ApiModelProperty(value = "真实审核人") |
| | | @TableField(value = "real_audit_text",exist = false) |
| | | private String realAuditText; |
| | | /** |
| | | * 创建人文本 |
| | | */ |
| | | @ApiModelProperty(value = "创建人文本") |
| | | @TableField(value = "create_user_text",exist = false) |
| | | private String createUserText; |
| | | /** |
| | | * 更新人文本 |
| | | */ |
| | | @ApiModelProperty(value = "更新人文本") |
| | | @TableField(value = "update_user_text",exist = false) |
| | | private String updateUserText; |
| | | /** |
| | | * 审核状态文本 |
| | | */ |
| | | @ApiModelProperty(value = "审核状态文本") |
| | | @TableField(value = "audit_status_text",exist = false) |
| | | private String auditStatusText; |
| | | |
| | | } |
| | |
| | | import com.ycl.dto.message.MessageParam; |
| | | import com.ycl.entity.message.Message; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 消息服务类 |
| | |
| | | |
| | | Message sendMessage(MessageParam messageParam); |
| | | IPage<Message> list(MessageParam messageParam); |
| | | |
| | | Boolean deleteMessages(List<Long> ids); |
| | | } |
| | |
| | | for (String id : ids) { |
| | | Message messageAdd = new Message(); |
| | | BeanUtils.copyProperties(message, messageAdd); |
| | | //子类id设置为空 |
| | | messageAdd.setId(null); |
| | | //设置父类Id |
| | | messageAdd.setParentId(message.getId()); |
| | | //设置接收者 |
| | |
| | | if (messageParam.getStatus() == 1) { |
| | | //发起审核 |
| | | iSmsAuditService.startAuditSms(message); |
| | | //id换成邮箱号 |
| | | String targetToPhone = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode()); |
| | | message.setTargetTo(targetToPhone); |
| | | //发送短信发送 |
| | | sendSms(message); |
| | | } |
| | | return message; |
| | | } |
| | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Boolean deleteMessages(List<Long> ids) { |
| | | LambdaQueryWrapper<Message> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.in(Message::getId, ids).or().in(Message::getParentId,ids); |
| | | List<Message> messages = baseMapper.selectList(queryWrapper); |
| | | if (CommonUtils.isNotEmpty(messages)) { |
| | | List<Long> deleteIds = messages.stream().map(Message::getId).collect(Collectors.toList()); |
| | | baseMapper.deleteBatchIds(deleteIds); |
| | | } |
| | | return true; |
| | | } |
| | | } |
| | |
| | | LambdaQueryWrapper<UmsDepartManage> queryDeptLeadWrapper = new LambdaQueryWrapper<>(); |
| | | queryDeptLeadWrapper.in(UmsDepartManage::getDepartId, deptLeadIds).eq(UmsDepartManage::getIsLeader,1); |
| | | List<UmsDepartManage> deptLeads = umsDepartManageMapper.selectList(queryDeptLeadWrapper); |
| | | |
| | | //审核去重 |
| | | List<UmsDepartManage> uniqueLeads = deptLeads.stream().collect( |
| | | Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o->o.getUserId()))), |
| | | ArrayList::new)); |
| | | //添加短信审核 |
| | | List<SmsAudit> audits = new ArrayList<>(); |
| | | for (UmsDepartManage depart : deptLeads) { |
| | | for (UmsDepartManage depart : uniqueLeads) { |
| | | SmsAudit audit = new SmsAudit(); |
| | | audit.setMessageId(message.getId()); |
| | | audit.setAuditId(depart.getUserId()); |
| | |
| | | LambdaQueryWrapper<Message> updateWrapper = new LambdaQueryWrapper<>(); |
| | | updateWrapper.eq(Message::getMessageNumber, message.getMessageNumber()); |
| | | messageMapper.update(updateMessage, updateWrapper); |
| | | |
| | | baseMapper.updateById(packageData(messageSmsParam)); |
| | | //审核短信更新 |
| | | updateSmsAudit(messageSmsParam); |
| | | } |
| | | @Transactional |
| | | public void noPassMethod(MessageSmsParam messageSmsParam) { |
| | | baseMapper.updateById(packageData(messageSmsParam)); |
| | | //审核短信更新 |
| | | updateSmsAudit(messageSmsParam); |
| | | } |
| | | public void updateSmsAudit(MessageSmsParam messageSmsParam) { |
| | | SmsAudit smsAudit = packageData(messageSmsParam); |
| | | LambdaQueryWrapper<SmsAudit> smsAuditUpdate = new LambdaQueryWrapper<>(); |
| | | smsAuditUpdate.eq(SmsAudit::getMessageId, messageSmsParam.getMessageId()); |
| | | baseMapper.update(smsAudit,smsAuditUpdate); |
| | | } |
| | | public SmsAudit packageData(MessageSmsParam messageSmsParam) { |
| | | SmsAudit smsAudit = new SmsAudit(); |
| | | smsAudit.setId(messageSmsParam.getId()); |
| | | smsAudit.setMessageId(messageSmsParam.getMessageId()); |
| | | smsAudit.setAuditStatus(messageSmsParam.getStatus()); |
| | | smsAudit.setAuditOpinion(messageSmsParam.getAuditOpinion()); |
| | | smsAudit.setAuditResult(messageSmsParam.getResult()); |
| | | smsAudit.setAuditId(messageSmsParam.getUpdateUser()); |
| | | smsAudit.setRealAuditId(messageSmsParam.getUpdateUser()); |
| | | smsAudit.setUpdateTime(new Date()); |
| | | smsAudit.setUpdateUser(messageSmsParam.getUpdateUser()); |
| | | return smsAudit; |
| | |
| | | <id column="id" property="id"/> |
| | | <result column="message_id" property="messageId"/> |
| | | <result column="audit_id" property="auditId"/> |
| | | <result column="real_audit_id" property="realAuditId"/> |
| | | <result column="audit_status" property="auditStatus"/> |
| | | <result column="audit_result" property="auditResult"/> |
| | | <result column="audit_opinion" property="auditOpinion"/> |
| | |
| | | <result column="update_time" property="updateTime"/> |
| | | </resultMap> |
| | | <resultMap type="com.ycl.entity.message.SmsAudit" id="CondMapResultMap" extends="BaseResultMap"> |
| | | <result column="audit_text" property="auditText"/> |
| | | <result column="title" property="title"/> |
| | | <result column="body" property="body"/> |
| | | <result column="audit_text" property="auditText"/> |
| | | <result column="real_audit_text" property="realAuditText"/> |
| | | <result column="create_user_text" property="createUserText"/> |
| | | <result column="update_user_text" property="updateUserText"/> |
| | | <result column="audit_status_text" property="auditStatusText"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectCondPage" parameterType="com.ycl.entity.message.SmsAudit" resultMap="CondMapResultMap"> |
| | |
| | | um.head title, |
| | | um.body, |
| | | ua.username audit_text, |
| | | ua2.username create_user_text |
| | | ua2.username create_user_text, |
| | | ua3.username update_user_text, |
| | | ua4.username real_audit_text, |
| | | ( CASE usa.audit_status WHEN '1' THEN '已审核' ELSE '待审核' END ) audit_status_text |
| | | FROM |
| | | ums_sms_audit usa |
| | | LEFT JOIN ums_message um ON usa.message_id = um.id |
| | | LEFT JOIN ums_admin ua ON usa.audit_id = ua.id |
| | | LEFT JOIN ums_admin ua2 ON usa.create_user = ua2.id |
| | | where 1=1 |
| | | ums_sms_audit usa |
| | | LEFT JOIN ums_message um ON usa.message_id = um.id |
| | | LEFT JOIN ums_admin ua ON usa.audit_id = ua.id |
| | | LEFT JOIN ums_admin ua2 ON usa.create_user = ua2.id |
| | | LEFT JOIN ums_admin ua3 ON usa.update_user = ua3.id |
| | | LEFT JOIN ums_admin ua4 ON usa.real_audit_id = ua4.id |
| | | WHERE |
| | | 1 =1 |
| | | <if test="smsAudit.auditId !=null and smsAudit.auditId >=0 "> |
| | | AND usa.audit_id = #{smsAudit.auditId} |
| | | </if> |