yanghui
2022-10-14 238281c0821151cf4f07df80ab57bbc24486cf1d
Merge branch 'local_20221014' into huacheng_test

# Conflicts:
# springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
# springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
4个文件已修改
491 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 385 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/resources/mapper/UserDao.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java
@@ -4,11 +4,10 @@
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.*;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@@ -931,8 +930,7 @@
         Date after = getLastMonthEnd();
         System.out.println(date);
         System.out.println(after);
         System.out.println(getMonthTwentyDay());
    }
    /**
@@ -1129,4 +1127,39 @@
        return firstDayOfMonth;
    }
    /**
     * 获取20天前那天时间
     *
     * @return
     */
    public static String getTwentyDay() {
        Calendar cal = Calendar.getInstance();
        cal.setTime(new Date());
        cal.add(Calendar.DATE, -20);
        return DateUtil.format(cal.getTime(),"yyyy-MM-dd");
    }
    /**
     * 获取最近本月20天数据
     *
     * @return
     */
    public static String getMonthTwentyDay() {
        Date date = new Date();
        Long offset = DateUtil.between(new Date(), DateUtil.beginOfMonth(date), DateUnit.DAY);
        if (offset >= 20) {
            return getTwentyDay();
        } else {
            //距离月初不足20天
            Calendar calendar = new GregorianCalendar();
            calendar.setTime(date);
            //获得本月第一天
            calendar.add(Calendar.MONTH, 0);
            calendar.set(Calendar.DAY_OF_MONTH, 1);
            return DateUtil.format(calendar.getTime(),"yyyy-MM-dd");
        }
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -28,15 +28,23 @@
import com.panzhihua.common.model.vos.IndexDataKanbanVO;
import com.panzhihua.common.model.vos.IndexDataVO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.community.acid.ComActAcidCheckRecordVO;
import com.panzhihua.common.model.vos.community.acid.ComActAcidMemberVO;
import com.panzhihua.common.model.vos.community.acid.ComActAcidRecordVO;
import com.panzhihua.common.model.vos.community.screen.event.EventGridMemberVO;
import com.panzhihua.common.model.vos.grid.GridMemberVO;
import com.panzhihua.common.model.vos.partybuilding.ComPbServiceTeamWishVO;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.model.vos.user.SysUserVO;
import com.panzhihua.common.model.vos.user.UpdateUserArchivesVO;
import com.panzhihua.common.model.vos.user.*;
import com.panzhihua.service_user.model.dos.SysUserDO;
import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -176,6 +184,7 @@
    /**
     * 禁用/启用便民服务商家账号
     *
     * @param status
     * @param userIds
     * @return
@@ -184,6 +193,7 @@
    /**
     * 根据手机号维护社区团队表是否注册
     *
     * @param phone 手机号
     */
    void judgeCommunityTeam(@Param("phone") String phone);
@@ -342,6 +352,10 @@
     * */
    Map<String,Long> getDailyAddAndActive(@Param("date") Date date, @Param("id") Long streetId, @Param("areaCode") Long areaCode, @Param("appId") String appId);
    Map<String, Long> getDailyAdd(@Param("createAt") String createAt, @Param("id") Long streetId, @Param("areaCode") Long areaCode, @Param("appId") String appId);
    Map<String, Long> getActive(@Param("lastLoginTime") String lastLoginTime, @Param("id") Long streetId, @Param("areaCode") Long areaCode, @Param("appId") String appId);
    List<StreetVOS> selectStreetByAreaCode(Integer code);
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -178,13 +178,17 @@
        // String encode = new BCryptPasswordEncoder().encode("lbsq123456");
        // System.out.println(encode);
        List<String> dates = new ArrayList<>();
//        List<String> dates = new ArrayList<>();
//        Date date = new Date();
//        for (int i = 19; i >= 0; i--) {
//            Date date1 = DateUtils.addDays(date, -i);
//            dates.add(DateFormatUtils.format(date1, "MM-dd"));
//        }
//        System.out.println(dates);
        Date date = new Date();
        for (int i = 19; i >= 0; i--) {
            Date date1 = DateUtils.addDays(date, -i);
            dates.add(DateFormatUtils.format(date1,"MM-dd" ));
        }
        System.out.println(dates);
        Long offset = DateUtil.between(new Date(), DateUtil.beginOfMonth(date), DateUnit.DAY);
        System.out.println(offset);
        // BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
        // boolean matches = encoder.matches("admin1234567", encode);
@@ -194,12 +198,9 @@
    /**
     * 小程序微信用户信息更新
     *
     * @param openid
     *            小程序唯一ID
     * @param sessionKey
     *            会话密钥
     * @param unionid
     *            用户在开放平台的唯一标识符
     * @param openid     小程序唯一ID
     * @param sessionKey 会话密钥
     * @param unionid    用户在开放平台的唯一标识符
     * @return token
     */
    @Override
@@ -241,14 +242,10 @@
    /**
     * 维护小程序用户基本信息 头像 昵称 性别
     *
     * @param userId
     *            数据库用户ID
     * @param nickName
     *            昵称
     * @param gender
     *            性别
     * @param avatarUrl
     *            头像
     * @param userId    数据库用户ID
     * @param nickName  昵称
     * @param gender    性别
     * @param avatarUrl 头像
     * @return 维护结果
     */
    @Override
@@ -269,10 +266,8 @@
    /**
     * 维护微信用户手机号
     *
     * @param userId
     *            数据库ID
     * @param purePhoneNumber
     *            没有区号的手机号
     * @param userId          数据库ID
     * @param purePhoneNumber 没有区号的手机号
     * @return 维护结果
     */
    @Override
@@ -296,10 +291,8 @@
    /**
     * 认证中心获取平台用户信息
     *
     * @param name
     *            登录账户
     * @param type
     *            用户类型 用户类型 1 小程序 2 运营平台 3 社区平台
     * @param name 登录账户
     * @param type 用户类型 用户类型 1 小程序 2 运营平台 3 社区平台
     * @return 用户基本信息、角色
     */
    @Override
@@ -367,8 +360,7 @@
    /**
     * 三端获取用户信息
     *
     * @param userId
     *            用户ID
     * @param userId 用户ID
     * @return 用户基本信息、角色
     */
    @Override
@@ -616,8 +608,7 @@
    /**
     * 编辑人脸采集数据通过、驳回、删除
     *
     * @param loginUserInfoVO
     *            操作信息
     * @param loginUserInfoVO 操作信息
     * @return 操作结果
     */
    @Override
@@ -654,8 +645,7 @@
    /**
     * 分页查询人口管理
     *
     * @param userInfoVO
     *            查询参数
     * @param userInfoVO 查询参数
     * @return 分页数据
     */
    @Override
@@ -720,8 +710,7 @@
    /**
     * 人员详情 detailuser
     *
     * @param userId
     *            用户id
     * @param userId 用户id
     * @return 人员详情
     */
    @Override
@@ -752,8 +741,7 @@
            loginUserInfoVO.setComActVO(comActVO);
            loginUserInfoVO.setCommunityName(comActVO.getName());
            loginUserInfoVO.setAreaCode(comActVO.getAreaCode());
        }
        else{
        } else {
            loginUserInfoVO.setAreaCode("510423");
        }
        //是否是社区物业人员
