Search in sources :

Example 1 with Adoption

use of com.ch999.haha.admin.entity.Adoption in project haha by hahafreeasair666.

the class CreditComponent method newsHandle.

private void newsHandle(Adoption li, AdoptionSuccessNewsVO adoptionSuccessNewsVO, Integer times) {
    long date = new Date().getTime();
    switch(times) {
        case 1:
            if (date > adoptionSuccessNewsVO.getTime1().getTime()) {
                Wrapper<News> newsWrapper = new EntityWrapper<>();
                newsWrapper.eq("parentid", li.getAdoptionId()).lt("createtime", adoptionSuccessNewsVO.getTime1());
                List<News> news = newsService.selectList(newsWrapper);
                // 到时间没写就减10分信誉分
                if (CollectionUtils.isEmpty(news)) {
                    updateUserCredit(li.getUserId(), 10, false);
                // 写了就加5分
                } else {
                    updateUserCredit(li.getUserId(), 5, true);
                }
                li.setFirstHandle(true);
            }
            break;
        case 2:
            if (date > adoptionSuccessNewsVO.getTime2().getTime()) {
                Wrapper<News> newsWrapper = new EntityWrapper<>();
                newsWrapper.eq("parentid", li.getAdoptionId()).lt("createtime", adoptionSuccessNewsVO.getTime2());
                List<News> news = newsService.selectList(newsWrapper);
                // 到时间没写就减10分信誉分
                if (CollectionUtils.isEmpty(news)) {
                    updateUserCredit(li.getUserId(), 10, false);
                // 写了就加5分
                } else {
                    updateUserCredit(li.getUserId(), 5, true);
                }
                li.setSecondHandle(true);
            }
            break;
        case 3:
            if (date > adoptionSuccessNewsVO.getTime3().getTime()) {
                Wrapper<News> newsWrapper = new EntityWrapper<>();
                newsWrapper.eq("parentid", li.getAdoptionId()).lt("createtime", adoptionSuccessNewsVO.getTime3());
                List<News> news = newsService.selectList(newsWrapper);
                // 到时间没写就减10分信誉分
                if (CollectionUtils.isEmpty(news)) {
                    updateUserCredit(li.getUserId(), 10, false);
                } else {
                    // 写了就加5分
                    updateUserCredit(li.getUserId(), 5, true);
                }
                li.setThirdHandle(true);
            }
            break;
        default:
            break;
    }
}
Also used : News(com.ch999.haha.admin.entity.News) EntityWrapper(com.baomidou.mybatisplus.mapper.EntityWrapper) Date(java.util.Date)

Example 2 with Adoption

use of com.ch999.haha.admin.entity.Adoption in project haha by hahafreeasair666.

the class AdoptionRequestServiceImpl method getMyAdoptionList.

