lidongdong
2024-07-11 eef6d2bcdb29348efe4ef17bc45a4c6886b487b1
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMicroWishServiceImpl.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.DesensitizedUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -21,10 +22,12 @@
import com.panzhihua.service_community.dao.ComActMicroWishFeedbackMapper;
import com.panzhihua.service_community.dao.ComActMicroWishOperationRecordMapper;
import com.panzhihua.service_community.dao.ComActMicroWishUserDAO;
import com.panzhihua.service_community.entity.ComActEasyPhotoHandler;
import com.panzhihua.service_community.model.dos.ComActMicroWishDO;
import com.panzhihua.service_community.model.dos.ComActMicroWishFeedbackDO;
import com.panzhihua.service_community.model.dos.ComActMicroWishOperationRecordDO;
import com.panzhihua.service_community.model.dos.ComActMicroWishUserDO;
import com.panzhihua.service_community.service.ComActEasyPhotoHandlerService;
import com.panzhihua.service_community.service.ComActMicroWishOperationRecordService;
import com.panzhihua.service_community.service.ComActMicroWishService;
import lombok.extern.slf4j.Slf4j;
@@ -56,6 +59,8 @@
    private ComActMicroWishOperationRecordMapper comActMicroWishOperationRecordMapper;
    @Resource
    private ComActMicroWishOperationRecordService wishOperationRecordService;
    @Resource
    private ComActEasyPhotoHandlerService easyPhotoHandlerService;
    /**
     * 分页查询微心愿
     *
@@ -125,6 +130,33 @@
        return R.ok(iPage);
    }
    @Override
    public R pageMicroWishAppletsDesensitize(ComActMicroWishVO comActMicroWishVO) {
        Long userId = comActMicroWishVO.getResponsibleId();
        IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWishApplets(new Page(comActMicroWishVO.getPageNum()
                ,comActMicroWishVO.getPageSize()), comActMicroWishVO);
        List<ComActMicroWishVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActMicroWishVO1 -> {
                if(userId != null){
                    Long id = comActMicroWishVO1.getId();
                    ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
                            .eq(ComActMicroWishUserDO::getUserId, userId));
                    if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
                        comActMicroWishVO1.setHaveGiveThumbsUp(0);
                    } else {
                        comActMicroWishVO1.setHaveGiveThumbsUp(1);
                    }
                }
                comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
                comActMicroWishVO1.setSponsorName(DesensitizedUtil.chineseName(comActMicroWishVO1.getSponsorName()));
                comActMicroWishVO1.setResponsibleName(DesensitizedUtil.chineseName(comActMicroWishVO1.getResponsibleName()));
            });
            iPage.setRecords(records);
        }
        return R.ok(iPage);
    }
    /**
     * 心愿详情
     *
@@ -173,6 +205,59 @@
        comActMicroWishVO.setResponsibleName(this.getWishHandleName(comActMicroWishVO.getHandleId()));
        return R.ok(comActMicroWishVO);
    }
    /**
     * 心愿详情 - 脱敏
     *
     * @param id 查询主键
     * @param userId 登录用户id
     * @return 心愿内容
     */
    @Override
    public R detailMicroWishDesensitize(Long id, Long userId) {
        ComActMicroWishVO comActMicroWishVO = comActMicroWishDAO.detailMicroWish(id);
        if (ObjectUtils.isEmpty(comActMicroWishVO)) {
            return R.fail("微心愿不存在");
        }
        Integer starNum = comActMicroWishVO.getStarNum();
        if (null==starNum) {
            comActMicroWishVO.setStarNum(0);
        }
        if (ObjectUtils.isEmpty(comActMicroWishVO)) {
            return R.fail("心愿不存在");
        }
        if(userId != null){
            ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
            if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
                comActMicroWishVO.setHaveGiveThumbsUp(0);
            }else {
                comActMicroWishVO.setHaveGiveThumbsUp(1);
            }
        }
        //查询反馈列表
        List<ComActMicroWishFeedbackVO> feedList=comActMicroWishFeedbackMapper.selectByWishId(id);
        if(!feedList.isEmpty()){
            for (ComActMicroWishFeedbackVO comActMicroWishFeedbackVO : feedList) {
                comActMicroWishFeedbackVO.setName(DesensitizedUtil.chineseName(comActMicroWishFeedbackVO.getName()));
            }
            comActMicroWishVO.setFeedbackVOList(feedList);
        }
        //查询操作记录
        List<ComActMicroWishOperationRecordVO> operationList=comActMicroWishOperationRecordMapper.getByWishId(id);
        if(!operationList.isEmpty()){
            comActMicroWishVO.setOperationRecordVOList(operationList);
        }
        comActMicroWishVO.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO.getSponsorPhone()));
        comActMicroWishVO.setSponsorName(DesensitizedUtil.chineseName(comActMicroWishVO.getSponsorName()));
        comActMicroWishVO.setResponsibleName(DesensitizedUtil.chineseName(comActMicroWishVO.getResponsibleName()));
        //查询同类型id数组
        List<Long> idList=comActMicroWishOperationRecordMapper.selectId(comActMicroWishVO);
        if(!idList.isEmpty()){
            comActMicroWishVO.setIdList(idList);
        }
        //查询处理人
        comActMicroWishVO.setResponsibleName(DesensitizedUtil.chineseName(this.getWishHandleName(comActMicroWishVO.getHandleId())));
        return R.ok(comActMicroWishVO);
    }
    /**
     * 审核、分配、反馈心愿
@@ -182,7 +267,7 @@
     */
    @Override
    @Transactional
    public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
    public synchronized R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
        Long id = comActMicroWishVO.getId();
        int type = comActMicroWishVO.getType().intValue();
        String rejectReason = comActMicroWishVO.getRejectReason();
