完善需求和逻辑问题
This commit is contained in:
parent
4bdbc48a72
commit
05c1743038
29
pom.xml
29
pom.xml
@ -152,6 +152,35 @@
|
||||
<version>1.66</version>
|
||||
</dependency>
|
||||
|
||||
<!-- SLF4J API: 用于记录日志 -->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.36</version> <!-- 使用适合你项目的版本 -->
|
||||
</dependency>
|
||||
|
||||
<!-- Logback Classic: 提供 Logback 日志实现 -->
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<version>1.2.11</version> <!-- 使用适合你项目的版本 -->
|
||||
</dependency>
|
||||
|
||||
<!-- Logback Core: Logback 的核心库 -->
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-core</artifactId>
|
||||
<version>1.2.11</version> <!-- 使用适合你项目的版本 -->
|
||||
</dependency>
|
||||
|
||||
<!-- Logback Slf4j binding (可以让 SLF4J 使用 Logback 作为日志实现) -->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>1.7.36</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
|
||||
@ -1,55 +0,0 @@
|
||||
package com.upchina.common.aspect;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.RequestIdUtil;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
import org.aspectj.lang.annotation.*;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Date;
|
||||
|
||||
@Aspect
|
||||
@Component
|
||||
public class TafAspect {
|
||||
|
||||
@Pointcut("execution(public * com.upchina.tafserver..*.*(..))")
|
||||
private void pointcut() {
|
||||
}
|
||||
|
||||
// 前置通知
|
||||
@Before("pointcut()")
|
||||
public void beforeCall(JoinPoint joinPoint) {
|
||||
RequestIdUtil.setTime();
|
||||
RequestIdUtil.setValue();
|
||||
// 获取注解中的参数值
|
||||
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = methodSignature.getMethod();
|
||||
LoggerUtil.info(String.format("taf:%s:param:%s", method.getName(), JSONObject.toJSONString(joinPoint.getArgs())));
|
||||
}
|
||||
|
||||
// 最终通知
|
||||
@AfterReturning(returning = "returnOb", pointcut = "pointcut())")
|
||||
public void afterReturningCall(JoinPoint joinPoint, Object returnOb) {
|
||||
long start = RequestIdUtil.getTime();
|
||||
long time = new Date().getTime() - start;
|
||||
// 获取注解中的参数值
|
||||
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = methodSignature.getMethod();
|
||||
LoggerUtil.info(String.format("taf:%s:耗时:%d", method.getName(), time));
|
||||
LoggerUtil.info(String.format("taf:%s:result:%s", method.getName(), JSONObject.toJSONString(returnOb)));
|
||||
}
|
||||
|
||||
// 异常通知
|
||||
@AfterThrowing(value = "pointcut()", throwing = "ex")
|
||||
public void afterThrowing(JoinPoint joinPoint, Exception ex) {
|
||||
// 获取注解中的参数值
|
||||
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = methodSignature.getMethod();
|
||||
LoggerUtil.info(String.format("taf:%s:exception:%s", method.getName(), ExceptionUtils.getStackTrace(ex)));
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package com.upchina.common.aspect;
|
||||
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.RequestIdUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
import org.aspectj.lang.annotation.AfterReturning;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
package com.upchina.common.aspect;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.RequestIdUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
import org.aspectj.lang.annotation.*;
|
||||
|
||||
@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.auth0.jwt.exceptions.TokenExpiredException;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.RequestIdUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.BackendUserVO;
|
||||
import com.upchina.common.vo.FrontUserVO;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
|
||||
@ -10,12 +10,13 @@ import com.upchina.common.vo.BackendUserVO;
|
||||
import com.upchina.common.vo.CommentBlackVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Api(tags = "通用评论-禁言")
|
||||
@RestController
|
||||
@ -34,7 +35,7 @@ public class CommentBlackController {
|
||||
}
|
||||
|
||||
@ApiOperation("解除用户禁言")
|
||||
@GetMapping("/admin/comment/removeCommentBlack")
|
||||
@PostMapping("/admin/comment/removeCommentBlack")
|
||||
public CommonResult<Void> removeCommentBlack(@RequestAttribute(value = "backendUser", required = false) BackendUserVO backendUserVO,
|
||||
@Validated @RequestBody RemoveCommentBlackQuery query) {
|
||||
commentBlackService.removeCommentBlack(backendUserVO, query);
|
||||
|
||||
@ -66,7 +66,7 @@ public class Comment implements Serializable {
|
||||
private Integer productId;
|
||||
|
||||
/**
|
||||
* 产品类型:1观点包 2单篇观点 3单个视频 4视频课程 5图文直播间 6分期直播 7组合 8锦囊 9交易圈
|
||||
* 产品类型
|
||||
*/
|
||||
@TableField("product_type")
|
||||
private Integer productType;
|
||||
|
||||
@ -12,8 +12,8 @@ import com.upchina.common.constant.ClientType;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.JwtUtil;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.RequestIdUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.BackendUserVO;
|
||||
import com.upchina.common.vo.FrontUserVO;
|
||||
import com.upchina.rbac.service.AuthService;
|
||||
|
||||
@ -3,7 +3,7 @@ package com.upchina.common.handler;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.upchina.common.result.CommonResult;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.converter.HttpMessageNotReadableException;
|
||||
|
||||
@ -14,7 +14,7 @@ public class CommentAppQuery {
|
||||
private Integer productId;
|
||||
|
||||
@NotNull
|
||||
@ApiModelProperty("产品类型:1观点包 2单篇观点 3单个视频 4视频课程 5图文直播间 6分期直播 7组合 8锦囊 9交易圈")
|
||||
@ApiModelProperty("产品类型")
|
||||
private Integer productType;
|
||||
|
||||
@ApiModelProperty("上一页最一条评论发布时间")
|
||||
|
||||
@ -23,7 +23,7 @@ public class CommentBlackQuery extends PageQuery {
|
||||
@ApiModelProperty("产品id")
|
||||
private Integer productId;
|
||||
|
||||
@ApiModelProperty("产品类型:1观点包 2单篇观点 3单个视频 4视频课程 5图文直播间 6分期直播 7组合 8锦囊 9交易圈")
|
||||
@ApiModelProperty("产品类型")
|
||||
private Integer productType;
|
||||
|
||||
@ApiModelProperty("评论内容/回复内容")
|
||||
|
||||
@ -10,7 +10,7 @@ public class CommentCountQuery {
|
||||
@ApiModelProperty("产品ID或者投顾ID")
|
||||
private List<Integer> ids;
|
||||
|
||||
@ApiModelProperty("产品类型:0:投顾 1观点包 2单篇观点 3单个视频 4视频课程 5图文直播间 6分期直播 7组合 8锦囊 9交易圈")
|
||||
@ApiModelProperty("产品类型")
|
||||
private Integer productType;
|
||||
|
||||
@ApiModelProperty("开始时间")
|
||||
|
||||
@ -25,7 +25,7 @@ public class CommentQuery extends PageQuery {
|
||||
@ApiModelProperty("产品id")
|
||||
private Integer productId;
|
||||
|
||||
@ApiModelProperty("产品类型:1观点包 2单篇观点 3单个视频 4视频课程 5图文直播间 6分期直播 7组合 8锦囊 9交易圈")
|
||||
@ApiModelProperty("产品类型")
|
||||
private Integer productType;
|
||||
|
||||
@ApiModelProperty("投顾id")
|
||||
|
||||
@ -14,7 +14,7 @@ public class SaveCommentQuery {
|
||||
@Min(1)
|
||||
private Integer productId;
|
||||
|
||||
@ApiModelProperty("产品类型:1观点包 2单篇观点 3单个视频 4视频课程 5图文直播间 6分期直播 7组合 8锦囊 9交易圈")
|
||||
@ApiModelProperty("产品类型")
|
||||
@NotNull
|
||||
@Min(1)
|
||||
@Max(99)
|
||||
|
||||
@ -7,7 +7,7 @@ import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.query.AppUserInfoQuery;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.JwtUtil;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.AppCUserInfoVO;
|
||||
import com.upchina.common.vo.AuthResultVO;
|
||||
import com.upchina.common.vo.FrontUserVO;
|
||||
|
||||
@ -9,7 +9,7 @@ import com.hazelcast.map.IMap;
|
||||
import com.upchina.common.config.cache.CacheKey;
|
||||
import com.upchina.common.entity.ScheduleLog;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
@ -20,8 +20,7 @@ import com.upchina.common.query.CommentBlackQuery;
|
||||
import com.upchina.common.query.RemoveCommentBlackQuery;
|
||||
import com.upchina.common.result.Pager;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.HideUtils;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.BackendUserVO;
|
||||
import com.upchina.common.vo.CommentBlackVO;
|
||||
import com.upchina.common.vo.MergeProductInfoVO;
|
||||
@ -204,9 +203,6 @@ public class CommentBlackService {
|
||||
commentBlackVO.setUserOrgName(dept.getName());
|
||||
}
|
||||
}
|
||||
commentBlackVO.setPhone(HideUtils.hidePhoneNo(commentBlackVO.getPhone()));
|
||||
commentBlackVO.setHidePhone(commentBlackVO.getPhone());
|
||||
commentBlackVO.setUserName(HideUtils.maskLastName(commentBlackVO.getUserName()));
|
||||
}
|
||||
return new Pager<>(voList, page.getTotal());
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import com.auth0.jwt.algorithms.Algorithm;
|
||||
import com.auth0.jwt.exceptions.JWTCreationException;
|
||||
import com.auth0.jwt.interfaces.Claim;
|
||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@ -1,69 +0,0 @@
|
||||
package com.upchina.common.util;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class LoggerUtil {
|
||||
|
||||
public static class Logger {
|
||||
public static void info(String message) {
|
||||
// TODO
|
||||
System.out.println(message);
|
||||
}
|
||||
|
||||
public static void info(Object... message) {
|
||||
// TODO
|
||||
System.out.println(Arrays.toString(message));
|
||||
}
|
||||
|
||||
public static void error(String message) {
|
||||
// TODO
|
||||
System.err.println(message);
|
||||
}
|
||||
|
||||
public static void error(Object... message) {
|
||||
// TODO
|
||||
System.err.println(Arrays.toString(message));
|
||||
}
|
||||
|
||||
public static void warn(String message) {
|
||||
// TODO
|
||||
System.err.println(message);
|
||||
}
|
||||
|
||||
public static void warn(Object... message) {
|
||||
// TODO
|
||||
System.err.println(Arrays.toString(message));
|
||||
}
|
||||
}
|
||||
|
||||
public static final Logger video = new Logger();
|
||||
|
||||
public static final Logger data = new Logger();
|
||||
|
||||
public static final Logger error = new Logger();
|
||||
|
||||
public static final Logger websocket = new Logger();
|
||||
|
||||
public static final Logger auth = new Logger();
|
||||
|
||||
public static void info(String message) {
|
||||
// TODO
|
||||
System.out.println(message);
|
||||
}
|
||||
|
||||
public static void info(Object... message) {
|
||||
// TODO
|
||||
System.out.println(Arrays.toString(message));
|
||||
}
|
||||
|
||||
public static void error(String message) {
|
||||
// TODO
|
||||
System.err.println(message);
|
||||
}
|
||||
|
||||
public static void error(Object... message) {
|
||||
// TODO
|
||||
System.err.println(Arrays.toString(message));
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.upchina.common.util;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.upchina.common.util;
|
||||
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
package com.upchina.common.util.logger;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class LoggerAgent {
|
||||
|
||||
private Logger logger;
|
||||
|
||||
private LoggerAgent(String name) {
|
||||
logger = LoggerFactory.getLogger(name);
|
||||
}
|
||||
|
||||
public static LoggerAgent build(String name) {
|
||||
return new LoggerAgent(name);
|
||||
}
|
||||
|
||||
public void info(String message) {
|
||||
logger.info(message);
|
||||
}
|
||||
|
||||
public void info(Object... message) {
|
||||
logger.info(Arrays.stream(message).filter(Objects::nonNull).map(Object::toString).collect(Collectors.joining( )));
|
||||
}
|
||||
|
||||
public void error(String message) {
|
||||
logger.error(message);
|
||||
}
|
||||
|
||||
public void error(Object... message) {
|
||||
logger.error(Arrays.stream(message).filter(Objects::nonNull).map(Object::toString).collect(Collectors.joining( )));
|
||||
}
|
||||
|
||||
public void warn(String message) {
|
||||
logger.warn(message);
|
||||
}
|
||||
|
||||
public void warn(Object... message) {
|
||||
logger.warn(Arrays.stream(message).filter(Objects::nonNull).map(Object::toString).collect(Collectors.joining( )));
|
||||
}
|
||||
|
||||
}
|
||||
31
src/main/java/com/upchina/common/util/logger/LoggerUtil.java
Normal file
31
src/main/java/com/upchina/common/util/logger/LoggerUtil.java
Normal file
@ -0,0 +1,31 @@
|
||||
package com.upchina.common.util.logger;
|
||||
|
||||
public class LoggerUtil {
|
||||
|
||||
public static final LoggerAgent video = LoggerAgent.build("video");
|
||||
|
||||
public static final LoggerAgent data = LoggerAgent.build("data");
|
||||
|
||||
public static final LoggerAgent error = LoggerAgent.build("error");
|
||||
|
||||
public static final LoggerAgent websocket = LoggerAgent.build("websocket");
|
||||
|
||||
public static final LoggerAgent auth = LoggerAgent.build("auth");
|
||||
|
||||
public static void info(String message) {
|
||||
data.info(message);
|
||||
}
|
||||
|
||||
public static void info(Object... message) {
|
||||
data.info(message);
|
||||
}
|
||||
|
||||
public static void error(String message) {
|
||||
error.error(message);
|
||||
}
|
||||
|
||||
public static void error(Object... message) {
|
||||
error.error(message);
|
||||
}
|
||||
|
||||
}
|
||||
@ -25,7 +25,7 @@ import com.upchina.common.result.Pager;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.service.*;
|
||||
import com.upchina.common.state.StateMachine;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.*;
|
||||
import com.upchina.course.constant.*;
|
||||
import com.upchina.course.entity.*;
|
||||
|
||||
@ -1,49 +1,41 @@
|
||||
package com.upchina.group.service.admin;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.swing.*;
|
||||
|
||||
import com.hazelcast.map.IMap;
|
||||
import com.upchina.common.config.cache.CacheKey;
|
||||
import com.upchina.group.constant.*;
|
||||
import com.upchina.group.service.GroupInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.hazelcast.map.IMap;
|
||||
import com.upchina.advisor.service.AdvisorInfoService;
|
||||
import com.upchina.advisor.vo.AdvisorBasicVO;
|
||||
import com.upchina.common.config.cache.CacheKey;
|
||||
import com.upchina.common.constant.IsOrNot;
|
||||
import com.upchina.common.constant.ProductType;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.query.OnlyIdQuery;
|
||||
import com.upchina.common.result.AppPager;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.service.CommentBlackService;
|
||||
import com.upchina.common.state.StateMachine;
|
||||
import com.upchina.common.vo.BackendUserVO;
|
||||
import com.upchina.common.vo.OnlyIdVO;
|
||||
import com.upchina.group.constant.*;
|
||||
import com.upchina.group.entity.GroupInfo;
|
||||
import com.upchina.group.entity.GroupMessage;
|
||||
import com.upchina.group.mapper.GroupInfoMapper;
|
||||
import com.upchina.group.mapper.GroupMessageMapper;
|
||||
import com.upchina.group.query.message.GroupMessageProductQuery;
|
||||
import com.upchina.group.query.message.GroupMessageRecommendQuery;
|
||||
import com.upchina.group.query.message.GroupMessageStatusQuery;
|
||||
import com.upchina.group.query.message.ListGroupMessageQuery;
|
||||
import com.upchina.group.query.message.SendGroupMessageAdminQuery;
|
||||
import com.upchina.group.query.message.UpdateGroupMessageStatusQuery;
|
||||
import com.upchina.group.query.message.*;
|
||||
import com.upchina.group.service.GroupInfoService;
|
||||
import com.upchina.group.service.common.GroupCacheService;
|
||||
import com.upchina.group.service.common.GroupMessageService;
|
||||
import com.upchina.group.vo.message.GroupMessageVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class AdminGroupMessageService {
|
||||
@ -69,6 +61,9 @@ public class AdminGroupMessageService {
|
||||
@Resource
|
||||
private GroupInfoService groupInfoService;
|
||||
|
||||
@Resource
|
||||
private CommentBlackService commentBlackService;
|
||||
|
||||
@Resource
|
||||
private IMap<String, Object> groupCache;
|
||||
|
||||
@ -146,7 +141,14 @@ public class AdminGroupMessageService {
|
||||
}
|
||||
|
||||
Map<Integer, AdvisorBasicVO> advisorMap = advisorInfoService.getAdvisorVoMap();
|
||||
List<GroupMessageVO> voList = list.stream().map(GroupMessage::getId).map(id -> groupCacheService.getMessage(id, advisorMap)).collect(Collectors.toList());
|
||||
List<GroupMessageVO> voList = list.stream().map(GroupMessage::getId).map(id -> {
|
||||
GroupMessageVO vo = groupCacheService.getMessage(id, advisorMap);
|
||||
if (GroupMessageUserType.CUSTOMER.value.equals(vo.getUserType())) {
|
||||
boolean isBlack = commentBlackService.checkIsBlack(vo.getUserId(), vo.getGroupId(), ProductType.GROUP.value);
|
||||
vo.setIsForbidden(isBlack ? IsOrNot.IS.value : IsOrNot.NOT.value);
|
||||
}
|
||||
return vo;
|
||||
}).collect(Collectors.toList());
|
||||
return new AppPager<>(voList, hasNext);
|
||||
}
|
||||
|
||||
|
||||
@ -12,9 +12,8 @@ import com.upchina.common.service.CommentBlackService;
|
||||
import com.upchina.common.service.SensitiveWordService;
|
||||
import com.upchina.common.util.TextUtil;
|
||||
import com.upchina.common.vo.FrontUserVO;
|
||||
import com.upchina.group.constant.GroupMessageChannel;
|
||||
import com.upchina.group.constant.GroupInteractiveType;
|
||||
import com.upchina.group.constant.GroupMessageStatus;
|
||||
import com.upchina.group.constant.GroupMessageType;
|
||||
import com.upchina.group.constant.QueryGroupMessageType;
|
||||
import com.upchina.group.entity.GroupMessage;
|
||||
import com.upchina.group.mapper.GroupMessageMapper;
|
||||
@ -113,7 +112,9 @@ public class AppGroupMessageService {
|
||||
throw new BizException(ResponseStatus.COMMENT_BLACK_USER_ERROR);
|
||||
}
|
||||
|
||||
GroupMessageStatus status = IsOrNot.IS.value.equals(groupVO.getFirstAudit()) ? GroupMessageStatus.INITIAL : GroupMessageStatus.AUDITED;
|
||||
GroupMessageStatus status = GroupInteractiveType.PRIVATE.value.equals(query.getInteractiveType())
|
||||
|| (GroupInteractiveType.GROUP.value.equals(query.getInteractiveType()) && !IsOrNot.IS.value.equals(groupVO.getFirstAudit()))
|
||||
? GroupMessageStatus.AUDITED : GroupMessageStatus.INITIAL;
|
||||
GroupMessage message = query.toPO(frontUser, status);
|
||||
message.setContent(TextUtil.cleanUnsafeHtml(content));
|
||||
groupMessageMapper.insert(message);
|
||||
@ -121,9 +122,7 @@ public class AppGroupMessageService {
|
||||
Map<Integer, AdvisorBasicVO> advisorMap = advisorInfoService.getAdvisorVoMap();
|
||||
GroupMessageVO vo = groupCacheService.getMessage(message, advisorMap);
|
||||
|
||||
if (!IsOrNot.IS.value.equals(groupVO.getFirstAudit())) {
|
||||
groupMessageService.publishMessage(message);
|
||||
}
|
||||
groupMessageService.publishMessage(message);
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
@ -75,6 +75,9 @@ public class GroupMessageVO implements Serializable {
|
||||
@ApiModelProperty("投顾")
|
||||
private AdvisorBasicVO advisor;
|
||||
|
||||
@ApiModelProperty("是否被禁言 1是 2否")
|
||||
private Integer isForbidden;
|
||||
|
||||
public GroupMessageVO() {
|
||||
}
|
||||
|
||||
@ -276,4 +279,12 @@ public class GroupMessageVO implements Serializable {
|
||||
public void setAdvisor(AdvisorBasicVO advisor) {
|
||||
this.advisor = advisor;
|
||||
}
|
||||
|
||||
public Integer getIsForbidden() {
|
||||
return isForbidden;
|
||||
}
|
||||
|
||||
public void setIsForbidden(Integer isForbidden) {
|
||||
this.isForbidden = isForbidden;
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package com.upchina.video.entity;
|
||||
|
||||
import com.google.common.collect.ComparisonChain;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.video.constant.VideoLiveStatus;
|
||||
import com.upchina.video.constant.VideoPlayType;
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ import com.upchina.common.constant.IsOrNot;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.service.CacheService;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.video.constant.VideoLiveStatus;
|
||||
import com.upchina.video.constant.VideoPlayType;
|
||||
import com.upchina.video.entity.*;
|
||||
|
||||
@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.upchina.common.constant.IsOrNot;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.video.constant.VideoPlayType;
|
||||
import com.upchina.video.entity.VideoLive;
|
||||
import com.upchina.video.helper.VideoHelper;
|
||||
|
||||
@ -4,8 +4,8 @@ import com.hazelcast.cluster.Member;
|
||||
import com.hazelcast.core.HazelcastInstance;
|
||||
import com.hazelcast.core.IExecutorService;
|
||||
import com.upchina.common.config.cache.CacheKey;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.WebServerInfo;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -23,7 +23,7 @@ import com.upchina.common.result.Pager;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.service.MergeProductService;
|
||||
import com.upchina.common.service.TagService;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.BackendUserVO;
|
||||
import com.upchina.common.vo.MergeProductInfoVO;
|
||||
import com.upchina.common.vo.TagVO;
|
||||
|
||||
@ -23,7 +23,7 @@ import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.service.MergeProductService;
|
||||
import com.upchina.common.service.TagService;
|
||||
import com.upchina.common.state.StateMachine;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.BackendUserVO;
|
||||
import com.upchina.common.vo.MergeProductInfoVO;
|
||||
import com.upchina.common.vo.OnlyIdVO;
|
||||
|
||||
@ -8,7 +8,7 @@ import com.upchina.common.config.TencentCloudConfig;
|
||||
import com.upchina.common.constant.IsOrNot;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.video.entity.VideoLiveMix;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -8,7 +8,7 @@ import com.tencentcloudapi.vod.v20180717.models.ConfirmEventsResponse;
|
||||
import com.upchina.common.constant.IsOrNot;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.BackendUserVO;
|
||||
import com.upchina.video.entity.VideoLive;
|
||||
import com.upchina.video.entity.VideoLivePush;
|
||||
|
||||
@ -22,7 +22,7 @@ import com.upchina.common.result.AppPager;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.service.*;
|
||||
import com.upchina.common.util.CollectUtil;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.AuthResultVO;
|
||||
import com.upchina.common.vo.FrontUserVO;
|
||||
import com.upchina.common.vo.MergeProductInfoVO;
|
||||
|
||||
@ -13,8 +13,8 @@ import com.upchina.common.result.AppPager;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.service.CacheService;
|
||||
import com.upchina.common.service.CommentService;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.TextUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.FrontUserVO;
|
||||
import com.upchina.rbac.service.UserService;
|
||||
import com.upchina.video.constant.VideoMessageContentType;
|
||||
|
||||
@ -20,7 +20,7 @@ import com.upchina.common.service.AdvertService;
|
||||
import com.upchina.common.service.CacheService;
|
||||
import com.upchina.common.service.RecommendService;
|
||||
import com.upchina.common.service.TagService;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.FrontUserVO;
|
||||
import com.upchina.common.vo.TagVO;
|
||||
import com.upchina.course.constant.CourseContentType;
|
||||
|
||||
@ -20,7 +20,7 @@ import com.upchina.common.config.TencentCloudConfig;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.CodecUtil;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.video.constant.VideoTransStatus;
|
||||
import com.upchina.video.entity.CloudMediaEntity;
|
||||
import com.upchina.video.entity.VideoLive;
|
||||
|
||||
@ -13,8 +13,8 @@ import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.service.*;
|
||||
import com.upchina.common.util.Debounce;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.RsaUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.video.constant.*;
|
||||
import com.upchina.video.entity.*;
|
||||
import com.upchina.video.helper.AbstractVideoSortComparator;
|
||||
|
||||
@ -9,7 +9,7 @@ import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.mapper.VideoTransFlowMapper;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.CodecUtil;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.course.service.ShortVideoService;
|
||||
import com.upchina.video.constant.*;
|
||||
import com.upchina.video.entity.VideoLive;
|
||||
|
||||
@ -11,7 +11,7 @@ import com.upchina.advisor.service.AdvisorInfoService;
|
||||
import com.upchina.common.constant.IsOrNot;
|
||||
import com.upchina.common.handler.BizException;
|
||||
import com.upchina.common.result.ResponseStatus;
|
||||
import com.upchina.common.util.LoggerUtil;
|
||||
import com.upchina.common.util.logger.LoggerUtil;
|
||||
import com.upchina.common.vo.FrontUserVO;
|
||||
import com.upchina.rbac.service.UserService;
|
||||
import com.upchina.video.constant.*;
|
||||
|
||||
@ -3,4 +3,6 @@ spring:
|
||||
import:
|
||||
- optional:classpath:/conf/application.yaml
|
||||
- optional:classpath:/conf/advisorServer.yaml
|
||||
- optional:classpath:/conf/tencentConfig.yaml
|
||||
- optional:classpath:/conf/tencentConfig.yaml
|
||||
profiles:
|
||||
active: dev
|
||||
@ -39,21 +39,21 @@ sale:
|
||||
video:
|
||||
finishReadRatio: 0.9 #计算视频完播率(完成人数/总人数)大于等于该值即未完成观看
|
||||
websocket:
|
||||
brokerHost: ws://localhost:8080/tgim
|
||||
brokerHost: ws://47.96.178.171:8080/tgim
|
||||
aes:
|
||||
key: ew0ov3n1xurvhlhl
|
||||
iv: gbb9qknndntteqc1
|
||||
resizeUrl:
|
||||
main: http://8.138.144.54:8080/s/ #生产配置 http://s.upchina.com/s/
|
||||
original: http://8.138.144.54:8080/syzbh5
|
||||
main: http://47.96.178.171:8080/s/ #生产配置 http://s.upchina.com/s/
|
||||
original: http://47.96.178.171:8080/h5
|
||||
urlMain: /videoPlay?id=
|
||||
shortVideoUrl: /shotVideoPlay?id=
|
||||
pc:
|
||||
courseRecommendSize: 5
|
||||
url:
|
||||
liveUrl: http://8.138.144.54:8080/syzbpc/videoDetail?id=%d&courseId=%d
|
||||
liveUrl: http://47.96.178.171:8080/syzbpc/videoDetail?id=%d&courseId=%d
|
||||
app:
|
||||
url:
|
||||
liveUrl: https://8.138.144.54:8080/syzbh5/videoPlay?id=%d
|
||||
advisorListUrl: https://8.138.144.54:8080/syzbh5/videoList?advisorId=%d
|
||||
deptListUrl: https://8.138.144.54:8080/syzbh5/videoList?deptId=%s
|
||||
liveUrl: https://47.96.178.171:8080/h5/videoPlay?id=%d
|
||||
advisorListUrl: https://47.96.178.171:8080/h5/videoList?advisorId=%d
|
||||
deptListUrl: https://47.96.178.171:8080/h5/videoList?deptId=%s
|
||||
15
src/main/resources/logback-console.xml
Normal file
15
src/main/resources/logback-console.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
|
||||
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%-4.5level|%X{requestId}|%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 根 Logger 配置 (可以定义默认的日志记录器) -->
|
||||
<root level="INFO">
|
||||
<appender-ref ref="console"/>
|
||||
</root>
|
||||
|
||||
</included>
|
||||
101
src/main/resources/logback-prod.xml
Normal file
101
src/main/resources/logback-prod.xml
Normal file
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
|
||||
<!-- 设置日志文件路径 -->
|
||||
<property name="LOG_PATH" value="/root/logs"/>
|
||||
|
||||
<!-- 定义多个 appender,根据日志记录器的名称来决定输出的文件 -->
|
||||
<appender name="default" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_PATH}/advisor_server-%d{yyyyMMdd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory> <!-- 保留最多30天的日志 -->
|
||||
<totalSizeCap>1GB</totalSizeCap> <!-- 限制日志总大小 -->
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%-4.5level|%X{requestId}|%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 定义多个 appender,根据日志记录器的名称来决定输出的文件 -->
|
||||
<appender name="video" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_PATH}/advisor_server-video-%d{yyyyMMdd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory> <!-- 保留最多30天的日志 -->
|
||||
<totalSizeCap>1GB</totalSizeCap> <!-- 限制日志总大小 -->
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%-4.5level|%X{requestId}|%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="data" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_PATH}/advisor_server-data-%d{yyyyMMdd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory> <!-- 保留最多30天的日志 -->
|
||||
<totalSizeCap>1GB</totalSizeCap> <!-- 限制日志总大小 -->
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%-4.5level|%X{requestId}|%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_PATH}/advisor_server-error-%d{yyyyMMdd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory> <!-- 保留最多30天的日志 -->
|
||||
<totalSizeCap>1GB</totalSizeCap> <!-- 限制日志总大小 -->
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%-4.5level|%X{requestId}|%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="websocket" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_PATH}/advisor_server-websocket-%d{yyyyMMdd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory> <!-- 保留最多30天的日志 -->
|
||||
<totalSizeCap>1GB</totalSizeCap> <!-- 限制日志总大小 -->
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%-4.5level|%X{requestId}|%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="auth" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_PATH}/advisor_server-auth-%d{yyyyMMdd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory> <!-- 保留最多30天的日志 -->
|
||||
<totalSizeCap>1GB</totalSizeCap> <!-- 限制日志总大小 -->
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%-4.5level|%X{requestId}|%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 配置日志记录器,按业务模块使用不同的 appender -->
|
||||
<logger name="video" level="INFO">
|
||||
<appender-ref ref="video"/>
|
||||
</logger>
|
||||
|
||||
<logger name="data" level="INFO">
|
||||
<appender-ref ref="data"/>
|
||||
</logger>
|
||||
|
||||
<logger name="error" level="ERROR">
|
||||
<appender-ref ref="error"/>
|
||||
</logger>
|
||||
|
||||
<logger name="websocket" level="INFO">
|
||||
<appender-ref ref="websocket"/>
|
||||
</logger>
|
||||
|
||||
<logger name="auth" level="INFO">
|
||||
<appender-ref ref="auth"/>
|
||||
</logger>
|
||||
|
||||
<!-- 根 Logger 配置 (可以定义默认的日志记录器) -->
|
||||
<root level="INFO">
|
||||
<appender-ref ref="default"/>
|
||||
</root>
|
||||
|
||||
</included>
|
||||
14
src/main/resources/logback-spring.xml
Normal file
14
src/main/resources/logback-spring.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<!-- 引入通用配置 -->
|
||||
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
|
||||
|
||||
<!-- 根据环境加载不同的配置 -->
|
||||
<springProfile name="dev">
|
||||
<include resource="logback-console.xml"/>
|
||||
</springProfile>
|
||||
|
||||
<springProfile name="test,prod">
|
||||
<include resource="logback-prod.xml"/>
|
||||
</springProfile>
|
||||
</configuration>
|
||||
Loading…
x
Reference in New Issue
Block a user