@Override
public PageVO<MyAdoptionVO> getMyAdoptionList(Integer userId, Integer currentPage) {
    Integer size = 10;
    Wrapper<AdoptionRequest> wrapper = new EntityWrapper<>();
    wrapper.eq("userid", userId);
    List<MyAdoptionVO> list = new ArrayList<>();
    List<AdoptionRequest> adoptionRequests = this.selectList(wrapper);
    PageVO<MyAdoptionVO> pageVO = new PageVO<>();
    pageVO.setTotalPage((int) Math.ceil(adoptionRequests.size() / (double) size));
    pageVO.setCurrentPage(currentPage);
    if (CollectionUtils.isNotEmpty(adoptionRequests)) {
        if (adoptionRequests.size() > size * (currentPage - 1)) {
            adoptionRequests = adoptionRequests.subList(size * (currentPage - 1), size * currentPage > adoptionRequests.size() ? adoptionRequests.size() : size * currentPage);
        } else {
            adoptionRequests = new ArrayList<>();
        }
        adoptionRequests.forEach(li -> {
            News news = newsService.selectById(li.getNewsId());
            MyAdoptionVO myAdoptionVO = new MyAdoptionVO();
            myAdoptionVO.setNewsId(li.getNewsId());
            myAdoptionVO.setTitle(news.getTitle());
            // 组装领养成功与否状态
            Adoption adoption = adoptionService.selectOne(new EntityWrapper<Adoption>().eq("adoptionid", li.getNewsId()));
            if (adoption.getIsAdoption()) {
                myAdoptionVO.setIsSuccess(adoption.getUserId().equals(userId) ? 1 : 2);
            } else {
                myAdoptionVO.setIsSuccess(0);
            }
            myAdoptionVO.setPic(getOnePicPath(news));
            list.add(myAdoptionVO);
        });
    }
    pageVO.setList(list);
    return pageVO;
}
Also used : AdoptionRequest(com.ch999.haha.admin.entity.AdoptionRequest) PageVO(com.ch999.haha.admin.vo.PageVO) ArrayList(java.util.ArrayList) MyAdoptionVO(com.ch999.haha.admin.vo.MyAdoptionVO) News(com.ch999.haha.admin.entity.News) EntityWrapper(com.baomidou.mybatisplus.mapper.EntityWrapper) Adoption(com.ch999.haha.admin.entity.Adoption)

Example 3 with Adoption

use of com.ch999.haha.admin.entity.Adoption in project haha by hahafreeasair666.

the class CreditComponent method timedTaskOfZan.

/*@Scheduled(fixedRate = 5000*1)
    public void testTimedTask(){
        System.out.println("哈哈自在如风");
    }*/
/**
 * 对反馈公告的赞进行每日赞数量检测进行发布者信用积分的修改
 */
@Scheduled(cron = "0 0 0 * * ?")
public void timedTaskOfZan() {
    try {
        // 对收养反馈公告的赞数量进行发布者信用积分改变
        Wrapper<AdoptionFeedBack> wrapper = new EntityWrapper<>();
        adoptionFeedBackService.selectList(wrapper).forEach(li -> {
            News news = newsService.selectById(li.getNewsId());
            if (news.getZan() > li.getLastTimeZan()) {
                updateUserCredit(news.getCreateUserId(), getNumber(news.getZan() - li.getLastTimeZan()), true);
                li.setLastTimeZan(news.getZan());
                adoptionFeedBackService.updateById(li);
            }
        });
        // 对成功收养的反馈公告进行检查对信用积分改变
        Wrapper<Adoption> wrapper1 = new EntityWrapper<>();
        wrapper1.eq("isadoption", 1);
        adoptionService.selectList(wrapper1).forEach(li -> {
            AdoptionSuccessNewsVO adoptionSuccessNewsVO = adoptionMapper.checkUserIsSendNews(li.getId());
            // 第一次
            if (!li.getFirstHandle()) {
                newsHandle(li, adoptionSuccessNewsVO, 1);
            // 第二次
            } else if (!li.getSecondHandle()) {
                newsHandle(li, adoptionSuccessNewsVO, 2);
            // 第三次
            } else if (!li.getThirdHandle()) {
                newsHandle(li, adoptionSuccessNewsVO, 3);
            }
            adoptionService.updateById(li);
        });
        log.info("定时任务处理完毕 " + new Date());
    } catch (Exception e) {
        log.error("拉闸,定时任务异常..............");
    }
}
Also used : AdoptionSuccessNewsVO(com.ch999.haha.admin.vo.mappervo.AdoptionSuccessNewsVO) AdoptionFeedBack(com.ch999.haha.admin.entity.AdoptionFeedBack) News(com.ch999.haha.admin.entity.News) EntityWrapper(com.baomidou.mybatisplus.mapper.EntityWrapper) Adoption(com.ch999.haha.admin.entity.Adoption) Date(java.util.Date) Scheduled(org.springframework.scheduling.annotation.Scheduled)

Example 4 with Adoption

