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. 93
      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;

93
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 "0": case LIKE:
//之前赞过 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);
newsEntity.setUnLikeNumber(newsDto.getUnLikeNumber() - NumConstant.ONE);
}
} else {
newsUserAttitudeDto.setAttitudeFlag(AppNewsLikeEnum.LIKE.value()); newsUserAttitudeDto.setAttitudeFlag(AppNewsLikeEnum.LIKE.value());
newsUserAttitudeService.update(newsUserAttitudeDto); newsUserAttitudeService.save(newsUserAttitudeDto);
} }
newsEntity.setLikeNumber(newsDto.getLikeNumber() + NumConstant.ONE);
break; break;
case "1": 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;
case "2":
//之前赞过
if (AppNewsLikeEnum.LIKE.value().equals(oldAttitudeFlag)) {
newsEntity.setLikeNumber(oldDTO.getLikeNumber() - NumConstant.ONE);
newsUserAttitudeService.deleteById(userBehavior.getId());
} else { } else {
//之前没点过赞不能取消 newsUserAttitudeDto.setAttitudeFlag(AppNewsLikeEnum.UNLIKE.value());
return new Result().error("错误操作"); newsUserAttitudeService.save(newsUserAttitudeDto);
} }
newsEntity.setUnLikeNumber(newsDto.getUnLikeNumber() + NumConstant.ONE);
break; break;
case "3": case LIKE_CANCEL:
//之前踩过 if (StringUtils.isBlank(oldAttitudeFlag) || AppNewsLikeEnum.UNLIKE.value().equals(oldAttitudeFlag)) {
if (AppNewsLikeEnum.UNLIKE.value().equals(oldAttitudeFlag)) { return new Result().error("没有赞过,无法取消");
newsEntity.setUnLikeNumber(oldDTO.getUnLikeNumber() - NumConstant.ONE); }
newsUserAttitudeService.deleteById(userBehavior.getId()); newsUserAttitudeService.deleteById(userBehavior.getId());
} else { newsEntity.setLikeNumber(newsDto.getLikeNumber() - NumConstant.ONE);
//之前没点踩过不能取消 break;
return new Result().error("错误操作"); case UNLIKE_CANCEL:
if (StringUtils.isBlank(oldAttitudeFlag) || AppNewsLikeEnum.LIKE.value().equals(oldAttitudeFlag)) {
return new Result().error("没有踩过,无法取消");
} }
newsUserAttitudeService.deleteById(userBehavior.getId());
newsEntity.setUnLikeNumber(newsDto.getUnLikeNumber() - NumConstant.ONE);
break; break;
default: default:
break; return new Result().error();
}
} 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