huanghongfa
2021-01-05 d9eee1919dbff7ffddc48b1f4fee2ec41a54a2a2
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -5,16 +5,21 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.constants.SecurityConstants;
import com.panzhihua.common.constants.UserConstants;
import com.panzhihua.common.model.dtos.PageDTO;
import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
import com.panzhihua.common.model.dtos.user.PageFeedBackDTO;
import com.panzhihua.common.model.dtos.user.PageUserAppletsBackstageDTO;
import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO;
import com.panzhihua.common.model.vos.IndexDataKanbanVO;
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.partybuilding.ActivityManagerVO;
import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO;
import com.panzhihua.common.model.vos.user.*;
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.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -55,6 +60,10 @@
    private SysOperLogDAO sysOperLogDAO;
    @Resource
    private SysUserAgreementDAO sysUserAgreementDAO;
    @Resource
    private SysUserFeedbackDAO sysUserFeedbackDAO;
    @Resource
    private SysUserNoticeDAO sysUserNoticeDAO;
    /**
@@ -699,6 +708,9 @@
            int update1 = sysUserRoleDAO.update(sysUserRoleDO,new UpdateWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getUserId,administratorsUserVO.getUserId()));
            if (update1>0) {
                return R.ok();
            }else{
                sysUserRoleDO.setUserId(administratorsUserVO.getUserId());
                sysUserRoleDAO.insert(sysUserRoleDO);
            }
        }
        return R.ok();
@@ -882,6 +894,225 @@
    }
    /**
     * 分页查询小程序用户
     *
     * @param pageUserAppletsBackstageDTO 查询参数
     * @return 分页集合
     */
    @Override
    public R pageUserAppletsBackstage(PageUserAppletsBackstageDTO pageUserAppletsBackstageDTO) {
        Page page = new Page<>();
        Long pageNum = pageUserAppletsBackstageDTO.getPageNum();
        Long pageSize = pageUserAppletsBackstageDTO.getPageSize();
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<SysUserVO> iPage = userDao.pageUserAppletsBackstage(page, pageUserAppletsBackstageDTO);
        return R.ok(iPage);
    }
    /**
     * 编辑用户状态
     *
     * @param pageUserAppletsBackstageDTO 启用或者禁用 1 启用 2 禁用
     * @return 编辑结果
     */
    @Override
    public R putUserAppletsBackstage(PageUserAppletsBackstageDTO pageUserAppletsBackstageDTO) {
        Long userId = pageUserAppletsBackstageDTO.getUserId();
        Integer status = pageUserAppletsBackstageDTO.getStatus();
        SysUserDO sysUserDO=new SysUserDO();
        sysUserDO.setUserId(userId);
        sysUserDO.setStatus(status);
        int update = userDao.updateById(sysUserDO);
        if (update>0) {
            return R.ok();
        }
        return R.fail("用户不存在");
    }
    /**
     * 调试接口--清除昵称、社区、小区
     *
     * @param userId 登录用户id
     * @return 清除结果
     */
    @Override
    public R deleteUserTest(Long userId) {
        int num=userDao.deleteUserTest(userId);
        if (num>0) {
            return R.ok();
        }
        return R.fail("清除失败");
    }
    /**
     * 用户协议和隐私政策
     *
     * @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));
        return R.ok(sysUserAgreementDO);
    }
    /**
     * 意见反馈
     *
     * @param sysUserFeedbackDTO 反馈内容
     * @return 反馈结果
     */
    @Override
    public R addFeedback(SysUserFeedbackDTO sysUserFeedbackDTO) {
        SysUserFeedbackDO sysUserFeedbackDO=new SysUserFeedbackDO();
        BeanUtils.copyProperties(sysUserFeedbackDTO,sysUserFeedbackDO);
        int insert = sysUserFeedbackDAO.insert(sysUserFeedbackDO);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 分页通知列表
     *
     * @param pageDTO 分页参数
     * @return 分页结果
     */
    @Override
    public R pageNotice(PageDTO pageDTO) {
        Long userId=pageDTO.getUserId();
        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));
        }else{
            integer=sysUserNoticeDAO.selectCount(new QueryWrapper<SysUserNoticeDO>().lambda().eq(SysUserNoticeDO::getUserId, userId).eq(SysUserNoticeDO::getStatus, 0));
        }
        Page page = new Page<>();
        Long pageNum = pageDTO.getPageNum();
        Long pageSize = pageDTO.getPageSize();
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<SysUserNoticeVO> iPage = userDao.pageNotice(page, pageDTO);
        Map<String,Object> map=new HashMap<>(2);
        map.put("page",iPage);
        map.put("unreadNum",integer);
        return R.ok(map);
    }
    /**
     * 通知已读
     *
     * @param noticeReadDTO 通知已读
     * @return 修改状态
     */
    @Override
    public R putNotice(NoticeReadDTO noticeReadDTO) {
        Integer all = noticeReadDTO.getAll();
        Long userId = noticeReadDTO.getUserId();
        int num=0;
        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));
        }else{
            sysUserNoticeDO.setId(noticeReadDTO.getId());
            sysUserNoticeDO.setStatus(1);
            num=sysUserNoticeDAO.updateById(sysUserNoticeDO);
        }
        if (num>0) {
            return R.ok();
        }
       return R.fail("通知不存在");
    }
    /**
     * 分页查询用户意见反馈
     *
     * @param pageFeedBackDTO 分页查询参数
     * @return 意见集合
     */
    @Override
    public R pageFeedback(PageFeedBackDTO pageFeedBackDTO) {
        Page page = new Page<>();
        Long pageNum = pageFeedBackDTO.getPageNum();
        Long pageSize = pageFeedBackDTO.getPageSize();
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<SysUserFeedbackVO> iPage = sysUserFeedbackDAO.pageFeedback(page, pageFeedBackDTO);
        return R.ok(iPage);
    }
    /**
     * 未读消息汇总
     *
     * @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).groupBy(SysUserNoticeDO::getType));
        if (!ObjectUtils.isEmpty(sysUserNoticeDOS)) {
            sysUserNoticeDOS.forEach(sysUserNoticeDO -> {
                SysUserNoticeVO sysUserNoticeVO=new SysUserNoticeVO();
                BeanUtils.copyProperties(sysUserNoticeDO,sysUserNoticeVO);
                sysUserNoticeVOList.add(sysUserNoticeVO);
            });
        }
        noticeUnReadVO.setSysUserNoticeVOList(sysUserNoticeVOList);
        return R.ok(noticeUnReadVO);
    }
    /**
     * 反馈意见详情
     *
     * @param id 反馈主键
     * @return 反馈详情
     */
    @Override
    public R detailFeedback(Long id) {
        SysUserFeedbackVO sysUserFeedbackVO=sysUserFeedbackDAO.detailFeedback(id);
        return R.ok(sysUserFeedbackVO);
    }
    /**
     * 运营小程序后台数据看板
     *
     * @return 展示数据
     */
    @Override
    public R dataKanban() {
        IndexDataKanbanVO indexDataKanbanVO=userDao.selectIndexDataKanban();
        List<DataKanbanDTO> dataKanbanDTOS=userDao.selectCommunityUserOrder();
        List<DataKanbanDTO> dataKanbanDTOS1=userDao.selectCommunityActiveUserOrder();
        List<String> communityUserX=new ArrayList<>();
        List<Integer> communityUserY=new ArrayList<>();
        List<String> communityActiveUserX=new ArrayList<>();
        List<Integer> communityActiveUserY=new ArrayList<>();
        if (!ObjectUtils.isEmpty(dataKanbanDTOS)) {
            dataKanbanDTOS.forEach(dataKanbanDTO -> {
                communityUserX.add(dataKanbanDTO.getName());
                communityUserY.add(dataKanbanDTO.getNum());
            });
        }
        if (!ObjectUtils.isEmpty(dataKanbanDTOS1)) {
            dataKanbanDTOS1.forEach(dataKanbanDTO -> {
                communityActiveUserX.add(dataKanbanDTO.getName());
                communityActiveUserY.add(dataKanbanDTO.getNum());
            });
        }
        indexDataKanbanVO.setCommunityActiveUserX(communityActiveUserX);
        indexDataKanbanVO.setCommunityActiveUserY(communityActiveUserY);
        indexDataKanbanVO.setCommunityUserX(communityUserX);
        indexDataKanbanVO.setCommunityUserY(communityUserY);
        return R.ok(indexDataKanbanVO);
    }
    public static void main(String[] args) {
        String encode = new BCryptPasswordEncoder().encode("123456");
        System.out.println(encode);