huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -1,5 +1,21 @@
package com.panzhihua.service_user.service.impl;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -16,38 +32,21 @@
import com.panzhihua.common.model.vos.*;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
import com.panzhihua.common.model.vos.grid.EventGridMemberRelationVO;
import com.panzhihua.common.model.vos.grid.GridMemberVO;
import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO;
import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO;
import com.panzhihua.common.model.vos.partybuilding.ComPbServiceTeamVO;
import com.panzhihua.common.model.vos.partybuilding.ComPbServiceTeamWishVO;
import com.panzhihua.common.model.vos.shop.ShopStoreVO;
import com.panzhihua.common.model.vos.user.*;
//import com.panzhihua.common.service.grid.GridService;
import com.panzhihua.common.service.partybuilding.PartyBuildingService;
import com.panzhihua.common.utlis.*;
import com.panzhihua.service_user.dao.*;
import com.panzhihua.service_user.model.dos.*;
import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
import com.panzhihua.service_user.service.EventGridMemberBuildingRelationService;
import com.panzhihua.service_user.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
// import com.panzhihua.common.service.grid.GridService;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -93,17 +92,38 @@
//    @Resource
//    private GridService gridService;
    public static void main(String[] args) {
        // String encode = new BCryptPasswordEncoder().encode("lbsq123456");
        // System.out.println(encode);
        List<Date> dates = new ArrayList<>();
        Date date = new Date();
        for (int i = 6; i >= 0; i--) {
            Date date1 = DateUtils.addDays(date, -i);
            dates.add(date1);
        }
        System.out.println(dates);
        // BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
        // boolean matches = encoder.matches("admin1234567", encode);
        // System.out.println(matches);
    }
    /**
     * 小程序微信用户信息更新
     *
     * @param openid     小程序唯一ID
     * @param sessionKey 会话密钥
     * @param unionid    用户在开放平台的唯一标识符
     * @param openid
     *            小程序唯一ID
     * @param sessionKey
     *            会话密钥
     * @param unionid
     *            用户在开放平台的唯一标识符
     * @return token
     */
    @Override
    public R updateInsertUser(String openid, String sessionKey, String unionid) {
        SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getOpenid, openid));
        SysUserDO sysUserDO =
            userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getOpenid, openid));
        boolean empty = ObjectUtils.isEmpty(sysUserDO);
        int num = 0;
        Date date = new Date();
@@ -137,10 +157,14 @@
    /**
     * 维护小程序用户基本信息 头像 昵称 性别
     *
     * @param userId    数据库用户ID
     * @param nickName  昵称
     * @param gender    性别
     * @param avatarUrl 头像
     * @param userId
     *            数据库用户ID
     * @param nickName
     *            昵称
     * @param gender
     *            性别
     * @param avatarUrl
     *            头像
     * @return 维护结果
     */
    @Override
@@ -161,8 +185,10 @@
    /**
     * 维护微信用户手机号
     *
     * @param userId          数据库ID
     * @param purePhoneNumber 没有区号的手机号
     * @param userId
     *            数据库ID
     * @param purePhoneNumber
     *            没有区号的手机号
     * @return 维护结果
     */
    @Override
@@ -183,18 +209,22 @@
    /**
     * 认证中心获取平台用户信息
     *
     * @param name 登录账户
     * @param type 用户类型 用户类型 1 小程序 2 运营平台 3 社区平台
     * @param name
     *            登录账户
     * @param type
     *            用户类型 用户类型 1 小程序 2 运营平台 3 社区平台
     * @return 用户基本信息、角色
     */
    @Override
    public R<LoginUserInfoVO> getUserInfo(String name, int type) {
        SysUserDO sysUserDO = null;
        if (1 == type) {
            sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name));
            sysUserDO = userDao.selectOne(
                new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name));
        } else {
            LambdaQueryWrapper<SysUserDO> wrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type);
            wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).or().eq(SysUserDO::getPhone, name));
            wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).or()
                .eq(SysUserDO::getPhone, name));
            sysUserDO = userDao.selectOne(wrapper);
        }
        boolean empty = ObjectUtils.isEmpty(sysUserDO);
@@ -222,7 +252,8 @@
    /**
     * 三端获取用户信息
     *
     * @param userId 用户ID
     * @param userId
     *            用户ID
     * @return 用户基本信息、角色
     */
    @Override
@@ -279,7 +310,8 @@
    /**
     * 修改用户登录密码
     *
     * @param changePasswordVO 新密码
     * @param changePasswordVO
     *            新密码
     * @return 修改结果
     */
    @Override
@@ -311,15 +343,18 @@
    /**
     * 某社区后台人员查询
     *
     * @param param       名字
     * @param communityId 社区id
     * @param param
     *            名字
     * @param communityId
     *            社区id
     * @return 人员集合
     */
    @Override
    public R listActivityManager(String param, Long communityId) {
        LambdaQueryWrapper<SysUserDO> queryWrapper = new LambdaQueryWrapper<>();
        List<ActivityManagerVO> activityManagerVOS = new ArrayList<>();
        queryWrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getCommunityId, communityId).eq(SysUserDO::getStatus, 1).eq(SysUserDO::getType, 3);
        queryWrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getCommunityId, communityId)
            .eq(SysUserDO::getStatus, 1).eq(SysUserDO::getType, 3);
        if (!ObjectUtils.isEmpty(param)) {
            queryWrapper = queryWrapper.eq(SysUserDO::getName, param);
        }
