From c6e9ccc99a191d61b9599629702f84f495516095 Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期日, 09 十月 2022 09:34:46 +0800 Subject: [PATCH] 用户信息增加登陆用户是否为三说会堂专家 --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 86 insertions(+), 3 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java index c7413ea..b37dc88 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java @@ -27,7 +27,9 @@ import com.panzhihua.common.model.vos.community.acid.ComActAcidMemberVO; import com.panzhihua.common.model.vos.community.acid.ComActAcidRecordVO; import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLoginUserInfoVO; +import com.panzhihua.common.model.vos.sanshuo.ComSanshuoExpertVO; import com.panzhihua.common.model.vos.user.*; +import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.utlis.*; import com.panzhihua.service_user.dao.*; import com.panzhihua.service_user.entity.SysAppConfig; @@ -470,6 +472,33 @@ } } loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null); + //是否社区或街道后台 + int countSocialOrg=userDao.countSocialOrg(sysUserDO.getUserId()); + if(countSocialOrg>0){ + loginUserInfoVO.setUserType(3); + } + else { + if(loginUserInfoVO.getStreetId()!=null){ + loginUserInfoVO.setUserType(1); + loginUserInfoVO.setLevel(3); + } + else { + loginUserInfoVO.setUserType(2); + loginUserInfoVO.setLevel(4); + } + } + if (sysUserDO.getType().equals(11)){ + loginUserInfoVO.setLevel(5); + }else if (sysUserDO.getType().equals(12)){ + loginUserInfoVO.setLevel(2); + }else if (isNull(loginUserInfoVO.getLevel())){ + loginUserInfoVO.setLevel(1); + } + //是否为三说会堂专家 + ComSanshuoExpertVO expertVO=userDao.isExpert(loginUserInfoVO.getPhone()); + if (nonNull(expertVO)){ + loginUserInfoVO.setType(13); + } return R.ok(loginUserInfoVO); } @@ -745,10 +774,19 @@ else { if(loginUserInfoVO.getStreetId()!=null){ loginUserInfoVO.setUserType(1); + loginUserInfoVO.setLevel(3); } else { loginUserInfoVO.setUserType(2); + loginUserInfoVO.setLevel(4); } + } + if (sysUserDO.getType().equals(11)){ + loginUserInfoVO.setLevel(5); + }else if (sysUserDO.getType().equals(12)){ + loginUserInfoVO.setLevel(2); + }else if (isNull(loginUserInfoVO.getLevel())){ + loginUserInfoVO.setLevel(1); } return R.ok(loginUserInfoVO); } @@ -3671,16 +3709,36 @@ //是否存在相同账号 SysUserDO userDO = userDao.selectOne(new QueryWrapper<SysUserDO>().eq("account", administratorsUserVO.getAccount())); if (isNull(userDO)){ + sysUserDO.setAppId("wx0cef797390444b75"); sysUserDO.setCreateAt(new Date()); sysUserDO.setUserId(administratorsUserVO.getUserId()); sysUserDO.setAccount(administratorsUserVO.getAccount()); - sysUserDO.setPassword(administratorsUserVO.getPassword()); + sysUserDO.setPassword(new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword())); sysUserDO.setName(administratorsUserVO.getName()); if (nonNull(administratorsUserVO.getImageUrl())){ sysUserDO.setImageUrl(administratorsUserVO.getImageUrl()); } - sysUserDO.setType(administratorsUserVO.getType()); + if (nonNull(administratorsUserVO.getType())){ + sysUserDO.setType(administratorsUserVO.getType()); + } userDao.insert(sysUserDO); + //分配权限 + SysUserRoleDO sysUserRole=new SysUserRoleDO(); + sysUserRole.setUserId(sysUserDO.getUserId()); + if (sysUserDO.getType().equals(11)){ + sysUserRole.setRoleId(Long.parseLong(UserConstants.SANSHUO_EXPERT_ROLE)); + //将专家小程序账号设置为专家权限 + SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 1).eq(SysUserDO::getPhone, administratorsUserVO.getPhone())); + if (nonNull(sysUserDO1)){ + sysUserDO1.setType(13); + userDao.updateById(sysUserDO1); + log.info("添加专家小程序账号权限"); + } + }else{ + sysUserRole.setRoleId(Long.parseLong(UserConstants.SANSHUO_INDUSTRY_CENTER_ROLE)); + } + //配置权限 + sysUserRoleDAO.insert(sysUserRole); return R.ok(); } return R.fail("账户名已存在"); @@ -3693,13 +3751,38 @@ public R resetPassExpertOrIndustryCenter(String account,String password) { SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().eq("account", account)); if (nonNull(sysUserDO)){ - sysUserDO.setPassword(password); + sysUserDO.setPassword(new BCryptPasswordEncoder().encode(password)); userDao.updateById(sysUserDO); return R.ok(); } return R.fail("修改失败"); } + /** + * 移除专家权限 + * */ + @Override + public R removeExpertRole(String phone) { + if (nonNull(phone)){ + //是否有权限为专家的账号 + SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 11).eq(SysUserDO::getPhone, phone)); + if (nonNull(sysUserDO)){ + //删除后台账号 + sysUserDO.setStatus(2); + userDao.updateById(sysUserDO); + log.info("禁用专家后台账号成功"); + } + //小程序账号移除专家权限 + SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 13).eq(SysUserDO::getPhone, phone)); + if (nonNull(sysUserDO1)){ + sysUserDO1.setType(1); + userDao.updateById(sysUserDO1); + log.info("移除专家权限成功"); + } + } + return R.ok(); + } + @Override public R getAreaAndStreet() { -- Gitblit v1.7.1