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 | 125 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 2 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 83cbc65..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); } @@ -3637,8 +3675,8 @@ } @Override - public R resetPassword(Integer type, String account) { - SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount,account).eq(SysUserDO::getType,type)); + public R resetPassword(Integer type, String account,String appId) { + SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount,account).eq(SysUserDO::getType,type).eq(SysUserDO::getAppId,appId)); if(sysUserDO!=null){ sysUserDO.setPassword("$2a$10$F/2lE2NMhKNHJfi5.FLmfu7jIr7ImRWgCTTeO6m3IRNR2V4sv8YR."); userDao.updateById(sysUserDO); @@ -3662,6 +3700,89 @@ return R.ok(); } + /** + * 三说会堂新增业务中心或专家账号 + * */ + @Override + public R addExpertOrIndustryCenter(AdministratorsUserVO administratorsUserVO) { + SysUserDO sysUserDO=new SysUserDO(); + //是否存在相同账号 + 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(new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword())); + sysUserDO.setName(administratorsUserVO.getName()); + if (nonNull(administratorsUserVO.getImageUrl())){ + sysUserDO.setImageUrl(administratorsUserVO.getImageUrl()); + } + 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("账户名已存在"); + } + + /** + * 三说会堂后台重置密码 + * */ + @Override + public R resetPassExpertOrIndustryCenter(String account,String password) { + SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().eq("account", account)); + if (nonNull(sysUserDO)){ + 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