Commit 7521ec27 authored by liming's avatar liming

处理FTP变化事件

parent 5cd0acd0
......@@ -106,4 +106,10 @@ public class SportUserController {
return success(sportUserTrainingLogService.calcCurrency(param.getGameMode(), param.getCalorie(),
param.getRank()));
}
@ApiOperation("获取用户首页弹窗提示")
@GetMapping("/popup/{sportUserId}")
public ResponseEntity<Result<HomePopupVO>> getPopup(@PathVariable("sportUserId") Long sportUserId) {
return success(sportUserService.getPopup(sportUserId));
}
}
package com.antai.sport.http.server.server.api.business.user.dto;
import com.antai.sport.http.server.server.api.business.achievement.dto.NewAchievementVO;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
@ApiModel("首页弹屏VO")
@Data
public class HomePopupVO {
private Boolean ftpChange;
private Integer oldFtp;
private Integer newFtp;
List<NewAchievementVO> achievementList;
}
package com.antai.sport.http.server.server.api.business.user.mapper;
import com.antai.sport.http.server.repository.sport.entity.SportUserFtpChangeLog;
import com.antai.sport.http.server.repository.sport.entity.SportUserSummary;
import com.antai.sport.http.server.server.api.business.user.dto.NewMessageItemVO;
import com.antai.sport.http.server.server.api.business.user.dto.NewMessageVO;
......@@ -12,4 +13,6 @@ public interface SportUserSummaryBusinessMapper {
SportUserSummary selectBySportTypeAndUserId(@Param("userId") Long userId, @Param("sportType") Integer sportType);
NewMessageVO getUserNewMessage(@Param("sportUserId") Long sportUserId);
List<NewMessageItemVO> getUserNewMessageItem(@Param("sportUserId") Long sportUserId);
SportUserFtpChangeLog getFtpChangeLog(@Param("sportUserId") Long sportUserId);
int updateFtpChangeLog(@Param("sportUserId") Long sportUserId);
}
......@@ -8,6 +8,7 @@ import com.antai.sport.http.server.repository.sport.mapper.SportUserMapper;
import com.antai.sport.http.server.server.api.business.achievement.service.AchievementService;
import com.antai.sport.http.server.server.api.business.traininglog.dto.SportUserTrainingLogSummaryVO;
import com.antai.sport.http.server.server.api.business.traininglog.service.SportUserTrainingLogService;
import com.antai.sport.http.server.server.api.business.user.dto.HomePopupVO;
import com.antai.sport.http.server.server.api.business.user.dto.NewMessageVO;
import com.antai.sport.http.server.server.api.business.user.dto.RespUserHomeInfo;
import com.antai.sport.http.server.server.api.business.user.mapper.SportUserSummaryBusinessMapper;
......@@ -133,4 +134,19 @@ public class SportUserService {
result.setNewMessageCount(sportUserSummaryBusinessMapper.getUserNewMessageItem(sportUserId));
return result;
}
public HomePopupVO getPopup(Long sportUserId) {
HomePopupVO result = new HomePopupVO();
result.setFtpChange(false);
result.setAchievementList(achievementService.getNewAchievement(sportUserId));
SportUserFtpChangeLog ftpChangeLog = sportUserSummaryBusinessMapper.getFtpChangeLog(sportUserId);
if (ftpChangeLog != null) {
result.setFtpChange(true);
result.setOldFtp(ftpChangeLog.getOldFtp());
result.setNewFtp(ftpChangeLog.getNewFtp());
}
sportUserSummaryBusinessMapper.updateFtpChangeLog(sportUserId);
return result;
}
}
......@@ -33,4 +33,12 @@
and receiver_id = #{sportUserId}
group by room_key
</select>
<select id="getFtpChangeLog" resultType="com.antai.sport.http.server.repository.sport.entity.SportUserFtpChangeLog">
select * from sport_user_ftp_change_log where sport_user_id = #{sportUserId} and have_read = 0 order by id desc limit 1
</select>
<update id="updateFtpChangeLog">
update sport_user_ftp_change_log set have_read = 1 where sport_user_id = #{sportUserId} and have_read = 0
</update>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment