提交 cb43e08b 作者: zhenjie

Merge branch 'develop' of ssh://git.mmcuav.cn:8222/iuav/ims into develop

......@@ -7,6 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
......@@ -25,11 +26,13 @@ public class CommentAndReplyVO implements Serializable {
private Integer dynamicId;
@ApiModelProperty(value = "父级评论id")
private Integer parentId;
@ApiModelProperty(value = "模拟用户id")
@ApiModelProperty(value = "动态发布人的id(后期返回用户头像昵称信息)")
private Integer userId;
@ApiModelProperty(value = "评论内容")
private String content;
@ApiModelProperty(value = "评论点赞数")
private Integer likesCount;
@ApiModelProperty(value = "评论时间")
private Date createTime;
private List<CommentAndReplyVO> children;
}
......@@ -8,6 +8,9 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Author LW
* @date 2023/5/15 10:29
......@@ -40,4 +43,8 @@ public class DynamicVO implements Serializable {
private Integer commentCount;
@ApiModelProperty(value = "是否点赞")
private Boolean likes;
@ApiModelProperty(value = "动态发布时间")
private Date dynamicPublishTime;
@ApiModelProperty(value = "评论信息")
private List<CommentAndReplyVO> commentAndReplyVO;
}
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: default
spec:
type: ExternalName
externalName: rm-wz9dd796t4j1giz6t.mysql.rds.aliyuncs.com
ports:
- port: 3306
\ No newline at end of file
......@@ -17,4 +17,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag: da09788efcd48cb9187d187d23890d1c063e3b48
newTag: 64cf35a576d62acfef1db0799fda87bcf64a0118
......@@ -3,4 +3,4 @@ kind: ConfigMap
metadata:
name: ims-map
data:
SPRING_PROFILES_ACTIVE: dev
\ No newline at end of file
SPRING_PROFILES_ACTIVE: prod
\ No newline at end of file
apiVersion: apps/v1
kind: Deployment
metadata:
name: ims-deployment
spec:
replicas: 2
\ No newline at end of file
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
- ../../base
namespace: prod
#namePrefix: prod-
commonLabels:
......@@ -9,12 +9,13 @@ commonLabels:
commonAnnotations:
note: This is prod!
patches:
- path: configMap.yaml
- path: service-patch.yaml
target:
kind: Service
name: ims-svc
- path: increase_replicas.yaml
- path: configMap.yaml
- path: service-patch.yaml
target:
kind: Service
name: ims-svc
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly/ims
newTag: d39b5a94225527270920384fde1448bbe58a61c3
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly/ims
newTag: d39b5a94225527270920384fde1448bbe58a61c3
\ No newline at end of file
package com.mmc.csf.release.config;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//Converter<S,T> S: 代表的是源,将要转换的数据类型 T:目标类型,将会转成什么数据类型
@Component
public class GlobalFormDateConvert implements Converter<String, Date> {
// 静态初始化定义日期字符串参数列表(需要转换的)
private static final List<String> paramList = new ArrayList<>();
// 静态初始化可能初夏你的日期格式
private static final String param1 = "yyyy-MM";
private static final String param2 = "yyyy-MM-dd";
private static final String param3 = "yyyy-MM-dd HH:mm";
private static final String param4 = "yyyy-MM-dd HH:mm:ss";
// 静态代码块,将日期参数加入到列表中
static {
paramList.add(param1);
paramList.add(param2);
paramList.add(param3);
paramList.add(param4);
}
// 自定义函数,将字符串转Date 参1:传入的日期字符串 参2:格式参数
public Date parseDate(String source, String format) {
System.out.println("parseDate转换日期");
Date date = null;
try {
// 日期格式转换器
DateFormat dateFormat = new SimpleDateFormat(format);
date = dateFormat.parse(source);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
// convert转换方法 ,s是将会传递过来的日期的字符串
@Override
public Date convert(String source) {
System.out.println("convert日期格式转换器");
if (StringUtils.isEmpty(source)) {
return null;
}
source = source.trim(); // 去除首尾空格
// 正则表达式判断是哪一种格式参数
if (source.matches("^\\d{4}-\\d{1,2}$")) {
return parseDate(source, paramList.get(0));
} else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) {
return parseDate(source, paramList.get(1));
} else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")) {
return parseDate(source, paramList.get(2));
} else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) {
return parseDate(source, paramList.get(3));
} else {
throw new IllegalArgumentException("还未定义该种字符串转Date的日期转换格式 --> 【日期格式】:" + source);
}
}
}
package com.mmc.csf.release.config;
import com.fasterxml.jackson.databind.util.StdDateFormat;
import org.springframework.util.StringUtils;
import java.text.FieldPosition;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GlobalJsonDateConvert extends StdDateFormat {
private static final long serialVersionUID = -6738131740618766141L;
// 静态初始化final,共享
public static final GlobalJsonDateConvert instance = new GlobalJsonDateConvert();
// 覆盖parse(String)这个方法即可实现
@Override
public Date parse(String dateStr, ParsePosition pos) {
return getDate(dateStr, pos);
}
@Override
public Date parse(String dateStr) {
ParsePosition pos = new ParsePosition(0);
return getDate(dateStr, pos);
}
private Date getDate(String dateStr, ParsePosition pos) {
SimpleDateFormat sdf = null;
if (StringUtils.isEmpty(dateStr)) {
return null;
} else if (dateStr.matches("^\\d{4}-\\d{1,2}$")) {
sdf = new SimpleDateFormat("yyyy-MM");
return sdf.parse(dateStr, pos);
} else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) {
sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.parse(dateStr, pos);
} else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")) {
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
return sdf.parse(dateStr, pos);
} else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) {
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(dateStr, pos);
} else if (dateStr.length() == 23) {
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
return sdf.parse(dateStr, pos);
}
return super.parse(dateStr, pos);
}
@Override
public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date, toAppendTo, fieldPosition);
}
@Override
public GlobalJsonDateConvert clone() {
return new GlobalJsonDateConvert();
}
}
......@@ -58,10 +58,17 @@ public class DynamicController {
return ResultBody.success(dynamicService.getCommentAndReply(dynamicId));
}
@ApiOperation(value = "动态详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicDetails")
public ResultBody dynamicDetails(@RequestParam Integer dynamicId,@RequestParam Integer userId) {
return ResultBody.success(dynamicService.dynamicDetails(dynamicId,userId));
}
@ApiOperation(value = "动态列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicList")
public ResultBody dynamicList(@RequestParam Integer pageNo, @RequestParam Integer pageSize, @RequestParam Integer userId) {
return ResultBody.success(dynamicService.dynamicList(pageNo, pageSize,userId));
return ResultBody.success(dynamicService.dynamicList(pageNo, pageSize, userId));
}
}
......@@ -7,8 +7,6 @@ import com.mmc.csf.release.service.FlyerTrainingService;
import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO;
import com.mmc.csf.release.flyer.vo.FlightSkillsVO;
import com.mmc.csf.release.flyer.vo.RegistrationVO;
import com.mmc.csf.release.task.qo.TaskServiceQo;
import com.mmc.csf.release.task.vo.TaskServiceVO;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
......
......@@ -103,4 +103,20 @@ public interface DynamicDAO {
* @return {@link List}<{@link ForumVideoDO}>
*/
List<ForumVideoDO> listDynamicVideo(List<Integer> ids);
/**
* 动态图片
*
* @param dynamicId 动态id
* @return {@link List}<{@link ForumImageDO}>
*/
List<ForumImageDO> dynamicPicture(Integer dynamicId);
/**
* 动态视频
*
* @param dynamicId 动态id
* @return {@link ForumVideoDO}
*/
ForumVideoDO dynamicVideo(Integer dynamicId);
}
......@@ -88,7 +88,7 @@ public class ForumDynamicDO implements Serializable {
return DynamicVO.builder().id(id).description(description)
.commentCount(commentsCount).likesCount(likesCount)
.lat(lat).lon(lon).location(location).title(title)
.userId(userId).build();
.userId(userId).dynamicPublishTime(createTime).build();
}
}
......@@ -53,7 +53,7 @@ public interface DynamicService {
* @param dynamicId 动态id
* @return {@link List}<{@link CommentVO}>
*/
List<CommentAndReplyVO> getCommentAndReply(int dynamicId);
List<CommentAndReplyVO> getCommentAndReply(Integer dynamicId);
/**
* 动态列表
......@@ -64,4 +64,13 @@ public interface DynamicService {
* @return {@link List}<{@link DynamicVO}>
*/
PageResult dynamicList(Integer pageNo, Integer pageSize, Integer userId);
/**
* 动态细节
*
* @param dynamicId 动态id
* @param userId 用户id
* @return {@link ResultBody}
*/
ResultBody dynamicDetails(Integer dynamicId, Integer userId);
}
......@@ -97,7 +97,7 @@ public class DynamicServiceImpl implements DynamicService {
}
@Override
public List<CommentAndReplyVO> getCommentAndReply(int dynamicId) {
public List<CommentAndReplyVO> getCommentAndReply(Integer dynamicId) {
// 获取评论列表
List<CommentAndReplyVO> commentList = commentDAO.selectCommentList(dynamicId);
List<CommentAndReplyVO> topLevelComment = new ArrayList<>();
......@@ -155,4 +155,31 @@ public class DynamicServiceImpl implements DynamicService {
}).collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, dynamicVOList);
}
@Override
public ResultBody dynamicDetails(Integer dynamicId, Integer userId) {
// 判断此动态是否还存在
ForumDynamicDO dynamicInfo = dynamicDAO.getDynamicInfo(dynamicId);
if (dynamicInfo == null) {
return ResultBody.error("动态不存在或已删除!");
}
// 获取图片视频
List<ForumImageDO> forumImage = dynamicDAO.dynamicPicture(dynamicId);
ForumVideoDO forumVideoDO = dynamicDAO.dynamicVideo(dynamicId);
MediaVO mediaVO = new MediaVO();
if (forumVideoDO != null) {
mediaVO.setVideoUrl(forumVideoDO.getUrl());
}
if (CollectionUtils.isNotEmpty(forumImage)) {
mediaVO.setPicture(forumImage.stream().map(ForumImageDO::getUrl).collect(Collectors.toList()));
}
DynamicVO dynamicVO = dynamicInfo.buildDynamicVO();
// 设置是否点赞
boolean liked = likeDAO.isLiked(userId, dynamicId);
dynamicVO.setLikes(liked);
// 设置评论信息
dynamicVO.setCommentAndReplyVO(this.getCommentAndReply(dynamicId));
dynamicVO.setMediaVO(mediaVO);
return ResultBody.success(dynamicVO);
}
}
#Application
server:
port: 50002
servlet:
context-path: /uavgoods
#spring
spring:
application:
name: uavgoods
#Database
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://mysql:3306/uav_mall_goods?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: csftester
password: csf-TEST-m1200
# Druid数据源配置
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 10 #初始化连接池大小
min-idle: 10 #最小大小
max-active: 50 #最大大小
max-wait: 60000 #获取连接时最大等待时间,单位毫秒
time-between-eviction-runs-millis: 60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
min-evictable-idle-time-millis: 300000 #配置一个连接在池中最小生存的时间,单位是毫秒
validation-query: SELECT 1 FROM DUAL #用来检测连接是否有效的sql
test-while-idle: true #申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性
testOnBorrow: false #获取连接时执行检测,建议关闭,影响性能
testOnReturn: false #归还连接时执行检测,建议关闭,影响性能
pool-prepared-statements: false #是否开启PSCache,PSCache对支持游标的数据库性能提升巨大,oracle建议开启,mysql下建议关闭
filters: stat,wall #配置扩展插件,常用的插件有=>stat:监控统计 log4j:日志 wall:防御sql注入
filter:
wall:
config:
multi-statement-allow: true
db-type: mysql
enabled: true
connection-properties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 #打开慢sql记录和延迟时间
web-stat-filter:
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
enabled: true
stat-view-servlet:
enabled: true
login-username: druid
login-password: druid
#cloud
cloud:
loadbalancer:
retry:
enabled: true
#Redis
redis:
database: 0
host: redis
password: mmc@redis123
port: 6379
#连接池
lettuce:
shutdown-timeout: 1000 # 关闭超时时间-ms
pool:
#最大连接个数
max-active: 30
#等待时间-ms
max-wait: 1000ms
#最大空闲
max-idle: 8
#初始化最小
min-idle: 1
#rabbitMQ
rabbitmq:
host: rabbitmq
port: 5672
username: admin
password: mmc123456
virtual-host: /
listener:
simple:
#acknowledge-mode: manual #设置确认模式手工确认
concurrency: 3 #消费者最小数量
max-concurrency: 10 # 消费者最大数量
# 一般消费者自动签收模式下可以添加下面配置,用于消费抛出异常后进行消息重新投递设置
retry:
enabled: true #是否开启消费者重试(为false时关闭消费者重试)
max-attempts: 3 # 最大重试重新投递消息次数
initial-interval: 900s #重试重新投递消息间隔时间(单位秒)
default-requeue-rejected: false #重试次数超过上面的设置之后是否丢弃(消费者listener抛出异常,是否重回队列,默认true:重回队列, false为不重回队列(结合死信交换机))
#eureka eureka.client.register-with-eureka=true
eureka:
instance:
prefer-ip-address: true
ip-address: mgoods
instance-id: ${eureka.instance.ip-address}:${server.port}@${random.int}
status-page-url: https://testapi.sharefly.mmcuav.cn/${server.servlet.context-path}/swagger-ui.html
client:
fetch-registry: true
service-url:
defaultZone: http://edmin:sharefly1200@eureka:20080/eureka/
#logging
logging:
level:
com:
mmc:
csf: DEBUG
#mybatis
mybatis:
executor-type: simple
mapper-locations: classpath:mapper/**/*.xml
type-aliases-package: com.mmc.csf
configuration:
map-underscore-to-camel-case: true
#feign
feign:
client:
config:
default:
connect-timeout: 3000
read-timeout: 6000
#Okhttp参数配置
httpclient:
enabled: false
okhttp:
enabled: true
hystrix:
enabled: true
hystrix:
command:
default:
execution:
isolation:
thread:
# hystrix 超时时间
timeoutInMilliseconds: 9000
#ribbon-ribbo和hystrix时间取最小的生效,feign和ribbon的超时时间只能选其一生效feign优先级高于ribbon
ribbon:
okhttp:
enabled: true
mmc:
appid: 80001
url: http://121.37.224.147
companycode: MMC
#logstash服务器地址
logstash:
host: 10.86.210.18
#logstash端口
port: 8084
wechat:
sub:
appid: wx5c6a105a0ddca4c5
secret: 96c75255dd26f82f8d55e15b59e101c7
rabbitmq:
enabled: true
exchange: REPOORDER_WX_API_DIRECT_TEST
......@@ -10,40 +10,39 @@ spring:
#Database
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://rm-wz9dd796t4j1giz6t2o.mysql.rds.aliyuncs.com:3306/iuav_ims?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
url: jdbc:mysql://mysql.default:3306/iuav_ims?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: tmj
password: MMC@2022&MYSQL
# Druid数据源配置
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 1 #初始化连接池大小
min-idle: 1 #最小大小
max-active: 1 #最大大小
max-wait: 60000 #获取连接时最大等待时间,单位毫秒
time-between-eviction-runs-millis: 60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
min-evictable-idle-time-millis: 300000 #配置一个连接在池中最小生存的时间,单位是毫秒
validation-query: SELECT 1 FROM DUAL #用来检测连接是否有效的sql
test-while-idle: true #申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性
testOnBorrow: false #获取连接时执行检测,建议关闭,影响性能
testOnReturn: false #归还连接时执行检测,建议关闭,影响性能
pool-prepared-statements: false #是否开启PSCache,PSCache对支持游标的数据库性能提升巨大,oracle建议开启,mysql下建议关闭
filters: stat,wall #配置扩展插件,常用的插件有=>stat:监控统计 log4j:日志 wall:防御sql注入
filter:
wall:
config:
multi-statement-allow: true
db-type: mysql
enabled: true
connection-properties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 #打开慢sql记录和延迟时间
web-stat-filter:
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
enabled: true
stat-view-servlet:
enabled: true
login-username: druid
login-password: druid
#cloud
# druid:
# initial-size: 1 #初始化连接池大小
# min-idle: 1 #最小大小
# max-active: 1 #最大大小
# max-wait: 60000 #获取连接时最大等待时间,单位毫秒
# time-between-eviction-runs-millis: 60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
# min-evictable-idle-time-millis: 300000 #配置一个连接在池中最小生存的时间,单位是毫秒
# validation-query: SELECT 1 FROM DUAL #用来检测连接是否有效的sql
# test-while-idle: true #申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性
# testOnBorrow: false #获取连接时执行检测,建议关闭,影响性能
# testOnReturn: false #归还连接时执行检测,建议关闭,影响性能
# pool-prepared-statements: false #是否开启PSCache,PSCache对支持游标的数据库性能提升巨大,oracle建议开启,mysql下建议关闭
# filters: stat,wall #配置扩展插件,常用的插件有=>stat:监控统计 log4j:日志 wall:防御sql注入
# filter:
# wall:
# config:
# multi-statement-allow: true
# db-type: mysql
# enabled: true
# connection-properties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 #打开慢sql记录和延迟时间
# web-stat-filter:
# url-pattern: /*
# exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
# enabled: true
# stat-view-servlet:
# enabled: true
# login-username: druid
# login-password: druid
cloud:
loadbalancer:
retry:
......@@ -81,7 +80,7 @@ spring:
concurrency: 3 #消费者最小数量
max-concurrency: 10 # 消费者最大数量
# 一般消费者自动签收模式下可以添加下面配置,用于消费抛出异常后进行消息重新投递设置
retry:
retry:
enabled: true #是否开启消费者重试(为false时关闭消费者重试)
max-attempts: 3 # 最大重试重新投递消息次数
initial-interval: 900s #重试重新投递消息间隔时间(单位秒)
......
......@@ -10,7 +10,7 @@ spring:
#Database
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://rm-wz9dd796t4j1giz6t.mysql.rds.aliyuncs.com:3306/iuav_ims?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
url: jdbc:mysql://rm-wz9dd796t4j1giz6t2o.mysql.rds.aliyuncs.com:3306/iuav_ims?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: tmj
password: MMC@2022&MYSQL
# Druid数据源配置
......@@ -117,7 +117,7 @@ mybatis:
iuav:
userapp:
url: http://cms-svc:30150
url: http://localhost:30151
##feign
#feign:
......
#Application
server:
port: 50002
port: 10001
servlet:
context-path: /uavgoods
context-path: /release
#spring
spring:
application:
name: uavgoods
name: release
#Database
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://mysql:3306/uav_mall_goods?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: csfmysql
password: csf-DB-m1200
url: jdbc:mysql://mysql.default:3306/iuav_ims?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: tmj
password: MMC@2022&MYSQL
# Druid数据源配置
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 10 #初始化连接池大小
min-idle: 10 #最小大小
max-active: 50 #最大大小
max-wait: 60000 #获取连接时最大等待时间,单位毫秒
time-between-eviction-runs-millis: 60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
min-evictable-idle-time-millis: 300000 #配置一个连接在池中最小生存的时间,单位是毫秒
validation-query: SELECT 1 FROM DUAL #用来检测连接是否有效的sql
test-while-idle: true #申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性
testOnBorrow: false #获取连接时执行检测,建议关闭,影响性能
testOnReturn: false #归还连接时执行检测,建议关闭,影响性能
pool-prepared-statements: false #是否开启PSCache,PSCache对支持游标的数据库性能提升巨大,oracle建议开启,mysql下建议关闭
filters: stat,wall #配置扩展插件,常用的插件有=>stat:监控统计 log4j:日志 wall:防御sql注入
filter:
wall:
config:
multi-statement-allow: true
db-type: mysql
enabled: true
connection-properties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 #打开慢sql记录和延迟时间
web-stat-filter:
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
enabled: true
stat-view-servlet:
enabled: true
login-username: druid
login-password: druid
#cloud
# druid:
# initial-size: 1 #初始化连接池大小
# min-idle: 1 #最小大小
# max-active: 1 #最大大小
# max-wait: 60000 #获取连接时最大等待时间,单位毫秒
# time-between-eviction-runs-millis: 60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
# min-evictable-idle-time-millis: 300000 #配置一个连接在池中最小生存的时间,单位是毫秒
# validation-query: SELECT 1 FROM DUAL #用来检测连接是否有效的sql
# test-while-idle: true #申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性
# testOnBorrow: false #获取连接时执行检测,建议关闭,影响性能
# testOnReturn: false #归还连接时执行检测,建议关闭,影响性能
# pool-prepared-statements: false #是否开启PSCache,PSCache对支持游标的数据库性能提升巨大,oracle建议开启,mysql下建议关闭
# filters: stat,wall #配置扩展插件,常用的插件有=>stat:监控统计 log4j:日志 wall:防御sql注入
# filter:
# wall:
# config:
# multi-statement-allow: true
# db-type: mysql
# enabled: true
# connection-properties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 #打开慢sql记录和延迟时间
# web-stat-filter:
# url-pattern: /*
# exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
# enabled: true
# stat-view-servlet:
# enabled: true
# login-username: druid
# login-password: druid
cloud:
loadbalancer:
retry:
......@@ -53,8 +52,8 @@ spring:
#Redis
redis:
database: 0
host: redis
password: mmc@redis123
host: r-wz9ke310fs684hacn1pd.redis.rds.aliyuncs.com
password: MMC@2022&REDIS
port: 6379
#连接池
lettuce:
......@@ -70,7 +69,7 @@ spring:
min-idle: 1
#rabbitMQ
rabbitmq:
host: 120.25.213.190
host: 119.23.248.181
port: 5672
username: admin
password: mmc123456
......@@ -81,7 +80,7 @@ spring:
concurrency: 3 #消费者最小数量
max-concurrency: 10 # 消费者最大数量
# 一般消费者自动签收模式下可以添加下面配置,用于消费抛出异常后进行消息重新投递设置
retry:
retry:
enabled: true #是否开启消费者重试(为false时关闭消费者重试)
max-attempts: 3 # 最大重试重新投递消息次数
initial-interval: 900s #重试重新投递消息间隔时间(单位秒)
......@@ -91,12 +90,13 @@ spring:
eureka:
instance:
prefer-ip-address: true
ip-address: mgoods
ip-address: 127.0.0.1
instance-id: ${eureka.instance.ip-address}:${server.port}@${random.int}
status-page-url: http://${eureka.instance.ip-address}:${server.port}${server.servlet.context-path}/swagger-ui.html
client:
fetch-registry: true
service-url:
defaultZone: http://edmin:sharefly1200@eureka:20080/eureka/
defaultZone: http://edmin:sharefly1200@127.0.0.1:20080/eureka/
#logging
......@@ -143,19 +143,32 @@ ribbon:
iuav:
userapp:
url: http://cms-svc:30150
mmc:
appid: 80001
url: http://121.37.224.147
companycode: MMC
wechat:
sub:
appid: wx5c6a105a0ddca4c5
secret: 96c75255dd26f82f8d55e15b59e101c7
url: http://127.0.0.1:35150
rabbitmq:
enabled: true
exchange: REPOORDER_WX_API_DIRECT_PROD
#mmc:
# appid: 80001
# url: http://121.37.224.147
# companycode: MMC
#
##logstash服务器地址
#logstash:
# host: 10.86.210.18
##logstash端口
# port: 8084
#
#
#wechat:
# sub:
# appid: wx5c6a105a0ddca4c5
# secret: 96c75255dd26f82f8d55e15b59e101c7
#
#rabbitmq:
# enabled: false
# exchange: REPOORDER_WX_API_DIRECT_DEV
#
## 查看健康情况-开发分支配置则可-其余分支请勿配置
#management:
# endpoints:
# web:
# exposure:
# include: "*"
\ No newline at end of file
spring:
profiles:
active: dev
active: local
---
......@@ -10,9 +10,9 @@ spring:
---
spring:
profiles: beta
profiles: local
---
spring:
profiles: product
profiles: prod
......@@ -28,7 +28,8 @@
user_id,
dynamic_id,
content,
likes_count
likes_count,
create_time
from forum_comment
where dynamic_id = #{dynamicId} and is_deleted = 0
</select>
......
......@@ -47,9 +47,11 @@
lat,
lon,
likes_count,
comments_count
comments_count,
create_time
from forum_dynamic
where id = #{dynamicId}
and is_deleted = 0
</select>
<select id="countDynamicList" resultType="java.lang.Integer">
select count(*)
......@@ -91,4 +93,20 @@
#{item}
</foreach>
</select>
<select id="dynamicPicture" resultType="com.mmc.csf.release.entity.ForumImageDO">
select id,
dynamic_id,
url
from forum_image
where dynamic_id = #{dynamicId}
and is_deleted = 0
</select>
<select id="dynamicVideo" resultType="com.mmc.csf.release.entity.ForumVideoDO">
select id,
dynamic_id,
url
from forum_video
where dynamic_id = #{dynamicId}
and is_deleted = 0
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论