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;
}
}
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;
}
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("拉闸,定时任务异常..............");
}
}
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;
}
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);
}
Aggregations