@@ -337,8 +372,11 @@
    /**
     * 微心愿搜索社区团队人员列表
     * @param param 请求参数
     * @param communityId   社区id
     *
     * @param param
     *            请求参数
     * @param communityId
     *            社区id
     * @return  社区团队人员列表
     */
    @Override
@@ -349,7 +387,8 @@
    /**
     * 分页查询人脸识别
     *
     * @param loginUserInfoVO 查询参数
     * @param loginUserInfoVO
     *            查询参数
     * @return 分页集合
     */
    @Override
@@ -372,7 +411,8 @@
    /**
     * 编辑人脸采集数据通过、驳回、删除
     *
     * @param loginUserInfoVO 操作信息
     * @param loginUserInfoVO
     *            操作信息
     * @return 操作结果
     */
    @Override
@@ -409,12 +449,14 @@
    /**
     * 分页查询人口管理
     *
     * @param userInfoVO 查询参数
     * @param userInfoVO
     *            查询参数
     * @return 分页数据
     */
    @Override
    public R pageUser(AppletUserInfoVO userInfoVO) {
        IPage<AppletUserInfoVO> iPage = userDao.pageUser(new Page<>(userInfoVO.getPageNum(),userInfoVO.getPageSize()), userInfoVO);
        IPage<AppletUserInfoVO> iPage =
            userDao.pageUser(new Page<>(userInfoVO.getPageNum(), userInfoVO.getPageSize()), userInfoVO);
        iPage.getRecords().forEach(record -> {
            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
            record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
@@ -432,15 +474,17 @@
        List<String> list = new ArrayList<>();
        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new LambdaQueryWrapper<>());
        if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
            list = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()).collect(Collectors.toList());
            list = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                .collect(Collectors.toList());
        }
        return R.ok(list);
    }
    /**
     * 人员详情
     *detailuser
     * @param userId 用户id
     * 人员详情 detailuser
     *
     * @param userId
     *            用户id
     * @return 人员详情
     */
    @Override
@@ -452,7 +496,8 @@
                return R.fail("人员不存在");
            }
            BeanUtils.copyProperties(sysUserDO, loginUserInfoVO);
            List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO.selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId));
            List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO
                .selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId));
            if (!ObjectUtils.isEmpty(comMngFamilyInfoDOS)) {
                List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = new ArrayList<>();
                comMngFamilyInfoDOS.forEach(comMngFamilyInfoDO -> {
@@ -473,7 +518,8 @@
            BeanUtils.copyProperties(sysUserInputDO, loginUserInfoVO);
            String doorNumber = sysUserInputDO.getDoorNumber();
            Long areaId = sysUserInputDO.getAreaId();
            List<SysUserInputDO> sysUserInputDOS = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getDoorNumber, doorNumber).eq(SysUserInputDO::getAreaId, areaId));
            List<SysUserInputDO> sysUserInputDOS = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>()
                .lambda().eq(SysUserInputDO::getDoorNumber, doorNumber).eq(SysUserInputDO::getAreaId, areaId));
            if (!ObjectUtils.isEmpty(sysUserInputDOS)) {
                List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = new ArrayList<>();
                sysUserInputDOS.forEach(sysUserInputDO1 -> {
@@ -510,7 +556,8 @@
    /**
     * 设置用户标签
     *
     * @param loginUserInfoVO 标签信息
     * @param loginUserInfoVO
     *            标签信息
     * @return 设置结果
     */
    @Override
@@ -528,7 +575,8 @@
    /**
     * 修改用户志愿者状态
     *
     * @param phone 志愿者手机号
     * @param phone
     *            志愿者手机号
     * @param type
     */
    @Override
@@ -546,7 +594,8 @@
                String userKey = UserConstants.LOGIN_USER_INFO + userId;
                stringRedisTemplate.delete(userKey);
            }else{
                List<SysUserDO> userDOList =  userDao.selectList(new LambdaQueryWrapper<SysUserDO>().eq(SysUserDO::getPhone, phone));
                List<SysUserDO> userDOList =
                    userDao.selectList(new LambdaQueryWrapper<SysUserDO>().eq(SysUserDO::getPhone, phone));
                if(userDOList!=null && userDOList.size()>0){
                    userDOList.forEach(usrDo ->{
                        Long userId = usrDo.getUserId();
@@ -561,11 +610,11 @@
        return R.fail();
    }
    /**
     * 修改用户志愿者状态
     *
     * @param userId 志愿者用户ID
     * @param userId
     *            志愿者用户ID
     * @param type
     */
    @Override
@@ -597,7 +646,8 @@
    /**
     * 用户绑定社区、小区
     *
     * @param loginUserInfoVO 社区小区数据
     * @param loginUserInfoVO
     *            社区小区数据
     * @return 绑定结果
     */
    @Override
@@ -620,7 +670,8 @@
    /**
     * 用户实名认证
     *
     * @param loginUserInfoVO 认证数据
     * @param loginUserInfoVO
     *            认证数据
     * @return 认证结果
     */
    @Override
@@ -652,7 +703,8 @@
            sysUserDO.setPhone(loginUserInfoVO.getPhone());
        }
        sysUserDO.setFaceState(null);
        SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard, idCard));
        SysUserDO sysUserDO1 =
            userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard, idCard));
        if (!ObjectUtils.isEmpty(sysUserDO1)) {
            return R.fail("身份证已经存在");
        }