@@ -201,6 +286,7 @@
        if(microWishDO == null){
            return R.fail("未查询到该微心愿记录");
        }
//        1 审核通过 2驳回 3分配人员 4发起活动 5反馈
        switch (type){
            case 1:
@@ -230,20 +316,53 @@
                comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                break;
            case 3:
                /**
                 * 状态
                 * 状态 1待审核  2待分配 3进行中  4已驳回 5待确认6 已完成
                 */
                if(comActMicroWishDO.getStatus()!=null && comActMicroWishDO.getStatus()!=2)
                {
                    return R.fail("该微心愿已认领,不可重复认领");
                }
                isUpdate = true;
                comActMicroWishDO.setDistributionAt(date);
                comActMicroWishDO.setResponsibleId(responsibleId);
                comActMicroWishDO.setStatus(3);//进行中
                comActMicroWishDO.setForm(1);
//                comActMicroWishDO.setForm(1);
                if(comActMicroWishVO.getHandleIds() != null && comActMicroWishVO.getHandleIds().size() > 0){
                    comActMicroWishDO.setHandleId(Joiner.on(",").join(comActMicroWishVO.getHandleIds()));
                }
                //添加操作记录
                comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fp);
                comActMicroWishOperationRecordDO.setContent("分配心愿");
                comActMicroWishOperationRecordDO.setRemark("分配心愿");
                if(comActMicroWishDO.getForm()!=null)
                {
                    if(comActMicroWishDO.getForm()==3)
                    {
                        comActMicroWishOperationRecordDO.setContent("认领心愿");
                        comActMicroWishOperationRecordDO.setRemark("认领心愿");
                    }
                    else
                    {
                        comActMicroWishOperationRecordDO.setContent("分配心愿");
                        comActMicroWishOperationRecordDO.setRemark("分配心愿");
                    }
                }
                else
                {
                    comActMicroWishOperationRecordDO.setContent("分配心愿");
                    comActMicroWishOperationRecordDO.setRemark("分配心愿");
                }
                comActMicroWishOperationRecordDO.setUserId(responsibleId);
                comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                //添加分配人员
                if(comActMicroWishVO.getHandleList() != null && comActMicroWishVO.getHandleList().size() > 0){
                    comActMicroWishVO.getHandleList().forEach(handle -> {
                        easyPhotoHandlerService.addHandleRecord(microWishDO.getCommunityId(),handle.getUserId()
                                ,microWishDO.getId(),handle.getType(), ComActEasyPhotoHandler.ServiceType.WXY,comActMicroWishVO.getSponsorId());
                    });
                }
                break;
            case 4:
                isUpdate = true;
@@ -289,7 +408,14 @@
                    //添加操作记录
                    comActMicroWishOperationRecordDO.setType(ComActMicroWishOperationRecordDO.type.fk);
                    comActMicroWishOperationRecordDO.setContent(feedback);
                    comActMicroWishOperationRecordDO.setRemark("社区反馈");
                    if(comActMicroWishVO.getForm()==null || comActMicroWishVO.getForm() ==3  )
                    {
                        comActMicroWishOperationRecordDO.setRemark("用户反馈");
                    }
                    else
                    {
                        comActMicroWishOperationRecordDO.setRemark("社区反馈");
                    }
                    comActMicroWishOperationRecordDO.setImgUrl(feedbackPhotoPathList);
                    comActMicroWishOperationRecordMapper.insert(comActMicroWishOperationRecordDO);
                }
@@ -496,25 +622,21 @@
        IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWishAdmin(new Page(comActMicroWishVO.getPageNum()
                ,comActMicroWishVO.getPageSize()), comActMicroWishVO);
        List<ComActMicroWishVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActMicroWishVO1 -> {
                if(userId != null){
                    Long id = comActMicroWishVO1.getId();
                    ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
                            .eq(ComActMicroWishUserDO::getUserId, userId));
                    if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
                        comActMicroWishVO1.setHaveGiveThumbsUp(0);
                    } else {
                        comActMicroWishVO1.setHaveGiveThumbsUp(1);
                    }
        iPage.getRecords().forEach(comActMicroWishVO1 -> {
            if(userId != null){
                Long id = comActMicroWishVO1.getId();
                ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id)
                        .eq(ComActMicroWishUserDO::getUserId, userId));
                if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
                    comActMicroWishVO1.setHaveGiveThumbsUp(0);
                } else {
                    comActMicroWishVO1.setHaveGiveThumbsUp(1);
                }
                comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
                //查询处理人
                comActMicroWishVO1.setResponsibleName(this.getWishHandleName(comActMicroWishVO1.getHandleId()));
            });
            iPage.setRecords(records);
        }
            }
            comActMicroWishVO1.setSponsorPhone(SensitiveUtil.desensitizedPhoneNumber(comActMicroWishVO1.getSponsorPhone()));
            //查询处理人
            comActMicroWishVO1.setResponsibleName(this.getWishHandleName(comActMicroWishVO1.getHandleId()));
        });
        return R.ok(iPage);
    }
}