From f1bcbc43e988d0d1a91bea66a9ebbf6d601e48c0 Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期四, 13 十月 2022 10:33:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 163 insertions(+), 5 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 990a284..f8331eb 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 @@ -22,12 +22,15 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.panzhihua.common.model.dtos.community.microCommercialStreet.BindUserPhoneDTO; +import com.panzhihua.common.model.dtos.partybuilding.ComPbCheckUserDTO; import com.panzhihua.common.model.vos.community.ComAreaTownCommunityVO; import com.panzhihua.common.model.vos.community.acid.ComActAcidCheckRecordVO; 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; @@ -301,11 +304,18 @@ */ @Override public R<LoginUserInfoVO> getUserInfo(String name, int type,String appId) { + //是否为三说会堂行业分中心或专家后台账号 SysUserDO sysUserDO = null; + Boolean isIndustryOrExpertAccount=(userDao.isIndustryCenterAccount(name)>0 || userDao.isExpertAccount(name)>0); if (1 == type) { sysUserDO = userDao.selectOne( new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name)); - } else { + }else if(isIndustryOrExpertAccount) { + //三说会堂行业分中心或专家后台账号登陆 + sysUserDO = userDao.selectOne( + new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId, appId)); + } + else { LambdaQueryWrapper<SysUserDO> wrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type); if (type == 11) { //只允许通过account登录 @@ -470,8 +480,37 @@ } } 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); } + + /** * 修改用户登录密码 @@ -758,6 +797,17 @@ loginUserInfoVO.setLevel(2); }else if (isNull(loginUserInfoVO.getLevel())){ loginUserInfoVO.setLevel(1); + } + loginUserInfoVO.setBackstageType(1); + String[] account={"dongqu","xiqu","yanbianxian","miyixian","renhequ","fantaixinqu"}; + if("zuzhibu".equals(sysUserDO.getAccount())){ + loginUserInfoVO.setBackstageType(2); + } + if(ArrayUtil.contains(account,sysUserDO.getAccount())){ + loginUserInfoVO.setBackstageType(3); + } + if(sysUserDO.getBindingCheckUnitId()!=null){ + loginUserInfoVO.setBackstageType(4); } return R.ok(loginUserInfoVO); } @@ -2261,14 +2311,20 @@ String encode = new BCryptPasswordEncoder().encode(storeVO.getStorePassword()); BeanUtils.copyProperties(storeVO, sysUserDO); sysUserDO.setAccount(storeVO.getStoreAccount()); - sysUserDO.setType(5); + sysUserDO.setType(20); + sysUserDO.setCommunityId(communityId); sysUserDO.setAreaId(null); sysUserDO.setStatus(1); sysUserDO.setPhone(storeVO.getPhone()); sysUserDO.setName(storeVO.getContacts()); sysUserDO.setPassword(encode); + sysUserDO.setAppId("wx0cef797390444b75"); try { insert = userDao.insert(sysUserDO); + SysUserRoleDO sysUserRoleDO = new SysUserRoleDO(); + sysUserRoleDO.setUserId(sysUserDO.getUserId()); + sysUserRoleDO.setRoleId(sysRoleDO.getRoleId()); + sysUserRoleDAO.insert(sysUserRoleDO); // 把SysUserId赋值给店铺 if (sysUserDO.getUserId() != null) { userDao.updateStoreByPhone(storeVO.getPhone(), sysUserDO.getUserId()); @@ -3541,7 +3597,7 @@ @Override public R uuPush(String washPhone,String phone,String washName,Integer orderStatus) { if(StringUtils.isNotEmpty(phone)){ - SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).orderByDesc(SysUserDO::getCreateAt).last("limit 1")); + SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).eq(SysUserDO::getAppId,"wx118de8a734d269f0").orderByDesc(SysUserDO::getCreateAt).last("limit 1")); if(sysUserDO!=null&&StringUtils.isNotEmpty(sysUserDO.getOpenid())){ String status=""; String accessToken=""; @@ -3564,6 +3620,38 @@ case 9 : status="订单已取消"; WxUtil.sendUuWash(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"9_2FhQPDxZoUqmAuIZ1L1zjjYXokdNvu7A0gzKfvruI"); break; + } + } + } + return R.ok(); + } + + @Override + public R wsPush(String washPhone,String phone,String washName,Integer orderStatus) { + if(StringUtils.isNotEmpty(phone)){ + SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).eq(SysUserDO::getAppId,"wx98d62711dfbd8425").orderByDesc(SysUserDO::getCreateAt).last("limit 1")); + if(sysUserDO!=null&&StringUtils.isNotEmpty(sysUserDO.getOpenid())){ + String status=""; + String accessToken=""; + WxXCXTempSend util = new WxXCXTempSend(); + try { + accessToken = util.getWsAccessToken(); + } catch (Exception e) { + e.printStackTrace(); + } + switch (orderStatus){ + case 3 : status="已分配车美"; + WxUtil.sendUuWash3(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"sNj6m-JBvW6rOokKGDX9X3-XH1AD0GY5_X0jA9JSLwc"); + break; + case 4 : status="车美已开始服务"; + WxUtil.sendUuWash4(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw"); + break; + case 6 : status="订单确认完成"; + WxUtil.sendUuWash6(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"iPS8yrsGDqy76hiP8bIbxkosveoX1xTFhdusSiGp-XM"); + break; + case 9 : status="订单已取消"; + WxUtil.sendUuWash(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"z_ysGXz9JWBc2rXuYZzVCXKJTyLf0w0WerrohuNoEng"); + break; } } } @@ -3671,6 +3759,40 @@ return R.ok(); } + @Override + public R accept(Long userId) { + SysUserDO sysUserDO=new SysUserDO(); + sysUserDO.setUserId(userId); + sysUserDO.setIsAccept(1); + userDao.updateById(sysUserDO); + return R.ok(); + } + + @Override + @Transactional + public R addComPbCheckUser(ComPbCheckUserDTO comPbCheckUserDTO) { + SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount,comPbCheckUserDTO.getAccount()).eq(SysUserDO::getType,3).eq(SysUserDO::getAppId,"wx118de8a734d269f0")); + if(sysUserDO!=null){ + return R.fail("账户名已存在"); + } + SysUserDO sysUserDO1=new SysUserDO(); + sysUserDO1.setUserId(Snowflake.getId()); + sysUserDO1.setAccount(comPbCheckUserDTO.getAccount()); + sysUserDO1.setPassword(new BCryptPasswordEncoder().encode(comPbCheckUserDTO.getPassword())); + sysUserDO1.setType(3); + sysUserDO1.setAppId("wx118de8a734d269f0"); + sysUserDO1.setCommunityId(0L); + sysUserDO1.setBindingCheckUnitId(comPbCheckUserDTO.getCheckUnitId()); + int restlt=userDao.insert(sysUserDO1); + if(restlt>0){ + SysUserRoleDO sysUserRoleDO=new SysUserRoleDO(); + sysUserRoleDO.setRoleId(123321L); + sysUserRoleDO.setUserId(sysUserDO1.getUserId()); + sysUserRoleDAO.insert(sysUserRoleDO); + } + return R.ok(); + } + /** * 三说会堂新增业务中心或专家账号 * */ @@ -3680,10 +3802,11 @@ //是否存在相同账号 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()); @@ -3691,12 +3814,22 @@ if (nonNull(administratorsUserVO.getType())){ sysUserDO.setType(administratorsUserVO.getType()); } + if (nonNull(administratorsUserVO.getPhone())){ + sysUserDO.setPhone(administratorsUserVO.getPhone()); + } 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)); } @@ -3714,13 +3847,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