| | |
| | | import cn.hutool.core.util.ArrayUtil; |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.core.util.*; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | |
| | | sysUserDO1.setPassword(encode); |
| | | sysUserDO1.setType(1); |
| | | sysUserDO1.setAppId(appId); |
| | | //设置默认头像地址 |
| | | sysUserDO1.setImageUrl("https://www.psciio.com//idcard/f15c91f940624ed59537ecced1059f18.jpg"); |
| | | //设置默认用户名 |
| | | sysUserDO1.setNickName("用户" + RandomUtil.randomString(8)); |
| | | num = userDao.insert(sysUserDO1); |
| | | } else { |
| | | String encode = new BCryptPasswordEncoder().encode(UserConstants.PASSWORD); |
| | |
| | | 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)); |
| | | new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name).eq(SysUserDO::getAppId, appId)); |
| | | }else if(isIndustryOrExpertAccount) { |
| | | //三说会堂行业分中心或专家后台账号登陆 |
| | | sysUserDO = userDao.selectOne( |
| | |
| | | return R.fail(); |
| | | } |
| | | LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); |
| | | if (nonNull(sysUserDO.getStreetId())){ |
| | | loginUserInfoVO.setStreetId(sysUserDO.getStreetId()); |
| | | } |
| | | loginUserInfoVO.setUserId(sysUserDO.getUserId()); |
| | | loginUserInfoVO.setName(sysUserDO.getName()); |
| | | loginUserInfoVO.setPassword(sysUserDO.getPassword()); |
| | |
| | | roleDOList.forEach(sysRoleDO -> { |
| | | set.add(sysRoleDO.getRoleKey()); |
| | | }); |
| | | } |
| | | //是否为人大代表 |
| | | if (StringUtils.isNotEmpty(sysUserDO.getPhone()) && StringUtils.isNotEmpty(sysUserDO.getName())){ |
| | | int i = userDao.isDpcMember(sysUserDO.getPhone(), sysUserDO.getName()); |
| | | if (i>0){ |
| | | loginUserInfoVO.setIsDpcMember(1); |
| | | } |
| | | } |
| | | return R.ok(loginUserInfoVO); |
| | | } |
| | |
| | | if(countSocialOrg>0){ |
| | | loginUserInfoVO.setUserType(3); |
| | | } |
| | | else { |
| | | if(loginUserInfoVO.getStreetId()!=null){ |
| | | loginUserInfoVO.setUserType(1); |
| | | if (nonNull(sysUserDO.getAccount())){ |
| | | if (isStreetAccount(sysUserDO.getAccount())){ |
| | | //街道账号 |
| | | loginUserInfoVO.setLevel(3); |
| | | } |
| | | else { |
| | | loginUserInfoVO.setUserType(2); |
| | | loginUserInfoVO.setLevel(4); |
| | | if (sysUserDO.getAccount().equals("admin")){ |
| | | loginUserInfoVO.setLevel(1); |
| | | } |
| | | } |
| | | if (loginUserInfoVO.getType().equals(3)){ |
| | | 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); |
| | | } |
| | | //是否为人大代表 |
| | | if (StringUtils.isNotEmpty(phone) && StringUtils.isNotEmpty(sysUserDO.getName())){ |
| | | int i = userDao.isDpcMember(phone, sysUserDO.getName()); |
| | | if (i>0){ |
| | | loginUserInfoVO.setIsDpcMember(1); |
| | | } |
| | | } |
| | | return R.ok(loginUserInfoVO); |
| | | } |
| | | |
| | | /** |
| | | * 是否为综治后台街道账号 |
| | | * */ |
| | | public Boolean isStreetAccount(String name){ |
| | | Boolean flag=false; |
| | | String[] account={"glpz","qxpjd","tjdjd","dbdjd","yqjd","bcg","hmkjd","dhjd","jsgyy","dzhljd"}; |
| | | if (nonNull(name)){ |
| | | if (ArrayUtil.contains(account,name)){ |
| | | flag=true; |
| | | } |
| | | } |
| | | return flag; |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | //是否是防疫工作人员 |
| | | 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); |
| | |
| | | userDao.updateComPbMemberUserId(idCard, sysUserDO.getUserId()); |
| | | } |
| | | |
| | | SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId()); |
| | | /*SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId()); |
| | | if (user != null) { |
| | | // 实名认证成功推送订阅消息给用户 |
| | | try { |
| | |
| | | } catch (Exception e) { |
| | | log.error("推送用户订阅消息失败,失败原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | }*/ |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | |
| | | this.putMenuRole(menuRoleVO); |
| | | } |
| | | } |
| | | if (administratorsUserVO.getType().equals(20)){ |
| | | roleId=1559112102373756548L; |
| | | } |
| | | SysRoleDO roleDO = roleDAO.selectById(roleId); |
| | | if (ObjectUtils.isEmpty(roleDO)) { |
| | | return R.fail("角色不存在"); |
| | |
| | | } |
| | | page.setSize(pageSize); |
| | | page.setCurrent(pageNum); |
| | | //因操作日志数据量太大,如果没有时间查询条件,默认查询最近十五天的数据 |
| | | if (StrUtil.isEmpty(sysOperLogVO.getStartTime()) && StrUtil.isEmpty(sysOperLogVO.getEndTime())){ |
| | | sysOperLogVO.setStartTime(com.panzhihua.common.utlis.DateUtils.getBeforeDay(30)); |
| | | sysOperLogVO.setStartTime(com.panzhihua.common.utlis.DateUtils.getBeforeDay(15)); |
| | | sysOperLogVO.setEndTime(com.panzhihua.common.utlis.DateUtils.getCurrentDateymd()); |
| | | } |
| | | IPage<SysOperLogVO> iPage = sysOperLogDAO.pageOperLog(page, sysOperLogVO); |
| | |
| | | @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("账户已经存在"); |
| | | } |
| | |
| | | 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); |
| | | try { |
| | |
| | | } |
| | | |
| | | // 获取最近二十天数据 |
| | | 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); |
| | |
| | | |
| | | @Override |
| | | public R updateUserPartyStatus(Long userId) { |
| | | SysUserDO sysUserDO = userDao.selectById(userId); |
| | | if (sysUserDO != null) { |
| | | sysUserDO.setIsPartymember(1); |
| | | int updated = userDao.updateById(sysUserDO); |
| | | if (updated > 0) { |
| | | // 删除用户信息缓存 |
| | | String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId(); |
| | | stringRedisTemplate.delete(userKey); |
| | | List<SysUserDO> sysUserDOs = userDao.selectByUserId(userId); |
| | | for (SysUserDO sysUserDO : sysUserDOs) { |
| | | if (sysUserDO != null) { |
| | | sysUserDO.setIsPartymember(1); |
| | | int updated = userDao.updateById(sysUserDO); |
| | | if (updated > 0) { |
| | | // 删除用户信息缓存 |
| | | String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId(); |
| | | stringRedisTemplate.delete(userKey); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | String accessToken = ""; |
| | | WxXCXTempSend util = new WxXCXTempSend(); |
| | | try { |
| | | accessToken = util.getAccessToken(); |
| | | accessToken = util.getAccessToken("wx118de8a734d269f0"); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | WxUtil.sendUuWash3(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "sU18zbyzxFldHAdOREaQCR5uq_uMvCKTmGtklO1xw-w"); |
| | | break; |
| | | case 4: |
| | | status = "车美已开始服务"; |
| | | status = "开始服务"; |
| | | WxUtil.sendUuWash4(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw"); |
| | | break; |
| | | case 6: |
| | | status = "订单确认完成"; |
| | | status = "订单完成"; |
| | | WxUtil.sendUuWash6(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "k1aV97H3pDNNcNcDTeZBD9jQemNDADnRE801HhTXweI"); |
| | | break; |
| | | case 9: |
| | | status = "订单已取消"; |
| | | status = "订单取消"; |
| | | WxUtil.sendUuWash(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "9_2FhQPDxZoUqmAuIZ1L1zjjYXokdNvu7A0gzKfvruI"); |
| | | break; |
| | | } |
| | |
| | | WxUtil.sendWsWash3(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "sNj6m-JBvW6rOokKGDX9X3-XH1AD0GY5_X0jA9JSLwc"); |
| | | break; |
| | | case 4: |
| | | status = "车美已开始服务"; |
| | | status = "开始服务"; |
| | | WxUtil.sendWsWash4(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw"); |
| | | break; |
| | | case 6: |
| | | status = "订单确认完成"; |
| | | status = "订单完成"; |
| | | WxUtil.sendWsWash6(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "iPS8yrsGDqy76hiP8bIbxkosveoX1xTFhdusSiGp-XM"); |
| | | break; |
| | | case 9: |
| | | status = "订单已取消"; |
| | | status = "订单取消"; |
| | | WxUtil.sendWsWash(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "z_ysGXz9JWBc2rXuYZzVCXKJTyLf0w0WerrohuNoEng"); |
| | | break; |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R getAllCommunityList() { |
| | | List<Integer> areaList = areaCodeList(); |
| | | List<AreaVOS> areaVOList = new ArrayList<>(); |
| | | for (Integer code : areaList) { |
| | | AreaVOS areaVO = new AreaVOS(); |
| | | areaVO.setId(code); |
| | | areaVO.setName(areaCodeToName(code.longValue())); |
| | | List<StreetVOS> streetVOS = userDao.selectStreetByAreaCode(code); |
| | | Iterator<StreetVOS> iterator = streetVOS.listIterator(); |
| | | while (iterator.hasNext()) { |
| | | StreetVOS vo = iterator.next(); |
| | | List<CommunityVO> communityVOS = userDao.selectCommunityByStreetId(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", |
| | |
| | | "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); |
| | | //是否为市级账号 |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R feedBackReply(SysUserFeedbackVO sysUserFeedbackVO) { |
| | | SysUserFeedbackDO sysUserFeedbackDO=new SysUserFeedbackDO(); |
| | | BeanUtils.copyProperties(sysUserFeedbackVO, sysUserFeedbackDO); |
| | | return R.ok(sysUserFeedbackDAO.updateById(sysUserFeedbackDO)); |
| | | } |
| | | |
| | | @Override |
| | | public R myFeedBack(Long id,Integer type) { |
| | | List<SysUserFeedbackDO> sysUserFeedbackDOS = sysUserFeedbackDAO.selectList(new QueryWrapper<SysUserFeedbackDO>().lambda().eq(SysUserFeedbackDO::getType, type).eq(SysUserFeedbackDO::getUserId, id)); |
| | | return R.ok(sysUserFeedbackDOS); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public R getAreaAndStreet() { |