@@ -677,7 +729,8 @@
                    WxXCXTempSend util = new WxXCXTempSend();
                    String accessToken = util.getAppAccessToken();
                    //用户实名认证推送消息
                    WxUtil.sendSubscribeRZSH(user.getOpenid(),accessToken,"实名认证", com.panzhihua.common.utlis.DateUtils.getCurrentDateStr(),"认证成功");
                    WxUtil.sendSubscribeRZSH(user.getOpenid(), accessToken, "实名认证",
                        com.panzhihua.common.utlis.DateUtils.getCurrentDateStr(), "认证成功");
                }catch (Exception e){
                    log.error("推送用户订阅消息失败,失败原因:" + e.getMessage());
                }
@@ -690,7 +743,8 @@
    /**
     * 修改用户手机号
     *
     * @param userPhoneVO 手机号信息
     * @param userPhoneVO
     *            手机号信息
     * @return 修改结果
     */
    @Override
@@ -734,7 +788,8 @@
    /**
     * 修改用户信息
     *
     * @param loginUserInfoVO 修改内容
     * @param loginUserInfoVO
     *            修改内容
     * @return 修改结果
     */
    @Override
@@ -787,13 +842,15 @@
    /**
     * 家庭成员列表
     *
     * @param userId 登录用户
     * @param userId
     *            登录用户
     * @return 成员集合
     */
    @Override
    public R listFamily(Long userId,Long pageNum, Long pageSize) {
        List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = new ArrayList<>();
        LambdaQueryWrapper<ComMngFamilyInfoDO> query = new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId).orderByDesc(ComMngFamilyInfoDO::getCreateAt);
        LambdaQueryWrapper<ComMngFamilyInfoDO> query = new QueryWrapper<ComMngFamilyInfoDO>().lambda()
            .eq(ComMngFamilyInfoDO::getUserId, userId).orderByDesc(ComMngFamilyInfoDO::getCreateAt);
        IPage<ComMngFamilyInfoDO> pageData = comMngFamilyInfoDAO.selectPage(new Page<>(pageNum,pageSize), query);
        if (!ObjectUtils.isEmpty(pageData.getRecords())) {
            pageData.getRecords().forEach(comMngFamilyInfoDO -> {
@@ -808,14 +865,17 @@
    /**
     * 新增家庭成员
     *
     * @param comMngFamilyInfoVO 家庭成员基本信息
     * @param comMngFamilyInfoVO
     *            家庭成员基本信息
     * @return 增加结果
     */
    @Override
    public R addFamily(ComMngFamilyInfoVO comMngFamilyInfoVO) {
        ComMngFamilyInfoDO comMngFamilyInfoDO = new ComMngFamilyInfoDO();
        BeanUtils.copyProperties(comMngFamilyInfoVO, comMngFamilyInfoDO);
        ComMngFamilyInfoDO comMngFamilyInfoDO1 = comMngFamilyInfoDAO.selectOne(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getIdCard, comMngFamilyInfoVO.getIdCard()).eq(ComMngFamilyInfoDO::getUserId, comMngFamilyInfoVO.getUserId()));
        ComMngFamilyInfoDO comMngFamilyInfoDO1 = comMngFamilyInfoDAO.selectOne(new QueryWrapper<ComMngFamilyInfoDO>()
            .lambda().eq(ComMngFamilyInfoDO::getIdCard, comMngFamilyInfoVO.getIdCard())
            .eq(ComMngFamilyInfoDO::getUserId, comMngFamilyInfoVO.getUserId()));
        if (!ObjectUtils.isEmpty(comMngFamilyInfoDO1)) {
            return R.fail("家庭成员已经存在");
        }
@@ -830,7 +890,8 @@
    /**
     * 编辑家庭成员
     *
     * @param comMngFamilyInfoVO 家庭成员信息
     * @param comMngFamilyInfoVO
     *            家庭成员信息
     * @return 编辑结果
     */
    @Override
@@ -848,7 +909,8 @@
    /**
     * 新增运营、社区后台账户
     *
     * @param administratorsUserVO 账户信息
     * @param administratorsUserVO
     *            账户信息
     * @return 新增结果
     */
    @Override
@@ -873,7 +935,8 @@
            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()));
                SysRoleDO sysRoleDO1 = roleDAO.selectOne(
                    new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey()));
                roleId = sysRoleDO1.getRoleId();
                //新角色设置所有权限
                MenuRoleVO menuRoleVO = new MenuRoleVO();
