diff --git a/src/main/java/com/ccsens/carbasics/api/TaskController.java b/src/main/java/com/ccsens/carbasics/api/TaskController.java index d434d17..4e3cf85 100644 --- a/src/main/java/com/ccsens/carbasics/api/TaskController.java +++ b/src/main/java/com/ccsens/carbasics/api/TaskController.java @@ -1,5 +1,6 @@ package com.ccsens.carbasics.api; +import com.ccsens.carbasics.service.IPositionPowerService; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.common.bean.dto.CPluginDto; import com.ccsens.common.bean.dto.CTaskDto; @@ -33,12 +34,17 @@ public class TaskController { private ITaskService taskService; @Resource private IPluginService pluginService; + @Resource + private IPositionPowerService positionPowerService; @MustLogin @ApiOperation(value = "查找永久日常任务", notes = "") @RequestMapping(value = "/permanent", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> queryPermanentGlobalTask(@ApiParam @Validated @RequestBody QueryDto params) { - List queryTasks = taskService.queryPermanentGlobalTask(params.getParam(), params.getUserId()); +// List queryTasks = taskService.queryPermanentGlobalTask(params.getParam(), params.getUserId()); + log.info("查找永久日常任务开始:{}",params); + List queryTasks = positionPowerService.queryPermanentGlobalTask(params.getParam(), params.getUserId()); + log.info("查找永久日常任务结束:{}",params); return JsonResponse.newInstance().ok(queryTasks); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/MenuPluginDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/MenuPluginDao.java new file mode 100644 index 0000000..84b3f32 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/dao/MenuPluginDao.java @@ -0,0 +1,19 @@ +package com.ccsens.carbasics.persist.dao; + +import com.ccsens.carbasics.persist.mapper.MenuPluginMapper; +import com.ccsens.common.bean.vo.CTaskVo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface MenuPluginDao extends MenuPluginMapper { + + /** + * 查询菜单关联的插件 + * @param menuId 菜单id + * @return 菜单关联的插件列表 + */ + List queryPluginByMenuId(@Param("menuId") Long menuId); +} diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberPositionDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberPositionDao.java index 94bd31b..fd854c7 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberPositionDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberPositionDao.java @@ -1,9 +1,12 @@ package com.ccsens.carbasics.persist.dao; import com.ccsens.carbasics.persist.mapper.OrganizationMemberPositionMapper; +import com.ccsens.common.bean.po.ProRole; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public interface OrganizationMemberPositionDao extends OrganizationMemberPositionMapper { /** @@ -14,4 +17,12 @@ public interface OrganizationMemberPositionDao extends OrganizationMemberPositio * @return 0 不存在 */ Long queryByExistByMember(@Param("memberId") Long memberId,@Param("positonId") Long positionId,@Param("departmentId") Long departmentId); + + /** + * 查询用户在机构下的职位(角色) + * @param oid 机构id + * @param userId 用户id + * @return 用户在机构下的职位(角色) + */ + List queryRole(@Param("oid") Long oid,@Param("uid") Long userId); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/PositionPowerDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/PositionPowerDao.java new file mode 100644 index 0000000..7ec6332 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/dao/PositionPowerDao.java @@ -0,0 +1,22 @@ +package com.ccsens.carbasics.persist.dao; + +import com.ccsens.carbasics.persist.mapper.PositionPowerMapper; +import com.ccsens.common.bean.vo.CTaskVo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author AUSU + */ +@Repository +public interface PositionPowerDao extends PositionPowerMapper { + + /** + *查询角色的菜单与插件 + * @param roleId 角色id + * @return 角色的菜单与插件 + */ + List queryRoleMenu(@Param("roleId") Long roleId); +} diff --git a/src/main/java/com/ccsens/carbasics/service/IPositionPowerService.java b/src/main/java/com/ccsens/carbasics/service/IPositionPowerService.java new file mode 100644 index 0000000..5f5ca56 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/service/IPositionPowerService.java @@ -0,0 +1,17 @@ +package com.ccsens.carbasics.service; + +import com.ccsens.common.bean.dto.CTaskDto; +import com.ccsens.common.bean.vo.CTaskVo; + +import java.util.List; + +public interface IPositionPowerService { + + /** + * 查询职位的权限与绑定的插件 + * @param param 角色id + * @param userId 用户id + * @return 职位的权限与绑定的插件 + */ + List queryPermanentGlobalTask(CTaskDto.QueryPermanentGlobalTask param, Long userId); +} diff --git a/src/main/java/com/ccsens/carbasics/service/PositionPowerService.java b/src/main/java/com/ccsens/carbasics/service/PositionPowerService.java new file mode 100644 index 0000000..76f2cc6 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/service/PositionPowerService.java @@ -0,0 +1,46 @@ +package com.ccsens.carbasics.service; + +import cn.hutool.core.collection.CollectionUtil; +import com.ccsens.carbasics.bean.po.MenuPlugin; +import com.ccsens.carbasics.bean.po.PositionPower; +import com.ccsens.carbasics.persist.dao.MenuPluginDao; +import com.ccsens.carbasics.persist.dao.PositionPowerDao; +import com.ccsens.carbasics.persist.mapper.PositionPowerMapper; +import com.ccsens.common.bean.dto.CTaskDto; +import com.ccsens.common.bean.vo.CTaskVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class PositionPowerService implements IPositionPowerService { + @Resource + private PositionPowerDao positionPowerDao; + @Resource + private MenuPluginDao menuPluginDao; + + @Override + public List queryPermanentGlobalTask(CTaskDto.QueryPermanentGlobalTask param, Long userId) { + List taskList = positionPowerDao.queryRoleMenu(param.getRoleId()); + //为功能添加插件 + if (CollectionUtil.isNotEmpty(taskList)) { + + for (CTaskVo.QueryTask queryTask : taskList) { + List> listArrayList = new ArrayList<>(); + List pluginInfoList = menuPluginDao.queryPluginByMenuId(queryTask.getDetailId()); + listArrayList.add(pluginInfoList); + queryTask.setPlugins(listArrayList); + } + + } + return taskList; + } + +} diff --git a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java index 09610e5..8ecee5a 100644 --- a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java @@ -594,36 +594,36 @@ public class QuestionnaireService implements IQuestionnaireService{ public String queryRole(Long positionId){ OrganizationPosition position = positionDao.selectByPrimaryKey(positionId); - if (position.getCode().equals(Constant.PositionIdAndRole.CuZhongZhongXinBanGongShiZhuRen.positionCode)){ - return Constant.PositionIdAndRole.CuZhongZhongXinBanGongShiZhuRen.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.CuZhongZhongXinZhuRen.positionCode)){ - return Constant.PositionIdAndRole.CuZhongZhongXinZhuRen.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.HuSHi.positionCode)){ - return Constant.PositionIdAndRole.HuSHi.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.YiSheng.positionCode)){ - return Constant.PositionIdAndRole.YiSheng.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.ZhiKong.positionCode)){ - return Constant.PositionIdAndRole.ZhiKong.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.MiShu.positionCode)){ - return Constant.PositionIdAndRole.MiShu.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.KeZhuRen.positionCode)){ - return Constant.PositionIdAndRole.KeZhuRen.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.FuZhuRen.positionCode)){ - return Constant.PositionIdAndRole.FuZhuRen.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.WeiJianWei.positionCode)){ - return Constant.PositionIdAndRole.WeiJianWei.roleName; - } - if (position.getCode().equals(Constant.PositionIdAndRole.HuShiZhang.positionCode)){ - return Constant.PositionIdAndRole.HuShiZhang.roleName; - } +// if (position.getCode().equals(Constant.PositionIdAndRole.CuZhongZhongXinBanGongShiZhuRen.positionCode)){ +// return Constant.PositionIdAndRole.CuZhongZhongXinBanGongShiZhuRen.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.CuZhongZhongXinZhuRen.positionCode)){ +// return Constant.PositionIdAndRole.CuZhongZhongXinZhuRen.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.HuSHi.positionCode)){ +// return Constant.PositionIdAndRole.HuSHi.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.YiSheng.positionCode)){ +// return Constant.PositionIdAndRole.YiSheng.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.ZhiKong.positionCode)){ +// return Constant.PositionIdAndRole.ZhiKong.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.MiShu.positionCode)){ +// return Constant.PositionIdAndRole.MiShu.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.KeZhuRen.positionCode)){ +// return Constant.PositionIdAndRole.KeZhuRen.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.FuZhuRen.positionCode)){ +// return Constant.PositionIdAndRole.FuZhuRen.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.WeiJianWei.positionCode)){ +// return Constant.PositionIdAndRole.WeiJianWei.roleName; +// } +// if (position.getCode().equals(Constant.PositionIdAndRole.HuShiZhang.positionCode)){ +// return Constant.PositionIdAndRole.HuShiZhang.roleName; +// } return ""; } } diff --git a/src/main/java/com/ccsens/carbasics/service/RoleCarService.java b/src/main/java/com/ccsens/carbasics/service/RoleCarService.java index a07da4d..1e2e097 100644 --- a/src/main/java/com/ccsens/carbasics/service/RoleCarService.java +++ b/src/main/java/com/ccsens/carbasics/service/RoleCarService.java @@ -54,7 +54,7 @@ public class RoleCarService implements IRoleCarService { List invisibleList = new ArrayList<>(); //查询当前用户在项目下的角色,没有则算作关注者 // List userRoleList = proRoleDao.queryRoleByUserId(param.getProjectId(),userId); - List userRoleList = proRoleDao.queryRoleByUserId(param.getProjectId(),userId); + List userRoleList = memberPositionDao.queryRole(param.getProjectId(),userId); //查询平车角色 CRoleVo.RoleInfo carRole = proRoleDao.queryByName(Constant.CAR_ROLE_NAME, param.getProjectId()); if (CollectionUtil.isNotEmpty(userRoleList)) { diff --git a/src/main/resources/mapper_dao/MenuPluginDao.xml b/src/main/resources/mapper_dao/MenuPluginDao.xml new file mode 100644 index 0000000..add2ad2 --- /dev/null +++ b/src/main/resources/mapper_dao/MenuPluginDao.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml b/src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml index 752783f..4d8b5de 100644 --- a/src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml +++ b/src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml @@ -15,4 +15,21 @@ AND department_id = #{departmentId} + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/PositionPowerDao.xml b/src/main/resources/mapper_dao/PositionPowerDao.xml new file mode 100644 index 0000000..35c0d0e --- /dev/null +++ b/src/main/resources/mapper_dao/PositionPowerDao.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file