use of com.ch999.haha.admin.entity.Adoption in project haha by hahafreeasair666.

the class AdoptionRequestServiceImpl method handleAdoptionInfo.

@Override
public Boolean handleAdoptionInfo(Integer loginUserId, Integer adoptionId, Integer userId) {
    News news = newsService.selectById(adoptionId);
    if (news == null || !news.getCreateUserId().equals(loginUserId) || !news.getIsAdoptionNews()) {
        return null;
    }
    Wrapper<Adoption> wrapper = new EntityWrapper<>();
    wrapper.eq("adoptionid", adoptionId).eq("isadoption", 0);
    List<Adoption> adoptions = adoptionService.selectList(wrapper);
    if (CollectionUtils.isNotEmpty(adoptions)) {
        Wrapper<AdoptionRequest> wrapper1 = new EntityWrapper<>();
        wrapper1.eq("newsid", adoptionId).eq("userid", userId);
        List<AdoptionRequest> adoptionRequests = this.selectList(wrapper1);
        if (CollectionUtils.isEmpty(adoptionRequests)) {
            return null;
        }
        adoptionRequests.get(0).setIsSuccess(true);
        adoptions.get(0).setIsAdoption(true);
        adoptions.get(0).setUserId(userId);
        adoptions.get(0).setAdoptionTime(new Date());
        return this.updateById(adoptionRequests.get(0)) && adoptionService.updateById(adoptions.get(0));
    }
    return null;
}
Also used : AdoptionRequest(com.ch999.haha.admin.entity.AdoptionRequest) News(com.ch999.haha.admin.entity.News) EntityWrapper(com.baomidou.mybatisplus.mapper.EntityWrapper) Adoption(com.ch999.haha.admin.entity.Adoption) Date(java.util.Date)

Example 5 with Adoption

use of com.ch999.haha.admin.entity.Adoption in project haha by hahafreeasair666.

the class AdoptionRequestServiceImpl method cancelAdoptionRequest.

@Override
public Boolean cancelAdoptionRequest(Integer userId, Integer adoptionId) {
    // 先校验能不能取消
    Adoption adoption = adoptionService.selectOne(new EntityWrapper<Adoption>().eq("adoptionid", adoptionId));
    AdoptionRequest adoptionRequest = this.selectOne(new EntityWrapper<AdoptionRequest>().eq("newsid", adoptionId).eq("userid", userId));
    if (adoption.getUserId() != null || adoptionRequest == null) {
        return false;
    }
    adoptionRequest.setIsDel(true);
    return this.updateById(adoptionRequest);
}
Also used : AdoptionRequest(com.ch999.haha.admin.entity.AdoptionRequest) EntityWrapper(com.baomidou.mybatisplus.mapper.EntityWrapper) Adoption(com.ch999.haha.admin.entity.Adoption)

Aggregations

EntityWrapper (com.baomidou.mybatisplus.mapper.EntityWrapper)6 Adoption (com.ch999.haha.admin.entity.Adoption)4 News (com.ch999.haha.admin.entity.News)4 AdoptionRequest (com.ch999.haha.admin.entity.AdoptionRequest)3 Date (java.util.Date)3 JSONObject (com.alibaba.fastjson.JSONObject)1 CommentZanBO (com.ch999.haha.admin.document.redis.CommentZanBO)1 AdoptionFeedBack (com.ch999.haha.admin.entity.AdoptionFeedBack)1 MyAdoptionVO (com.ch999.haha.admin.vo.MyAdoptionVO)1 NewsDetailVO (com.ch999.haha.admin.vo.NewsDetailVO)1 PageVO (com.ch999.haha.admin.vo.PageVO)1 AdoptionSuccessNewsVO (com.ch999.haha.admin.vo.mappervo.AdoptionSuccessNewsVO)1 ArrayList (java.util.ArrayList)1 Scheduled (org.springframework.scheduling.annotation.Scheduled)1