@@ -927,7 +990,9 @@
            }
        }
        if (insert > 0) {
            SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, administratorsUserVO.getType()).eq(SysUserDO::getAccount, administratorsUserVO.getAccount()));
            SysUserDO sysUserDO1 = userDao
                .selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, administratorsUserVO.getType())
                    .eq(SysUserDO::getAccount, administratorsUserVO.getAccount()));
            Long userId = sysUserDO1.getUserId();
            SysUserRoleDO sysUserRoleDO = new SysUserRoleDO();
            sysUserRoleDO.setUserId(userId);
@@ -943,7 +1008,8 @@
    /**
     * 设置角色的权限
     *
     * @param menuRoleVO 用户设置的权限id
     * @param menuRoleVO
     *            用户设置的权限id
     * @return 设置结果
     */
    @Transactional(rollbackFor = Exception.class)
@@ -953,9 +1019,12 @@
        Integer isAll = menuRoleVO.getIsAll();
        Long communityId = menuRoleVO.getCommunityId();
//        if (isAll.intValue()==1) {
//            List<SysMenuDO> sysMenuDOS = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId, 2l).eq(SysMenuDO::getParentId,0).orderByAsc(SysMenuDO::getOrderNum));
        // List<SysMenuDO> sysMenuDOS = sysMenuDAO.selectList(new
        // QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId,
        // 2l).eq(SysMenuDO::getParentId,0).orderByAsc(SysMenuDO::getOrderNum));
//            Long menuIdParent = sysMenuDOS.get(1).getMenuId();
//            List<SysMenuDO> sysMenuDOSErJi = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getParentId, menuIdParent));
        // List<SysMenuDO> sysMenuDOSErJi = sysMenuDAO.selectList(new
        // QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getParentId, menuIdParent));
//            if (!ObjectUtils.isEmpty(sysMenuDOS)) {
//                sysMenuDOS.forEach(sysMenuDO -> {
//                    sysMenuDO.setCommunityId(communityId);
@@ -963,7 +1032,9 @@
//                    sysMenuDAO.insert(sysMenuDO);
//                });
////                完成一级目录创建
//                List<SysMenuDO> sysMenuDOS1 = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId, communityId).orderByAsc(SysMenuDO::getOrderNum));
        // List<SysMenuDO> sysMenuDOS1 = sysMenuDAO.selectList(new
        // QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId,
        // communityId).orderByAsc(SysMenuDO::getOrderNum));
