完善需求和逻辑问题

This commit is contained in:
easonzhu 2025-02-12 17:27:48 +08:00
parent 4bdbc48a72
commit 05c1743038
47 changed files with 326 additions and 200 deletions

29
pom.xml
View File

@ -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>

View File

@ -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)));
}
}

View File

@ -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;

View File

@ -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.*;

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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("上一页最一条评论发布时间")

View File

@ -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("评论内容/回复内容")

View File

@ -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("开始时间")

View File

@ -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")

View File

@ -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)

View File

@ -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;

View File

@ -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;

View File

@ -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());
}

View File

@ -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;

View File

@ -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));
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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( )));
}
}

View 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);
}
}

View File

@ -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.*;

View File

@ -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);
}

View File

@ -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);
}
return vo;
}

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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.*;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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.*;

View File

@ -4,3 +4,5 @@ spring:
- optional:classpath:/conf/application.yaml
- optional:classpath:/conf/advisorServer.yaml
- optional:classpath:/conf/tencentConfig.yaml
profiles:
active: dev

View File

@ -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

View 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>

View 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>

View 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>