Search in sources :

Example 1 with News

use of com.ch999.haha.admin.entity.News 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 News

use of com.ch999.haha.admin.entity.News 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 News

use of com.ch999.haha.admin.entity.News 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 News

use of com.ch999.haha.admin.entity.News 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 News

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

the class NewsServiceImpl method getNewsById.

@Override
public NewsDetailVO getNewsById(Integer id, Integer userId) {
    NewsDetailVO newsDetailVO = newsMapper.selectNewsDetail(id);
    if (newsDetailVO != null) {
        // 是否已赞
        if (userId != null && newsDetailVO.getZan() > 0) {
            CommentZanBO one = commentZanRepository.findOne(id.toString());
            if (one != null && one.getZanUserList().stream().anyMatch(userId::equals)) {
                newsDetailVO.setIsPraised(true);
            } else {
                newsDetailVO.setIsPraised(false);
            }
        } else {
            newsDetailVO.setIsPraised(false);
        }
        // 是否能收藏
        Wrapper<NewsCollections> wrapper = new EntityWrapper<>();
        wrapper.eq("userid", userId).eq("newid", id);
        if (newsCollectionsService.selectCount(wrapper) > 0) {
            newsDetailVO.setIsCanCollection(false);
        } else {
            newsDetailVO.setIsCanCollection(true);
        }
        if (StringUtils.isNotBlank(newsDetailVO.getPic())) {
            String[] split = newsDetailVO.getPic().split(",");
            List<String> imgMap = new ArrayList<>();
            List<Imgs> imgs = imgsService.selectBatchIds(Arrays.asList(split));
            imgs.forEach(li -> imgMap.add(li.getImgUrl()));
            newsDetailVO.setPicMap(imgMap);
        }
        // 是否能收养
        Wrapper<Adoption> wrapper1 = new EntityWrapper<>();
        wrapper1.eq("adoptionid", newsDetailVO.getId()).eq("isadoption", 0);
        if (CollectionUtils.isNotEmpty(adoptionService.selectList(wrapper1))) {
            newsDetailVO.setIsCanAdoption(true);
        } else {
            newsDetailVO.setIsCanAdoption(false);
        }
        // 组装父公告id
        if (newsDetailVO.getParentId() != null) {
            News news = this.selectById(newsDetailVO.getParentId());
            Map<String, Object> map = new HashMap<>();
            map.put("id", news.getId());
            map.put("title", news.getTitle());
            newsDetailVO.setParentNews(map);
        }
        // 组装反馈公告id
        List<News> news = this.selectList(new EntityWrapper<News>().eq("parentid", id).orderBy("createtime", false));
        if (CollectionUtils.isNotEmpty(news)) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", news.get(0).getId());
            map.put("title", news.get(0).getTitle());
            newsDetailVO.setFeedBackNews(map);
        }
    }
    return newsDetailVO;
}
Also used : NewsDetailVO(com.ch999.haha.admin.vo.NewsDetailVO) EntityWrapper(com.baomidou.mybatisplus.mapper.EntityWrapper) JSONObject(com.alibaba.fastjson.JSONObject) CommentZanBO(com.ch999.haha.admin.document.redis.CommentZanBO)

Aggregations

EntityWrapper (com.baomidou.mybatisplus.mapper.EntityWrapper)6 News (com.ch999.haha.admin.entity.News)5 Date (java.util.Date)4 Adoption (com.ch999.haha.admin.entity.Adoption)3 CommentZanBO (com.ch999.haha.admin.document.redis.CommentZanBO)2 AdoptionRequest (com.ch999.haha.admin.entity.AdoptionRequest)2 JSONObject (com.alibaba.fastjson.JSONObject)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 Test (org.junit.Test)1 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)1 Scheduled (org.springframework.scheduling.annotation.Scheduled)1