//                sysMenuDOS1.forEach(sysMenuDO -> {
//                    Integer orderNum = sysMenuDO.getOrderNum();
//                    if (orderNum.intValue()>0) {
@@ -981,12 +1052,13 @@
//        菜单写死不重新生成菜单 todo 所有注释上面自动生成新菜单功能
//        获取所有权限id
        List<SysMenuDO> menuDOList = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId, 2l).orderByAsc(SysMenuDO::getOrderNum));
        List<SysMenuDO> menuDOList = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda()
            .eq(SysMenuDO::getCommunityId, 2l).orderByAsc(SysMenuDO::getOrderNum));
        if(!menuDOList.isEmpty()){
            menuIds = menuDOList.stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList());
            for (int i = 0; i < menuIds.size(); i++) {
                SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda().eq(SysRoleMenuDO::getMenuId,menuIds.get(i))
                        .eq(SysRoleMenuDO::getRoleId,roleId));
                SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda()
                    .eq(SysRoleMenuDO::getMenuId, menuIds.get(i)).eq(SysRoleMenuDO::getRoleId, roleId));
                if(sysRoleMenuDO == null){
                    sysRoleMenuDO = new SysRoleMenuDO();
                    sysRoleMenuDO.setMenuId(menuIds.get(i));
@@ -1001,7 +1073,8 @@
    /**
     * 编辑运营、社区后台账户
     *
     * @param administratorsUserVO 编辑账户内容
     * @param administratorsUserVO
     *            编辑账户内容
     * @return 编辑结果
     */
    @Override
@@ -1034,7 +1107,8 @@
        if (update > 0 && null != roleDO) {
            SysUserRoleDO sysUserRoleDO = new SysUserRoleDO();
            sysUserRoleDO.setRoleId(roleDO.getRoleId());
            int update1 = sysUserRoleDAO.update(sysUserRoleDO, new UpdateWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getUserId, administratorsUserVO.getUserId()));
            int update1 = sysUserRoleDAO.update(sysUserRoleDO, new UpdateWrapper<SysUserRoleDO>().lambda()
                .eq(SysUserRoleDO::getUserId, administratorsUserVO.getUserId()));
            if (update1 > 0) {
                return R.ok();
            } else {
@@ -1048,7 +1122,8 @@
    /**
     * 删除后台用户
     *
     * @param administratorsUserVO 用户主键
     * @param administratorsUserVO
     *            用户主键
     * @return 删除结果
     */
    @Override
@@ -1068,7 +1143,8 @@
        int delete = userDao.deleteById(userId);
        //删除用户角色关系
        if (delete > 0) {
            int delete1 = sysUserRoleDAO.delete(new QueryWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getUserId, userId));
            int delete1 =
                sysUserRoleDAO.delete(new QueryWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getUserId, userId));
            if (delete1 == 0) {
                return R.fail("用户没有角色关系");
            }
@@ -1079,7 +1155,8 @@
    /**
     * 分页查询后台用户
     *
     * @param administratorsUserVO 查询参数
     * @param administratorsUserVO
     *            查询参数
     * @return 后台用户
     */
    @Override
@@ -1102,7 +1179,8 @@
    /**
     * 保存操作日志
     *
     * @param operlog 日志内容
     * @param operlog
     *            日志内容
     * @return 保存结果
     */
    @Override
@@ -1119,7 +1197,8 @@
    /**
     * 分页展示操作日志
     *
     * @param sysOperLogVO 分页参数
     * @param sysOperLogVO
     *            分页参数
     * @return 分页集合
     */
    @Override
@@ -1146,8 +1225,8 @@
     */
    @Override
    public R listAgreement(Long communityId) {
        List<SysUserAgreementDO> sysUserAgreementDOS = sysUserAgreementDAO.selectList(new LambdaQueryWrapper<SysUserAgreementDO>()
                .eq(SysUserAgreementDO::getCommunityId,communityId));
        List<SysUserAgreementDO> sysUserAgreementDOS = sysUserAgreementDAO.selectList(
            new LambdaQueryWrapper<SysUserAgreementDO>().eq(SysUserAgreementDO::getCommunityId, communityId));
        if (ObjectUtils.isEmpty(sysUserAgreementDOS)) {
            return R.fail();
        }
@@ -1163,7 +1242,8 @@
    /**
     * 编辑用户协议
     *
     * @param sysUserAgreementVO 编辑内容
     * @param sysUserAgreementVO
     *            编辑内容
     * @return 编辑结果
     */
    @Override
@@ -1180,12 +1260,14 @@
    /**
     * 用户标签
     *
     * @param communityId 社区id
     * @param communityId
     *            社区id
     * @return 标签集合
     */
    @Override
    public R listComMngUserTag(Long communityId) {
        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().or().lambda().eq(ComMngUserTagDO::getSysFlag,1).or().eq(ComMngUserTagDO::getCommunityId, communityId));
        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().or()
            .lambda().eq(ComMngUserTagDO::getSysFlag, 1).or().eq(ComMngUserTagDO::getCommunityId, communityId));
        if (ObjectUtils.isEmpty(comMngUserTagDOS)) {
            return R.fail();
        }
@@ -1201,7 +1283,8 @@
    /**
     * 新增删除用户标签
     *
     * @param systemmanagementConfigVO 操作内容
     * @param systemmanagementConfigVO
     *            操作内容
     * @return 操作结果
     */
    @Override
@@ -1210,7 +1293,7 @@
        Long communityId = systemmanagementConfigVO.getCommunityId();
        List<ComMngUserTagVO> comMngUserTagVOList = systemmanagementConfigVO.getComMngUserTagVOList();
        if (!ObjectUtils.isEmpty(comMngUserTagVOList)) {
            comMngUserTagDAO.delete(null);
            comMngUserTagDAO.delete(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getCommunityId,communityId));
            comMngUserTagVOList.forEach(comMngUserTagVO -> {
                ComMngUserTagDO comMngUserTagDO = new ComMngUserTagDO();
                comMngUserTagDO.setCommunityId(communityId);
@@ -1227,7 +1310,8 @@
    /**
     * 分页查询小程序用户
     *
     * @param pageUserAppletsBackstageDTO 查询参数
     * @param pageUserAppletsBackstageDTO
     *            查询参数
     * @return 分页集合
     */
    @Override
@@ -1244,7 +1328,8 @@
    /**
     * 编辑用户状态
     *
     * @param pageUserAppletsBackstageDTO 启用或者禁用 1 启用 2 禁用
     * @param pageUserAppletsBackstageDTO
     *            启用或者禁用 1 启用 2 禁用
     * @return 编辑结果
     */
    @Override
@@ -1264,7 +1349,8 @@
    /**
     * 调试接口--清除昵称、社区、小区
     *
     * @param userId 登录用户id
     * @param userId
     *            登录用户id
     * @return 清除结果
     */
    @Override
@@ -1279,19 +1365,22 @@
    /**
     * 用户协议和隐私政策
     *
     * @param type 所属app 1居民端app 2网格员端app 3商家端app
     * @param type
     *            所属app 1居民端app 2网格员端app 3商家端app
     * @return 协议内容
     */
    @Override
    public R userAgreement(int type) {
        SysUserAgreementDO sysUserAgreementDO = sysUserAgreementDAO.selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type));
        SysUserAgreementDO sysUserAgreementDO = sysUserAgreementDAO
            .selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type));
        return R.ok(sysUserAgreementDO);
    }
    /**
     * 意见反馈
     *
     * @param sysUserFeedbackDTO 反馈内容
     * @param sysUserFeedbackDTO
     *            反馈内容
     * @return 反馈结果
     */
    @Override
@@ -1309,7 +1398,8 @@
    /**
     * 分页通知列表
     *
     * @param pageDTO 分页参数
     * @param pageDTO
     *            分页参数
     * @return 分页结果
     */
    @Override
