提交 d89773d3 作者: xiaowang

返回用户信息

上级 a4fd29cb
package com.mmc.csf.release.auth.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午8:06:14
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LoginSuccessDTO implements Serializable {
private static final long serialVersionUID = -1200834589953161925L;
private String token;
private Integer userAccountId;
private String accountNo;
private String uid;
private String phoneNum;
private String userName;
private String nickName;
// private RoleInfoDTO roleInfo;
}
...@@ -18,8 +18,6 @@ import java.util.List; ...@@ -18,8 +18,6 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
public class RegistrationVO implements Serializable { public class RegistrationVO implements Serializable {
private static final long serialVersionUID = -3364708963790356041L; private static final long serialVersionUID = -3364708963790356041L;
@ApiModelProperty(value = "模拟用户id(后面从token获取,临时传下)")
private Integer id;
@ApiModelProperty(value = "姓名") @ApiModelProperty(value = "姓名")
private String name; private String name;
@ApiModelProperty(value = "城市") @ApiModelProperty(value = "城市")
......
...@@ -26,8 +26,10 @@ public class CommentAndReplyVO implements Serializable { ...@@ -26,8 +26,10 @@ public class CommentAndReplyVO implements Serializable {
private Integer dynamicId; private Integer dynamicId;
@ApiModelProperty(value = "父级评论id") @ApiModelProperty(value = "父级评论id")
private Integer parentId; private Integer parentId;
@ApiModelProperty(value = "动态发布人的id(后期返回用户头像昵称信息)") @ApiModelProperty(value = "动态发布人的id")
private Integer userId; private Integer userId;
@ApiModelProperty(value = "用户信息")
private UserBaseInfoVO userBaseInfoVO;
@ApiModelProperty(value = "评论内容") @ApiModelProperty(value = "评论内容")
private String content; private String content;
@ApiModelProperty(value = "评论点赞数") @ApiModelProperty(value = "评论点赞数")
......
...@@ -24,8 +24,6 @@ public class CommentVO implements Serializable { ...@@ -24,8 +24,6 @@ public class CommentVO implements Serializable {
private Integer dynamicId; private Integer dynamicId;
@ApiModelProperty(value = "父级评论id(不传则是评论动态 传了则是回复评论)") @ApiModelProperty(value = "父级评论id(不传则是评论动态 传了则是回复评论)")
private Integer parentId; private Integer parentId;
@ApiModelProperty(value = "模拟用户id")
private Integer userId;
@ApiModelProperty(value = "评论内容") @ApiModelProperty(value = "评论内容")
private String content; private String content;
} }
...@@ -21,8 +21,8 @@ import java.util.List; ...@@ -21,8 +21,8 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
public class DynamicVO implements Serializable { public class DynamicVO implements Serializable {
@ApiModelProperty(value = "模拟用户id") @ApiModelProperty(value = "发布动态用户信息")
private Integer userId; private UserBaseInfoVO userBaseInfo;
@ApiModelProperty(value = "动态id") @ApiModelProperty(value = "动态id")
private Integer id; private Integer id;
@ApiModelProperty(value = "动态标题") @ApiModelProperty(value = "动态标题")
......
package com.mmc.csf.release.forum.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author LW
* @date 2023/5/29 15:30
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserBaseInfoVO implements Serializable {
@ApiModelProperty(value = "用户id")
private Integer id;
@ApiModelProperty(value = "用户昵称")
private String nickName;
@ApiModelProperty(value = "用户头像")
private String userImg;
}
package com.mmc.csf.release.auth;
import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.io.ClassPathResource;
import java.util.Objects;
/**
* Author: geDuo
* Date: 2022/6/2 17:26
*/
@Configuration
public class DataFilterYml {
@Bean
public static PropertySourcesPlaceholderConfigurer loadYml(){
PropertySourcesPlaceholderConfigurer configurer=new PropertySourcesPlaceholderConfigurer();
YamlPropertiesFactoryBean yaml=new YamlPropertiesFactoryBean();
yaml.setResources(new ClassPathResource("not-check.yml"));
configurer.setProperties(Objects.requireNonNull(yaml.getObject()));
return configurer;
}
}
package com.mmc.csf.release.auth;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author: zj
* @Date: 2023/5/28 10:52
*/
@Configuration
public class MvcConfiguration implements WebMvcConfigurer {
@Autowired
private TokenCheckHandleInterceptor tokenCheckHandleInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(tokenCheckHandleInterceptor);
WebMvcConfigurer.super.addInterceptors(registry);
}
}
package com.mmc.csf.release.auth;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import java.util.List;
/**
* @author: zj
* @Date: 2023/5/28 13:54
*/
@Data
@Configuration
@ConfigurationProperties(prefix = "data-filter", ignoreUnknownFields = false)
@PropertySource("classpath:not-check.yml")
public class NotCheckUriConfig {
// 不需要验证token的请求地址
private List<String> notAuthPath;
// 不需要验证token的请求地址;// 不需要验证token的请求地址
private List<String> uploadPath;
}
package com.mmc.csf.release.auth;
import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.release.auth.dto.LoginSuccessDTO;
import com.mmc.csf.release.util.PathUtil;
import io.micrometer.core.instrument.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
/**
* @author: zj
* @Date: 2023/5/28 10:46
*/
@Component
public class TokenCheckHandleInterceptor implements HandlerInterceptor {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Autowired
private NotCheckUriConfig notCheckUriConfig;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 扫码登录还没做好,暂时先注释
String requestURI = request.getRequestURI();
//根据uri确认是否要拦截
if (!shouldFilter(requestURI)){
return true;
}
String token = request.getHeader("token");
String tokenJson = stringRedisTemplate.opsForValue().get(token);
if (StringUtils.isBlank(tokenJson)){
exceptionProcess(response);
return false;
}
LoginSuccessDTO loginSuccessDTO = JSONObject.parseObject(tokenJson, LoginSuccessDTO.class);
if (loginSuccessDTO != null){
request.setAttribute("userAccountId", loginSuccessDTO.getUserAccountId());
}
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
public void exceptionProcess(HttpServletResponse response) throws Exception{
response.setContentType("application/json;charset=utf-8");
PrintWriter writer=response.getWriter();
writer.write(ResultBody.error(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR).toString());
writer.close();
}
private boolean shouldFilter(String path) {
// 路径与配置的相匹配,则执行过滤
for (String pathPattern : notCheckUriConfig.getNotAuthPath()) {
if (PathUtil.isPathMatch(pathPattern, path)) {
// 如果匹配
return false;
}
}
return true;
}
}
package com.mmc.csf.release.controller;
import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.web.BizException;
import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.release.auth.dto.LoginSuccessDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import javax.servlet.http.HttpServletRequest;
/**
* @author: zj
* @Date: 2023/5/25 18:11
*/
public abstract class BaseController {
@Autowired
private StringRedisTemplate stringRedisTemplate;
/**
* 解析token,获取用户信息
* @param request
* @return
*/
// public BaseAccountDTO getUserLoginInfo(HttpServletRequest request) {
// String token = request.getHeader("token");
// try {
// Claims claims = JwtUtil.parseJwt(token);
// String userId = claims.get(JwtConstant.USER_ACCOUNT_ID).toString();
//// String roleId = claims.get("").toString();
// String tokenType = claims.get(JwtConstant.TOKEN_TYPE).toString();
// return BaseAccountDTO.builder().id(Integer.parseInt(userId)).tokenPort(tokenType).build();
// }catch (Exception e){
// throw new BizException("Invalid token");
// }
// }
/**
* 使用token从redis获取用户信息
* @param request
* @return
*/
public LoginSuccessDTO getUserLoginInfoFromRedis(HttpServletRequest request) {
String token = request.getHeader("token");
String json = stringRedisTemplate.opsForValue().get(token);
if (StringUtils.isBlank(json)){
throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR);
}
LoginSuccessDTO loginSuccessDTO = JSONObject.parseObject(json, LoginSuccessDTO.class);
return loginSuccessDTO;
}
}
...@@ -9,6 +9,7 @@ import io.swagger.annotations.*; ...@@ -9,6 +9,7 @@ import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/** /**
* @Author LW * @Author LW
...@@ -18,7 +19,7 @@ import javax.annotation.Resource; ...@@ -18,7 +19,7 @@ import javax.annotation.Resource;
@Api(tags = {"web-小程序-论坛社区-模块"}) @Api(tags = {"web-小程序-论坛社区-模块"})
@RestController @RestController
@RequestMapping("/dynamic") @RequestMapping("/dynamic")
public class DynamicController { public class DynamicController extends BaseController {
@Resource @Resource
private DynamicService dynamicService; private DynamicService dynamicService;
...@@ -26,22 +27,22 @@ public class DynamicController { ...@@ -26,22 +27,22 @@ public class DynamicController {
@ApiOperation(value = "动态发布") @ApiOperation(value = "动态发布")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/publish") @PostMapping("/publish")
public ResultBody publishDynamic(@RequestBody DynamicVO dynamicVO) { public ResultBody publishDynamic(@RequestBody DynamicVO dynamicVO, HttpServletRequest request) {
return dynamicService.insertDynamic(dynamicVO); return dynamicService.insertDynamic(dynamicVO,this.getUserLoginInfoFromRedis(request).getUserAccountId());
} }
@ApiOperation(value = "点赞或取消点赞") @ApiOperation(value = "点赞或取消点赞")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/likeOrCancel") @GetMapping("/likeOrCancel")
public ResultBody likeOrCancel(@ApiParam(value = "模拟用户id") @RequestParam Integer userId, @ApiParam(value = "动态id") @RequestParam Integer dynamicId) { public ResultBody likeOrCancel(HttpServletRequest request, @ApiParam(value = "动态id") @RequestParam Integer dynamicId) {
return dynamicService.likeDynamic(userId, dynamicId); return dynamicService.likeDynamic(this.getUserLoginInfoFromRedis(request).getUserAccountId(), dynamicId);
} }
@ApiOperation(value = "评论动态或回复评论") @ApiOperation(value = "评论动态或回复评论")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/comment") @PostMapping("/comment")
public ResultBody commentDynamic(@RequestBody CommentVO commentVO) { public ResultBody commentDynamic(@RequestBody CommentVO commentVO,HttpServletRequest request) {
return dynamicService.commentDynamic(commentVO); return dynamicService.commentDynamic(commentVO,this.getUserLoginInfoFromRedis(request).getUserAccountId());
} }
@ApiOperation(value = "删除评论") @ApiOperation(value = "删除评论")
...@@ -61,14 +62,14 @@ public class DynamicController { ...@@ -61,14 +62,14 @@ public class DynamicController {
@ApiOperation(value = "动态详情") @ApiOperation(value = "动态详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicDetails") @GetMapping("/dynamicDetails")
public ResultBody dynamicDetails(@RequestParam Integer dynamicId,@RequestParam Integer userId) { public ResultBody dynamicDetails(@RequestParam Integer dynamicId,HttpServletRequest request) {
return dynamicService.dynamicDetails(dynamicId,userId); return dynamicService.dynamicDetails(dynamicId,this.getUserLoginInfoFromRedis(request).getUserAccountId());
} }
@ApiOperation(value = "动态列表") @ApiOperation(value = "动态列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicList") @GetMapping("/dynamicList")
public ResultBody dynamicList(@RequestParam Integer pageNo, @RequestParam Integer pageSize, @RequestParam Integer userId) { public ResultBody dynamicList(@RequestParam Integer pageNo, @RequestParam Integer pageSize,HttpServletRequest request) {
return ResultBody.success(dynamicService.dynamicList(pageNo, pageSize, userId)); return ResultBody.success(dynamicService.dynamicList(pageNo, pageSize, this.getUserLoginInfoFromRedis(request).getUserAccountId()));
} }
} }
...@@ -11,6 +11,7 @@ import io.swagger.annotations.*; ...@@ -11,6 +11,7 @@ import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/** /**
...@@ -21,7 +22,7 @@ import javax.annotation.Resource; ...@@ -21,7 +22,7 @@ import javax.annotation.Resource;
@Api(tags = {"web-小程序-飞手培训-模块"}) @Api(tags = {"web-小程序-飞手培训-模块"})
@RestController @RestController
@RequestMapping("/curriculum/") @RequestMapping("/curriculum/")
public class FlyerTrainingController { public class FlyerTrainingController extends BaseController{
@Resource @Resource
private FlyerTrainingService flyerTrainingService; private FlyerTrainingService flyerTrainingService;
...@@ -29,8 +30,8 @@ public class FlyerTrainingController { ...@@ -29,8 +30,8 @@ public class FlyerTrainingController {
@ApiOperation(value = "飞手报名") @ApiOperation(value = "飞手报名")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/pilotRegistration") @PostMapping("/pilotRegistration")
public ResultBody pilotRegistration(@RequestBody RegistrationVO registrationVO) { public ResultBody pilotRegistration(@RequestBody RegistrationVO registrationVO, HttpServletRequest request) {
return flyerTrainingService.pilotRegistration(registrationVO); return flyerTrainingService.pilotRegistration(registrationVO,this.getUserLoginInfoFromRedis(request).getUserAccountId());
} }
......
...@@ -78,7 +78,6 @@ public class ForumDynamicDO implements Serializable { ...@@ -78,7 +78,6 @@ public class ForumDynamicDO implements Serializable {
public ForumDynamicDO(DynamicVO dynamicVO) { public ForumDynamicDO(DynamicVO dynamicVO) {
this.title = dynamicVO.getTitle(); this.title = dynamicVO.getTitle();
this.description = dynamicVO.getDescription(); this.description = dynamicVO.getDescription();
this.userId = dynamicVO.getUserId();
this.location = dynamicVO.getLocation(); this.location = dynamicVO.getLocation();
this.lat = dynamicVO.getLat(); this.lat = dynamicVO.getLat();
this.lon = dynamicVO.getLon(); this.lon = dynamicVO.getLon();
...@@ -88,7 +87,7 @@ public class ForumDynamicDO implements Serializable { ...@@ -88,7 +87,7 @@ public class ForumDynamicDO implements Serializable {
return DynamicVO.builder().id(id).description(description) return DynamicVO.builder().id(id).description(description)
.commentCount(commentsCount).likesCount(likesCount) .commentCount(commentsCount).likesCount(likesCount)
.lat(lat).lon(lon).location(location).title(title) .lat(lat).lon(lon).location(location).title(title)
.userId(userId).dynamicPublishTime(createTime).build(); .dynamicPublishTime(createTime).build();
} }
} }
...@@ -51,7 +51,6 @@ public class PilotRegistrationDO implements Serializable { ...@@ -51,7 +51,6 @@ public class PilotRegistrationDO implements Serializable {
private Integer deleted; private Integer deleted;
public PilotRegistrationDO(RegistrationVO registrationVO) { public PilotRegistrationDO(RegistrationVO registrationVO) {
this.applyUserId = registrationVO.getId();
this.name = registrationVO.getName(); this.name = registrationVO.getName();
this.city = registrationVO.getCity(); this.city = registrationVO.getCity();
this.telephone = registrationVO.getTelephone(); this.telephone = registrationVO.getTelephone();
......
...@@ -20,7 +20,7 @@ public interface DynamicService { ...@@ -20,7 +20,7 @@ public interface DynamicService {
* @param dynamicVO 动态 * @param dynamicVO 动态
* @return {@link ResultBody} * @return {@link ResultBody}
*/ */
ResultBody insertDynamic(DynamicVO dynamicVO); ResultBody insertDynamic(DynamicVO dynamicVO,Integer userAccountId);
/** /**
* 点赞动态 * 点赞动态
...@@ -37,7 +37,7 @@ public interface DynamicService { ...@@ -37,7 +37,7 @@ public interface DynamicService {
* @param commentVO 评论信息 * @param commentVO 评论信息
* @return {@link ResultBody} * @return {@link ResultBody}
*/ */
ResultBody commentDynamic(CommentVO commentVO); ResultBody commentDynamic(CommentVO commentVO,Integer userAccountId);
/** /**
* 删除评论 * 删除评论
......
...@@ -17,7 +17,7 @@ public interface FlyerTrainingService { ...@@ -17,7 +17,7 @@ public interface FlyerTrainingService {
* @param registrationVO 注册信息 * @param registrationVO 注册信息
* @return {@link ResultBody} * @return {@link ResultBody}
*/ */
ResultBody pilotRegistration(RegistrationVO registrationVO); ResultBody pilotRegistration(RegistrationVO registrationVO,Integer userAccount);
/** /**
* 获取无人机飞行员执照 * 获取无人机飞行员执照
......
...@@ -2,10 +2,9 @@ package com.mmc.csf.release.service.impl; ...@@ -2,10 +2,9 @@ package com.mmc.csf.release.service.impl;
import com.mmc.csf.common.util.page.PageResult; import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.forum.vo.CommentAndReplyVO; import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.release.forum.vo.CommentVO; import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.forum.vo.DynamicVO; import com.mmc.csf.release.forum.vo.*;
import com.mmc.csf.release.forum.vo.MediaVO;
import com.mmc.csf.release.dao.CommentDAO; import com.mmc.csf.release.dao.CommentDAO;
import com.mmc.csf.release.dao.DynamicDAO; import com.mmc.csf.release.dao.DynamicDAO;
import com.mmc.csf.release.dao.LikeDAO; import com.mmc.csf.release.dao.LikeDAO;
...@@ -14,6 +13,7 @@ import com.mmc.csf.release.entity.ForumImageDO; ...@@ -14,6 +13,7 @@ import com.mmc.csf.release.entity.ForumImageDO;
import com.mmc.csf.release.entity.ForumVideoDO; import com.mmc.csf.release.entity.ForumVideoDO;
import com.mmc.csf.release.service.DynamicService; import com.mmc.csf.release.service.DynamicService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -38,12 +38,15 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -38,12 +38,15 @@ public class DynamicServiceImpl implements DynamicService {
private LikeDAO likeDAO; private LikeDAO likeDAO;
@Resource @Resource
private CommentDAO commentDAO; private CommentDAO commentDAO;
@Autowired
private UserAppApi userAppApi;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultBody insertDynamic(DynamicVO dynamicVO) { public ResultBody insertDynamic(DynamicVO dynamicVO,Integer userAccountId) {
// 插入动态基本信息 // 插入动态基本信息
ForumDynamicDO forumDynamicDO = new ForumDynamicDO(dynamicVO); ForumDynamicDO forumDynamicDO = new ForumDynamicDO(dynamicVO);
forumDynamicDO.setUserId(userAccountId);
dynamicDAO.insertDynamic(forumDynamicDO); dynamicDAO.insertDynamic(forumDynamicDO);
// 插入动态图片或视频 // 插入动态图片或视频
MediaVO mediaVO = dynamicVO.getMediaVO(); MediaVO mediaVO = dynamicVO.getMediaVO();
...@@ -76,15 +79,15 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -76,15 +79,15 @@ public class DynamicServiceImpl implements DynamicService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultBody commentDynamic(CommentVO commentVO) { public ResultBody commentDynamic(CommentVO commentVO,Integer userAccountId) {
ForumDynamicDO forumDynamicDO = dynamicDAO.getDynamicInfo(commentVO.getDynamicId()); ForumDynamicDO forumDynamicDO = dynamicDAO.getDynamicInfo(commentVO.getDynamicId());
if (forumDynamicDO == null) { if (forumDynamicDO == null) {
return ResultBody.error("动态不存在或已删除"); return ResultBody.error("动态不存在或已删除");
} }
if (commentVO.getParentId() == null) { if (commentVO.getParentId() == null) {
commentDAO.insertComment(commentVO.getUserId(), commentVO.getDynamicId(), commentVO.getContent()); commentDAO.insertComment(userAccountId, commentVO.getDynamicId(), commentVO.getContent());
} else { } else {
commentDAO.insertReplyComment(commentVO.getUserId(), commentVO.getDynamicId(), commentVO.getContent(), commentVO.getParentId()); commentDAO.insertReplyComment(userAccountId, commentVO.getDynamicId(), commentVO.getContent(), commentVO.getParentId());
} }
dynamicDAO.updateDynamicCommentCount(commentVO.getDynamicId(), forumDynamicDO.getPid()); dynamicDAO.updateDynamicCommentCount(commentVO.getDynamicId(), forumDynamicDO.getPid());
return ResultBody.success(); return ResultBody.success();
...@@ -100,6 +103,14 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -100,6 +103,14 @@ public class DynamicServiceImpl implements DynamicService {
public List<CommentAndReplyVO> getCommentAndReply(Integer dynamicId) { public List<CommentAndReplyVO> getCommentAndReply(Integer dynamicId) {
// 获取评论列表 // 获取评论列表
List<CommentAndReplyVO> commentList = commentDAO.selectCommentList(dynamicId); List<CommentAndReplyVO> commentList = commentDAO.selectCommentList(dynamicId);
commentList = commentList.stream().peek(d -> {
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(d.getUserId());
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setId(d.getUserId());
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
d.setUserBaseInfoVO(userBaseInfoVO);
}).collect(Collectors.toList());
List<CommentAndReplyVO> topLevelComment = new ArrayList<>(); List<CommentAndReplyVO> topLevelComment = new ArrayList<>();
Map<Integer, CommentAndReplyVO> commentMap = new HashMap<>(); Map<Integer, CommentAndReplyVO> commentMap = new HashMap<>();
// 将每个数据模型对象添加到Map中,以便在递归过程中查找它们的父母 // 将每个数据模型对象添加到Map中,以便在递归过程中查找它们的父母
...@@ -147,6 +158,12 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -147,6 +158,12 @@ public class DynamicServiceImpl implements DynamicService {
} }
} }
DynamicVO dynamicVO = d.buildDynamicVO(); DynamicVO dynamicVO = d.buildDynamicVO();
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(d.getUserId());
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setId(d.getUserId());
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
dynamicVO.setUserBaseInfo(userBaseInfoVO);
dynamicVO.setMediaVO(mediaVO); dynamicVO.setMediaVO(mediaVO);
// 设置是否点赞 // 设置是否点赞
boolean liked = likeDAO.isLiked(userId, d.getId()); boolean liked = likeDAO.isLiked(userId, d.getId());
...@@ -176,6 +193,12 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -176,6 +193,12 @@ public class DynamicServiceImpl implements DynamicService {
DynamicVO dynamicVO = dynamicInfo.buildDynamicVO(); DynamicVO dynamicVO = dynamicInfo.buildDynamicVO();
// 设置是否点赞 // 设置是否点赞
boolean liked = likeDAO.isLiked(userId, dynamicId); boolean liked = likeDAO.isLiked(userId, dynamicId);
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(dynamicInfo.getUserId());
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
userBaseInfoVO.setId(dynamicInfo.getUserId());
dynamicVO.setUserBaseInfo(userBaseInfoVO);
dynamicVO.setLikes(liked); dynamicVO.setLikes(liked);
// 设置评论信息 // 设置评论信息
dynamicVO.setCommentAndReplyVO(this.getCommentAndReply(dynamicId)); dynamicVO.setCommentAndReplyVO(this.getCommentAndReply(dynamicId));
......
...@@ -33,8 +33,9 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService { ...@@ -33,8 +33,9 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
private FlyerTrainingDao flyerTrainingDao; private FlyerTrainingDao flyerTrainingDao;
@Override @Override
public ResultBody pilotRegistration(RegistrationVO registrationVO) { public ResultBody pilotRegistration(RegistrationVO registrationVO,Integer userAccountId) {
PilotRegistrationDO pilotRegistrationDO = new PilotRegistrationDO(registrationVO); PilotRegistrationDO pilotRegistrationDO = new PilotRegistrationDO(registrationVO);
pilotRegistrationDO.setApplyUserId(userAccountId);
if (CollectionUtils.isNotEmpty(registrationVO.getIndustryAppAuth())) { if (CollectionUtils.isNotEmpty(registrationVO.getIndustryAppAuth())) {
// 将行业应用认证的id用逗号拼接 // 将行业应用认证的id用逗号拼接
String industryAppAuth = registrationVO.getIndustryAppAuth().stream().map(Object::toString).collect(Collectors.joining(",")); String industryAppAuth = registrationVO.getIndustryAppAuth().stream().map(Object::toString).collect(Collectors.joining(","));
......
package com.mmc.csf.release.util;
import org.springframework.util.AntPathMatcher;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午3:29:28
* @explain 解析地址类
*/
public class PathUtil {
private static AntPathMatcher matcher = new AntPathMatcher();
public static boolean isPathMatch(String pattern, String path) {
return matcher.match(pattern, path);
}
}
data-filter:
uploadPath: #不需要解析的body参数的地址
- /xxx/x
not-auth-path:
- /release/v2/**
- /release/doc.html
- /release/swagger-resources/**
- /release/webjars/**
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论