From a12e09a5bc73672dcd4665d35a1ef8c9d1c534b0 Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期一, 16 十月 2023 18:47:11 +0800 Subject: [PATCH] 修改三说会堂 --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 269 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 234 insertions(+), 35 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 d49a0f6..484bdde 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 @@ -31,6 +31,7 @@ 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.shop.ComShopUserAddressVO; import com.panzhihua.common.model.vos.user.*; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.utlis.*; @@ -331,9 +332,18 @@ return R.fail(); } LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); + //获取后台商家user + SysUserDO sysUser = userDao.selectOne( + new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 5).eq(SysUserDO::getPhone, sysUserDO.getPhone()).eq(SysUserDO::getAppId, appId)); + //判断是否是商家账号 + if (nonNull(sysUser)){ + loginUserInfoVO.setBackstageUserId(sysUser.getUserId()); + loginUserInfoVO.setBackstageType(5); + } if (nonNull(sysUserDO.getStreetId())){ loginUserInfoVO.setStreetId(sysUserDO.getStreetId()); } + loginUserInfoVO.setLoveIntegral(sysUserDO.getLoveIntegral()); loginUserInfoVO.setUserId(sysUserDO.getUserId()); loginUserInfoVO.setName(sysUserDO.getName()); loginUserInfoVO.setPassword(sysUserDO.getPassword()); @@ -371,6 +381,13 @@ loginUserInfoVO.setIsDpcMember(1); } } + //是否为物业公司账号 + if (nonNull(sysUserDO.getPhone())){ + Long propertyAccount = userDao.isPropertyAccount(sysUserDO.getPhone()); + if (nonNull(propertyAccount)){ + loginUserInfoVO.setPropertyId(propertyAccount); + } + } return R.ok(loginUserInfoVO); } @@ -389,6 +406,7 @@ } LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); BeanUtils.copyProperties(sysUserDO, loginUserInfoVO); + loginUserInfoVO.setLoveIntegral(sysUserDO.getLoveIntegral()); List<SysRoleDO> roleDOList = roleDAO.selectByUserId(sysUserDO.getUserId()); Set<String> set = new HashSet<>(); if (!ObjectUtils.isEmpty(roleDOList)) { @@ -524,6 +542,37 @@ if (i>0){ loginUserInfoVO.setIsDpcMember(1); } + } + //获取后台商家user + SysUserDO sysUser = userDao.selectOne( + new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 5).eq(SysUserDO::getPhone, sysUserDO.getPhone()).eq(SysUserDO::getAppId, "wx118de8a734d269f0")); + //判断是否是商家账号 + if (nonNull(sysUser)){ + loginUserInfoVO.setBackstageUserId(sysUser.getUserId()); + loginUserInfoVO.setBackstageType(5); + Long storeId = userDao.selectStoreIdIdByUserId(sysUser.getUserId()); + loginUserInfoVO.setStoreIdId(storeId); + + } + //是否为物业公司账号 + if (nonNull(sysUserDO.getPhone())){ + Long propertyAccount = userDao.isPropertyAccount(sysUserDO.getPhone()); + if (nonNull(propertyAccount)){ + loginUserInfoVO.setPropertyId(propertyAccount); + } + } + //获取自提点账号 + if (StrUtil.isNotBlank(sysUserDO.getPhone())){ + if(userDao.checkPoint(sysUserDO.getPhone()) > 0){ + loginUserInfoVO.setIsPoint(true); + }else { + loginUserInfoVO.setIsPoint(false); + } + } + //默认地址 + ComShopUserAddressVO comShopUserAddressVO = userDao.selectDefaultAddressVO(userId); + if (nonNull(comShopUserAddressVO)){ + loginUserInfoVO.setComShopUserAddressVO(comShopUserAddressVO); } return R.ok(loginUserInfoVO); } @@ -753,12 +802,14 @@ * @return 人员详情 */ @Override - public R<LoginUserInfoVO> detailUser(Long userId) { + public R<LoginUserInfoVO> detailUser(Long userId) + { LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); SysUserDO sysUserDO = userDao.selectById(userId); if (ObjectUtils.isEmpty(sysUserDO)) { return R.fail("人员不存在"); } + BeanUtils.copyProperties(sysUserDO, loginUserInfoVO); List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO .selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId)); @@ -792,6 +843,13 @@ //是否是防疫工作人员 loginUserInfoVO.setIsAcidMember(0); ComActAcidMemberVO acidMember = userDao.selectAcidMemberByPhone(loginUserInfoVO.getPhone()); + //是否为普达物业公司后台账号 + if (nonNull(sysUserDO.getPhone())){ + Long propertyAccount = userDao.isPropertyAccount(sysUserDO.getPhone()); + if (nonNull(propertyAccount)){ + loginUserInfoVO.setPropertyId(propertyAccount); + } + } if (nonNull(acidMember)) { if (acidMember.getRelationName().equals("panzhihua") || acidMember.getRelationName().equals("西区") || acidMember.getRelationName().equals("东区") || acidMember.getRelationName().equals("仁和区") || acidMember.getRelationName().equals("米易县") || acidMember.getRelationName().equals("盐边县")) { loginUserInfoVO.setIsAcidMember(1); @@ -831,6 +889,20 @@ } if (sysUserDO.getBindingCheckUnitId() != null) { loginUserInfoVO.setBackstageType(4); + } + //判断是否是商家账号 + Long storeId = userDao.selectStoreIdIdByUserId(sysUserDO.getUserId()); + if (null != storeId){ + loginUserInfoVO.setBackstageUserId(sysUserDO.getUserId()); + loginUserInfoVO.setBackstageType(5); + loginUserInfoVO.setStoreIdId(storeId); + } + + SysUserRoleDO sysUserRoleDO=sysUserRoleDAO.selectOne(new QueryWrapper<SysUserRoleDO>() + .lambda().eq(SysUserRoleDO::getUserId,sysUserDO.getUserId())); + if(sysUserRoleDO!=null ) + { + loginUserInfoVO.setRoleId(sysUserRoleDO.getRoleId()+""); } return R.ok(loginUserInfoVO); } @@ -1001,7 +1073,7 @@ userDao.updateComPbMemberUserId(idCard, sysUserDO.getUserId()); } - SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId()); + /*SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId()); if (user != null) { // 实名认证成功推送订阅消息给用户 try { @@ -1014,7 +1086,7 @@ } catch (Exception e) { log.error("推送用户订阅消息失败,失败原因:" + e.getMessage()); } - } + }*/ return R.ok(); } return R.fail(); @@ -1190,6 +1262,15 @@ @Override @Transactional(rollbackFor = Exception.class) public R addUserBackstage(AdministratorsUserVO administratorsUserVO) { + + List<SysUserDO> list=userDao.selectList(new QueryWrapper<SysUserDO>().lambda(). + eq(SysUserDO::getAppId,administratorsUserVO.getAppid()). + eq(SysUserDO::getAccount,administratorsUserVO.getAccount())); + if(list!=null && list.size()>0) + { + return R.fail("账户已存在!"); + } + ComActVO comActVO = userDao.selectCommunity(administratorsUserVO.getCommunityId()); if (nonNull(comActVO)) { List<ComAreaTownCommunityVO> areaTownList = userDao.selectAreaTownCommunity(comActVO.getName()); @@ -1222,11 +1303,29 @@ } sysRoleDO.setRoleSort(0); sysRoleDO.setCreateBy(administratorsUserVO.getUserId()); - int insert = roleDAO.insert(sysRoleDO); - if (insert > 0) { - SysRoleDO sysRoleDO1 = roleDAO.selectOne( - new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); - roleId = sysRoleDO1.getRoleId(); + sysRoleDO.setRoleId(Snowflake.getId()); + + SysRoleDO sysRoleDOSelext = roleDAO.selectOne( + new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); + + if(sysRoleDOSelext==null) + { + int insert = roleDAO.insert(sysRoleDO); + if (insert > 0) { + SysRoleDO sysRoleDO1 = roleDAO.selectOne( + new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleId, sysRoleDO.getRoleId())); + roleId = sysRoleDO1.getRoleId(); + // 新角色设置所有权限 + MenuRoleVO menuRoleVO = new MenuRoleVO(); + menuRoleVO.setIsAll(1); + menuRoleVO.setCommunityId(communityId); + menuRoleVO.setRoleId(roleId); + this.putMenuRole(menuRoleVO); + } + } + else + { + roleId = sysRoleDOSelext.getRoleId(); // 新角色设置所有权限 MenuRoleVO menuRoleVO = new MenuRoleVO(); menuRoleVO.setIsAll(1); @@ -1234,6 +1333,7 @@ menuRoleVO.setRoleId(roleId); this.putMenuRole(menuRoleVO); } + } if (roleId.intValue() == 777777777) { SysRoleDO sysRoleDO = new SysRoleDO(); @@ -1241,11 +1341,47 @@ sysRoleDO.setRoleKey(Constants.STREET_ROLE_KEY + administratorsUserVO.getStreetId()); sysRoleDO.setRoleSort(0); sysRoleDO.setCreateBy(administratorsUserVO.getUserId()); - int insert = roleDAO.insert(sysRoleDO); - if (insert > 0) { - SysRoleDO sysRoleDO1 = roleDAO.selectOne( - new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); - roleId = sysRoleDO1.getRoleId(); + sysRoleDO.setRoleId(Snowflake.getId()); + + SysRoleDO sysRoleDOSelext = roleDAO.selectOne( + new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); + + if(sysRoleDOSelext==null) + { + int insert = roleDAO.insert(sysRoleDO); + if (insert > 0) { + SysRoleDO sysRoleDO1 = roleDAO.selectOne( + new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleId, sysRoleDO.getRoleId())); + roleId = sysRoleDO1.getRoleId(); + // 新街道管理员角色设置固定三社权限 + MenuRoleVO menuRoleVO = new MenuRoleVO(); + List<Long> menu = new ArrayList<>(); + if (administratorsUserVO.getSocialType() == 1) { + menu.add(233L); + menu.add(234L); + menu.add(235L); + menu.add(236L); + menu.add(237L); + } else if (administratorsUserVO.getSocialType() == 2) { + menu.add(233L); + menu.add(234L); + menu.add(236L); + menu.add(237L); + menu.add(238L); + } else if (administratorsUserVO.getSocialType() == 3) { + menu.add(233L); + menu.add(237L); + } else { + menuRoleVO.setIsAll(1); + } + menuRoleVO.setMenuIds(menu); + menuRoleVO.setRoleId(roleId); + this.putMenuRole(menuRoleVO); + } + } + else + { + roleId = sysRoleDOSelext.getRoleId(); // 新街道管理员角色设置固定三社权限 MenuRoleVO menuRoleVO = new MenuRoleVO(); List<Long> menu = new ArrayList<>(); @@ -1271,6 +1407,7 @@ menuRoleVO.setRoleId(roleId); this.putMenuRole(menuRoleVO); } + } SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { @@ -1337,13 +1474,12 @@ menu.add(300L); menu.add(303L); } - sysRoleDO.setRoleSort(0); sysRoleDO.setCreateBy(administratorsUserVO.getUserId()); - SysRoleDO sysRoleDO1 = roleDAO.selectOne( + List<SysRoleDO> sysRoleDO1 = roleDAO.selectList( new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); - if (sysRoleDO1 != null) { - sysRoleDO = sysRoleDO1; + if (sysRoleDO1 != null && sysRoleDO1.size()>0 ) { + sysRoleDO = sysRoleDO1.get(0); roleId = sysRoleDO.getRoleId(); } else { roleDAO.insert(sysRoleDO); @@ -1354,6 +1490,8 @@ this.putMenuRole(menuRoleVO); } } + log.info("======================type"+administratorsUserVO.getType()); + log.info("=======================roleId"+roleId); SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { return R.fail("角色不存在"); @@ -1361,6 +1499,9 @@ String encode = new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword()); administratorsUserVO.setPassword(encode); BeanUtils.copyProperties(administratorsUserVO, sysUserDO); + if (nonNull(administratorsUserVO.getAppid())){ + sysUserDO.setAppId(administratorsUserVO.getAppid()); + } int insert = 0; try { insert = userDao.insert(sysUserDO); @@ -1374,7 +1515,6 @@ } else if (e.getMessage().contains("23000")) { throw new ServiceException("手机号已存在"); } - } if (insert > 0) { SysUserDO sysUserDO1 = userDao @@ -1584,11 +1724,11 @@ || operlog.getTitle().equals(UPDATEACIDRECORD)); if (flag) { //保存数据 -// try { -//// operlog.setBeforeUpdateData(saveBeforeUpdateData(operlog)); -// } catch (JsonProcessingException e) { -// e.printStackTrace(); -// } + try { + operlog.setBeforeUpdateData(saveBeforeUpdateData(operlog)); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } } SysOperLogDO sysOperLogDO = new SysOperLogDO(); BeanUtils.copyProperties(operlog, sysOperLogDO); @@ -2845,7 +2985,8 @@ @Transactional(rollbackFor = Exception.class) public R addConvenientMerchantUser(ConvenientMerchantDTO convenientMerchantDTO) { SysUserDO sysUserDO; - sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, convenientMerchantDTO.getAccount())); + sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, convenientMerchantDTO.getAccount()) + .eq(SysUserDO::getPhone,convenientMerchantDTO.getMobilePhone()).eq(SysUserDO::getAppId,"wx118de8a734d269f0")); if (nonNull(sysUserDO)) { return R.fail("账户已经存在"); } @@ -2854,12 +2995,13 @@ String encode = new BCryptPasswordEncoder().encode(convenientMerchantDTO.getPassword()); BeanUtils.copyProperties(convenientMerchantDTO, sysUserDO); sysUserDO.setAccount(convenientMerchantDTO.getAccount()); - sysUserDO.setType(10); + sysUserDO.setType(5); sysUserDO.setAreaId(null); sysUserDO.setStatus(1); - sysUserDO.setPhone(null); + sysUserDO.setPhone(convenientMerchantDTO.getMobilePhone()); sysUserDO.setName(convenientMerchantDTO.getContacts()); sysUserDO.setPassword(encode); + sysUserDO.setAppId("wx118de8a734d269f0"); try { userDao.insert(sysUserDO); return R.ok(sysUserDO.getUserId()); @@ -2973,14 +3115,24 @@ } // 获取最近二十天数据 - List<Date> serverndays = com.panzhihua.common.utlis.DateUtils.getOldDays(); - serverndays.forEach(date -> { - // 查询社区活动数量 - DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(dataKanBansDto.getAppId(), date); + List<Date> activeDate = getTwentyDays(); + + String twentyDay = com.panzhihua.common.utlis.DateUtils.getTwentyDay(); + //获取最近活跃人数 + List<UsersStatisticsDTO> actives = userDao.selectActive(twentyDay, dataKanBansDto.getAppId()); + //获取最近注册人数 + List<UsersStatisticsDTO> dailyAdds = userDao.selectDailyAdd(twentyDay, dataKanBansDto.getAppId()); + + Map<String, String> activeMap = actives.stream().collect(Collectors.toMap(UsersStatisticsDTO::getSpecificDate, UsersStatisticsDTO::getTotal)); + Map<String, String> dailyAddMap = dailyAdds.stream().collect(Collectors.toMap(UsersStatisticsDTO::getSpecificDate, UsersStatisticsDTO::getTotal)); + + + for (Date date : activeDate) { + String dateStr = DateUtil.format(date, "yyyy-MM-dd"); communityActiveUserX.add(DateFormatUtils.format(date, "MM-dd")); - communityActiveUserY.add(dataKanbanDTO.getNum()); - communityActiveUserZ.add(dataKanbanDTO.getDayNum()); - }); + communityActiveUserY.add(dailyAddMap.containsKey(dateStr) ? Integer.parseInt(dailyAddMap.get(dateStr)) : 0); + communityActiveUserZ.add(activeMap.containsKey(dateStr) ? Integer.parseInt(activeMap.get(dateStr)) : 0); + } indexDataKanbanVO.setCommunityActiveUserX(communityActiveUserX); indexDataKanbanVO.setCommunityAddUserY(communityActiveUserY); indexDataKanbanVO.setCommunityActiveUserY(communityActiveUserZ); @@ -3339,7 +3491,7 @@ } Map<String, String> headerMap = new HashMap<>(); headerMap.put("appid", appId); - String resultJson = HttpClientUtil.get("https://api.uucsh.cn/member/wx/get-access?province=" + uuLoginVO.getProvince() + "&city=" + uuLoginVO.getCity() + "&area=" + uuLoginVO.getArea() + "&appid=" + appId + "×tamp=" + uuLoginVO.getTimestamp() + "&sign=" + uuLoginVO.getSign() + "&mobile=" + uuLoginVO.getMobile() + "&couponId=" + uuLoginVO.getCouponId(), headerMap, null); + String resultJson = HttpClientUtil.get("https://uu-api.imashuo.com/member/wx/get-access?province=" + uuLoginVO.getProvince() + "&city=" + uuLoginVO.getCity() + "&area=" + uuLoginVO.getArea() + "&appid=" + appId + "×tamp=" + uuLoginVO.getTimestamp() + "&sign=" + uuLoginVO.getSign() + "&mobile=" + uuLoginVO.getMobile() + "&couponId=" + uuLoginVO.getCouponId(), headerMap, null); JSONObject result = JSON.parseObject(resultJson); if (result.get("status").equals(1)) { return R.ok(result.get("data")); @@ -3697,6 +3849,27 @@ } @Override + public R getAllCommunityList() { + List<Integer> areaList = areaCodeList(); + List<AreaVOStr> areaVOList = new ArrayList<>(); + for (Integer code : areaList) { + AreaVOStr areaVO = new AreaVOStr(); + areaVO.setId(code+""); + areaVO.setName(areaCodeToName(code.longValue())); + List<StreetVOStr> streetVOS = userDao.selectStreetByAreaCodeStr(code); + Iterator<StreetVOStr> iterator = streetVOS.listIterator(); + while (iterator.hasNext()) { + StreetVOStr vo = iterator.next(); + List<CommunityVO> communityVOS = userDao.selectCommunityByStreetId(Long.parseLong(vo.getId()), 3); + vo.setChildList(communityVOS); + + } + areaVO.setChildList(streetVOS); + areaVOList.add(areaVO); + } + return R.ok(areaVOList); + } + @Override public R getCommunityList(String name, Long id) { //区级账号名 String[] streetList = {"bingcaogangjiedao", "donghuajiedao", "nongnongpingjiedao", "dadukoujiedaojiedao", "guazipingjiedao", @@ -3704,7 +3877,7 @@ "jingjiangzhen", "renhezhen", "pingdizhen", "datianzhen", "tongdezhen", "futianzhen", "qianjinzhen", "panlianzhen", "binguzhen", "baimazhen", "salianzhen", "puweizhen", "deshizhen", "wanqiuyizuxiang", "caochangzhen", "xinshanlisuzuxiang", "tongzilinzhen", "yongxingzhen", "yumenzhen", "honggezhen", "hongguoyizuxiang"}; - List<Integer> ids = userDao.selectIdsByAccount(streetList); +// List<Integer> ids = userDao.selectIdsByAccount(streetList); //村或社区账号 Integer type = isVilliage(name); //是否为市级账号 @@ -3918,6 +4091,32 @@ return R.ok(); } + @Override + public R feedBackReply(SysUserFeedbackVO sysUserFeedbackVO) { + if (isNull(sysUserFeedbackVO.getReply())){ + return R.fail("回复内容不能为空"); + } + SysUserFeedbackDO sysUserFeedbackDO1 = sysUserFeedbackDAO.selectById(sysUserFeedbackVO.getId()); + sysUserFeedbackDO1.setReply(sysUserFeedbackVO.getReply()); + return R.ok(sysUserFeedbackDAO.reply(sysUserFeedbackDO1)); + } + + @Override + public R myFeedBack(Long id,Integer type,Long propertyId) { + List<SysUserFeedbackDO> sysUserFeedbackDOS = sysUserFeedbackDAO.selectList(new QueryWrapper<SysUserFeedbackDO>().lambda().eq(SysUserFeedbackDO::getType, type).eq(SysUserFeedbackDO::getUserId, id).eq(SysUserFeedbackDO::getPropertyId,propertyId )); + return R.ok(sysUserFeedbackDOS); + } + + @Override + public R propertyCheck(String phone) { + Long propertyAccount = userDao.isPropertyAccount(phone); + log.info("==============物业公司id"+propertyAccount); + if (isNull(propertyAccount)){ + return R.fail(); + } + return R.ok(propertyAccount); + } + @Override public R getAreaAndStreet() { -- Gitblit v1.7.1