101captain
2022-06-14 e3aaacbccfe7aa6f99e3f116138efd9499abe7a5
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/UserService.java
@@ -1,20 +1,23 @@
package com.panzhihua.service_user.service;
import java.util.List;
import com.panzhihua.common.model.dtos.DataKanBansDto;
import com.panzhihua.common.model.dtos.PageDTO;
import com.panzhihua.common.model.dtos.community.ExportUserDTO;
import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
import com.panzhihua.common.model.dtos.grid.EventGridMemberAddDTO;
import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.BindUserPhoneDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
import com.panzhihua.common.model.dtos.grid.*;
import com.panzhihua.common.model.dtos.user.PageFeedBackDTO;
import com.panzhihua.common.model.dtos.user.PageUserAppletsBackstageDTO;
import com.panzhihua.common.model.dtos.user.SysUserEditTipsDTO;
import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO;
import com.panzhihua.common.model.vos.EditUserInfoPassAppDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.SystemmanagementConfigVO;
import com.panzhihua.common.model.vos.*;
import com.panzhihua.common.model.vos.shop.ShopStoreVO;
import com.panzhihua.common.model.vos.user.*;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -25,324 +28,505 @@
public interface UserService {
    /**
     * 小程序微信用户信息更新
     * @param openid 小程序唯一ID
     * @param sessionKey  会话密钥
     * @param unionid 用户在开放平台的唯一标识符
     *
     * @param openid
     *            小程序唯一ID
     * @param sessionKey
     *            会话密钥
     * @param unionid
     *            用户在开放平台的唯一标识符
     * @return token
     */
    R updateInsertUser(String openid, String sessionKey, String unionid);
    /**
     * 维护小程序用户基本信息 头像 昵称 性别
     * @param userId 数据库用户ID
     * @param nickName 昵称
     * @param gender 性别
     * @param avatarUrl 头像
     *
     * @param userId
     *            数据库用户ID
     * @param nickName
     *            昵称
     * @param gender
     *            性别
     * @param avatarUrl
     *            头像
     * @return 维护结果
     */
    R updateUserWeiXinInfo(Long userId, String nickName, int gender, String avatarUrl);
    /**
     * 维护微信用户手机号
     * @param userId 数据库ID
     * @param purePhoneNumber 没有区号的手机号
     *
     * @param userId
     *            数据库ID
     * @param purePhoneNumber
     *            没有区号的手机号
     * @return 维护结果
     */
    R updateUserWeiXinPhone(Long userId, String purePhoneNumber);
    /**
     * 认证中心获取平台用户信息
     *
     * @return 用户基本信息、角色
     * @param name 登录账户
     * @param type 用户类型 用户类型 1 小程序 2 运营平台 3 社区平台
     * @param name
     *            登录账户
     * @param type
     *            用户类型 用户类型 1 小程序 2 运营平台 3 社区平台
     */
    R<LoginUserInfoVO> getUserInfo(String name, int type);
    /**
     * 三端获取登录用户信息
     * @param userId 用户ID
     *
     * @param userId
     *            用户ID
     * @return 用户基本信息、角色
     */
    R<LoginUserInfoVO> getUserInfo(String userId);
    /**
     * 修改用户登录密码
     * @param changePasswordVO 新密码
     *
     * @param changePasswordVO
     *            新密码
     * @return 修改结果
     */
    R changePassword(ChangePasswordVO changePasswordVO);
    /**
     * 某社区后台人员查询
     * @param param 名字
     * @param communityId 社区id
     *
     * @param param
     *            名字
     * @param communityId
     *            社区id
     * @return 人员集合
     */
    R listActivityManager(String param, Long communityId);
    /**
     *分页查询人脸识别
     * @param loginUserInfoVO 查询参数
     * 微心愿搜索社区团队人员列表
     *
     * @param param
     *            请求参数
     * @param communityId
     *            社区id
     * @return 社区团队人员列表
     */
    R listActivityManager2(String param, Long communityId);
    /**
     * 分页查询人脸识别
     *
     * @param loginUserInfoVO
     *            查询参数
     * @return 分页集合
     */
    R pageUserFace(LoginUserInfoVO loginUserInfoVO);
    /**
     * 编辑人脸采集数据通过、驳回、删除
     * @param loginUserInfoVO 操作信息
     *
     * @param loginUserInfoVO
     *            操作信息
     * @return 操作结果
     */
    R putUserFace(LoginUserInfoVO loginUserInfoVO);
    /**
     *分页查询人口管理
     * @param loginUserInfoVO 查询参数
     * 分页查询人口管理
     *
     * @param userInfoVO
     *            查询参数
     * @return 分页数据
     */
    R pageUser(LoginUserInfoVO loginUserInfoVO);
    R pageUser(AppletUserInfoVO userInfoVO);
    /**
     * 查询所有人员标签
     *
     * @return 标签集合
     */
    R listTag();
    /**
     * 人员详情
     * @param userId 用户id
     *
     * @param userId
     *            用户id
     * @return 人员详情
     */
    R detailUser(Long userId);
    R<LoginUserInfoVO> detailUser(Long userId);
    /**
     * 设置用户标签
     * @param loginUserInfoVO 标签信息
     *
     * @param loginUserInfoVO
     *            标签信息
     * @return 设置结果
     */
    R putUserTag(LoginUserInfoVO loginUserInfoVO);
    /**
     * 修改用户志愿者状态
     * @param phone 志愿者手机号
     * @param type 1是志愿者 0 不是
     *
     * @param phone
     *            志愿者手机号
     * @param type
     *            1是志愿者 0 不是
     */
    R putUserIsVolunteer(String phone, int type);
    /**
     * 修改用户志愿者状态
     * @param userId 用户ID
     * @param type 1是志愿者 0 不是
     *
     * @param userId
     *            用户ID
     * @param type
     *            1是志愿者 0 不是
     */
    R putUserIsVolunteerById(Long userId, int type);
    /**
     * 用户绑定社区、小区
     * @param loginUserInfoVO 社区小区数据
     *
     * @param loginUserInfoVO
     *            社区小区数据
     * @return 绑定结果
     */
    R putUserCommunityArea(LoginUserInfoVO loginUserInfoVO);
    /**
     * 用户实名认证
     * @param loginUserInfoVO 认证数据
     *
     * @param loginUserInfoVO
     *            认证数据
     * @return 认证结果
     */
    R putUserAuthentication(LoginUserInfoVO loginUserInfoVO);
    /**
     * 修改用户手机号
     * @param userPhoneVO 手机号信息
     *
     * @param userPhoneVO
     *            手机号信息
     * @return 修改结果
     */
    R putUserphone(UserPhoneVO userPhoneVO);
    /**
     * 修改用户信息
     * @param loginUserInfoVO 修改内容
     *
     * @param loginUserInfoVO
     *            修改内容
     * @return 修改结果
     */
    R putUser(LoginUserInfoVO loginUserInfoVO);
    /**
     * 新增运营、社区后台账户
     * @param administratorsUserVO 账户信息
     *
     * @param administratorsUserVO
     *            账户信息
     * @return 新增结果
     */
    R addUserBackstage(AdministratorsUserVO administratorsUserVO);
    /**
     * 新增社区后台物业,社会组织,业主委员会账户
     *
     * @param administratorsUserVO
     *            账户信息
     * @return 新增结果
     */
    R addUserBackstageProperty(AdministratorsUserVO administratorsUserVO);
    /**
     * 编辑运营、社区后台账户
     * @param administratorsUserVO 编辑账户内容
     *
     * @param administratorsUserVO
     *            编辑账户内容
     * @return 编辑结果
     */
    R putUserBackstage(AdministratorsUserVO administratorsUserVO);
    /**
     * 删除后台用户
     * @param administratorsUserVO 用户主键
     *
     * @param administratorsUserVO
     *            用户主键
     * @return 删除结果
     */
    R deleteUserBackstage(AdministratorsUserVO administratorsUserVO);
    /**
     * 分页查询后台用户
     * @param administratorsUserVO 查询参数
     *
     * @param administratorsUserVO
     *            查询参数
     * @return 后台用户
     */
    R pageUserBackstage(AdministratorsUserVO administratorsUserVO);
    /**
     * 保存操作日志
     * @param operlog 日志内容
     *
     * @param operlog
     *            日志内容
     * @return 保存结果
     */
    R addOperLog(SysOperLogVO operlog);
    /**
     * 分页展示操作日志
     * @param sysOperLogVO 分页参数
     *
     * @param sysOperLogVO
     *            分页参数
     * @return 分页集合
     */
    R pageOperLog(SysOperLogVO sysOperLogVO);
    /**
     * 用户协议
     *
     * @return 协议集合
     */
    R listAgreement();
    R listAgreement(Long communityId);
    /**
     * 编辑用户协议
     * @param sysUserAgreementVO 编辑内容
     *
     * @param sysUserAgreementVO
     *            编辑内容
     * @return 编辑结果
     */
    R putAgreement(SysUserAgreementVO sysUserAgreementVO);
    /**
     * 用户标签
     * @param communityId 社区id
     *
     * @param communityId
     *            社区id
     * @return 标签集合
     */
    R listComMngUserTag(Long communityId);
    /**
     * 新增删除用户标签
     * @param systemmanagementConfigVO 操作内容
     *
     * @param systemmanagementConfigVO
     *            操作内容
     * @return 操作结果
     */
    R putComMngUserTag(SystemmanagementConfigVO systemmanagementConfigVO);
    /**
     * 分页查询小程序用户
     * @param pageUserAppletsBackstageDTO 查询参数
     *
     * @param pageUserAppletsBackstageDTO
     *            查询参数
     * @return 分页集合
     */
    R pageUserAppletsBackstage(PageUserAppletsBackstageDTO pageUserAppletsBackstageDTO);
    /**
     * 编辑用户状态
     * @param pageUserAppletsBackstageDTO 启用或者禁用 1 启用 2 禁用
     *
     * @param pageUserAppletsBackstageDTO
     *            启用或者禁用 1 启用 2 禁用
     * @return 编辑结果
     */
    R putUserAppletsBackstage(PageUserAppletsBackstageDTO pageUserAppletsBackstageDTO);
    /**
     * 调试接口--清除昵称、社区、小区
     * @param userId 登录用户id
     *
     * @param userId
     *            登录用户id
     * @return 清除结果
     */
    R deleteUserTest(Long userId);
    /**
     * 用户协议和隐私政策
     * @param type 所属app 1居民端app 2网格员端app 3商家端app
     *
     * @param type
     *            所属app 1居民端app 2网格员端app 3商家端app
     * @return 协议内容
     */
    R userAgreement(int type);
    /**
     * 意见反馈
     * @param sysUserFeedbackDTO 反馈内容
     *
     * @param sysUserFeedbackDTO
     *            反馈内容
     * @return 反馈结果
     */
    R addFeedback(SysUserFeedbackDTO sysUserFeedbackDTO);
    /**
     * 分页通知列表
     * @param pageDTO 分页参数
     *
     * @param pageDTO
     *            分页参数
     * @return 分页结果
     */
    R pageNotice(PageDTO pageDTO);
    /**
     * 通知已读
     * @param noticeReadDTO 通知已读
     *
     * @param noticeReadDTO
     *            通知已读
     * @return 修改状态
     */
    R putNotice(NoticeReadDTO noticeReadDTO);
    /**
     * 分页查询用户意见反馈
     * @param pageFeedBackDTO 分页查询参数
     *
     * @param pageFeedBackDTO
     *            分页查询参数
     * @return 意见集合
     */
    R pageFeedback(PageFeedBackDTO pageFeedBackDTO);
    /**
     * 未读消息汇总
     * @param userId 登录用户信息
     *
     * @param userId
     *            登录用户信息
     * @return 未读汇总
     */
    R noticeUnreadNum(Long userId);
    /**
     * 反馈意见详情
     * @param id 反馈主键
     *
     * @param id
     *            反馈主键
     * @return 反馈详情
     */
    R detailFeedback(Long id);
    /**
     * 运营小程序后台数据看板
     *
     * @return 展示数据
     */
    R dataKanban();
    R dataKanban(String areaCode);
    /**
     * 社区管理后台数据看板
     * @param communityId 社区id
     *
     * @param communityId
     *            社区id
     * @return 看板用户数据
     */
    R indexDataCommunityBackstage(Long communityId);
    /**
     * 定时任务维护用户持续登录时间
     *
     * @return 维护结果
     */
    R timedTaskContinuousLandingDays();
    /**
     * 新增用户通知
     * @param sysUserNoticeVO 通知内容
     *
     * @param sysUserNoticeVO
     *            通知内容
     * @return 新增结果
     */
    R addNotice(SysUserNoticeVO sysUserNoticeVO);
    /**
     * 修改用户的党员状态
     * @param idCard 身份证号
     *
     * @param idCard
     *            身份证号
     * @return 修改结果
     */
    R updateUserIsPartymember(String idCard);
    /**
     * 修改用户的党员状态
     *
     * @param phone
     *            身份证号
     * @return 修改结果
     */
    R updateUserIsPartymemberByPhone(String phone);
    /**
     * 修改用户为非党员状态
     * @param idCard 身份证号
     *
     * @param idCard
     *            身份证号
     * @return 修改结果
     */
    R updateUserNotPartymember(String idCard);
    /**
     * 获取各种协议
     * @param type  1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策
     *
     * @param type
     *            1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策
     * @return 协议内容
     */
    R agreement(Integer type);
    /**
     * 维护用户最后登录时间
     * @param userId 用户主键
     *
     * @param userId
     *            用户主键
     * @return 维护结果
     */
    R putUserLastLoginTime(Long userId);
    /**
     * 删除意见反馈
     * @param id 主键
     *
     * @param id
     *            主键
     * @return 删除结果
     */
    R deleteFeedback(Long id);
    /**
     * 校验小区是否存在
     * @param areaName 小区名字
     *
     * @param areaName
     *            小区名字
     * @return 校验结果
     */
    R checkAereaName(String areaName);
    /**
     * 社区人员详情包括导入人员
     * @param userId 人员id
     *
     * @param userId
     *            人员id
     * @return CommunityUserInfoVO
     */
    CommunityUserInfoVO detailUserComunity(Long userId);
    /**
     *  用户搜索了就下载搜索的用户否则下载所有用户
     * @param exportUserDTO 用户搜索内容
     * 用户搜索了就下载搜索的用户否则下载所有用户
     *
     * @param exportUserDTO
     *            用户搜索内容
     * @return List<EexcelUserDTO> excel内容
     */
    R export(ExportUserDTO exportUserDTO);
    /**
     * 通过手机号码查询用户信息
     *
     * @param phone
     * @return
     */
@@ -350,12 +534,14 @@
    /**
     * 查询当前社区所有标签以及预设标签
     *
     * @return 标签集合
     */
    R listTags(Long communityId);
    R listTags();
    /**
     * 通过账号查询用户信息
     *
     * @param account
     * @param type
     * @return
@@ -365,46 +551,61 @@
    /**
     * 新增SysUser
     * @param storeVO   请求参数
     * @return  新增结果
     *
     * @param storeVO
     *            请求参数
     * @return 新增结果
     */
    R addSysUser(ShopStoreVO storeVO);
    /**
     * 修改SysUser用户信息
     * @param storeVO   请求参数
     * @return  修改结果
     *
     * @param storeVO
     *            请求参数
     * @return 修改结果
     */
    R editSysUser(ShopStoreVO storeVO);
    /**
     * 修改用户小程序首页活动提示
     * @param userEditTipsDTO  请求参数
     * @return  修改结果
     *
     * @param userEditTipsDTO
     *            请求参数
     * @return 修改结果
     */
    R editUserTips(SysUserEditTipsDTO userEditTipsDTO);
    /**
     * 家庭成员列表
     * @param userId 登录用户
     *
     * @param userId
     *            登录用户
     * @return 成员集合
     */
    R listFamily(Long userId,Long pageNum, Long pageSize);
    R listFamily(Long userId, Long pageNum, Long pageSize);
    /**
     * 新增家庭成员
     * @param comMngFamilyInfoVO 家庭成员基本信息
     *
     * @param comMngFamilyInfoVO
     *            家庭成员基本信息
     * @return 增加结果
     */
    R addFamily(ComMngFamilyInfoVO comMngFamilyInfoVO);
    /**
     * 编辑家庭成员
     * @param comMngFamilyInfoVO 家庭成员信息
     *
     * @param comMngFamilyInfoVO
     *            家庭成员信息
     * @return 编辑结果
     */
    R putFamily(ComMngFamilyInfoVO comMngFamilyInfoVO);
    /**
     * 当前登陆用户的电子档案
     *
     * @param userId
     * @return
     */
@@ -412,6 +613,7 @@
    /**
     * 编辑电子档案
     *
     * @param userArchivesVO
     * @return
     */
@@ -419,15 +621,220 @@
    /**
     * 修改app用户密码
     * @param userInfoAppDTO    请求参数
     * @return  修改结果
     *
     * @param userInfoAppDTO
     *            请求参数
     * @return 修改结果
     */
    R updateUserPassByApp(EditUserInfoPassAppDTO userInfoAppDTO);
    /**
     * 添加网格员
     * @param eventGridMemberAddDTO    请求参数
     * @return  结果
     *
     * @param eventGridMemberAddDTO
     *            请求参数
     * @return 结果
     */
    R addGridUser(EventGridMemberAddDTO eventGridMemberAddDTO);
    /**
     * 网格员管理
     *
     * @param memberRelationDTO
     *            请求参数
     * @return 网格员列表
     */
    R getGridMemberList(PageEventGridMemberRelationDTO memberRelationDTO);
    /**
     * 网格员编辑
     *
     * @param gridMemberDTO
     *            请求参数
     * @return 编辑结果
     */
    R editGridUser(EventGridMemberEditAdminDTO gridMemberDTO);
    /**
     * 网格员重置密码
     *
     * @param gridMemberDTO
     *            请求参数
     * @return 重置结果
     */
    R passResetUser(EventGridMemberPassResetDTO gridMemberDTO);
    R deleteMembers(List<Long> Ids);
    R gridMemberEditStatus(EventGridMemberEditStatusDTO gridMemberEditDTO);
    R noTips(Long userId);
    /**
     * 查询社区的收益说明
     *
     * @param communityId
     *            社区id
     * @return 收益说明
     */
    R listAgreements(Long communityId);
    R getGridIsOk(Long userId);
    R getGridsMemberList(Long communityId);
    /**
     * 根据用户id查询用户openid
     *
     * @param userId
     *            用户id
     * @return openid
     */
    R getUserOpenId(Long userId);
    /**
     * 查询社区后台工作人员列表
     *
     * @param communityId
     *            社区id
     * @return 社区后台工作人员列表
     */
    R getUserListByCommunityId(Long communityId);
    /**
     * 检查当前用户是否是社区工作人员
     * @param phone
     * @param communityId
     * @return
     */
    R checkCurrentUserIsTeam(String phone, Long communityId);
    /**
     * 重置密码
     */
    R resetPassword(Long userId);
    /**
     * 批量重置密码
     */
    R resetPasswordPatch(Long[] userId,String password);
    /**
     * 便民服务新增商家账号
     * @param convenientMerchantDTO
     * @return 商家用户id
     */
    R addConvenientMerchantUser(ConvenientMerchantDTO convenientMerchantDTO);
    /**
     * 修改便民服务商家绑定账号
     * @param userId 用户id
     * @param account 修改账户
     * @return 修改结果
     */
    R putUserAccount(Long userId, String account);
    /**
     * 禁用/启用便民服务商家用户
     * @param disableOrEnableConvenientMerchantDTO
     * @return
     */
    R disableOrEnableMerchantUsers(DisableOrEnableConvenientMerchantDTO disableOrEnableConvenientMerchantDTO);
    /**
     * 根据openid维护社区团队里是否注册
     * @param openid    用户微信唯一标识
     */
    void judgeCommunityTeam(String openid);
    /**
     * 数据看板升级版
     *
     * @return 运营后台数据看板升级版
     */
    R dataKanBans(DataKanBansDto dataKanBansDto);
    /**
     * 运营后台-用户数据统计汇总
     * @return  用户数据统计汇总
     */
    R communityStatistics(String areaCode);
    R communityStatisticsExport(String areaCode);
    /**
     * 通过UnionId获取用户信息
     * @param unionId
     * @return
     */
    R getUserInfoByUnionId(String unionId);
    /**
     * 微商业街新增商家账号
     * @param mcsMerchantDTO
     * @return 商家用户id
     */
    R addMcsMerchantUser(McsMerchantDTO mcsMerchantDTO);
    /**
     * 微商业街修改商家账号
     * @param mcsMerchantDTO
     * @return
     */
    R putMcsMerchantUser(McsMerchantDTO mcsMerchantDTO);
    /**
     * 检查用户是否有效
     * @param userId
     * @param type
     * @return
     */
    Boolean checkUserIsValid(Long userId, Integer type);
    /**
     * 根据手机号、用户类型查询用户
     * @param phone
     * @param type
     * @return
     */
    R getSysUserByPhone(String phone, Integer type);
    /**
     * 发送验证码
     * @param phone 手机号
     * @param clientIP 用户ip
     * @param prefixKey redis Key 前缀
     * @param limit 获取次数限制
     * @param timeout 超次数获取时间等待
     * @return
     */
    R sendMessageCode(String phone, String clientIP, String prefixKey, Integer limit, Integer timeout);
    /**
     * 根据openId获取微商业街用户
     * @param openid
     * @return
     */
    R getMcsUserByOpenId(String openid);
    /**
     * 商业街用户微信授权-绑定手机号
     * @param bindUserPhoneDTO
     * @return
     */
    R bindOrAddMcsUser(BindUserPhoneDTO bindUserPhoneDTO);
    /**
     * 更新街道id
     * @param administratorsUserVO
     * @return
     */
    R updateStreetId(AdministratorsUserVO administratorsUserVO);
    /**
     * 删除用户信息缓存
     * @param phone
     */
    R deleteUserCashByPhone(String phone);
    R updateUserPartyStatus(Long userId);
}