@@ -1318,9 +1408,12 @@
        Integer type = pageDTO.getType();
        int integer = 0;
        if (null != type && type.intValue() > 0) {
            integer = sysUserNoticeDAO.selectCount(new QueryWrapper<SysUserNoticeDO>().lambda().eq(SysUserNoticeDO::getUserId, userId).eq(SysUserNoticeDO::getStatus, 0).eq(SysUserNoticeDO::getType, type));
            integer = sysUserNoticeDAO
                .selectCount(new QueryWrapper<SysUserNoticeDO>().lambda().eq(SysUserNoticeDO::getUserId, userId)
                    .eq(SysUserNoticeDO::getStatus, 0).eq(SysUserNoticeDO::getType, type));
        } else {
            integer = sysUserNoticeDAO.selectCount(new QueryWrapper<SysUserNoticeDO>().lambda().eq(SysUserNoticeDO::getUserId, userId).eq(SysUserNoticeDO::getStatus, 0));
            integer = sysUserNoticeDAO.selectCount(new QueryWrapper<SysUserNoticeDO>().lambda()
                .eq(SysUserNoticeDO::getUserId, userId).eq(SysUserNoticeDO::getStatus, 0));
        }
        Page page = new Page<>();
        Long pageNum = pageDTO.getPageNum();
@@ -1337,7 +1430,8 @@
    /**
     * 通知已读
     *
     * @param noticeReadDTO 通知已读
     * @param noticeReadDTO
     *            通知已读
     * @return 修改状态
     */
    @Override
@@ -1348,7 +1442,8 @@
        SysUserNoticeDO sysUserNoticeDO = new SysUserNoticeDO();
        if (null != all && 1 == all.intValue()) {
            sysUserNoticeDO.setStatus(1);
            num = sysUserNoticeDAO.update(sysUserNoticeDO, new UpdateWrapper<SysUserNoticeDO>().lambda().eq(SysUserNoticeDO::getUserId, userId).eq(SysUserNoticeDO::getStatus, 0));
            num = sysUserNoticeDAO.update(sysUserNoticeDO, new UpdateWrapper<SysUserNoticeDO>().lambda()
                .eq(SysUserNoticeDO::getUserId, userId).eq(SysUserNoticeDO::getStatus, 0));
        } else {
            sysUserNoticeDO.setId(noticeReadDTO.getId());
            sysUserNoticeDO.setStatus(1);
@@ -1363,7 +1458,8 @@
    /**
     * 分页查询用户意见反馈
     *
     * @param pageFeedBackDTO 分页查询参数
     * @param pageFeedBackDTO
     *            分页查询参数
     * @return 意见集合
     */
    @Override
@@ -1380,14 +1476,16 @@
    /**
     * 未读消息汇总
     *
     * @param userId 登录用户信息
     * @param userId
     *            登录用户信息
     * @return 未读汇总
     */
    @Override
    public R noticeUnreadNum(Long userId) {
        NoticeUnReadVO noticeUnReadVO = sysUserNoticeDAO.noticeUnreadNum(userId);
        List<SysUserNoticeVO> sysUserNoticeVOList = new ArrayList<>();
        List<SysUserNoticeDO> sysUserNoticeDOS = sysUserNoticeDAO.selectList(new QueryWrapper<SysUserNoticeDO>().lambda().eq(SysUserNoticeDO::getUserId, userId).orderByDesc(SysUserNoticeDO::getCreateAt));
        List<SysUserNoticeDO> sysUserNoticeDOS = sysUserNoticeDAO.selectList(new QueryWrapper<SysUserNoticeDO>()
            .lambda().eq(SysUserNoticeDO::getUserId, userId).orderByDesc(SysUserNoticeDO::getCreateAt));
        if (!ObjectUtils.isEmpty(sysUserNoticeDOS)) {
            List<Integer> typeList = new ArrayList<>(4);
            sysUserNoticeDOS.forEach(sysUserNoticeDO -> {
@@ -1407,7 +1505,8 @@
    /**
     * 反馈意见详情
     *
     * @param id 反馈主键
     * @param id
     *            反馈主键
     * @return 反馈详情
     */
    @Override
@@ -1469,7 +1568,8 @@
    /**
     * 社区管理后台数据看板
     *
     * @param communityId 社区id
     * @param communityId
     *            社区id
     * @return 看板用户数据
     */
    @Override
@@ -1496,7 +1596,8 @@
    /**
     * 新增用户通知
     *
     * @param sysUserNoticeVO 通知内容
     * @param sysUserNoticeVO
     *            通知内容
     * @return 新增结果
     */
    @Override
@@ -1513,12 +1614,14 @@
    /**
     * 修改用户的党员状态
     *
     * @param idCard 身份证号
     * @param idCard
     *            身份证号
     * @return 修改结果
     */
    @Override
    public R updateUserIsPartymember(String idCard) {
        SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard,idCard).eq(SysUserDO::getType,1));
        SysUserDO sysUserDO = userDao.selectOne(
            new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard, idCard).eq(SysUserDO::getType, 1));
        if(sysUserDO != null){
            sysUserDO.setIsPartymember(1);
            int updated = userDao.updateById(sysUserDO);
@@ -1535,12 +1638,14 @@
    /**
     * 修改用户的党员状态
     *
     * @param idCard 身份证号
     * @param idCard
     *            身份证号
     * @return 修改结果
     */
    @Override
    public R updateUserNotPartymember(String idCard) {
        SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard,idCard).eq(SysUserDO::getType,1));
        SysUserDO sysUserDO = userDao.selectOne(
            new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard, idCard).eq(SysUserDO::getType, 1));
        if(sysUserDO != null){
            sysUserDO.setIsPartymember(0);
            int updated = userDao.updateById(sysUserDO);
@@ -1554,16 +1659,17 @@
        return R.ok();
    }
    /**
     * 获取各种协议
     *
     * @param type 1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策
     * @param type
     *            1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策
     * @return 协议内容
     */
    @Override
    public R agreement(Integer type) {
        SysUserAgreementDO sysUserAgreementDO = sysUserAgreementDAO.selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type));
        SysUserAgreementDO sysUserAgreementDO = sysUserAgreementDAO
            .selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type));
        if (ObjectUtils.isEmpty(sysUserAgreementDO)) {
            return R.fail("协议不存在");
        }
