Browse Source

Merge branch 'dev_0814' of http://121.42.41.42:7070/r/esua-epdc-cloud into dev_0814

dev
qushutong 6 years ago
parent
commit
282a91768e
  1. 10
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/enums/AppNewsLikeEnum.java
  2. 113
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java

10
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/enums/AppNewsLikeEnum.java

@ -18,7 +18,15 @@ public enum AppNewsLikeEnum {
/** /**
* 1- * 1-
*/ */
UNLIKE(NumConstant.ONE_STR); UNLIKE(NumConstant.ONE_STR),
/**
* 2-取消赞
*/
LIKE_CANCEL(NumConstant.TWO_STR),
/**
* 3-取消踩
*/
UNLIKE_CANCEL(NumConstant.THREE_STR);
private String value; private String value;

113
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java

@ -277,74 +277,79 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
} }
@Override @Override
public Result modifyStatement(EpdcNewsStatementFromDTO newsStatementFromDTO) { public Result modifyStatement(EpdcNewsStatementFromDTO statementFromDto) {
NewsDTO oldDTO = get(newsStatementFromDTO.getNewsId()); NewsDTO newsDto = get(statementFromDto.getNewsId());
// 已表态
String oldAttitudeFlag = null;
NewsUserAttitudeEntity userBehavior = newsUserAttitudeService.getUserBehavior(statementFromDto);
NewsUserAttitudeDTO newsUserAttitudeDto = new NewsUserAttitudeDTO(); NewsUserAttitudeDTO newsUserAttitudeDto = new NewsUserAttitudeDTO();
NewsUserAttitudeEntity userBehavior = newsUserAttitudeService.getUserBehavior(newsStatementFromDTO); if (null != userBehavior) {
String oldAttitudeFlag = userBehavior.getAttitudeFlag(); oldAttitudeFlag = userBehavior.getAttitudeFlag();
String newAttitude = newsStatementFromDTO.getAttitude(); } else {
newsUserAttitudeDto.setEpdcNewsId(newsDto.getId());
newsUserAttitudeDto.setUserId(statementFromDto.getUserId());
}
// 新表态(本次提交)
String newAttitudeFlag = statementFromDto.getAttitude();
AppNewsLikeEnum newAttitude = AppNewsLikeEnum.valueOf(newAttitudeFlag);
NewsEntity newsEntity = new NewsEntity(); NewsEntity newsEntity = new NewsEntity();
//表态 0赞;1踩;2取消赞;3取消踩 //表态 0赞;1踩;2取消赞;3取消踩
if (userBehavior != null) { switch (newAttitude) {
switch (newAttitude) { case LIKE:
case "0": if (StringUtils.isNotBlank(oldAttitudeFlag)) {
//之前赞过 // 之前赞过
if (AppNewsLikeEnum.LIKE.value().equals(oldAttitudeFlag)) { if (AppNewsLikeEnum.LIKE.value().equals(oldAttitudeFlag)) {
//您已经点过赞不能赞
return new Result().error("不能重复点赞"); return new Result().error("不能重复点赞");
} else { } else {
// 之前踩过 // 之前踩过
newsEntity.setLikeNumber(oldDTO.getLikeNumber() + NumConstant.ONE); userBehavior.setAttitudeFlag(AppNewsLikeEnum.LIKE.value());
newsEntity.setUnLikeNumber(oldDTO.getUnLikeNumber() - NumConstant.ONE); newsUserAttitudeService.updateById(userBehavior);
newsUserAttitudeDto.setAttitudeFlag(AppNewsLikeEnum.LIKE.value()); newsEntity.setUnLikeNumber(newsDto.getUnLikeNumber() - NumConstant.ONE);
newsUserAttitudeService.update(newsUserAttitudeDto);
} }
break; } else {
case "1": newsUserAttitudeDto.setAttitudeFlag(AppNewsLikeEnum.LIKE.value());
//之前踩过 newsUserAttitudeService.save(newsUserAttitudeDto);
}
newsEntity.setLikeNumber(newsDto.getLikeNumber() + NumConstant.ONE);
break;
case UNLIKE:
if (StringUtils.isNotBlank(oldAttitudeFlag)) {
// 之前踩过
if (AppNewsLikeEnum.UNLIKE.value().equals(oldAttitudeFlag)) { if (AppNewsLikeEnum.UNLIKE.value().equals(oldAttitudeFlag)) {
//您已经点过踩不能踩 return new Result().error("不能重复踩");
return new Result().error("不能重复点踩");
} else { } else {
// 之前赞过 // 之前赞过
newsEntity.setLikeNumber(oldDTO.getLikeNumber() - NumConstant.ONE); userBehavior.setAttitudeFlag(AppNewsLikeEnum.UNLIKE.value());
newsEntity.setUnLikeNumber(oldDTO.getUnLikeNumber() + NumConstant.ONE); newsUserAttitudeService.updateById(userBehavior);
newsUserAttitudeDto.setAttitudeFlag(AppNewsLikeEnum.UNLIKE.value()); newsEntity.setLikeNumber(newsDto.getLikeNumber() - NumConstant.ONE);
newsUserAttitudeService.update(newsUserAttitudeDto);
} }
break; } else {
case "2": newsUserAttitudeDto.setAttitudeFlag(AppNewsLikeEnum.UNLIKE.value());
//之前赞过 newsUserAttitudeService.save(newsUserAttitudeDto);
if (AppNewsLikeEnum.LIKE.value().equals(oldAttitudeFlag)) { }
newsEntity.setLikeNumber(oldDTO.getLikeNumber() - NumConstant.ONE); newsEntity.setUnLikeNumber(newsDto.getUnLikeNumber() + NumConstant.ONE);
newsUserAttitudeService.deleteById(userBehavior.getId()); break;
} else { case LIKE_CANCEL:
//之前没点过赞不能取消 if (StringUtils.isBlank(oldAttitudeFlag) || AppNewsLikeEnum.UNLIKE.value().equals(oldAttitudeFlag)) {
return new Result().error("错误操作"); return new Result().error("没有赞过,无法取消");
} }
break; newsUserAttitudeService.deleteById(userBehavior.getId());
case "3": newsEntity.setLikeNumber(newsDto.getLikeNumber() - NumConstant.ONE);
//之前踩过 break;
if (AppNewsLikeEnum.UNLIKE.value().equals(oldAttitudeFlag)) { case UNLIKE_CANCEL:
newsEntity.setUnLikeNumber(oldDTO.getUnLikeNumber() - NumConstant.ONE); if (StringUtils.isBlank(oldAttitudeFlag) || AppNewsLikeEnum.LIKE.value().equals(oldAttitudeFlag)) {
newsUserAttitudeService.deleteById(userBehavior.getId()); return new Result().error("没有踩过,无法取消");
} else { }
//之前没点踩过不能取消 newsUserAttitudeService.deleteById(userBehavior.getId());
return new Result().error("错误操作"); newsEntity.setUnLikeNumber(newsDto.getUnLikeNumber() - NumConstant.ONE);
} break;
break; default:
default: return new Result().error();
break;
}
} else {
//插入新闻点赞点踩表
newsUserAttitudeDto.setUserId(newsStatementFromDTO.getUserId());
newsUserAttitudeDto.setEpdcNewsId(newsStatementFromDTO.getNewsId());
newsUserAttitudeService.save(newsUserAttitudeDto);
} }
newsEntity.setId(oldDTO.getId()); newsEntity.setId(newsDto.getId());
baseDao.updateById(newsEntity); baseDao.updateById(newsEntity);
return new Result(); return new Result();
} }

Loading…
Cancel
Save