tangxiaobao
2021-08-18 abe815efa7fddd20f958b69b77d02bcc92d0bb84
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -10,9 +10,7 @@
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.SensitiveUtil;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.common.utlis.*;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.ComActEasyPhotoService;
@@ -27,6 +25,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -51,6 +50,10 @@
    private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper;
    @Resource
    private ComActUserWalletService comActUserWalletService;
    @Resource
    private ComActActSignDAO comActActSignDAO;
    @Resource
    private ComActEasyPhotoFeedbackMapper comActEasyPhotoFeedbackMapper;
    /**
     * 分页查询随手拍
     *
@@ -71,7 +74,7 @@
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhoto(page, comActEasyPhotoVO);
        IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoAdmin(page, comActEasyPhotoVO);
        List<ComActEasyPhotoVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActEasyPhotoVO1 -> {
@@ -87,14 +90,18 @@
                if(comActEasyPhotoVO1.getActivityId() != null && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.ywc)){
                    //查询随手拍活动
                    ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId());
                    if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){
                        comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getGoodReward());
                    }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){
                        comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getExcellentReward());
                    }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){
                        comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getOrdinaryReward());
                    }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){
                        comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getCommonlyReward());
                    if(photoActivityDO != null){
                        if(comActEasyPhotoVO1.getActivityType() != null){
                            if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){
                                comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getGoodReward());
                            }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){
                                comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getExcellentReward());
                            }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){
                                comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getOrdinaryReward());
                            }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){
                                comActEasyPhotoVO1.setActivityMoney(photoActivityDO.getCommonlyReward());
                            }
                        }
                    }
                }
            });
@@ -117,19 +124,28 @@
        if (ObjectUtils.isEmpty(comActEasyPhotoVO)||null== status) {
            return R.fail("随手拍不存在");
        }
        ComActEasyPhotoUserDO comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
        if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) {
            comActEasyPhotoVO.setHaveGiveThumbsUp(0);
        } else {
            comActEasyPhotoVO.setHaveGiveThumbsUp(1);
        }
        if (status.intValue()==4) {
            Date feedbackAt = comActEasyPhotoVO.getFeedbackAt();
            if (null==feedbackAt) {
                comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt());
        if(!userId.equals(0L)){
            ComActEasyPhotoUserDO comActEasyPhotoUserDO = comActEasyPhotoUserDAO.selectOne(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
            if (ObjectUtils.isEmpty(comActEasyPhotoUserDO)) {
                comActEasyPhotoVO.setHaveGiveThumbsUp(0);
            } else {
                comActEasyPhotoVO.setHaveGiveThumbsUp(1);
            }
        }
//        if (status.equals(4)) {
//            Date feedbackAt = comActEasyPhotoVO.getFeedbackAt();
//            if (null==feedbackAt) {
//                comActEasyPhotoVO.setFeedbackAt(comActEasyPhotoVO.getExamineAt());
//            }
//        }
        //查询反馈信息
        List<ComActEasyPhotoFeedbackVO> photoFeedbackList = comActEasyPhotoFeedbackMapper.getPhotoFeedbackList(id);
        if(!photoFeedbackList.isEmpty()){
            comActEasyPhotoVO.setPhotoFeedbackList(photoFeedbackList);
        }
        comActEasyPhotoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO.getPhone()));
        if(comActEasyPhotoVO.getAddrRemark()==null){
            comActEasyPhotoVO.setAddrRemark("");
@@ -220,51 +236,91 @@
    @Override
    public R putEasypHotoStatus(ComActEasyPhotoVO comActEasyPhotoVO) {
        Integer type = comActEasyPhotoVO.getType();
//        操作类型 1审核通过 2驳回  3反馈
        ComActEasyPhotoDO cmActEasyPhotoDO=new ComActEasyPhotoDO();
        cmActEasyPhotoDO.setId(comActEasyPhotoVO.getId());
        cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
//        cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
        Date date = new Date();
        comActEasyPhotoVO.setIsNeedFeedBack(1);
        Date nowDate = new Date();
//        操作类型 1审核通过 2驳回  3反馈 4完成随手拍
        ComActEasyPhotoDO cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
        if(cmActEasyPhotoDO == null){
            return R.fail("未查询到随手拍记录");
        }
        switch (type){
            case 1:
                cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
                if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
                    return R.fail("该随手拍已审核,不可重复操作");
                }
                Integer isNeedFeedBack = comActEasyPhotoVO.getIsNeedFeedBack();
                if (isNeedFeedBack==1) {
                    cmActEasyPhotoDO.setStatus(2);//进行中
                    cmActEasyPhotoDO.setIsNeedFeedBack(1);
                }else{
                    cmActEasyPhotoDO.setStatus(4);//已完成
                }
                cmActEasyPhotoDO.setExamineAt(date);
                cmActEasyPhotoDO.setStatus(2);//进行中
                cmActEasyPhotoDO.setIsNeedFeedBack(1);
                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
                cmActEasyPhotoDO.setExamineAt(nowDate);
                cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
                if(StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult()) || StringUtils.isNotEmpty(comActEasyPhotoVO.getHandlePhotoList())){
                    //说明此处有反馈,需要给随手拍新增反馈信息
                    ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO();
                    photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId());
                    photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
                    photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
                    photoFeedbackDO.setCreateAt(nowDate);
                    photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId());
                    comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO);
                }
                //审核通过判断随手拍是否有活动并计算用户收益
                comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId(),BigDecimal.ZERO);
                break;
            case 2:
                cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
                if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
                    return R.fail("该随手拍已审核,不可重复操作");
                }
                cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
                cmActEasyPhotoDO.setStatus(3);//已驳回
                cmActEasyPhotoDO.setExamineAt(date);
                cmActEasyPhotoDO.setExamineAt(nowDate);
                cmActEasyPhotoDO.setRejectReason(comActEasyPhotoVO.getRejectReason());
                break;
            case 3:
                cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
                if(!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)){
                    return R.fail("该随手拍不是待反馈状态,不可进行反馈");
                }
                cmActEasyPhotoDO.setHandleResult(comActEasyPhotoVO.getHandleResult());
                cmActEasyPhotoDO.setHandlePhotoList(comActEasyPhotoVO.getHandlePhotoList());
                cmActEasyPhotoDO.setStatus(4);//已完成
                cmActEasyPhotoDO.setFeedbackAt(date);
                //给随手拍新增反馈信息
                ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO();
                photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId());
                photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
                photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
                photoFeedbackDO.setCreateAt(nowDate);
                photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId());
                comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO);
                break;
            case 4:
                if(cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.ywc)){
                    return R.fail("该随手拍已完成,不可重复操作");
                }
                if(StringUtils.isNotEmpty(comActEasyPhotoVO.getHandleResult()) || StringUtils.isNotEmpty(comActEasyPhotoVO.getHandlePhotoList())){
                    //说明此处有反馈,需要给随手拍新增反馈信息
                    ComActEasyPhotoFeedbackDO photoFeedback = new ComActEasyPhotoFeedbackDO();
                    photoFeedback.setEasyId(comActEasyPhotoVO.getId());
                    photoFeedback.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
                    photoFeedback.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
                    photoFeedback.setCreateAt(nowDate);
                    photoFeedback.setCreateBy(comActEasyPhotoVO.getUserId());
                    comActEasyPhotoFeedbackMapper.insert(photoFeedback);
                }
                if(cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dsh)){
                    cmActEasyPhotoDO.setExamineAt(nowDate);
                    cmActEasyPhotoDO.setHandlerId(comActEasyPhotoVO.getUserId());
                    cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType());
                    //审核通过判断随手拍是否有活动并计算用户收益
                    comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId(),BigDecimal.ZERO);
                }
                cmActEasyPhotoDO.setFeedbackAt(nowDate);
                cmActEasyPhotoDO.setStatus(ComActEasyPhotoDO.status.ywc);
                cmActEasyPhotoDO.setCompleteId(comActEasyPhotoVO.getUserId());
                break;
            default:break;
        }
        int update = comActEasyPhotoDAO.updateById(cmActEasyPhotoDO);
        if (update>0) {
        if(!type.equals(3)){
            int update = comActEasyPhotoDAO.updateById(cmActEasyPhotoDO);
            if (update>0) {
                return R.ok();
            }
        }else{
            return R.ok();
        }
        return R.fail();
@@ -305,23 +361,25 @@
        page.setCurrent(pageNum);
        IPage<ComActEasyPhotoVO> iPage = comActEasyPhotoDAO.pageEasyPhotoApplets(page, comActEasyPhotoVO);
        List<ComActEasyPhotoVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActEasyPhotoVO1 -> {
                Long id = comActEasyPhotoVO1.getId();
                Integer status = comActEasyPhotoVO1.getStatus();
                Date feedbackAt = comActEasyPhotoVO1.getFeedbackAt();
                List<ComActEasyPhotoUserDO> comActEasyPhotoUserDO =
                        comActEasyPhotoUserDAO.selectList(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
                if (comActEasyPhotoUserDO==null||comActEasyPhotoUserDO.size()==0) {
                    comActEasyPhotoVO1.setHaveGiveThumbsUp(0);
                }else {
                    comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
                }
                if(status.intValue()==4&&null==feedbackAt){
                    comActEasyPhotoVO1.setFeedbackAt(comActEasyPhotoVO1.getExamineAt());
                }
            });
            iPage.setRecords(records);
        if(userId != null){
            if (!ObjectUtils.isEmpty(records)) {
                records.forEach(comActEasyPhotoVO1 -> {
                    Long id = comActEasyPhotoVO1.getId();
                    Integer status = comActEasyPhotoVO1.getStatus();
                    Date feedbackAt = comActEasyPhotoVO1.getFeedbackAt();
                    List<ComActEasyPhotoUserDO> comActEasyPhotoUserDO =
                            comActEasyPhotoUserDAO.selectList(new QueryWrapper<ComActEasyPhotoUserDO>().lambda().eq(ComActEasyPhotoUserDO::getEasyPhotoId, id).eq(ComActEasyPhotoUserDO::getUserId, userId));
                    if (comActEasyPhotoUserDO==null||comActEasyPhotoUserDO.size()==0) {
                        comActEasyPhotoVO1.setHaveGiveThumbsUp(0);
                    }else {
                        comActEasyPhotoVO1.setHaveGiveThumbsUp(1);
                    }
                    if(status.intValue()==4&&null==feedbackAt){
                        comActEasyPhotoVO1.setFeedbackAt(comActEasyPhotoVO1.getExamineAt());
                    }
                });
                iPage.setRecords(records);
            }
        }
        return R.ok(iPage);
    }
@@ -455,6 +513,28 @@
                }
                //审核通过判断随手拍是否有活动并计算用户收益
                comActUserWalletService.examineAddMoney(easyPhotoDO.getActivityType(),easyPhotoDO.getId(),easyPhotoDO.getSponsorId(),grantRewardDTO.getAmount());
                String activityType = "";
                if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){
                    activityType = "优质";
                }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){
                    activityType = "精良";
                }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){
                    activityType = "普通";
                }else if(easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){
                    activityType = "一般";
                }
                //发放奖励以后给用户推送消息
                Map<String,String> map = comActActSignDAO.getUserOpenId(easyPhotoDO.getSponsorId());
                if(map != null){
                    String openid = map.get("openid");
                    WxXCXTempSend util = new WxXCXTempSend();
                    try {
                        WxUtil.sendSubscribeJLDZ(openid,util.getAppAccessToken(),"随手拍有奖活动",grantRewardDTO.getAmount(),activityType);
                    }catch (Exception e){
                        log.error("消息推送失败,失败原因:" + e.getMessage());
                    }
                }
            }
        }
        return R.ok();