@@ -1575,7 +1681,8 @@
    /**
     * 维护用户最后登录时间
     *
     * @param userId 用户主键
     * @param userId
     *            用户主键
     * @return 维护结果
     */
    @Override
@@ -1593,7 +1700,8 @@
    /**
     * 删除意见反馈
     *
     * @param id 主键
     * @param id
     *            主键
     * @return 删除结果
     */
    @Override
@@ -1608,7 +1716,8 @@
    /**
     * 校验小区是否存在
     *
     * @param areaName 小区名字
     * @param areaName
     *            小区名字
     * @return 校验结果
     */
    @Override
@@ -1629,7 +1738,8 @@
    /**
     * 社区人员详情包括导入人员
     *
     * @param userId 人员id
     * @param userId
     *            人员id
     * @return CommunityUserInfoVO
     */
    @Override
@@ -1664,7 +1774,8 @@
                communityUserInfoVO.setPoliticalOutlook(3);
            }
            communityUserInfoVO.setIsVolunteer(sysUserDO.getIsVolunteer());
            List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO.selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId));
            List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO
                .selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId));
            if (!ObjectUtils.isEmpty(comMngFamilyInfoDOS)) {
                List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = new ArrayList<>();
                comMngFamilyInfoDOS.forEach(comMngFamilyInfoDO -> {
@@ -1681,7 +1792,8 @@
    /**
     * 用户搜索了就下载搜索的用户否则下载所有用户
     *
     * @param exportUserDTO 用户搜索内容
     * @param exportUserDTO
     *            用户搜索内容
     * @return List<EexcelUserDTO> excel内容
     */
    @Override
@@ -1692,30 +1804,14 @@
    @Override
    public R getSysUserVOByPhone(String phone) {
        SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, phone).eq(SysUserDO::getType,1));
        SysUserDO sysUserDO = userDao
            .selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, phone).eq(SysUserDO::getType, 1));
        if (ObjectUtils.isEmpty(sysUserDO)) {
            return R.fail("用户不存在");
        }
        SysUserVO sysUserVO = new SysUserVO();
        BeanUtils.copyProperties(sysUserDO, sysUserVO);
        return R.ok(sysUserVO);
    }
    public static void main(String[] args) {
//        String encode = new BCryptPasswordEncoder().encode("lbsq123456");
//        System.out.println(encode);
        List<Date> dates = new ArrayList<>();
        Date date = new Date();
        for (int i = 6; i >= 0; i--) {
            Date date1 = DateUtils.addDays(date, -i);
            dates.add(date1);
        }
        System.out.println(dates);
//        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
//        boolean matches = encoder.matches("admin1234567", encode);
//        System.out.println(matches);
    }
    /**
@@ -1726,9 +1822,11 @@
    @Override
    public R listTags(Long communityId) {
        List<String> list = new ArrayList<>();
        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
            .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
        if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
            list = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()).collect(Collectors.toList());
            list = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                .collect(Collectors.toList());
        }
        return R.ok(list);
    }
@@ -1749,7 +1847,8 @@
    /**
     * 新增SysUser
     *
     * @param storeVO 请求参数
     * @param storeVO
     *            请求参数
     * @return 新增结果
     */
    @Override
@@ -1808,13 +1907,14 @@
    /**
     * 修改SysUser用户信息
     *
     * @param storeVO 请求参数
     * @param storeVO
     *            请求参数
     * @return 修改结果
     */
    @Override
    public R editSysUser(ShopStoreVO storeVO) {
        SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, storeVO.getPhone())
                .eq(SysUserDO::getType, 5));
        SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda()
            .eq(SysUserDO::getPhone, storeVO.getPhone()).eq(SysUserDO::getType, 5));
        if (sysUserDO1 == null) {
            return R.fail("未查询到后台管理用户!");
        }
