From 141fd8d80cdcf9602dce31a138d82d202d82820e Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Tue, 11 May 2021 14:30:31 +0800 Subject: [PATCH] screen-manage 添加分配组织admin账号菜单功能 --- screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java | 3 screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java | 2 screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java | 51 ++++++++++++ /dev/null | 17 ---- screen-manage/src/main/java/com/moral/api/entity/Group.java | 6 + screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java | 4 + screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuUpdateForm.java | 29 +++++++ screen-api/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java | 2 screen-api/src/main/java/com/moral/api/entity/Group.java | 2 screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 2 screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java | 8 + screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java | 59 ++++++++++++++ screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuDTO.java | 21 +++++ 13 files changed, 180 insertions(+), 26 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java b/screen-api/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java index e5ae67b..9d983d0 100644 --- a/screen-api/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java +++ b/screen-api/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java @@ -27,7 +27,7 @@ private String sessionTimeout; @Value("${kafka.consumer.auto.commit.interval}") private String autoCommitInterval; - @Value("${kafka.consumer.group.id}") + @Value("${kafka.consumer.groupMenu.id}") private String groupId; @Value("${kafka.consumer.auto.offset.reset}") private String autoOffsetReset; diff --git a/screen-api/src/main/java/com/moral/api/entity/Group.java b/screen-api/src/main/java/com/moral/api/entity/Group.java index 0b79a9b..dc0d63e 100644 --- a/screen-api/src/main/java/com/moral/api/entity/Group.java +++ b/screen-api/src/main/java/com/moral/api/entity/Group.java @@ -22,7 +22,7 @@ */ @Data @EqualsAndHashCode(callSuper = false) -@TableName("`group`") +@TableName("`groupMenu`") public class Group extends Model<Group> { private static final long serialVersionUID = 1L; diff --git a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java index 55efb2e..a71d36b 100644 --- a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java +++ b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java @@ -46,7 +46,8 @@ USER_EXIST(-32,"������������������"), ORGANIZATION_USER_EXIST(-33,"������������������������"), SENSOR_IS_EXIST(-34, "���������������"), - SENSOR_KEY_IS_EXIST(-35, "������������������������") + SENSOR_KEY_IS_EXIST(-35, "������������������������"), + ORGANIZATION_USER_NOT_EXIST(-36,"���������������������") ; private final Integer code; private final String msg; diff --git a/screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java b/screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java index e5ae67b..9d983d0 100644 --- a/screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java +++ b/screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java @@ -27,7 +27,7 @@ private String sessionTimeout; @Value("${kafka.consumer.auto.commit.interval}") private String autoCommitInterval; - @Value("${kafka.consumer.group.id}") + @Value("${kafka.consumer.groupMenu.id}") private String groupId; @Value("${kafka.consumer.auto.offset.reset}") private String autoOffsetReset; diff --git a/screen-manage/src/main/java/com/moral/api/controller/GroupController.java b/screen-manage/src/main/java/com/moral/api/controller/GroupController.java deleted file mode 100644 index e967b71..0000000 --- a/screen-manage/src/main/java/com/moral/api/controller/GroupController.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.moral.api.controller; - -import com.moral.constant.ResultMessage; -import io.swagger.annotations.Api; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @ClassName GroupController - * @Description TODO - * @Author ��������� - * @Date 2021/5/11 10:16 - * @Version TODO - **/ -@Slf4j -@Api(tags = {"������������������"}) -@RestController -@CrossOrigin(origins = "*", maxAge = 3600) -@RequestMapping("/group") -public class GroupController { - - /** - * @Description: ���admin������������������������ - * @Param: [] - * @return: com.moral.constant.ResultMessage - * @Author: ��������� - * @Date: 2021/5/11 - */ - @PostMapping("update") - public ResultMessage update() { - return null; - } -} diff --git a/screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java b/screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java new file mode 100644 index 0000000..a72cfe6 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/controller/GroupMenuController.java @@ -0,0 +1,51 @@ +package com.moral.api.controller; + +import com.moral.api.pojo.dto.groupMenu.GroupMenuDTO; +import com.moral.api.pojo.form.groupMenu.GroupMenuUpdateForm; +import com.moral.api.service.GroupMenuService; +import com.moral.constant.ResponseCodeEnum; +import com.moral.constant.ResultMessage; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @ClassName GroupMenuController + * @Description TODO + * @Author ��������� + * @Date 2021/5/11 10:16 + * @Version TODO + **/ +@Slf4j +@Api(tags = {"������������������������"}) +@RestController +@CrossOrigin(origins = "*", maxAge = 3600) +@RequestMapping("/groupMenu") +public class GroupMenuController { + + @Autowired + GroupMenuService groupMenuService; + + /** + * @Description: ���admin������������������������ + * @Param: [GroupMenuUpdateForm form] + * @return: com.moral.constant.ResultMessage + * @Author: ��������� + * @Date: 2021/5/11 + */ + @PostMapping("update") + public ResultMessage update(@RequestBody GroupMenuUpdateForm form) { + + //������������������������ + if (!form.valid()) + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + + //������������������ + GroupMenuDTO dto = groupMenuService.updateGroupMenu(form); + + return new ResultMessage(dto.getCode(), dto.getMsg(), null); + } + +} diff --git a/screen-manage/src/main/java/com/moral/api/entity/Group.java b/screen-manage/src/main/java/com/moral/api/entity/Group.java index 3f32404..5d9594c 100644 --- a/screen-manage/src/main/java/com/moral/api/entity/Group.java +++ b/screen-manage/src/main/java/com/moral/api/entity/Group.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import java.io.Serializable; +import java.util.Date; + import lombok.Data; import lombok.EqualsAndHashCode; @@ -43,12 +45,12 @@ /** * ������������ */ - private LocalDateTime createTime; + private Date createTime; /** * ������������ */ - private LocalDateTime updateTime; + private Date updateTime; /** * ������������ diff --git a/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java b/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java index 83bd929..96cf300 100644 --- a/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java +++ b/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java @@ -1,10 +1,13 @@ package com.moral.api.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import java.io.Serializable; +import java.util.Date; + import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,6 +21,7 @@ */ @Data @EqualsAndHashCode(callSuper = false) +@TableName("`group_menu`") public class GroupMenu extends Model<GroupMenu> { private static final long serialVersionUID = 1L; @@ -51,12 +55,12 @@ /** * ������������ */ - private LocalDateTime createTime; + private Date createTime; /** * ������������ */ - private LocalDateTime updateTime; + private Date updateTime; /** * ������������ diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuDTO.java new file mode 100644 index 0000000..937a29f --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/groupMenu/GroupMenuDTO.java @@ -0,0 +1,21 @@ +package com.moral.api.pojo.dto.groupMenu; + +import com.moral.api.entity.GroupMenu; +import lombok.Data; + +/** + * @ClassName GroupMenuDTO + * @Description TODO + * @Author ��������� + * @Date 2021/5/11 13:37 + * @Version TODO + **/ +@Data +public class GroupMenuDTO { + + private Integer code; + + private String msg; + + private GroupMenu groupMenu; +} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/group/GroupUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/group/GroupUpdateForm.java deleted file mode 100644 index e6f3246..0000000 --- a/screen-manage/src/main/java/com/moral/api/pojo/form/group/GroupUpdateForm.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.moral.api.pojo.form.group; - -import lombok.Data; - -/** - * @ClassName GroupUpdateForm - * @Description TODO - * @Author ��������� - * @Date 2021/5/11 10:25 - * @Version TODO - **/ -@Data -public class GroupUpdateForm { - - private Integer organizationId; - -} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuUpdateForm.java new file mode 100644 index 0000000..2509a87 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/groupMenu/GroupMenuUpdateForm.java @@ -0,0 +1,29 @@ +package com.moral.api.pojo.form.groupMenu; + +import lombok.Data; +import org.springframework.util.ObjectUtils; + +import java.util.List; + +/** + * @ClassName GroupUpdateForm + * @Description TODO + * @Author ��������� + * @Date 2021/5/11 10:25 + * @Version TODO + **/ +@Data +public class GroupMenuUpdateForm { + + private Integer organizationId; + + private Integer channel; + + private List<Integer> menuIds; + + public boolean valid(){ + if(ObjectUtils.isEmpty(organizationId)||ObjectUtils.isEmpty(channel)||null==menuIds) + return false; + return true; + } +} diff --git a/screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java b/screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java index 0b3b9c2..edaf4ff 100644 --- a/screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java +++ b/screen-manage/src/main/java/com/moral/api/service/GroupMenuService.java @@ -2,6 +2,8 @@ import com.moral.api.entity.GroupMenu; import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.pojo.dto.groupMenu.GroupMenuDTO; +import com.moral.api.pojo.form.groupMenu.GroupMenuUpdateForm; /** * <p> @@ -13,4 +15,6 @@ */ public interface GroupMenuService extends IService<GroupMenu> { + public GroupMenuDTO updateGroupMenu(GroupMenuUpdateForm form); + } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java index c343b39..85f0669 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java @@ -1,10 +1,23 @@ package com.moral.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.moral.api.entity.Group; import com.moral.api.entity.GroupMenu; +import com.moral.api.mapper.GroupMapper; import com.moral.api.mapper.GroupMenuMapper; +import com.moral.api.pojo.dto.groupMenu.GroupMenuDTO; +import com.moral.api.pojo.form.groupMenu.GroupMenuUpdateForm; import com.moral.api.service.GroupMenuService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.constant.Constants; +import com.moral.constant.ResponseCodeEnum; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + +import java.util.List; /** * <p> @@ -17,4 +30,50 @@ @Service public class GroupMenuServiceImpl extends ServiceImpl<GroupMenuMapper, GroupMenu> implements GroupMenuService { + @Autowired + GroupMenuMapper groupMenuMapper; + @Autowired + GroupMapper groupMapper; + + @Override + @Transactional + public GroupMenuDTO updateGroupMenu(GroupMenuUpdateForm form) { + //������������������ + GroupMenuDTO dto = new GroupMenuDTO(); + //������ + Integer orgId = form.getOrganizationId(); + Integer channel = form.getChannel(); + List<Integer> insertMenuIds = form.getMenuIds(); + //������orgId������������admin������id + QueryWrapper<Group> queryGroupWrapper = new QueryWrapper<>(); + Group groupConditon = new Group(); + groupConditon.setOrganizationId(orgId); + groupConditon.setGroupName("admin"); + groupConditon.setIsDelete(Constants.NOT_DELETE); + queryGroupWrapper.setEntity(groupConditon); + Group group = groupMapper.selectOne(queryGroupWrapper); + if(ObjectUtils.isEmpty(group)){//������������������������������������������������ + dto.setCode(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getCode()); + dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getMsg()); + return dto; + } + //��������������������������������� + UpdateWrapper deleteWrapper = new UpdateWrapper(); + deleteWrapper.set("is_delete",Constants.DELETE); + deleteWrapper.eq("group_id",group.getId()); + groupMenuMapper.update(null,deleteWrapper); + //������������ + for (Integer menuId : insertMenuIds) { + GroupMenu groupMenu = new GroupMenu(); + groupMenu.setChannel(channel); + groupMenu.setGroupId(group.getId()); + groupMenu.setMenuId(menuId); + groupMenu.setOrganizationId(orgId); + groupMenuMapper.insert(groupMenu); + } + //������������������ + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return dto; + } } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java index 839dee3..7076c71 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java @@ -281,7 +281,7 @@ deleteUserGroupWrapper.eq("organization_id",organizationId); deleteUserGroupWrapper.set("is_delete", Constants.DELETE); userGroupMapper.update(null,deleteUserGroupWrapper); - //���������������group + //���������������groupMenu UpdateWrapper deleteGroupWrapper = new UpdateWrapper(); deleteGroupWrapper.eq("organization_id",organizationId); deleteGroupWrapper.set("is_delete", Constants.DELETE); -- Gitblit v1.8.0