huanghongfa
2022-04-13 c92c380b8f29ad485024d3d1948d0d0fce56b0d6
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/UserApi.java
@@ -1,25 +1,30 @@
package com.panzhihua.service_user.api;
import java.util.List;
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.DataKanBansDto;
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.LoginWithPhoneDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
import org.springframework.web.bind.annotation.*;
import com.panzhihua.common.model.dtos.PageDTO;
import com.panzhihua.common.model.dtos.community.ExportSpecialUserDTO;
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.grid.*;
import com.panzhihua.common.model.dtos.user.*;
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 com.panzhihua.service_user.service.SysUserInputService;
import com.panzhihua.service_user.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -38,52 +43,65 @@
    /**
     * 新增微信用户
     *
     * @param openid     微信小程序标志
     * @param sessionKey 会话密钥
     * @param unionid    微信平台唯一ID
     * @param openid
     *            微信小程序标志
     * @param sessionKey
     *            会话密钥
     * @param unionid
     *            微信平台唯一ID
     * @return 新增结果
     */
    @PostMapping("/addOrUpdate")
    public R addOrUpdate(@RequestParam("openid") String openid, @RequestParam("sessionKey") String sessionKey, @RequestParam("unionid") String unionid) {
    public R addOrUpdate(@RequestParam("openid") String openid, @RequestParam("sessionKey") String sessionKey,
        @RequestParam("unionid") String unionid) {
        return userService.updateInsertUser(openid, sessionKey, unionid);
    }
    /**
     * 维护小程序用户基本信息 头像 昵称 性别
     *
     * @param userId    数据库用户ID
     * @param nickName  昵称
     * @param gender    性别
     * @param avatarUrl 头像
     * @param userId
     *            数据库用户ID
     * @param nickName
     *            昵称
     * @param gender
     *            性别
     * @param avatarUrl
     *            头像
     * @return 维护结果
     */
    @PostMapping("/updateUserWeiXinInfo")
    public R updateUserWeiXinInfo(@RequestParam("userId") Long userId, @RequestParam("nickName") String nickName, @RequestParam("gender") int gender, @RequestParam("avatarUrl") String avatarUrl) {
    public R updateUserWeiXinInfo(@RequestParam("userId") Long userId, @RequestParam("nickName") String nickName,
        @RequestParam("gender") int gender, @RequestParam("avatarUrl") String avatarUrl) {
        return userService.updateUserWeiXinInfo(userId, nickName, gender, avatarUrl);
    }
    /**
     * 维护微信用户手机号
     *
     * @param userId          数据库ID
     * @param purePhoneNumber 没有区号的手机号
     * @param userId
     *            数据库ID
     * @param purePhoneNumber
     *            没有区号的手机号
     * @return 维护结果
     */
    @PostMapping("/updateUserWeiXinPhone")
    public R updateUserWeiXinPhone(@RequestParam("userId") Long userId, @RequestParam("purePhoneNumber") String purePhoneNumber) {
    public R updateUserWeiXinPhone(@RequestParam("userId") Long userId,
        @RequestParam("purePhoneNumber") String purePhoneNumber) {
        return userService.updateUserWeiXinPhone(userId, purePhoneNumber);
    }
    /**
     * 获取平台用户
     *
     * @param userName 登录账户+_type
     * @param userName
     *            登录账户+_type
     * @return 平台用户信息
     */
    @PostMapping("/getUserInfo")
    public R<LoginUserInfoVO> getUserInfo(@RequestParam("userName") String userName) {
        int index = userName.lastIndexOf("_");
        String type = userName.substring(index + 1, userName.length());
        String type = userName.substring(index + 1);
        String name = userName.substring(0, index);
        return userService.getUserInfo(name, Integer.parseInt(type));
    }
@@ -91,7 +109,8 @@
    /**
     * 获取平台用户
     *
     * @param userId 用户ID
     * @param userId
     *            用户ID
     * @return 平台用户信息
     */
    @PostMapping("/getUserInfoUserId")
@@ -102,7 +121,8 @@
    /**
     * 修改用户登录密码
     *
     * @param changePasswordVO 新密码
     * @param changePasswordVO
     *            新密码
     * @return 修改结果
     */
    @PostMapping("changepassword")
@@ -111,10 +131,36 @@
    }
    /**
     * 重置密码
     *
     * @param userId
     *            新密码
     * @return 修改结果
     */
    @GetMapping("resetPassword")
    public R resetPassword(@RequestParam("userId") Long userId) {
        return userService.resetPassword(userId);
    }
    /**
     * 批量重置密码
     *
     * @param userId
     *            新密码
     * @return 修改结果
     */
    @GetMapping("resetPasswordPatch")
    public R resetPasswordPatch(@RequestParam("userIds") Long[] userId,@RequestParam("password")String password) {
        return userService.resetPasswordPatch(userId,password);
    }
    /**
     * 某社区后台人员查询
     *
     * @param param       名字
     * @param communityId 社区id
     * @param param
     *            名字
     * @param communityId
     *            社区id
     * @return 人员集合
     */
    @PostMapping("listactivitymanager")
@@ -123,9 +169,24 @@
    }
    /**
     * 微心愿搜索社区团队人员列表
     *
     * @param param
     *            请求参数
     * @param communityId
     *            社区id
     * @return 社区团队人员列表
     */
    @PostMapping("listactivitymanager2")
    public R listActivityManager2(@RequestParam("param") String param, @RequestParam("communityId") Long communityId) {
        return userService.listActivityManager2(param, communityId);
    }
    /**
     * 分页查询人脸识别
     *
     * @param loginUserInfoVO 查询参数
     * @param loginUserInfoVO
     *            查询参数
     * @return 分页集合
     */
    @PostMapping("pageuserface")
@@ -136,7 +197,8 @@
    /**
     * 编辑人脸采集数据通过、驳回、删除
     *
     * @param loginUserInfoVO 操作信息
     * @param loginUserInfoVO
     *            操作信息
     * @return 操作结果
     */
    @PostMapping("putuserface")
@@ -147,12 +209,13 @@
    /**
     * 分页查询人口管理
     *
     * @param loginUserInfoVO 查询参数
     * @param userInfoVO
     *            查询参数
     * @return 分页数据
     */
    @PostMapping("pageuser")
    public R pageUser(@RequestBody LoginUserInfoVO loginUserInfoVO) {
        return userService.pageUser(loginUserInfoVO);
    public R pageUser(@RequestBody AppletUserInfoVO userInfoVO) {
        return userService.pageUser(userInfoVO);
    }
    /**
@@ -171,25 +234,27 @@
     * @return 标签集合
     */
    @PostMapping("listtag/getTag")
    public R listTags(@RequestParam("communityId") Long communityId) {
        return userService.listTags(communityId);
    public R listTags() {
        return userService.listTags();
    }
    /**
     * 人员详情
     *
     * @param userId 用户id
     * @param userId
     *            用户id
     * @return 人员详情
     */
    @PostMapping("detailuser")
    public R detailUser(@RequestParam("userId") Long userId) {
    public R<LoginUserInfoVO> detailUser(@RequestParam("userId") Long userId) {
        return userService.detailUser(userId);
    }
    /**
     * 设置用户标签
     *
     * @param loginUserInfoVO 标签信息
     * @param loginUserInfoVO
     *            标签信息
     * @return 设置结果
     */
    @PostMapping("putusertag")
@@ -200,8 +265,10 @@
    /**
     * 修改用户志愿者状态
     *
     * @param phone 志愿者手机号
     * @param type  1是志愿者 0 不是
     * @param phone
     *            志愿者手机号
     * @param type
     *            1是志愿者 0 不是
     */
    @PostMapping("putuserisvolunteer")
    R putUserIsVolunteer(@RequestParam("phone") String phone, @RequestParam("type") int type) {
@@ -211,8 +278,10 @@
    /**
     * 修改用户志愿者状态
     *
     * @param userId 志愿者ID
     * @param type   1是志愿者 0 不是
     * @param userId
     *            志愿者ID
     * @param type
     *            1是志愿者 0 不是
     */
    @PostMapping("putuserisvolunteerbyid")
    R putUserIsVolunteerById(@RequestParam("userId") Long userId, @RequestParam("type") int type) {
@@ -222,7 +291,8 @@
    /**
     * 用户绑定社区、小区
     *
     * @param loginUserInfoVO 社区小区数据
     * @param loginUserInfoVO
     *            社区小区数据
     * @return 绑定结果
     */
    @PostMapping("putusercommunityarea")
@@ -233,7 +303,8 @@
    /**
     * 用户实名认证
     *
     * @param loginUserInfoVO 认证数据
     * @param loginUserInfoVO
     *            认证数据
     * @return 认证结果
     */
    @PostMapping("putuserauthentication")
@@ -244,7 +315,8 @@
    /**
     * 修改用户手机号
     *
     * @param userPhoneVO 手机号信息
     * @param userPhoneVO
     *            手机号信息
     * @return 修改结果
     */
    @PostMapping("putuserphone")
@@ -255,7 +327,8 @@
    /**
     * 修改用户信息
     *
     * @param loginUserInfoVO 修改内容
     * @param loginUserInfoVO
     *            修改内容
     * @return 修改结果
     */
    @PostMapping("putuser")
@@ -266,20 +339,21 @@
    /**
     * 家庭成员列表
     *
     * @param userId 登录用户
     * @param userId
     *            登录用户
     * @return 成员集合
     */
    @PostMapping("listfamily")
    public R listFamily(@RequestParam("userId") Long userId,
                        @RequestParam(value = "pageNum") Long pageNum,
                        @RequestParam("pageSize") Long pageSize) {
    public R listFamily(@RequestParam("userId") Long userId, @RequestParam(value = "pageNum") Long pageNum,
        @RequestParam("pageSize") Long pageSize) {
        return userService.listFamily(userId, pageNum, pageSize);
    }
    /**
     * 新增家庭成员
     *
     * @param comMngFamilyInfoVO 家庭成员基本信息
     * @param comMngFamilyInfoVO
     *            家庭成员基本信息
     * @return 增加结果
     */
    @PostMapping("addFamily")
@@ -290,7 +364,8 @@
    /**
     * 编辑家庭成员
     *
     * @param comMngFamilyInfoVO 家庭成员信息
     * @param comMngFamilyInfoVO
     *            家庭成员信息
     * @return 编辑结果
     */
    @PostMapping("putfamily")
@@ -301,7 +376,8 @@
    /**
     * 新增运营、社区后台账户
     *
     * @param administratorsUserVO 账户信息
     * @param administratorsUserVO
     *            账户信息
     * @return 新增结果
     */
    @PostMapping("adduserbackstage")
@@ -313,7 +389,8 @@
    /**
     * 编辑运营、社区后台账户
     *
     * @param administratorsUserVO 编辑账户内容
     * @param administratorsUserVO
     *            编辑账户内容
     * @return 编辑结果
     */
    @PostMapping("putuserbackstage")
@@ -322,9 +399,35 @@
    }
    /**
     * 更新
     *
     * @param administratorsUserVO
     *            编辑账户内容
     * @return 编辑结果
     */
    @PostMapping("updateStreet")
    R updateStreet(@RequestBody AdministratorsUserVO administratorsUserVO) {
        return userService.updateStreetId(administratorsUserVO);
    }
    /**
     * 新增社区后台物业,社会组织,业主委员会账户
     *
     * @param administratorsUserVO
     *            账户信息
     * @return 新增结果
     */
    @PostMapping("adduserbackstageproperty")
    public R adduserbackstageproperty(@RequestBody AdministratorsUserVO administratorsUserVO) {
        return userService.addUserBackstageProperty(administratorsUserVO);
    }
    /**
     * 删除后台用户
     *
     * @param administratorsUserVO 用户主键
     * @param administratorsUserVO
     *            用户主键
     * @return 删除结果
     */
    @PostMapping("deleteuserbackstage")
@@ -335,7 +438,8 @@
    /**
     * 分页查询后台用户
     *
     * @param administratorsUserVO 查询参数
     * @param administratorsUserVO
     *            查询参数
     * @return 后台用户
     */
    @PostMapping("pageuserbackstage")
@@ -346,7 +450,8 @@
    /**
     * 保存操作日志
     *
     * @param operlog 日志内容
     * @param operlog
     *            日志内容
     * @return 保存结果
     */
    @PostMapping("addoperlog")
@@ -357,7 +462,8 @@
    /**
     * 分页展示操作日志
     *
     * @param sysOperLogVO 分页参数
     * @param sysOperLogVO
     *            分页参数
     * @return 分页集合
     */
    @PostMapping("pageoperlog")
@@ -371,14 +477,15 @@
     * @return 协议集合
     */
    @PostMapping("listagreement")
    public R listAgreement() {
        return userService.listAgreement();
    public R listAgreement(@RequestParam("communityId") Long communityId) {
        return userService.listAgreement(communityId);
    }
    /**
     * 编辑用户协议
     *
     * @param sysUserAgreementVO 编辑内容
     * @param sysUserAgreementVO
     *            编辑内容
     * @return 编辑结果
     */
    @PostMapping("putagreement")
@@ -389,7 +496,8 @@
    /**
     * 用户标签
     *
     * @param communityId 社区id
     * @param communityId
     *            社区id
     * @return 标签集合
     */
    @PostMapping("listcommngusertag")
@@ -400,7 +508,8 @@
    /**
     * 新增删除用户标签
     *
     * @param systemmanagementConfigVO 操作内容
     * @param systemmanagementConfigVO
     *            操作内容
     * @return 操作结果
     */
    @PostMapping("putcommngusertag")
@@ -411,7 +520,8 @@
    /**
     * 分页查询小程序用户
     *
     * @param pageUserAppletsBackstageDTO 查询参数
     * @param pageUserAppletsBackstageDTO
     *            查询参数
     * @return 分页集合
     */
    @PostMapping("pageuserappletsbackstage")
@@ -422,7 +532,8 @@
    /**
     * 编辑用户状态
     *
     * @param pageUserAppletsBackstageDTO 启用或者禁用 1 启用 2 禁用
     * @param pageUserAppletsBackstageDTO
     *            启用或者禁用 1 启用 2 禁用
     * @return 编辑结果
     */
    @PostMapping("putuserappletsbackstage")
@@ -433,7 +544,8 @@
    /**
     * 调试接口--清除昵称、社区、小区
     *
     * @param userId 登录用户id
     * @param userId
     *            登录用户id
     * @return 清除结果
     */
    @PostMapping("deleteusertest")
@@ -444,7 +556,8 @@
    /**
     * 用户协议和隐私政策
     *
     * @param type 所属app 1居民端app 2网格员端app 3商家端app
     * @param type
     *            所属app 1居民端app 2网格员端app 3商家端app
     * @return 协议内容
     */
    @PostMapping("useragreement")
@@ -455,7 +568,8 @@
    /**
     * 意见反馈
     *
     * @param sysUserFeedbackDTO 反馈内容
     * @param sysUserFeedbackDTO
     *            反馈内容
     * @return 反馈结果
     */
    @PostMapping("addfeedback")
@@ -466,7 +580,8 @@
    /**
     * 分页通知列表
     *
     * @param pageDTO 分页参数
     * @param pageDTO
     *            分页参数
     * @return 分页结果
     */
    @PostMapping("pagenotice")
@@ -477,7 +592,8 @@
    /**
     * 通知已读
     *
     * @param noticeReadDTO 通知已读
     * @param noticeReadDTO
     *            通知已读
     * @return 修改状态
     */
    @PostMapping("putnotice")
@@ -488,7 +604,8 @@
    /**
     * 分页查询用户意见反馈
     *
     * @param pageFeedBackDTO 分页查询参数
     * @param pageFeedBackDTO
     *            分页查询参数
     * @return 意见集合
     */
    @PostMapping("pagefeedback")
@@ -499,7 +616,8 @@
    /**
     * 未读消息汇总
     *
     * @param userId 登录用户信息
     * @param userId
     *            登录用户信息
     * @return 未读汇总
     */
    @PostMapping("noticeunreadnum")
@@ -510,7 +628,8 @@
    /**
     * 反馈意见详情
     *
     * @param id 反馈主键
     * @param id
     *            反馈主键
     * @return 反馈详情
     */
    @PostMapping("detailfeedback")
@@ -524,14 +643,15 @@
     * @return 运营后台数据看板
     */
    @PostMapping("datakanban")
    public R dataKanban() {
        return userService.dataKanban();
    public R dataKanban(@RequestParam("areaCode")String areaCode) {
        return userService.dataKanban(areaCode);
    }
    /**
     * 社区管理后台数据看板
     *
     * @param communityId 社区id
     * @param communityId
     *            社区id
     * @return 看板用户数据
     */
    @PostMapping("indexdatacommunitybackstage")
@@ -552,7 +672,8 @@
    /**
     * 新增用户通知
     *
     * @param sysUserNoticeVO 通知内容
     * @param sysUserNoticeVO
     *            通知内容
     * @return 新增结果
     */
    @PostMapping("addnotice")
@@ -563,7 +684,8 @@
    /**
     * 修改用户的党员状态
     *
     * @param idCard 身份证号
     * @param idCard
     *            身份证号
     * @return 修改结果
     */
    @PostMapping("updateuserispartymember")
@@ -571,21 +693,23 @@
        return userService.updateUserIsPartymember(idCard);
    }
    /**
     * 修改用户为非党员状态
     * @param idCard 身份证号
     *
     * @param idCard
     *            身份证号
     * @return 修改结果
     */
    @PostMapping("updateusernotpartymember")
    R updateUserNotPartymember(@RequestParam("idCard")String idCard){
    R updateUserNotPartymember(@RequestParam("idCard") String idCard) {
        return userService.updateUserNotPartymember(idCard);
    }
    /**
     * 获取各种协议
     *
     * @param type 1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策
     * @param type
     *            1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策
     * @return 协议内容
     */
    @PostMapping("agreement")
@@ -596,7 +720,8 @@
    /**
     * 维护用户最后登录时间
     *
     * @param userId 用户主键
     * @param userId
     *            用户主键
     * @return 维护结果
     */
    @PostMapping("putuserlastlogintime")
@@ -607,7 +732,8 @@
    /**
     * 删除意见反馈
     *
     * @param id 主键
     * @param id
     *            主键
     * @return 删除结果
     */
    @PostMapping("deletefeedback")
@@ -618,7 +744,8 @@
    /**
     * 校验小区是否存在
     *
     * @param areaName 小区名字
     * @param areaName
     *            小区名字
     * @return 校验结果
     */
    @PostMapping("checkaereaname")
@@ -629,8 +756,10 @@
    /**
     * 批量导入居民用户
     *
     * @param list     居民用户集合
     * @param areaName 小区名字
     * @param list
     *            居民用户集合
     * @param areaName
     *            小区名字
     * @return 导入结果
     */
    @PostMapping("batchsaveuser")
@@ -644,7 +773,7 @@
            if (message.contains("unique_id_card")) {
                int i = message.indexOf("'");
                String idcard = message.substring(i + 1, message.indexOf("'", i + 1));
//                System.out.println(idcard);
                // System.out.println(idcard);
                return R.fail("身份证存在重复" + idcard);
            } else {
                return R.fail(e.getMessage());
@@ -656,7 +785,8 @@
    /**
     * 社区人员详情包括导入人员
     *
     * @param userId 人员id
     * @param userId
     *            人员id
     * @return CommunityUserInfoVO
     */
    @PostMapping("detailusercomunity")
@@ -673,7 +803,8 @@
    /**
     * 用户搜索了就下载搜索的用户否则下载所有用户
     *
     * @param exportUserDTO 用户搜索内容
     * @param exportUserDTO
     *            用户搜索内容
     * @return List<EexcelUserDTO> excel内容
     */
    @PostMapping("export")
@@ -699,14 +830,16 @@
     * @return
     */
    @GetMapping("getUserByAccount")
    public R getSysUserVOByAccount(@RequestParam(value = "account") String account, @RequestParam(value = "type") Integer type) {
    public R getSysUserVOByAccount(@RequestParam(value = "account") String account,
        @RequestParam(value = "type") Integer type) {
        return userService.getSysUserVOByAccount(account, type);
    }
    /**
     * 分页查询人口管理
     *
     * @param pageInputUserDTO 查询参数
     * @param pageInputUserDTO
     *            查询参数
     * @return 分页数据
     */
    @PostMapping("common/data/user/page")
@@ -717,7 +850,8 @@
    /**
     * 设置用户标签
     *
     * @param inputUserTagsDTO 标签信息
     * @param inputUserTagsDTO
     *            标签信息
     * @return 设置结果
     */
    @PostMapping("common/data/user/tags")
@@ -728,12 +862,15 @@
    /**
     * 批量导入居民用户
     *
     * @param list     居民用户集合
     * @param areaName 小区名字
     * @param list
     *            居民用户集合
     * @param areaName
     *            小区名字
     * @return 导入结果
     */
    @PostMapping("common/data/user/import")
    public R batchSaveInputUser(@RequestBody List<EexcelUserDTO> list, @RequestParam("areaName") StringBuffer areaName) {
    public R batchSaveInputUser(@RequestBody List<EexcelUserDTO> list,
        @RequestParam("areaName") StringBuffer areaName) {
        R r = null;
        try {
            r = sysUserInputService.batchSaveUser(list, areaName);
@@ -743,7 +880,7 @@
            if (message.contains("unique_id_card")) {
                int i = message.indexOf("'");
                String idcard = message.substring(i + 1, message.indexOf("'", i + 1));
//                System.out.println(idcard);
                // System.out.println(idcard);
                return R.fail("身份证存在重复" + idcard);
            } else {
                return R.fail(e.getMessage());
@@ -755,7 +892,8 @@
    /**
     * 居民管理》居民详情
     *
     * @param id 人员id
     * @param id
     *            人员id
     * @return CommunityUserInfoVO
     */
    @PostMapping("common/data/user/detail")
@@ -766,7 +904,8 @@
    /**
     * 用户搜索了就下载搜索的用户否则下载所有用户
     *
     * @param exportUserDTO 用户搜索内容
     * @param exportUserDTO
     *            用户搜索内容
     * @return List<EexcelUserDTO> excel内容
     */
    @PostMapping("common/data/user/export")
@@ -843,7 +982,8 @@
    /**
     * 创建SysUser用户信息以及权限
     *
     * @param storeVO 请求参数
     * @param storeVO
     *            请求参数
     * @return 创建结果
     */
    @PostMapping("addSysUser")
@@ -854,7 +994,8 @@
    /**
     * 修改SysUser用户信息
     *
     * @param storeVO 请求参数
     * @param storeVO
     *            请求参数
     * @return 修改结果
     */
    @PostMapping("editSysUser")
@@ -865,7 +1006,8 @@
    /**
     * 修改用户小程序首页活动提示
     *
     * @param userEditTipsDTO 请求参数
     * @param userEditTipsDTO
     *            请求参数
     * @return 修改结果
     */
    @PostMapping("editUserTips")
@@ -876,7 +1018,8 @@
    /**
     * 获取用户电子档案
     *
     * @param userId 家庭成员信息
     * @param userId
     *            家庭成员信息
     * @return 结果
     */
    @GetMapping("getUserArchives")
@@ -887,7 +1030,8 @@
    /**
     * 编辑用户电子档案
     *
     * @param userArchivesVO 编辑的信息
     * @param userArchivesVO
     *            编辑的信息
     * @return 编辑结果
     */
    @PostMapping("updateUserArchives")
@@ -897,22 +1041,309 @@
    /**
     * 修改app用户密码
     * @param userInfoAppDTO    请求参数
     * @return  修改结果
     *
     * @param userInfoAppDTO
     *            请求参数
     * @return 修改结果
     */
    @PutMapping("updateUserPassByApp")
    public R updateUserPassByApp(@RequestBody EditUserInfoPassAppDTO userInfoAppDTO){
    public R updateUserPassByApp(@RequestBody EditUserInfoPassAppDTO userInfoAppDTO) {
        return userService.updateUserPassByApp(userInfoAppDTO);
    }
    /**
     * 添加网格员
     * @param eventGridMemberAddDTO    请求参数
     * @return  结果
     *
     * @param eventGridMemberAddDTO
     *            请求参数
     * @return 结果
     */
    @PostMapping("addGridUser")
    R addGridUser(@RequestBody EventGridMemberAddDTO eventGridMemberAddDTO){
    R addGridUser(@RequestBody EventGridMemberAddDTO eventGridMemberAddDTO) {
        return userService.addGridUser(eventGridMemberAddDTO);
    }
    /**
     * 网格员管理
     *
     * @param memberRelationDTO
     *            请求参数
     * @return 网格员列表
     */
    @PostMapping("member/list")
    public R getGridMemberList(@RequestBody PageEventGridMemberRelationDTO memberRelationDTO) {
        return userService.getGridMemberList(memberRelationDTO);
    }
    /**
     * 修改网格员信息
     *
     * @param gridMemberDTO
     *            请求参数
     * @return 修改结果
     */
    @PostMapping("editGridUser")
    public R gridMemberEdit(@RequestBody EventGridMemberEditAdminDTO gridMemberDTO) {
        return userService.editGridUser(gridMemberDTO);
    }
    /**
     * 重置网格员密码
     *
     * @param gridMemberDTO
     *            请求参数
     * @return 重置结果
     */
    @PostMapping("passResetUser")
    public R passResetUser(@RequestBody EventGridMemberPassResetDTO gridMemberDTO) {
        return userService.passResetUser(gridMemberDTO);
    }
    /**
     * 批量删除网格员
     *
     * @param Ids
     *            网格员id集合
     * @return 删除结果
     */
    @PostMapping("deleteMembers")
    public R deleteMembers(@RequestBody List<Long> Ids) {
        return userService.deleteMembers(Ids);
    }
    @PostMapping("gridMemberEditStatus")
    public R gridMemberEditStatus(@RequestBody EventGridMemberEditStatusDTO gridMemberEditDTO) {
        return userService.gridMemberEditStatus(gridMemberEditDTO);
    }
    @GetMapping("big/no/tip")
    public R noTips(@RequestParam("userId") Long userId) {
        return userService.noTips(userId);
    }
    /**
     * 查询社区的收益说明
     *
     * @param communityId
     *            社区id
     * @return 收益说明
     */
    @PostMapping("listagreements")
    public R listAgreements(@RequestParam("communityId") Long communityId) {
        return userService.listAgreements(communityId);
    }
    @PostMapping("user/getUserGrids")
    public R getGridIsOk(@RequestParam("userId") Long userId) {
        return userService.getGridIsOk(userId);
    }
    @GetMapping("getGridsMemberList")
    public R getGridsMemberList(@RequestParam("communityId") Long communityId) {
        return userService.getGridsMemberList(communityId);
    }
    /**
     * 根据用户id查询用户openid
     *
     * @param userId
     *            用户id
     * @return openid
     */
    @GetMapping("getUserOpenId")
    public R getUserOpenId(@RequestParam("userId") Long userId) {
        return userService.getUserOpenId(userId);
    }
    /**
     * 查询社区后台工作人员列表
     *
     * @param communityId
     *            社区id
     * @return 社区后台工作人员列表
     */
    @GetMapping("getUserListByCommunityId")
    public R getUserListByCommunityId(@RequestParam("communityId") Long communityId) {
        return userService.getUserListByCommunityId(communityId);
    }
    /**
     * 检查当前用户是否是社区工作人员
     * @param phone
     * @param communityId
     * @return
     */
    @GetMapping("checkIsTeam")
    public R checkCurrentUserIsTeam(String phone, Long communityId) {
        return userService.checkCurrentUserIsTeam(phone, communityId);
    }
    /**
     * 便民服务新增商家账号
     * @param convenientMerchantDTO
     * @return 商家用户id
     */
    @PostMapping("insertMerchantAccount")
    public R addConvenientMerchantUser(@RequestBody ConvenientMerchantDTO convenientMerchantDTO) {
        return userService.addConvenientMerchantUser(convenientMerchantDTO);
    }
    /**
     * 修改便民服务商家绑定账号
     * @param userId 用户id
     * @param account 修改账户
     * @return 修改结果
     */
    @PutMapping("putMerchantUserAccount")
    public R putUserAccount(@RequestParam("userId") Long userId, @RequestParam("account") String account) {
        return userService.putUserAccount(userId, account);
    }
    /**
     * 禁用/启用便民服务商家用户
     * @param disableOrEnableConvenientMerchantDTO
     * @return
     */
    @PutMapping("disableOrEnableMerchantUsers")
    public R disableOrEnableMerchantUsers(@RequestBody DisableOrEnableConvenientMerchantDTO disableOrEnableConvenientMerchantDTO) {
        return userService.disableOrEnableMerchantUsers(disableOrEnableConvenientMerchantDTO);
    }
    /**
     * 根据openid维护社区团队里是否注册
     * @param openid    用户微信唯一标识
     */
    @PostMapping("judgeCommunityTeam")
    public void judgeCommunityTeam(@RequestParam("openid") String openid) {
        userService.judgeCommunityTeam(openid);
    }
    /**
     * 数据看板升级版
     *
     * @return 运营后台数据看板升级版
     */
    @PostMapping("datakanbans")
    public R dataKanBans(@RequestBody DataKanBansDto dataKanBansDto) {
        return userService.dataKanBans(dataKanBansDto);
    }
    /**
     * 运营后台-用户数据统计汇总
     * @return  用户数据统计汇总
     */
    @GetMapping("community/statistics")
    public R communityStatistics(@RequestParam("areaCode") String areaCode) {
        return userService.communityStatistics(areaCode);
    }
    @GetMapping("community/statistics/export")
    public R communityStatisticsExport(@RequestParam("areaCode") String areaCode) {
        return userService.communityStatisticsExport(areaCode);
    }
    /**
     * 通过UnionId获取用户信息
     * @param unionId
     * @return
     */
    @GetMapping("/getByUnionId")
    public R getUserInfoByUnionId(@RequestParam("unionId") String unionId) {
        return userService.getUserInfoByUnionId(unionId);
    }
    /**
     * 微商业街新增商家账号
     * @param mcsMerchantDTO
     * @return 商家用户id
     */
    @PostMapping("insertMcsMerchantAccount")
    public R addMcsMerchantUser(@RequestBody McsMerchantDTO mcsMerchantDTO) {
        return userService.addMcsMerchantUser(mcsMerchantDTO);
    }
    /**
     * 微商业街修改商家账号
     * @param mcsMerchantDTO
     * @return
     */
    @PutMapping("putMcsMerchantUser")
    public R putMcsMerchantUser(@RequestBody McsMerchantDTO mcsMerchantDTO) {
        return userService.putMcsMerchantUser(mcsMerchantDTO);
    }
    /**
     * 检查用户是否有效
     * @param userId
     * @param type
     * @return
     */
    @PutMapping("checkUserIsValid")
    public Boolean checkUserIsValid(@RequestParam("userId") Long userId, @RequestParam("type") Integer type) {
        return userService.checkUserIsValid(userId, type);
    }
    /**
     * 根据手机号、用户类型查询用户
     * @param phone
     * @param type
     * @return
     */
    @GetMapping("/getSysUserByPhone")
    public R getSysUserByPhone(@RequestParam("phone") String phone, @RequestParam("type") Integer type) {
        return userService.getSysUserByPhone(phone, type);
    }
    /**
     * 发送验证码
     * @param phone 手机号
     * @param clientIP 用户ip
     * @param prefixKey redis Key 前缀
     * @param limit 获取次数限制
     * @param timeout 超次数获取时间等待
     * @return
     */
    @GetMapping("/sendMessageCode")
    public R sendMessageCode(@RequestParam("phone") String phone,
                                     @RequestParam(value = "clientIP", required = false) String clientIP,
                                     @RequestParam("prefixKey") String prefixKey,
                                     @RequestParam("limit") Integer limit,
                                     @RequestParam("timeout") Integer timeout) {
        return userService.sendMessageCode(phone, clientIP, prefixKey, limit, timeout);
    }
    /**
     * 根据openId获取微商业街用户
     * @param openid
     * @return
     */
    @GetMapping("/getMcsUserByOpenId")
    public R getMcsUserByOpenId(@RequestParam("openid") String openid) {
        return userService.getMcsUserByOpenId(openid);
    }
    /**
     * 商业街用户微信授权-绑定手机号
     * @param bindUserPhoneDTO
     * @return
     */
    @PostMapping("/mcs/bindPhone")
    public R bindOrAddMcsUser(@RequestBody BindUserPhoneDTO bindUserPhoneDTO) {
        return userService.bindOrAddMcsUser(bindUserPhoneDTO);
    }
    /**
     * 删除用户信息缓存
     * @param phone
     */
    @DeleteMapping("/deleteUserCashByPhone")
    public R deleteUserCashByPhone(@RequestParam("phone") String phone) {
        return userService.deleteUserCashByPhone(phone);
    }
    @PostMapping("/update/user/party/status")
    public R updateUserPartyStatus(@RequestParam("userId") Long userId) {
        return userService.updateUserPartyStatus(userId);
    }
}