@@ -1829,7 +1929,8 @@
    /**
     * 修改用户小程序首页活动提示
     *
     * @param userEditTipsDTO 请求参数
     * @param userEditTipsDTO
     *            请求参数
     * @return 修改结果
     */
    public R editUserTips(SysUserEditTipsDTO userEditTipsDTO) {
@@ -1872,7 +1973,9 @@
    /**
     * 修改app用户密码
     * @param userInfoAppDTO    请求参数
     *
     * @param userInfoAppDTO
     *            请求参数
     * @return  修改结果
     */
    @Override
@@ -1902,14 +2005,17 @@
    /**
     * 添加网格员
     * @param eventGridMemberAddDTO    请求参数
     *
     * @param eventGridMemberAddDTO
     *            请求参数
     * @return  结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R addGridUser(EventGridMemberAddDTO eventGridMemberAddDTO) {
        SysRoleDO gridMemberDefaultRole = roleDAO.selectOne(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, Constants.GRID_DEFAULT_ROLE_KEY));
        SysRoleDO gridMemberDefaultRole = roleDAO.selectOne(
            new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, Constants.GRID_DEFAULT_ROLE_KEY));
        if(gridMemberDefaultRole==null) {
            //添加默认网格员角色
            gridMemberDefaultRole = new SysRoleDO();
@@ -1959,7 +2065,8 @@
            //关联市平台网格员
            if(eventGridMemberAddDTO.getLcMemberId() != null){
                LcCompareCodeMemberDO compareCodeMemberDO = lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
                LcCompareCodeMemberDO compareCodeMemberDO =
                    lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
                        .eq(LcCompareCodeMemberDO::getLcGridMemberId,eventGridMemberAddDTO.getLcMemberId()));
                if(compareCodeMemberDO != null){
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
@@ -2016,13 +2123,15 @@
    /**
     * 网格员管理
     * @param memberRelationDTO 请求参数
     *
     * @param memberRelationDTO
     *            请求参数
     * @return  网格员列表
     */
    @Override
    public R getGridMemberList(PageEventGridMemberRelationDTO memberRelationDTO){
        IPage<GridMemberVO> gridMemberPage = userDao.getGridMemberList(new Page(memberRelationDTO.getPageNum()
                ,memberRelationDTO.getPageSize()),memberRelationDTO);
        IPage<GridMemberVO> gridMemberPage = userDao.getGridMemberList(
            new Page(memberRelationDTO.getPageNum(), memberRelationDTO.getPageSize()), memberRelationDTO);
        if(!gridMemberPage.getRecords().isEmpty()){
            gridMemberPage.getRecords().forEach(gridMember -> {
                //查询网格员关联市平台网格员id
@@ -2034,7 +2143,8 @@
                }
                //查询网格员关联楼栋信息
                List<GridMemberBuildingVO> memberBuildingList = eventGridMemberBuildingRelationMapper.getGridMemberBuildingRelation(gridMember.getUserId());
                List<GridMemberBuildingVO> memberBuildingList =
                    eventGridMemberBuildingRelationMapper.getGridMemberBuildingRelation(gridMember.getUserId());
                if(!memberBuildingList.isEmpty()){
                    memberBuildingList.forEach(memberBuilding -> {
                        if(!memberBuilding.getBuildingName().contains("栋")){
@@ -2050,7 +2160,9 @@
    /**
     * 修改网格员信息
     * @param gridMemberDTO 请求参数
     *
     * @param gridMemberDTO
     *            请求参数
     * @return  修改结果
     */
    @Override
@@ -2084,7 +2196,8 @@
            //关联市平台网格员
            if(gridMemberDTO.getLcMemberId() != null){
                //关联现有的网格员信息
                LcCompareCodeMemberDO compareCodeMemberDO = lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
                LcCompareCodeMemberDO compareCodeMemberDO =
                    lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
                        .eq(LcCompareCodeMemberDO::getLcGridMemberId,gridMemberDTO.getLcMemberId()));
                if(compareCodeMemberDO != null){
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
@@ -2143,7 +2256,9 @@
    /**
     * 重置网格员密码
     * @param gridMemberDTO 请求参数
     *
     * @param gridMemberDTO
     *            请求参数
     * @return  重置结果
     */
    @Override
@@ -2159,7 +2274,9 @@
    /**
     * 批量删除网格员
     * @param Ids   网格员id集合
     *
     * @param Ids
     *            网格员id集合
     * @return  删除结果
     */
    @Override
@@ -2196,13 +2313,16 @@
    /**
     * 查询社区的收益说明
     * @param communityId   社区id
     *
     * @param communityId
     *            社区id
     * @return  收益说明
     */
    @Override
    public R listAgreements(Long communityId){
        List<SysUserAgreementDO> sysUserAgreementDOS = sysUserAgreementDAO.selectList(new LambdaQueryWrapper<SysUserAgreementDO>()
        List<SysUserAgreementDO> sysUserAgreementDOS =
            sysUserAgreementDAO.selectList(new LambdaQueryWrapper<SysUserAgreementDO>()
                .eq(SysUserAgreementDO::getCommunityId,communityId).eq(SysUserAgreementDO::getType,5));
        if (sysUserAgreementDOS.isEmpty()) {
            SysUserAgreementDO agreementDO = new SysUserAgreementDO();
@@ -2240,7 +2360,9 @@
    /**
     * 根据用户id查询用户openid
     * @param userId    用户id
     *
     * @param userId
     *            用户id
     * @return  openid
     */
    @Override
@@ -2254,7 +2376,9 @@
    /**
     * 查询社区后台工作人员列表
     * @param communityId   社区id
     *
     * @param communityId
     *            社区id
     * @return  社区后台工作人员列表
     */
    @Override