@@ -768,8 +756,7 @@
        if (nonNull(acidMember)) {
            if(acidMember.getRelationName().equals("panzhihua")||acidMember.getRelationName().equals("西区")||acidMember.getRelationName().equals("东区")||acidMember.getRelationName().equals("仁和区")||acidMember.getRelationName().equals("米易县")||acidMember.getRelationName().equals("盐边县")){
                loginUserInfoVO.setIsAcidMember(1);
            }
            else {
            } else {
                loginUserInfoVO.setIsAcidMember(2);
            }
            loginUserInfoVO.setRelationName(acidMember.getRelationName());
@@ -780,13 +767,10 @@
        int countSocialOrg=userDao.countSocialOrg(userId);
        if(countSocialOrg>0){
            loginUserInfoVO.setUserType(3);
        }
        else {
        } else {
            if(loginUserInfoVO.getStreetId()!=null){
                loginUserInfoVO.setUserType(1);
                loginUserInfoVO.setLevel(3);
            }
            else {
            } else {
                loginUserInfoVO.setUserType(2);
                loginUserInfoVO.setLevel(4);
            }
@@ -815,8 +799,7 @@
    /**
     * 设置用户标签
     *
     * @param loginUserInfoVO
     *            标签信息
     * @param loginUserInfoVO 标签信息
     * @return 设置结果
     */
    @Override
@@ -836,8 +819,7 @@
    /**
     * 修改用户志愿者状态
     *
     * @param phone
     *            志愿者手机号
     * @param phone 志愿者手机号
     * @param type
     */
    @Override
@@ -874,8 +856,7 @@
    /**
     * 修改用户志愿者状态
     *
     * @param userId
     *            志愿者用户ID
     * @param userId 志愿者用户ID
     * @param type
     */
    @Override
@@ -907,8 +888,7 @@
    /**
     * 用户绑定社区、小区
     *
     * @param loginUserInfoVO
     *            社区小区数据
     * @param loginUserInfoVO 社区小区数据
     * @return 绑定结果
     */
    @Override
@@ -931,8 +911,7 @@
    /**
     * 用户实名认证
     *
     * @param loginUserInfoVO
     *            认证数据
     * @param loginUserInfoVO 认证数据
     * @return 认证结果
     */
    @Override
@@ -1005,8 +984,7 @@
    /**
     * 修改用户手机号
     *
     * @param userPhoneVO
     *            手机号信息
     * @param userPhoneVO 手机号信息
     * @return 修改结果
     */
    @Override
@@ -1050,8 +1028,7 @@
    /**
     * 修改用户信息
     *
     * @param loginUserInfoVO
     *            修改内容
     * @param loginUserInfoVO 修改内容
     * @return 修改结果
     */
    @Override
@@ -1104,8 +1081,7 @@
    /**
     * 家庭成员列表
     *
     * @param userId
     *            登录用户
     * @param userId 登录用户
     * @return 成员集合
     */
    @Override
@@ -1127,8 +1103,7 @@
    /**
     * 新增家庭成员
     *
     * @param comMngFamilyInfoVO
     *            家庭成员基本信息
     * @param comMngFamilyInfoVO 家庭成员基本信息
     * @return 增加结果
     */
    @Override
@@ -1152,8 +1127,7 @@
    /**
     * 编辑家庭成员
     *
     * @param comMngFamilyInfoVO
     *            家庭成员信息
     * @param comMngFamilyInfoVO 家庭成员信息
     * @return 编辑结果
     */
    @Override
@@ -1171,8 +1145,7 @@
    /**
     * 新增运营、社区后台账户
     *
     * @param administratorsUserVO
     *            账户信息
     * @param administratorsUserVO 账户信息
     * @return 新增结果
     */
    @Override
@@ -1243,19 +1216,16 @@
                    menu.add(235L);
                    menu.add(236L);
                    menu.add(237L);
                }
                else if(administratorsUserVO.getSocialType()==2){
                } else if (administratorsUserVO.getSocialType() == 2) {
                    menu.add(233L);
                    menu.add(234L);
                    menu.add(236L);
                    menu.add(237L);
                    menu.add(238L);
                }
                else if(administratorsUserVO.getSocialType()==3){
                } else if (administratorsUserVO.getSocialType() == 3) {
                    menu.add(233L);
                    menu.add(237L);
                }
                else {
                } else {
                    menuRoleVO.setIsAll(1);
                }
                menuRoleVO.setMenuIds(menu);
@@ -1317,15 +1287,13 @@
                menu.add(302L);
                menu.add(303L);
                menu.add(304L);
            }
            else if(administratorsUserVO.getSocialType()==2){
            } else if (administratorsUserVO.getSocialType() == 2) {
                sysRoleDO.setRoleKey("social_org" + administratorsUserVO.getStreetId());
                menu.add(300L);
                menu.add(301L);
                menu.add(302L);
                menu.add(303L);
            }
            else if(administratorsUserVO.getSocialType()==3){
            } else if (administratorsUserVO.getSocialType() == 3) {
                sysRoleDO.setRoleKey("social_org_member" + administratorsUserVO.getStreetId());
                menu.add(300L);
                menu.add(303L);
@@ -1388,8 +1356,7 @@
    /**
     * 设置角色的权限
     *
     * @param menuRoleVO
     *            用户设置的权限id
     * @param menuRoleVO 用户设置的权限id
     * @return 设置结果
     */
    @Transactional(rollbackFor = Exception.class)
@@ -1445,8 +1412,7 @@
            if (!menuIds.isEmpty()) {
                if(menuRoleVO.getMenuIds()==null){
                    sysRoleMenuDAO.batchInsertWithRoleId(menuIds, roleId);
                }
                else {
                } else {
                    sysRoleMenuDAO.batchInsertWithRoleId(menuRoleVO.getMenuIds(), roleId);
                }
            }
@@ -1467,8 +1433,7 @@
    /**
     * 编辑运营、社区后台账户
     *
     * @param administratorsUserVO
     *            编辑账户内容
     * @param administratorsUserVO 编辑账户内容
     * @return 编辑结果
     */
    @Override
@@ -1516,8 +1481,7 @@
    /**
     * 删除后台用户
     *
     * @param administratorsUserVO
     *            用户主键
     * @param administratorsUserVO 用户主键
     * @return 删除结果
     */
    @Override
@@ -1548,8 +1512,7 @@
    /**
     * 分页查询后台用户
     *
     * @param administratorsUserVO
     *            查询参数
     * @param administratorsUserVO 查询参数
     * @return 后台用户
     */
    @Override
@@ -1572,8 +1535,7 @@
    /**
     * 保存操作日志
     *
     * @param operlog
     *            日志内容
     * @param operlog 日志内容
     * @return 保存结果
     */
    @Override
@@ -1601,8 +1563,7 @@
    /**
     * 分页展示操作日志
     *
     * @param sysOperLogVO
     *            分页参数
     * @param sysOperLogVO 分页参数
     * @return 分页集合
     */
    @Override
@@ -1646,8 +1607,7 @@
    /**
     * 编辑用户协议
     *
     * @param sysUserAgreementVO
     *            编辑内容
     * @param sysUserAgreementVO 编辑内容
     * @return 编辑结果
     */
    @Override
@@ -1664,8 +1624,7 @@
    /**
     * 用户标签
     *
     * @param communityId
     *            社区id
     * @param communityId 社区id
     * @return 标签集合
     */
    @Override
@@ -1687,8 +1646,7 @@
    /**
     * 新增删除用户标签
     *
     * @param systemmanagementConfigVO
     *            操作内容
     * @param systemmanagementConfigVO 操作内容
     * @return 操作结果
     */
    @Override
@@ -1714,8 +1672,7 @@
    /**
     * 分页查询小程序用户
     *
     * @param pageUserAppletsBackstageDTO
     *            查询参数
     * @param pageUserAppletsBackstageDTO 查询参数
     * @return 分页集合
     */
    @Override
@@ -1732,8 +1689,7 @@
    /**
     * 编辑用户状态
     *
     * @param pageUserAppletsBackstageDTO
     *            启用或者禁用 1 启用 2 禁用
     * @param pageUserAppletsBackstageDTO 启用或者禁用 1 启用 2 禁用
     * @return 编辑结果
     */
    @Override
@@ -1753,8 +1709,7 @@
    /**
     * 调试接口--清除昵称、社区、小区
     *
     * @param userId
     *            登录用户id
     * @param userId 登录用户id
     * @return 清除结果
     */
    @Override
@@ -1769,8 +1724,7 @@
    /**
     * 用户协议和隐私政策
     *
     * @param type
     *            所属app 1居民端app 2网格员端app 3商家端app
     * @param type 所属app 1居民端app 2网格员端app 3商家端app
     * @return 协议内容
     */
    @Override
@@ -1783,8 +1737,7 @@
    /**
     * 意见反馈
     *
     * @param sysUserFeedbackDTO
     *            反馈内容
     * @param sysUserFeedbackDTO 反馈内容
     * @return 反馈结果
     */
    @Override
@@ -1802,8 +1755,7 @@
    /**
     * 分页通知列表
     *
     * @param pageDTO
     *            分页参数
     * @param pageDTO 分页参数
     * @return 分页结果
     */
    @Override
@@ -1834,8 +1786,7 @@
    /**
     * 通知已读
     *
     * @param noticeReadDTO
     *            通知已读
     * @param noticeReadDTO 通知已读
     * @return 修改状态
     */
    @Override
@@ -1862,8 +1813,7 @@
    /**
     * 分页查询用户意见反馈
     *
     * @param pageFeedBackDTO
     *            分页查询参数
     * @param pageFeedBackDTO 分页查询参数
     * @return 意见集合
     */
    @Override
@@ -1880,8 +1830,7 @@
    /**
     * 未读消息汇总
     *
     * @param userId
     *            登录用户信息
     * @param userId 登录用户信息
     * @return 未读汇总
     */
    @Override
@@ -1909,8 +1858,7 @@
    /**
     * 反馈意见详情
     *
     * @param id
     *            反馈主键
     * @param id 反馈主键
     * @return 反馈详情
     */
    @Override
@@ -1972,8 +1920,7 @@
    /**
     * 社区管理后台数据看板
     *
     * @param communityId
     *            社区id
     * @param communityId 社区id
     * @return 看板用户数据
     */
    @Override
@@ -2000,8 +1947,7 @@
    /**
     * 新增用户通知
     *
     * @param sysUserNoticeVO
     *            通知内容
     * @param sysUserNoticeVO 通知内容
     * @return 新增结果
     */
    @Override
@@ -2018,8 +1964,7 @@
    /**
     * 修改用户的党员状态
     *
     * @param idCard
     *            身份证号
     * @param idCard 身份证号
     * @return 修改结果
     */
    @Override
@@ -2042,8 +1987,7 @@
    /**
     * 修改用户的党员状态
     *
     * @param phone
     *            身份证号
     * @param phone 身份证号
     * @return 修改结果
     */
    @Override
@@ -2066,8 +2010,7 @@
    /**
     * 修改用户的党员状态
     *
     * @param idCard
     *            身份证号
     * @param idCard 身份证号
     * @return 修改结果
     */
    @Override
@@ -2090,8 +2033,7 @@
    /**
     * 获取各种协议
     *
     * @param type
     *            1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策
     * @param type 1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策
     * @return 协议内容
     */
    @Override
@@ -2109,8 +2051,7 @@
    /**
     * 维护用户最后登录时间
     *
     * @param userId
     *            用户主键
     * @param userId 用户主键
     * @return 维护结果
     */
    @Override
@@ -2128,8 +2069,7 @@
    /**
     * 删除意见反馈
     *
     * @param id
     *            主键
     * @param id 主键
     * @return 删除结果
     */
    @Override
@@ -2144,8 +2084,7 @@
    /**
     * 校验小区是否存在
     *
     * @param areaName
     *            小区名字
     * @param areaName 小区名字
     * @return 校验结果
     */
    @Override
@@ -2166,8 +2105,7 @@
    /**
     * 社区人员详情包括导入人员
     *
     * @param userId
     *            人员id
     * @param userId 人员id
     * @return CommunityUserInfoVO
     */
    @Override
@@ -2220,8 +2158,7 @@
    /**
     * 用户搜索了就下载搜索的用户否则下载所有用户
     *
     * @param exportUserDTO
     *            用户搜索内容
     * @param exportUserDTO 用户搜索内容
     * @return List<EexcelUserDTO> excel内容
     */
    @Override
@@ -2280,8 +2217,7 @@
    /**
     * 新增SysUser
     *
     * @param storeVO
     *            请求参数
     * @param storeVO 请求参数
     * @return 新增结果
     */
    @Override
@@ -2311,8 +2247,7 @@
        String encode = new BCryptPasswordEncoder().encode(storeVO.getStorePassword());
        BeanUtils.copyProperties(storeVO, sysUserDO);
        sysUserDO.setAccount(storeVO.getStoreAccount());
        sysUserDO.setType(20);
        sysUserDO.setCommunityId(communityId);
        sysUserDO.setType(5);
        sysUserDO.setAreaId(null);
        sysUserDO.setStatus(1);
        sysUserDO.setPhone(storeVO.getPhone());
@@ -2346,8 +2281,7 @@
    /**
     * 修改SysUser用户信息
     *
     * @param storeVO
     *            请求参数
     * @param storeVO 请求参数
     * @return 修改结果
     */
    @Override
@@ -2368,8 +2302,7 @@
    /**
     * 修改用户小程序首页活动提示
     *
     * @param userEditTipsDTO
     *            请求参数
     * @param userEditTipsDTO 请求参数
     * @return 修改结果
     */
    public R editUserTips(SysUserEditTipsDTO userEditTipsDTO) {
@@ -2413,8 +2346,7 @@
    /**
     * 修改app用户密码
     *
     * @param userInfoAppDTO
     *            请求参数
     * @param userInfoAppDTO 请求参数
     * @return 修改结果
     */
    @Override
@@ -2445,8 +2377,7 @@
    /**
     * 添加网格员
     *
     * @param eventGridMemberAddDTO
     *            请求参数
     * @param eventGridMemberAddDTO 请求参数
     * @return 结果
     */
    @Override
@@ -2562,8 +2493,7 @@
    /**
     * 网格员管理
     *
     * @param memberRelationDTO
     *            请求参数
     * @param memberRelationDTO 请求参数
     * @return 网格员列表
     */
    @Override
@@ -2599,8 +2529,7 @@
    /**
     * 修改网格员信息
     *
     * @param gridMemberDTO
     *            请求参数
     * @param gridMemberDTO 请求参数
     * @return 修改结果
     */
    @Override
@@ -2695,8 +2624,7 @@
    /**
     * 重置网格员密码
     *
     * @param gridMemberDTO
     *            请求参数
     * @param gridMemberDTO 请求参数
     * @return 重置结果
     */
    @Override
@@ -2713,8 +2641,7 @@
    /**
     * 批量删除网格员
     *
     * @param Ids
     *            网格员id集合
     * @param Ids 网格员id集合
     * @return 删除结果
     */
    @Override
@@ -2752,8 +2679,7 @@
    /**
     * 查询社区的收益说明
     *
     * @param communityId
     *            社区id
     * @param communityId 社区id
     * @return 收益说明
     */
    @Override
@@ -2799,8 +2725,7 @@
    /**
     * 根据用户id查询用户openid
     *
     * @param userId
     *            用户id
     * @param userId 用户id
     * @return openid
     */
    @Override
@@ -2815,8 +2740,7 @@
    /**
     * 查询社区后台工作人员列表
     *
     * @param communityId
     *            社区id
     * @param communityId 社区id
     * @return 社区后台工作人员列表
     */
    @Override
@@ -2826,6 +2750,7 @@
    /**
     * 检查当前用户是否是社区工作人员
     *
     * @param phone
     * @param communityId
     * @return
@@ -2868,6 +2793,7 @@
    /**
     * 便民服务新增商家账号
     *
     * @param convenientMerchantDTO
     * @return 商家用户id
     */
@@ -2902,6 +2828,7 @@
    /**
     * 修改便民服务商家绑定账号
     *
     * @param userId 用户id
     * @param account 修改账户
     * @return 修改结果
@@ -2951,6 +2878,7 @@
    /**
     * 根据openid维护社区团队里是否注册
     *
     * @param openid    用户微信唯一标识
     */
    @Override
@@ -3019,6 +2947,7 @@
    /**
     * 运营后台-用户数据统计汇总
     *
     * @return  用户数据统计汇总
     */
    @Override
@@ -3042,6 +2971,7 @@
    /**
     * 通过UnionId获取用户信息
     *
     * @param unionId
     * @return
     */
@@ -3066,6 +2996,7 @@
    /**
     * 删除用户信息缓存
     *
     * @param phone
     */
    @Override
@@ -3080,6 +3011,7 @@
    /**
     * 微商业街新增商家账号
     *
     * @param mcsMerchantDTO
     * @return 商家用户id
     */
@@ -3132,6 +3064,7 @@
    /**
     * 微商业街修改商家账号
     *
     * @param mcsMerchantDTO
     * @return
     */
@@ -3177,6 +3110,7 @@
    /**
     * 检查用户是否有效
     *
     * @param userId
     * @param type
     * @return
@@ -3192,6 +3126,7 @@
    /**
     * 根据手机号、用户类型查询用户
     *
     * @param phone
     * @param type
     * @return
@@ -3209,6 +3144,7 @@
    /**
     * 发送验证码
     *
     * @param phone 手机号
     * @param clientIP 用户ip
     * @param prefixKey redis Key 前缀
@@ -3244,6 +3180,7 @@
    /**
     * 根据openId获取微商业街用户
     *
     * @param openid
     * @return
     */
@@ -3260,6 +3197,7 @@
    /**
     * 商业街用户微信授权-绑定手机号
     *
     * @param bindUserPhoneDTO
     * @return
     */
@@ -3333,17 +3271,28 @@
    @Override
    public R uuLogin(UuLoginVO uuLoginVO) {
        uuLoginVO.setAppid("10000");
        String appId = "";
        String secret = "";
        if ("wx118de8a734d269f0".equals(uuLoginVO.getAppid())) {
            appId = "10000";
            secret = "e10adc3949ba59abbe56e057f20f883e";
        } else if ("wx98d62711dfbd8425".equals(uuLoginVO.getAppid())) {
            appId = "10001";
            secret = "d89f3a35931c386956c1a402a8e09941";
        } else {
            return R.fail("appid未传");
        }
        uuLoginVO.setAppid(appId);
        String timeStamp=PayUtil.create_timestamp();
        uuLoginVO.setTimestamp(timeStamp);
        try {
            uuLoginVO.setSign(PayUtil.MD5(uuLoginVO.getAppid()+"e10adc3949ba59abbe56e057f20f883e"+timeStamp).toLowerCase(Locale.ROOT));
            uuLoginVO.setSign(PayUtil.MD5(uuLoginVO.getAppid() + secret + timeStamp).toLowerCase(Locale.ROOT));
        } catch (Exception e) {
            e.printStackTrace();
        }
        Map<String, String> headerMap=new HashMap<>();
        headerMap.put("appid","10000");
        String resultJson=HttpClientUtil.get("https://api.uucsh.cn/member/wx/get-access?province="+uuLoginVO.getProvince()+"&city="+uuLoginVO.getCity()+"&area="+uuLoginVO.getArea()+"&appid=10000&timestamp="+uuLoginVO.getTimestamp()+"&sign="+uuLoginVO.getSign()+"&mobile="+uuLoginVO.getMobile()+"&couponId="+uuLoginVO.getCouponId(),headerMap,null);
        headerMap.put("appid", appId);
        String resultJson = HttpClientUtil.get("https://api.uucsh.cn/member/wx/get-access?province=" + uuLoginVO.getProvince() + "&city=" + uuLoginVO.getCity() + "&area=" + uuLoginVO.getArea() + "&appid=" + appId + "&timestamp=" + uuLoginVO.getTimestamp() + "&sign=" + uuLoginVO.getSign() + "&mobile=" + uuLoginVO.getMobile() + "&couponId=" + uuLoginVO.getCouponId(), headerMap, null);
        JSONObject result = JSON.parseObject(resultJson);
        if(result.get("status").equals(1)){
            return R.ok(result.get("data"));
@@ -3570,25 +3519,56 @@
        return R.ok(realUserVO);
    }
//    @Override
//    public R userActivity(Integer type, Long streetId, Long areaCode, Integer range, String appId) {
//        UserActivityAnalysisVO vo = new UserActivityAnalysisVO();
//        List<Date> activeX = getTwentyDays();
//        List<String> activeY = new ArrayList<>();
//        List<String> adY = new ArrayList<>();
//        if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)) {
//            if (range.equals(1)) {
//                //本月数据
//                activeX = getMonthTwentyDays();
//            }
//        }
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//        for (Date date : activeX) {
//            Map<String, Long> map = userDao.getDailyAddAndActive(DateUtil.parse(sdf.format(date)), streetId, areaCode, appId);
//            adY.add(map.get("addUser").toString());
//            activeY.add(map.get("activeUser").toString());
//        }
//        vo.setUserX(getMAndD(activeX));
//        vo.setAddUserY(adY);
//        vo.setActiveUserY(activeY);
//        return R.ok(vo);
//    }
    @Override
    public R userActivity(Integer type, Long streetId, Long areaCode, Integer range, String appId) {
        UserActivityAnalysisVO vo=new UserActivityAnalysisVO();
        List<Date> activeX=getTwentyDays();
        String activeX = com.panzhihua.common.utlis.DateUtils.getTwentyDay();
        List<Date> activeDate = getTwentyDays();
        List<String> activeY=new ArrayList<>();
        List<String> adY=new ArrayList<>();
        if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)){
            if (range.equals(1)){
                //本月数据
                activeX = getMonthTwentyDays();
                activeX = com.panzhihua.common.utlis.DateUtils.getMonthTwentyDay();
                activeDate = getMonthTwentyDays();
            }
        }
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        for (Date date : activeX) {
            Map<String, Long> map = userDao.getDailyAddAndActive(DateUtil.parse(sdf.format(date)), streetId,areaCode, appId);
            adY.add(map.get("addUser").toString());
            activeY.add(map.get("activeUser").toString());
        //获取最近活跃人数
        Map<String, Long> active = userDao.getActive(activeX, streetId, areaCode, appId);
        //获取最近注册人数
        Map<String, Long> dailyAdd = userDao.getDailyAdd(activeX, streetId, areaCode, appId);
        for (Date date : activeDate) {
            String dateStr = DateUtil.format(date, "yyyy-MM-dd");
            activeY.add(active.containsKey(dateStr) ? active.get("activeUser").toString() : "0");
            adY.add(dailyAdd.containsKey(dateStr) ? dailyAdd.get("addUser").toString() : "0");
        }
        vo.setUserX(getMAndD(activeX));
        vo.setUserX(getMAndD(activeDate));
        vo.setAddUserY(adY);
        vo.setActiveUserY(activeY);
        return R.ok(vo);
@@ -3608,16 +3588,20 @@
                    e.printStackTrace();
                }
                switch (orderStatus){
                    case 3 : status="已分配车美";
                    case 3:
                        status = "已分配车美";
                        WxUtil.sendUuWash3(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"sU18zbyzxFldHAdOREaQCR5uq_uMvCKTmGtklO1xw-w");
                    break;
                    case 4 : status="车美已开始服务";
                    case 4:
                        status = "车美已开始服务";
                        WxUtil.sendUuWash4(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw");
                    break;
                    case 6 : status="订单确认完成";
                    case 6:
                        status = "订单确认完成";
                        WxUtil.sendUuWash6(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"k1aV97H3pDNNcNcDTeZBD9jQemNDADnRE801HhTXweI");
                    break;
                    case 9 : status="订单已取消";
                    case 9:
                        status = "订单已取消";
                        WxUtil.sendUuWash(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"9_2FhQPDxZoUqmAuIZ1L1zjjYXokdNvu7A0gzKfvruI");
                    break;
                }
@@ -3640,16 +3624,20 @@
                    e.printStackTrace();
                }
                switch (orderStatus){
                    case 3 : status="已分配车美";
                    case 3:
                        status = "已分配车美";
                        WxUtil.sendWsWash3(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"sNj6m-JBvW6rOokKGDX9X3-XH1AD0GY5_X0jA9JSLwc");
                        break;
                    case 4 : status="车美已开始服务";
                    case 4:
                        status = "车美已开始服务";
                        WxUtil.sendWsWash4(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw");
                        break;
                    case 6 : status="订单确认完成";
                    case 6:
                        status = "订单确认完成";
                        WxUtil.sendWsWash6(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"iPS8yrsGDqy76hiP8bIbxkosveoX1xTFhdusSiGp-XM");
                        break;
                    case 9 : status="订单已取消";
                    case 9:
                        status = "订单已取消";
                        WxUtil.sendWsWash(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"z_ysGXz9JWBc2rXuYZzVCXKJTyLf0w0WerrohuNoEng");
                        break;
                }
@@ -3657,6 +3645,7 @@
        }
        return R.ok();
    }
    @Override
    public R getCommunityList(String name,Long id) {
        //区级账号名
@@ -3937,7 +3926,7 @@
    /**
     * 计算占比
     * */
     */
    private Integer getRate(Integer total,Integer count){
        if (0 != total && null != total){
            if (0 != count && null != count){
@@ -3951,7 +3940,7 @@
    /**
     * 计算街道实名用户总数
     * */
     */
    private Integer getStreetRealUser(List<RealUser> list){
        Integer count=0;
        if (list.size()>0){
@@ -3969,7 +3958,7 @@
    /**
     * 计算当前统计范围内的所有用户数
     * */
     */
    public Integer countUser(List<UserRateAnalysisVO> list){
        Integer count=0;
        if (list.size()>0){
@@ -3986,7 +3975,7 @@
    /**
     * 截取月,日
     * */
     */
    public List<String> getMAndD(List<Date> list){
        List<String> dateList=new ArrayList<>();
        if (list.size()>0){
@@ -4000,7 +3989,7 @@
    /**
     * areaCode转区县名
     * */
     */
    private  String areaCodeToName(Long areaCode){
        String code = areaCode.toString();
        String name="不正确的areaCode";
@@ -4029,7 +4018,7 @@
    /**
     *根据type选择要设置的名称
     * */
     */
    private String typeToName(Integer type,UserProportion proportion){
        log.info("当前code"+proportion.getAreaCode());
        String name="";
@@ -4045,7 +4034,7 @@
    /**
     *根据type选择要设置的名称
     * */
     */
    private String typeToNameRealUser(Integer type,RealUser proportion){
        String name="";
        if (type.equals(ALLCOUNTY)){
@@ -4060,7 +4049,7 @@
    /**
     * 生成区县code列表
     * */
     */
    private List<Integer> areaCodeList(){
        List<Integer> list=new ArrayList<>();
        list.add(510402);
@@ -4074,7 +4063,7 @@
    /**
     * 根据日志保存修改之前的信息
     * */
     */
    private String saveBeforeUpdateData(SysOperLogVO operlog) throws JsonProcessingException {
        if (operlog.getTitle().equals(UPDATEACIDCHECKRECORD)){
            //
@@ -4093,7 +4082,7 @@
    /**
     * 是否需要区分村落/社区
     * */
     */
    private Integer isVilliage(String name){
        if ("fangyipingtai".equals(name)){
            return 3;
@@ -4107,7 +4096,7 @@
    /**
     * 是否为市级账号
     * */
     */
    private Boolean isCityAccount(String name){
        if(("fangyipingtai").equals(name) || ("pandashujuzhongxin").equals(name) || ("pannongyenongcunju").equals(name)){
            return true;
@@ -4117,7 +4106,7 @@
    /**
     * 是否为区级账号
     * */
     */
    private Boolean isAreaAccount(String name){
        Boolean flag=false;
        switch (name){
@@ -4134,7 +4123,7 @@
    /**
     * account转区areaCode
     * */
     */
    private  Integer accountToCode(String code){
        String name="100000";
        switch (code){
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/resources/mapper/UserDao.xml
@@ -709,6 +709,45 @@
        </if>
    </select>
    <select id="getDailyAdd" resultType="java.util.Map">
        SELECT DATE_FORMAT( su.create_at, '%Y-%m-%d' ) as createAt ,count(su.user_id) as addUser      FROM
        sys_user AS su
        LEFT JOIN com_act AS ac ON su.community_id = ac.community_id
        LEFT JOIN com_street AS cs ON ac.street_id = cs.street_id
        where su.community_id&lt;>''
        and cs.area_code&lt;>''
        and su.type = 1
        <if test="appId != null and appId != &quot;&quot;">
            and su.app_id = #{appId}
        </if>
        <if test="id != null">
            and cs.street_id=#{id}
        </if>
        <if test="areaCode != null">
            and cs.area_code=#{areaCode}
        </if>
        AND su.create_at > #{createAt} GROUP BY createAt
    </select>
    <select id="getActive" resultType="java.util.Map">
        SELECT DATE_FORMAT( su.last_login_time, '%Y-%m-%d' ) as createAt ,count(su.user_id) as activeUser      FROM
        sys_user AS su
        LEFT JOIN com_act AS ac ON su.community_id = ac.community_id
        LEFT JOIN com_street AS cs ON ac.street_id = cs.street_id
        where su.community_id&lt;>''
        and cs.area_code&lt;>''
        and su.type = 1
        <if test="appId != null and appId != &quot;&quot;">
            and su.app_id = #{appId}
        </if>
        <if test="id != null">
            and cs.street_id=#{id}
        </if>
        <if test="areaCode != null">
            and cs.area_code=#{areaCode}
        </if>
        AND su.last_login_time > #{lastLoginTime} GROUP BY createAt
    </select>
    <select id="selectStreetByAreaCode" resultType="com.panzhihua.common.model.vos.user.StreetVOS">
        select street_id as id,name as name from com_street where area_code=#{code} and app_id ='wx118de8a734d269f0'
    </select>