From f967af283f5d98655b6ae9ff037d4c05f35f3693 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期二, 01 八月 2023 10:56:16 +0800
Subject: [PATCH] 修改三说权限报错
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java | 153 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 111 insertions(+), 42 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
index 4827180..60ad722 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
@@ -2,8 +2,6 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.NumberUtil;
-import cn.hutool.crypto.SecureUtil;
-import cn.hutool.crypto.digest.MD5;
import cn.hutool.extra.pinyin.PinyinUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -18,19 +16,14 @@
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.Snowflake;
-import com.panzhihua.common.utlis.StringUtils;
-import com.panzhihua.service_community.api.ComSanShuoExpertApi;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.entity.ComEvent;
-import com.panzhihua.service_community.entity.ComSanshuoEvent;
import com.panzhihua.service_community.entity.ComSanshuoExpert;
import com.panzhihua.service_community.entity.ComSanshuoIndustryCenter;
import com.panzhihua.service_community.model.dos.ComActDO;
+import com.panzhihua.service_community.model.dos.ComSanshuoExpertTwoDO;
import com.panzhihua.service_community.model.dos.ComStreetDO;
-import com.panzhihua.service_community.service.ComActService;
import com.panzhihua.service_community.service.ComSanShuoExpertService;
-import com.panzhihua.service_community.service.ComStreetService;
-import com.panzhihua.service_community.util.MyAESUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -87,13 +80,13 @@
expert.setCreateTime(new Date());
if (expert.getLevel()==2){
expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
- expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName()+"调解站");
+ expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName());
}else if(expert.getLevel()==3){
expert.setStreetId(Long.parseLong(expert.getUnitId()));
expert.setUnit(comStreetDAO.selectById(expert.getUnitId()).getName()+"调解站");
}else if(expert.getLevel()==4){
expert.setCommunityId(Long.parseLong(expert.getUnitId()));
- expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
+ expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解室");
}else{
expert.setUnit("区三说会堂");
}
@@ -107,6 +100,10 @@
e.printStackTrace();
}
//生成后台账号
+ //如果是普达社区专家则不生成后台账号
+ if (nonNull(expert.getCommunityId()) && !expert.getCommunityId().equals(10172)){
+ return R.ok();
+ }
AdministratorsUserVO user=new AdministratorsUserVO();
user.setUserId(Snowflake.getId());
user.setAccount(comSanshuoExpertDTO.getAccount());
@@ -115,7 +112,8 @@
user.setType(11);
user.setImageUrl(comSanshuoExpertDTO.getAvatar());
user.setPhone(comSanshuoExpertDTO.getPhone());
- return R.ok(userService.sanShuoAddUser(user));
+ userService.sanShuoAddUser(user);
+ return R.ok();
}
}else {
ComSanshuoExpert expert=new ComSanshuoExpert();
@@ -133,8 +131,10 @@
expert.setStreetId(Long.parseLong(expert.getUnitId()));
expert.setUnit(comStreetDAO.selectById(expert.getUnitId()).getName()+"调解站");
}else if(expert.getLevel()==4){
- expert.setCommunityId(Long.parseLong(expert.getUnitId()));
- expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
+ if (nonNull(expert.getUnitId())){
+ expert.setCommunityId(Long.parseLong(expert.getUnitId()));
+ expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
+ }
}
return R.ok(comSanshuoExpertDao.updateById(expert));
}
@@ -175,15 +175,23 @@
//街道后台
range=3;
id=loginUserInfo.getStreetId();
+ }else if (loginUserInfo.getType().equals(12)){
+ range=2;
+ id=comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount,loginUserInfo.getAccount() )).getId();
+ }else if (loginUserInfo.getType().equals(3)){
+ //社区后台账号
+ range=4;
+ id=loginUserInfo.getCommunityId();
}
}
- }log.info("==================="+loginUserInfo);
+ }
if (loginUserInfo.getAccount().equals("admin")){
//三说会堂查看所有专家
id=null;
range=1;
}
- IPage<ComSanshuoExpertVO> comSanshuoExpertVOIPage = comSanshuoExpertDao.expertPage(new Page(page, size), keyWord, range, id, level);
+ log.info("");
+ IPage<ComSanshuoExpertVO> comSanshuoExpertVOIPage = comSanshuoExpertDao.expertPage(new Page(page, size), keyWord, range, id, level,loginUserInfo.getAppId());
for (ComSanshuoExpertVO record : comSanshuoExpertVOIPage.getRecords()) {
//获取调解次数和成功率
record.setCount(comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, record.getId())));
@@ -202,8 +210,8 @@
* 专家风采
* */
@Override
- public R expertShow() {
- List<ExpertShowVO> expertShowVOS = comSanshuoExpertDao.expertShow();
+ public R expertShow(String appId) {
+ List<ExpertShowVO> expertShowVOS = comSanshuoExpertDao.expertShow(appId);
for (ExpertShowVO expertShowVO : expertShowVOS) {
if (nonNull(expertShowVO.getLevel())){
if (1==expertShowVO.getLevel()) {
@@ -219,7 +227,7 @@
expertShowVO.setChildList(expertShowVOS1);
}else {
expertShowVO.setName("村/社区调解站调解专家");
- List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertCommunity();
+ List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertCommunity(appId);
expertShowVO.setChildList(expertShowVOS1);
}
}
@@ -251,7 +259,7 @@
}else if (i==4){
vo.setId(4L);
vo.setChildList(comSanshuoIndustryCenterDao.communityList());
- vo.setName("社区调解站");
+ vo.setName("社区调解室");
}else if(i==1){
vo.setId(1L);
vo.setName("三说会堂");
@@ -282,7 +290,7 @@
List<ExpertRangeVO> list = new ArrayList<>();
ExpertRangeVO vo = new ExpertRangeVO();
vo.setLevel(4);
- vo.setName(comStreetDO.getName() + "调解站");
+ vo.setName(comStreetDO.getName() + "调解室");
vo.setId(loginUserInfo.getCommunityId());
list.add(vo);
return R.ok(list);
@@ -334,16 +342,29 @@
* 专家风采列表
* */
@Override
- public R expertShowList(Integer level, Long id) {
+ public R expertShowList(Integer level, Long id,String appId) {
QueryWrapper<ComSanshuoExpert> wrapper=new QueryWrapper<>();
- wrapper.eq("level",level );
- if (level.equals(2)){
- wrapper.eq("industry_center_id", id);
- }else if (level.equals(3)){
- wrapper.eq("street_id",id );
- }else if (level.equals(4)){
- wrapper.eq("community_id",id );
+ if (level==0){
+ wrapper.eq("app_id",appId );
+ }else {
+ if (level!=7){
+ wrapper.eq("level",level);
+ wrapper.eq("app_id",appId);
+ wrapper.eq("status",1 );
+ wrapper.eq("del_flag",1 );
+ if (level.equals(2)){
+ wrapper.eq("industry_center_id", id);
+ }else if (level.equals(3)){
+ wrapper.eq("street_id",id );
+ }else if (level.equals(4)){
+ wrapper.eq("community_id",id );
+ }
+ }else {
+ wrapper.eq("id",id );
+ }
}
+ wrapper.orderByDesc("(select count(*) FROM com_sanshuo_event_info where specialist_id=com_sanshuo_expert.id and event_process_status=6 and event_result=2)/(select count(*) FROM com_sanshuo_event_info where specialist_id=com_sanshuo_expert.id and event_process_status=6 ) ");
+ wrapper.orderByDesc("(select count(*) FROM com_sanshuo_event_info where specialist_id=com_sanshuo_expert.id and event_process_status=6 )");
List<ComSanshuoExpert> comSanshuoExperts = comSanshuoExpertDao.selectList(wrapper);
for (ComSanshuoExpert comSanshuoExpert : comSanshuoExperts) {
//获取成功率
@@ -351,20 +372,38 @@
Integer count = comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, comSanshuoExpert.getId()).eq(ComEvent::getEventProcessStatus, 6));
Integer successCount = comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, comSanshuoExpert.getId()).eq(ComEvent::getEventProcessStatus, 6).eq(ComEvent::getEventResult, 2));
comSanshuoExpert.setCount(count);
- if (nonNull(count) && !count.equals(0)){
- comSanshuoExpert.setCount(count);
- if (nonNull(successCount) && !count.equals(successCount)){
- //计算成功率
- comSanshuoExpert.setRate(NumberUtil.div(successCount, count,2));
- }else {
+ if (nonNull(successCount) && nonNull(count)){
+ if (!successCount.equals(0) && !count.equals(0)){
+ //计算成功率
+ comSanshuoExpert.setRate(NumberUtil.div(successCount, count,2));
+ }
+ else {
comSanshuoExpert.setRate(new BigDecimal(0));
}
}else {
- comSanshuoExpert.setCount(0);
+ comSanshuoExpert.setRate(new BigDecimal(0));
+ }
+
+ }
+ ComSanshuoExpertTwoDO comSanshuoExpertTwoVo=new ComSanshuoExpertTwoDO();
+ List<ComSanshuoExpert> comSanshuoExpertsOne=new ArrayList<>();
+ List<ComSanshuoExpert> comSanshuoExpertsTwo=new ArrayList<>();
+ for (ComSanshuoExpert comSanshuoExpert : comSanshuoExperts){
+ if (comSanshuoExpert.getId()%2==1){
+ comSanshuoExpertsOne.add(comSanshuoExpert);
+ }else {
+ comSanshuoExpertsTwo.add(comSanshuoExpert);
}
}
- return R.ok(comSanshuoExperts);
- }
+ if (level==0){
+ comSanshuoExpertTwoVo.setComSanshuoExperts(comSanshuoExpertsOne);
+ comSanshuoExpertTwoVo.setComSanshuoExpertsTwo(comSanshuoExpertsTwo);
+ return R.ok(comSanshuoExpertTwoVo);
+ }
+ else {
+ return R.ok(comSanshuoExperts);
+ }
+ }
@Override
public void insertExpert(ComSanshuoExpert expert) {
@@ -416,24 +455,54 @@
}
@Override
- public R backstageList(Integer level,LoginUserInfoVO loginUserInfoVO) {
+ public R backstageList(Integer level,LoginUserInfoVO loginUserInfoVO,Integer page,Integer size,String keyWord) {
if (nonNull(level)){
if (level.equals(1)){
//三说会堂权限,查看所有
- return R.ok(comSanshuoExpertDao.selectList(null));
+ return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,null ,loginUserInfoVO.getAppId(),keyWord));
}else if (level.equals(2)){
//行业分中心
ComSanshuoIndustryCenter center = comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfoVO.getAccount()));
- return R.ok(comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getIndustryCenterId,center.getId())));
+ return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,center.getId(),loginUserInfoVO.getAppId(),keyWord));
}else if (level.equals(3)){
//街道
- return R.ok(comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getStreetId,loginUserInfoVO.getStreetId())));
+ return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getStreetId(),loginUserInfoVO.getAppId(),keyWord));
}else if(level.equals(4)){
- return R.ok(comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getCommunityId,loginUserInfoVO.getCommunityId())));
+ return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getCommunityId(),loginUserInfoVO.getAppId(),keyWord));
}
+ }else {
+ return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getCommunityId(),loginUserInfoVO.getAppId(),keyWord));
}
return null;
}
+ @Override
+ public R rangeList() {
+ List<ExpertRangeVO> list=new ArrayList<>();
+ for (int i = 1; i < 5; i++) {
+ ExpertRangeVO vo=new ExpertRangeVO();
+ vo.setLevel(i);
+ if (i==2){
+ //设置行业分中心为childList
+ vo.setId(2L);
+ vo.setChildList(comSanshuoIndustryCenterDao.indstryList());
+ vo.setName("行业分中心");
+ }else if (i==3){
+ vo.setId(3L);
+ vo.setChildList(comSanshuoIndustryCenterDao.streetList());
+ vo.setName("街道调解站");
+ }else if (i==4){
+ vo.setId(4L);
+ vo.setChildList(comSanshuoIndustryCenterDao.communityList());
+ vo.setName("社区调解站");
+ }else if(i==1){
+ vo.setId(1L);
+ vo.setName("三说会堂");
+ }
+ list.add(vo);
+ }
+ return R.ok(list);
+ }
+
}
--
Gitblit v1.7.1