From db2c9312bd76cb8c498562283e78c8f555c07c50 Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期四, 13 十月 2022 15:01:52 +0800 Subject: [PATCH] 三说会堂事件流程处理 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 87 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 83 insertions(+), 4 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java index 10bf657..c4a05fd 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java @@ -1,8 +1,11 @@ package com.panzhihua.service_community.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.ListUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.generator.SnowflakeGenerator; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.RandomUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -14,6 +17,7 @@ import com.panzhihua.common.model.dtos.community.sanshuo.IndexDateDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.switchs.CommunitySwitchAllAppletsVO; import com.panzhihua.common.model.vos.sanshuo.*; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.CopyUtil; @@ -82,6 +86,7 @@ log.info("=================当前登陆的用户信息,用户类型"+loginUserInfoVO.getType()+"社区id"+loginUserInfoVO.getCommunityId()); Boolean isExpertCheck=false; Long expertId=null; + Boolean isStretAccount = isStreetAccount(loginUserInfoVO); if (nonNull(comEvent.getUserType())){ if (comEvent.getUserType().equals(1)){ //个人账号权限 @@ -113,6 +118,12 @@ //社区后台权限 comEvent.setUserType(4); comEvent.setCommunityId(loginUserInfoVO.getCommunityId()); + }else if (isStretAccount){ + //街道权限,查看街道范围下的所有社区事件 + //获取街道下属社区id + List<Long> cids = comActDAO.selectCommunityByStreetId(loginUserInfoVO.getStreetId()); + comEvent.setUserType(5); + comEvent.setCommunityIds(cids); } } if (nonNull(loginUserInfoVO.getAccount())){ @@ -123,7 +134,8 @@ IPage<ComEvent> list=null; log.info("=====================当前的userType"+comEvent.getUserType()); log.info("=====================是否专家账号查看"+isExpertCheck); - if (isExpertCheck){ + //是否为专家查看自己发布的事件 + if (isExpertCheck && comEvent.getUserType()!=1){ if (nonNull(comEventMapper.listEventIds(expertId))){ list = comEventMapper.pageByComEventExpert(comEventMapper.listEventIds(expertId), comEvent, pagination); } @@ -172,8 +184,25 @@ if (!comEvent.getCurrentProcessType().equals(4)){ perm=0; } + }else if (isStreetAccount(sysUser)){ + if (!comEvent.getCurrentProcessType().equals(3)){ + perm=0; + } } return perm; + } + /** + * 是否为综治后台街道账号 + * */ + public Boolean isStreetAccount(LoginUserInfoVO sysUser){ + Boolean flag=false; + String[] account={"glpz","qxpjd","tjdjd","dbdjd","yqjd","bcg","hmkjd","dhjd","jsgyy","dzhljd"}; + if (nonNull(sysUser.getAccount())){ + if (ArrayUtil.contains(account,sysUser.getAccount() )){ + flag=true; + } + } + return flag; } @Override public List<ComEvent> listByComEvent(ComEvent comEvent,LoginUserInfoVO loginUserInfoVO) { @@ -472,11 +501,61 @@ } @Override - public R calculate() { - List<ComEventCalculateVO> calculateList = baseMapper.calculate(); + public R calculate(LoginUserInfoVO loginUserInfoVO) { + ComEvent comEvent=new ComEvent(); + Boolean isExpertCheck=false; + Long expertId=null; + Boolean isStretAccount = isStreetAccount(loginUserInfoVO); + if (nonNull(comEvent.getUserType())){ + if (comEvent.getUserType().equals(1)){ + //个人账号权限 + comEvent.setRequestUserId(loginUserInfoVO.getUserId()); + }else if (comEvent.getUserType().equals(2) || loginUserInfoVO.getType().equals(13) || loginUserInfoVO.getType().equals(11)){ + ComSanshuoExpert expert=new ComSanshuoExpert(); + //专家账号权限(小程序和后台) + if (nonNull(loginUserInfoVO.getPhone())){ + expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getPhone, loginUserInfoVO.getPhone())); + }else{ + //账号获取 + expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getAccount, loginUserInfoVO.getAccount())); + } + comEvent.setUserType(2); + if (nonNull(expert)){ + comEvent.setSpecialistId(expert.getId()); + isExpertCheck=true; + expertId=expert.getId(); + } + }else if (loginUserInfoVO.getType().equals(12)){ + //行业分中心权限 + comEvent.setUserType(3); + //获取行业分中心id + ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfoVO.getAccount())); + if (nonNull(center)){ + comEvent.setCenterId(center.getId().toString()); + } + }else if (loginUserInfoVO.getType().equals(3)){ + //社区后台权限 + comEvent.setUserType(4); + comEvent.setCommunityId(loginUserInfoVO.getCommunityId()); + }else if (isStretAccount){ + //街道权限,查看街道范围下的所有社区事件 + //获取街道下属社区id + List<Long> cids = comActDAO.selectCommunityByStreetId(loginUserInfoVO.getStreetId()); + comEvent.setUserType(5); + comEvent.setCommunityIds(cids); + } + } + if (nonNull(loginUserInfoVO.getAccount())){ + if (loginUserInfoVO.getAccount().equals("admin")){ + comEvent.setUserType(null); + } + } + log.info("=====================当前的userType"+comEvent.getUserType()); + log.info("=====================是否专家账号查看"+isExpertCheck); + List<ComEventCalculateVO> calculateList = baseMapper.calculate(comEvent); ComEventCalculateVO comEventCalculateVO =new ComEventCalculateVO(); comEventCalculateVO.setStatus("0"); - comEventCalculateVO.setSum(baseMapper.selectCount(new QueryWrapper<ComEvent>().lambda().notIn(ComEvent::getEventProcessStatus,(9))).toString()); + comEventCalculateVO.setSum(baseMapper.caculateSum(comEvent)+""); calculateList.add(comEventCalculateVO); return R.ok(calculateList); } -- Gitblit v1.7.1