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

Loading…
Cancel
Save