Commit c53cd2b9 by shuyunhu
parents 5346f57e 273cd919
email.fromEmail=rays_support@vip.163.com
email.password=chubanyun
email.reviewFromEmail=rays_review@vip.163.com
email.reviewPassword=lgsz2017
email.saysEmail=says_support@vip.163.com
email.saysPassword=2017sayschuban
## \u81EA\u5B9A\u4E49\u90AE\u7BB1
email.fromEmail.new=rays_support@vip.163.com
email.password.new=chubanyun
\ No newline at end of file
#email.fromEmail=rays_support@vip.163.com
#email.password=chubanyun
#email.reviewFromEmail=rays_review@vip.163.com
#email.reviewPassword=lgsz2017
#email.reviewFromEmail=review@5rs.me
#email.reviewPassword=reviewlgsc
## \u81EA\u5B9A\u4E49\u90AE\u7BB1
email.user=support
email.name=support@5rs.me
email.password=supportlgsc
email.review.user=review
email.review.name=review@5rs.me
email.review.password=reviewlgsc
mail.smtp.host=smtp.5rs.me
mail.imap.host=imap.5rs.me
mail.pop.host=pop.5rs.me
\ No newline at end of file
email.fromEmail=rays_support@vip.163.com
email.password=chubanyun
email.reviewFromEmail=rays_review@vip.163.com
email.reviewPassword=lgsz2017
email.saysEmail=says_support@vip.163.com
email.saysPassword=2017sayschuban
## \u81EA\u5B9A\u4E49\u90AE\u7BB1
email.fromEmail.new=rays_support@vip.163.com
email.password.new=chubanyun
\ No newline at end of file
#email.fromEmail=rays_support@vip.163.com
#email.password=chubanyun
#email.reviewFromEmail=rays_review@vip.163.com
#email.reviewPassword=lgsz2017
## \u81EA\u5B9A\u4E49\u90AE\u7BB1
email.user=admin
email.name=admin@raysyun.com
email.password=lgsc2018!
email.review.user=admin
email.review.name=admin@raysyun.com
email.review.password=lgsc2018!
mail.smtp.host=smtp.raysyun.com
mail.imap.host=imap.raysyun.com
mail.pop.host=pop.raysyun.com
\ No newline at end of file
org.quartz.scheduler.instanceName = MyClusteredScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.idleWaitTime = 30000
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2
org.quartz.threadPool.threadPriority = 5
org.quartz.scheduler.batchTriggerAcquisitionMaxCount=1000
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.dataSource = myDS
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.maxMisfiresToHandleAtATime=20
org.quartz.jobStore.clusterCheckinInterval = 20000
#============================================================================
# Configure Datasources
#============================================================================
org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL = jdbc:mysql://192.168.92.42:3306/quartz?useUnicode=true&characterEncoding=utf-8&useSSL=false
org.quartz.dataSource.myDS.user = quartz
org.quartz.dataSource.myDS.password = quartz123
org.quartz.dataSource.myDS.maxConnections = 100
#============================================================================
# Configure Provider Ip , Port
#============================================================================
org.quartz.scheduler.instanceName = MyClusteredScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.idleWaitTime = 30000
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2
org.quartz.threadPool.threadPriority = 5
org.quartz.scheduler.batchTriggerAcquisitionMaxCount=1000
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.dataSource = myDS
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.maxMisfiresToHandleAtATime=20
org.quartz.jobStore.clusterCheckinInterval = 20000
#============================================================================
# Configure Datasources
#============================================================================
org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL = jdbc:mysql://192.168.92.42:3306/quartz?useUnicode=true&characterEncoding=utf-8&useSSL=false
org.quartz.dataSource.myDS.user = rays
org.quartz.dataSource.myDS.password = lgsC789
org.quartz.dataSource.myDS.maxConnections = 100
#============================================================================
# Configure Provider Ip , Port
#============================================================================
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.pcloud.common</groupId>
<artifactId>pcloud-common-parent</artifactId>
<version>2.1.0-RELEASE</version>
</parent>
<artifactId>pcloud-common-core</artifactId>
<packaging>jar</packaging>
<version>${pcloud-common-core.version}</version>
<name>pcloud-common-core</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.pcloud.common</groupId>
<artifactId>pcloud-common</artifactId>
<version>${pcloud-common.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- Database connect Begin -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<!-- Database connect End -->
<!-- Mysql Driver Begin -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- Mysql Driver End -->
<!-- ActiveMq Begin -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
</dependency>
<!-- ActiveMq End -->
<!-- Jackson Begin -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
<!-- Jackson End -->
<!-- Redis Begin -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<!-- Redis End -->
</dependencies>
</project>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.pcloud.common</groupId>
<artifactId>pcloud-common-parent</artifactId>
<version>2.1.0-RELEASE</version>
</parent>
<artifactId>pcloud-common-core</artifactId>
<packaging>jar</packaging>
<version>${pcloud-common-core.version}</version>
<name>pcloud-common-core</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.pcloud.common</groupId>
<artifactId>pcloud-common</artifactId>
<version>${pcloud-common.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- Database connect Begin -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<!-- Database connect End -->
<!-- Mysql Driver Begin -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- Mysql Driver End -->
<!-- Jackson Begin -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
<!-- Jackson End -->
</dependencies>
</project>
package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.ExapiMessageDto;
import com.pcloud.common.exceptions.BizException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.ExapiMessageDto;
@Component("exapiQueueBiz")
public class ExapiQueueBizImpl implements ExapiQueueBiz{
private static final Logger LOGGER = LoggerFactory.getLogger(ExapiQueueBiz.class);
public class ExapiQueueBizImpl implements ExapiQueueBiz {
@Autowired(required = false)
@Qualifier("jmsExapiTemplate")
private JmsTemplate jmsExapiTemplate;
@Autowired
private AmqpTemplate amqpTemplate;
@Override
public void sendMessageQueue(ExapiMessageDto exapiMessageDto) {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(exapiMessageDto);
}
};
@Override
@ParamLog("发送对外API queue")
public void sendMessageQueue(ExapiMessageDto exapiMessageDto) {
amqpTemplate.convertAndSend(MQQueueConstant.EXAPI, exapiMessageDto);
}
try {
jmsExapiTemplate.send(messageCreator);
} catch (Exception e) {
LOGGER.error("发送失败," + e.getMessage() + "," + exapiMessageDto, e);
throw BizException.SEND_QUEUE_FAIL;
}
LOGGER.info("发送成功," + exapiMessageDto);
}
}
package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.ConvertQueueDto;
import com.pcloud.common.core.dto.FrontEventDto;
import com.pcloud.common.exceptions.BizException;
......@@ -10,10 +9,10 @@ import com.pcloud.common.exceptions.BizException;
* @description:
*/
public interface FrontEventBiz {
/**
* 发送事件消息
*
* @param frontEventDto
*/
public void sendFrontEventQueue(FrontEventDto frontEventDto) throws BizException;
/**
* 发送事件消息
*
* @param frontEventDto
*/
public void sendFrontEventQueue(FrontEventDto frontEventDto) throws BizException;
}
package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.FrontEventDto;
import com.pcloud.common.exceptions.BizException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
/**
* @author Shichunshan
* @date: Created in 2018/4/17 11:09
* @description:
*/
@Component("frontEventBiz")
public class FrontEventBizImpl implements FrontEventBiz{
/**
*
*/
private final static Logger logger= LoggerFactory.getLogger(ConvertQueueBizImpl.class);
@Autowired(required=false)
@Qualifier("jmsFrontEventTemplate")
private JmsTemplate jmsFrontEventTemplate;
/**
* 发送事件消息
*
* @param frontEventDto
*/
@Override
public void sendFrontEventQueue(FrontEventDto frontEventDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(frontEventDto);
}
};
try {
jmsFrontEventTemplate.send(messageCreator);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + frontEventDto, e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + frontEventDto);
}
/**
* 生成(事件ID/漏斗ID)前缀
*
* @param targetClass
* @param targetType
*/
public static String generatePrefix(String targetClass,String targetType){
StringBuilder prefix = new StringBuilder();
prefix.append(targetClass.toLowerCase()+"_");
prefix.append(targetType.toLowerCase()+"_");
return prefix.toString();
}
}
package com.pcloud.common.core.biz;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.FrontEventDto;
import com.pcloud.common.exceptions.BizException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* @author Shichunshan
* @date: Created in 2018/4/17 11:09
* @description:
*/
@Component("frontEventBiz")
public class FrontEventBizImpl implements FrontEventBiz {
/**
*
*/
private final static Logger LOGGER = LoggerFactory.getLogger(ConvertQueueBizImpl.class);
// @Autowired(required=false)
// @Qualifier("jmsFrontEventTemplate")
// private JmsTemplate jmsFrontEventTemplate;
@Resource
private AmqpTemplate amqpTemplate;
/**
* 发送事件消息
*
* @param frontEventDto
*/
// @Override
// public void sendFrontEventQueue(FrontEventDto frontEventDto) throws
// BizException {
// MessageCreator messageCreator = session ->
// session.createObjectMessage(frontEventDto);
// try {
// jmsFrontEventTemplate.send(messageCreator);
// } catch (Exception e) {
// logger.error("发送失败," + e.getMessage() + "," + frontEventDto, e);
// throw BizException.SEND_QUEUE_FAIL;
// }
// logger.info("发送成功," + frontEventDto);
// }
/**
* 文件转码QUEUE
*/
@Override
@ParamLog(description = "大数据埋点QUEUE")
public void sendFrontEventQueue(FrontEventDto frontEventDto) throws BizException {
LOGGER.info("===大数据埋点===start --> frontEventDto:{}", frontEventDto);
amqpTemplate.convertAndSend(MQQueueConstant.FRONT_EVENT, frontEventDto);
LOGGER.info("===大数据埋点===end --> frontEventDto:{}", frontEventDto);
}
/**
* 生成(事件ID/漏斗ID)前缀
*
* @param targetClass
* @param targetType
*/
public static String generatePrefix(String targetClass, String targetType) {
return targetClass.toLowerCase() + "_" + targetType.toLowerCase() + "_";
}
}
package com.pcloud.common.core.biz;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.FundMessageDto;
import com.pcloud.common.exceptions.BizException;
/**
* @description 基金资源变更记录消息队列实现类
* @author PENG
* @date 2017年10月18日 下午2:11:52
* @version 1.0
* @description 基金资源变更记录消息队列实现类
* @date 2017年10月18日 下午2:11:52
*/
@Component("fundQueueBiz")
public class FundQueueBizImpl implements FundQueueBiz {
......@@ -29,29 +24,20 @@ public class FundQueueBizImpl implements FundQueueBiz {
*/
private final static Logger logger = LoggerFactory.getLogger(FundQueueBizImpl.class);
@Autowired(required = false)
@Qualifier("jmsFundTemplate")
private JmsTemplate jmsFundTemplate;
@Autowired
private AmqpTemplate amqpTemplate;
/**
* 发送队列
*/
@Override
@ParamLog("发送基金资源变更记录消息QUEUE")
public void sendFundMessage(FundMessageDto fundMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(fundMessageDto);
}
};
try {
jmsFundTemplate.send(messageCreator);
amqpTemplate.convertAndSend(MQQueueConstant.FUND, fundMessageDto);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + fundMessageDto.toString(), e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + fundMessageDto.toString());
}
}
package com.pcloud.common.core.biz;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.apache.activemq.command.ActiveMQQueue;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.FunnelFlowStruct.FlowNode;
import com.pcloud.common.core.constant.FunnelFlowStruct.TargetRoleType;
import com.pcloud.common.core.constant.FunnelFlowStruct.TargetType;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.FunnelFlowQueueDto;
import com.pcloud.common.exceptions.BizException;
/**
* @描述: 发送模板消息队列实现类
* @作者: shuyh
* @创建时间: 2018年1月9日
* @版本:1.0
* @描述: 发送模板消息队列实现类 @作者: shuyh @创建时间: 2018年1月9日 @版本:1.0
*/
@Component("funnelFlowQueueBiz")
public class FunnelFlowQueueBizImpl implements FunnelFlowQueueBiz{
public class FunnelFlowQueueBizImpl implements FunnelFlowQueueBiz {
/**
*
*/
private final static Logger logger=LoggerFactory.getLogger(FunnelFlowQueueBizImpl.class);
@Autowired(required=false)
@Qualifier("jmsFunnelFlowTemplate")
private JmsTemplate jmsFunnelFlowTemplate;
@Autowired(required=false)
@Qualifier("funnelFlowQueue")
private ActiveMQQueue funnelFlowQueue;
@Autowired
private AmqpTemplate amqpTemplate;
/**
* 发送队列
* 用户漏斗QUEUE
*/
@Override
@ParamLog("用户漏斗QUEUE")
public void sendMessageQueue(FunnelFlowQueueDto funnelFlowQueueDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(funnelFlowQueueDto);
}
};
try {
jmsFunnelFlowTemplate.send(funnelFlowQueue, messageCreator);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + funnelFlowQueueDto, e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + funnelFlowQueueDto);
amqpTemplate.convertAndSend(MQQueueConstant.FUNNEL_FLOW, funnelFlowQueueDto);
}
/**
* 发送队列
*/
@Override
public void sendMessageQueue(TargetType targetType, TargetRoleType targetRoleType, FlowNode flowNode, String ip, String userAgent) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetRoleType, flowNode, ip, userAgent);
public void sendMessageQueue(TargetType targetType, TargetRoleType targetRoleType, FlowNode flowNode, String ip,
String userAgent) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetRoleType, flowNode, ip,
userAgent);
sendMessageQueue(funnelFlowQueueDto);
}
......@@ -75,18 +45,22 @@ public class FunnelFlowQueueBizImpl implements FunnelFlowQueueBiz{
* 发送队列
*/
@Override
public void sendMessageQueue(TargetType targetType, Long targetId, TargetRoleType targetRoleType, Long targetRoleId, FlowNode flowNode) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetId, targetRoleType, targetRoleId, flowNode);
public void sendMessageQueue(TargetType targetType, Long targetId, TargetRoleType targetRoleType, Long targetRoleId,
FlowNode flowNode) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetId, targetRoleType,
targetRoleId, flowNode);
sendMessageQueue(funnelFlowQueueDto);
}
/**
* 发送队列
*/
@Override
public void sendMessageQueue(TargetType targetType, Long targetId, String subtypeCode, TargetRoleType targetRoleType, Long targetRoleId, FlowNode flowNode) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetId, subtypeCode, targetRoleType, targetRoleId, flowNode);
public void sendMessageQueue(TargetType targetType, Long targetId, String subtypeCode,
TargetRoleType targetRoleType, Long targetRoleId, FlowNode flowNode) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetId, subtypeCode,
targetRoleType, targetRoleId, flowNode);
sendMessageQueue(funnelFlowQueueDto);
}
}
package com.pcloud.common.core.biz;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.LabelUsedMessageDto;
import com.pcloud.common.exceptions.BizException;
/**
* @描述: 标签使用队列实现类
* @作者: shuyh
* @创建时间: 2017年5月23日
* @版本:1.0
* @描述: 标签使用队列实现类 @作者: shuyh @创建时间: 2017年5月23日 @版本:1.0
*/
@Component("labelUsedQueueBiz")
public class LabelUsedQueueBizImpl implements LabelUsedQueueBiz{
public class LabelUsedQueueBizImpl implements LabelUsedQueueBiz {
/**
*
*/
private final static Logger logger = LoggerFactory.getLogger(LabelUsedQueueBizImpl.class);
@Autowired(required=false)
@Qualifier("jmsLabelUsedTemplate")
private JmsTemplate jmsLabelUsedTemplate;
@Autowired
private AmqpTemplate amqpTemplate;
/**
* 发送队列
*/
@Override
@ParamLog("标签使用QUEUE")
public void sendMessageQueue(LabelUsedMessageDto labelUsedMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(labelUsedMessageDto);
}
};
try {
jmsLabelUsedTemplate.send(messageCreator);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + labelUsedMessageDto, e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + labelUsedMessageDto);
amqpTemplate.convertAndSend(MQQueueConstant.LABEL_USED, labelUsedMessageDto);
}
}
package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.DynamicDto;
import com.pcloud.common.exceptions.BizException;
import org.apache.activemq.command.ActiveMQQueue;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.DynamicDto;
import com.pcloud.common.exceptions.BizException;
/**
* @描述:
* @作者:lucas
* @创建时间:2017年12月14日,15:58
* @版本:1.0
*
* @作者:lucas @创建时间:2017年12月14日,15:58 @版本:1.0
*/
@Component("merchantDynamicQueueBiz")
public class MerchantDynamicQueueBizImpl implements MerchantDynamicQueueBiz {
private final static Logger logger= LoggerFactory.getLogger(MerchantDynamicQueueBizImpl.class);
/**
* 消息模板
*/
@Autowired(required=false)
@Qualifier("jmsDynamicTemplate")
private JmsTemplate jmsDynamicTemplate;
@Autowired
private AmqpTemplate amqpTemplate;
@Override
public void send(DynamicDto dynamicDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(dynamicDto);
}
};
try {
jmsDynamicTemplate.send(messageCreator);
} catch (Exception e) {
logger.error("发送失败,"+e.getMessage()+","+dynamicDto,e);
throw BizException.SEND_QUEUE_FAIL;
}
@Override
@ParamLog("动态监控QUEUE")
public void send(DynamicDto dynamicDto) throws BizException {
amqpTemplate.convertAndSend(MQQueueConstant.MERCHANT_DYNAMIC, dynamicDto);
}
logger.info("发送成功,"+dynamicDto);
}
}
......@@ -2,6 +2,7 @@ package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.SendAppMessageDto;
import com.pcloud.common.core.dto.SendEmailDto;
import com.pcloud.common.core.dto.SendMessageDto;
import com.pcloud.common.core.dto.SendNotifyDto;
......@@ -37,5 +38,10 @@ public interface MessageBiz {
* @param sendSMSDto
*/
void sendSMS(SendMessageDto smsParam);
/**
* 短信推送
*/
void sendAppMessage(SendAppMessageDto sendAppMessageDto);
}
package com.pcloud.common.core.biz;
import java.io.IOException;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.SendAppMessageDto;
import com.pcloud.common.core.dto.SendEmailDto;
import com.pcloud.common.core.dto.SendMessageDto;
import com.pcloud.common.core.dto.SendNotifyDto;
......@@ -20,148 +16,82 @@ import com.pcloud.common.utils.mq.MqMessage;
import com.pcloud.common.utils.mq.MqMessageTypeEnum;
/**
*
* @描述:邮件业务实现
* @作者:shichunshan
* @创建时间:2016年6月24日,下午2:19:27
* @版本:1.0
* @创建时间:2016年6月24日,下午2:19:27 @版本:1.0
*/
@Component("mailBiz")
public class MessageBizImpl implements MessageBiz{
private final static Logger logger=LoggerFactory.getLogger(MessageBizImpl.class);
@Component("messageQueueBiz")
public class MessageBizImpl implements MessageBiz {
private final static Logger logger = LoggerFactory.getLogger(MessageBizImpl.class);
@Autowired
private AmqpTemplate amqpTemplate;
/**
* 消息模板
* 发送邮件
*
* @param sendEmailDto
*/
@Autowired(required = false)
@Qualifier("jmsMessageTemplate")
private JmsTemplate jmsMessageTemplate;
@Override
@ParamLog("发送邮件")
public void sendEmail(SendEmailDto sendEmailDto) {
MessageCreator messageCreator = new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
MqMessage mqMessage = null;
try {
mqMessage = formateMessage(sendEmailDto);
logger.info("mqMessage+++++++++++" + mqMessage);
} catch (IOException e) {
logger.error("邮件发送失败," + sendEmailDto);
return null;
}
return session.createObjectMessage(mqMessage);
}
};
try {
jmsMessageTemplate.send(messageCreator);
ObjectMapper objectMapper = new ObjectMapper();
String content = objectMapper.writeValueAsString(sendEmailDto);
MqMessage mqMessage = new MqMessage(MqMessageTypeEnum.EMAIL, content);
amqpTemplate.convertAndSend(MQQueueConstant.MESSAGE, mqMessage);
} catch (Exception e) {
logger.error("邮件发送失败," + e.getMessage() + "," + sendEmailDto, e);
return;
}
logger.info("邮件发送成功," + sendEmailDto);
}
/**
* 格式化邮件内容
*
* @param mailParam
* 邮件参数
* @return 队列消息
* @throws IOException
* 序列化为json错误
* 发送站内信
*/
private MqMessage formateMessage(SendEmailDto sendEmailDto) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
String content = objectMapper.writeValueAsString(sendEmailDto);
return new MqMessage(MqMessageTypeEnum.EMAIL, content);
}
@Override
@ParamLog("发送站内信")
public void sendLetter(SendNotifyDto sendNotifyDto) {
MessageCreator messageCreator = new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
MqMessage mqMessage = null;
try {
mqMessage = formateMessage(sendNotifyDto);
logger.info("mqMessage+++++++++++" + mqMessage);
} catch (IOException e) {
logger.error("站内信发送失败," + sendNotifyDto);
return null;
}
return session.createObjectMessage(mqMessage);
}
};
try {
jmsMessageTemplate.send(messageCreator);
ObjectMapper objectMapper = new ObjectMapper();
String content = objectMapper.writeValueAsString(sendNotifyDto);
MqMessage mqMessage = new MqMessage(MqMessageTypeEnum.LETTER, content);
amqpTemplate.convertAndSend(MQQueueConstant.MESSAGE, mqMessage);
} catch (Exception e) {
logger.error("站内信发送失败," + e.getMessage() + "," + sendNotifyDto, e);
return;
}
logger.info("站内信发送成功," + sendNotifyDto);
}
/**
* 格式化站内信内容
*
* @param sendNotifyDto
* 站内信参数
* @return 队列消息
* @throws IOException
* 序列化为json错误
* 发送短信
*/
private MqMessage formateMessage(SendNotifyDto sendNotifyDto) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
String content = objectMapper.writeValueAsString(sendNotifyDto);
return new MqMessage(MqMessageTypeEnum.LETTER, content);
}
@Override
public void sendSMS(SendMessageDto smsParam) {
MessageCreator messageCreator = new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
MqMessage mqMessage = null;
try {
mqMessage = formateMessage(smsParam);
logger.info("mqMessage+++++++++++" + mqMessage);
} catch (IOException e) {
logger.error("短信发送失败," + smsParam);
return null;
}
return session.createObjectMessage(mqMessage);
}
};
@ParamLog("发送短信")
public void sendSMS(SendMessageDto sendMessageDto) {
try {
jmsMessageTemplate.send(messageCreator);
ObjectMapper objectMapper = new ObjectMapper();
String content = objectMapper.writeValueAsString(sendMessageDto);
MqMessage mqMessage = new MqMessage(MqMessageTypeEnum.SHORT_MESSAGE, content);
amqpTemplate.convertAndSend(MQQueueConstant.MESSAGE, mqMessage);
} catch (Exception e) {
logger.error("短信发送失败," + e.getMessage() + "," + smsParam, e);
return;
logger.error("短信发送失败," + e.getMessage() + "," + sendMessageDto, e);
}
logger.info("短信发送成功," + smsParam);
}
/**
* 格式化内容
*
* @param sendSMSDto
* 邮件参数
* @return 队列消息
* @throws IOException
* 序列化为json错误
* 发送app推送
*/
private MqMessage formateMessage(SendMessageDto smsParam) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
String content = objectMapper.writeValueAsString(smsParam);
return new MqMessage(MqMessageTypeEnum.SHORT_MESSAGE, content);
@Override
@ParamLog("发送APP推送")
public void sendAppMessage(SendAppMessageDto sendAppMessageDto) {
try {
ObjectMapper objectMapper = new ObjectMapper();
String content = objectMapper.writeValueAsString(sendAppMessageDto);
MqMessage mqMessage = new MqMessage(MqMessageTypeEnum.APP_MESSAGE, content);
amqpTemplate.convertAndSend(MQQueueConstant.MESSAGE, mqMessage);
} catch (Exception e) {
logger.error("APP推送发送失败," + e.getMessage() + "," + sendAppMessageDto, e);
}
}
}
package com.pcloud.common.core.biz;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Service;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.OperationLogDto;
import com.pcloud.common.exceptions.BizException;
@Service("operationLogQueueBiz")
public class OperationLogQueueBizImpl implements OperationLogQueueBiz {
/**
*
*/
private final static Logger logger = LoggerFactory.getLogger(OperationLogQueueBizImpl.class);
/**
* 消息模板
*/
@Autowired(required = false)
@Qualifier("jmsLogTemplate")
private JmsTemplate jmsLogTemplate;
@Autowired
private AmqpTemplate amqpTemplate;
@Override
@ParamLog("日志记录QUEUE")
public void send(OperationLogDto operationLog) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(operationLog);
}
};
try {
jmsLogTemplate.send(messageCreator);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + operationLog, e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + operationLog);
amqpTemplate.convertAndSend(MQQueueConstant.LOG, operationLog);
}
}
package com.pcloud.common.core.biz;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.TemplateMessageDto;
import com.pcloud.common.exceptions.BizException;
......@@ -19,39 +13,21 @@ import com.pcloud.common.exceptions.BizException;
*
* @描述:发送模板消息队列实现类
* @作者:songx
* @创建时间:2016年11月23日,下午4:53:43
* @版本:1.0
* @创建时间:2016年11月23日,下午4:53:43 @版本:1.0
*/
@Component("templateQueueBiz")
public class TemplateQueueBizImpl implements TemplateQueueBiz {
/**
*
*/
private final static Logger logger=LoggerFactory.getLogger(TemplateQueueBizImpl.class);
@Autowired(required=false)
@Qualifier("jmsTemplateTemplate")
private JmsTemplate jmsTemplateTemplate;
@Autowired
private AmqpTemplate amqpTemplate;
/**
* 发送队列
* 发送模板消息
*/
@Override
@ParamLog("发送模板消息QUEUE")
public void sendMessageQueue(TemplateMessageDto templateMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(templateMessageDto);
}
};
try {
jmsTemplateTemplate.send(messageCreator);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + templateMessageDto, e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + templateMessageDto);
amqpTemplate.convertAndSend(MQQueueConstant.TEMPLATE, templateMessageDto);
}
}
package com.pcloud.common.core.biz;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Service;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.UserActionMessageDto;
import com.pcloud.common.exceptions.BizException;
/**
* @描述: 发送模板消息队列实现类
* @作者: shuyh
* @创建时间: 2017年5月23日
* @版本:1.0
* @描述: 发送模板消息队列实现类 @作者: shuyh @创建时间: 2017年5月23日 @版本:1.0
*/
@Service("userActionQueueBiz")
public class UserActionQueueBizImpl implements UserActionQueueBiz{
public class UserActionQueueBizImpl implements UserActionQueueBiz {
/**
*
*/
private final static Logger logger=LoggerFactory.getLogger(UserActionQueueBizImpl.class);
@Autowired(required=false)
@Qualifier("jmsUserActionTemplate")
private JmsTemplate jmsUserActionTemplate;
@Autowired
private AmqpTemplate amqpTemplate;
/**
* 发送队列
* 用户行为QUEUE
*/
@Override
@ParamLog("用户行为QUEUE")
public void sendMessageQueue(UserActionMessageDto userActionMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(userActionMessageDto);
}
};
try {
jmsUserActionTemplate.send(messageCreator);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + userActionMessageDto, e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + userActionMessageDto);
amqpTemplate.convertAndSend(MQQueueConstant.USER_ACTION, userActionMessageDto);
}
}
package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.WeektaskMessageDto;
import com.pcloud.common.exceptions.BizException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.WeektaskMessageDto;
import com.pcloud.common.exceptions.BizException;
/**
* 编辑周任务队列实现
......@@ -21,37 +16,18 @@ import javax.jms.Session;
* @create 2017-09-21 09:33
**/
@Component("weektaskQueueBiz")
public class WeektaskQueueBizImpl implements WeektaskQueueBiz{
private final static Logger logger= LoggerFactory.getLogger(WeektaskQueueBizImpl.class);
@Autowired(required=false)
@Qualifier("jmsWeektaskTemplate")
private JmsTemplate jmsWeekstaskTemplate;
// @Autowired(required= false)
// @Qualifier("raystask")
// private ActiveMQQueue templateQueue;
/**
* 发送队列
*/
@Override
public void sendMessageQueue(WeektaskMessageDto weektaskMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(weektaskMessageDto);
}
};
try {
jmsWeekstaskTemplate.send(messageCreator);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + weektaskMessageDto, e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + weektaskMessageDto);
}
public class WeektaskQueueBizImpl implements WeektaskQueueBiz {
@Autowired
private AmqpTemplate amqpTemplate;
/**
* 发送队列
*/
@Override
@ParamLog("红榜任务QUEUE")
public void sendMessageQueue(WeektaskMessageDto weektaskMessageDto) throws BizException {
amqpTemplate.convertAndSend(MQQueueConstant.WEEK_TASK, weektaskMessageDto);
}
}
/**
*
*
*/
package com.pcloud.common.core.constant;
/**
*
*
* @author:songx
* @date:2017年2月27日,下午4:29:06
*
* 使用RabbitMQ需要去MqQueueConstant中声明队列名称,枚举的第二个值将不再使用,第一个值正常使用
* @date:2017年2月27日,下午4:29:06 使用RabbitMQ需要去MqQueueConstant中声明队列名称,枚举的第二个值将不再使用,第一个值正常使用
* modify by songx at 2018-08-22
*/
public enum ConvertEnum {
/**
* 应用转码
*/
APP("APP", "convert2App"),
/**
* 资源中心转码
*/
RESOURCE("RESOURCE", "convert2Resource"),
/**
* 报名时的视频转换
*/
MATCH("MATCH", "convert2Resource"),
/**
* 资源中心即时转换
*/
INSTANT_RESOURCE("INSTANT_RESOURCE", "convert2Resource"),
/**
* 报名应用
*/
MATCH_APP("MATCH_APP", "convert2MatchApp"),
/**
* 内容中心
*/
CONTENT("CONTENT", "convert2Content"),
/**
* 内容中心->题库:文件记忆功能
*/
PRETEST_FILEMEMORY("PRETEST_FILEMEMORY", "convert2PretestFilememory"),
/**
* 小游戏
*/
RAYSTASK("RAYSTASK", "convert2Raystask"),
/**
* 圈子应用
*/
GROUP_APP("GROUP_APP", "convert2GroupApp"),
/**
* 投票应用
*/
VOTE_APP("VOTE_APP", "convert2VoteApp"),
/**
* 教育表格应用
*/
EF_APP("EF_APP", "convert2EfApp"),
/**
* 测试工具
*/
TEST_APP("TEST_APP", "convert2TestApp"),
/**
* 直播工具
*/
LIVE_APP("LIVE_APP", "convert2LiveApp"),
/**
* 视频课
*/
VIDEO_LESSON("VIDEO_LESSON", "convert2VideoLesson");
/**
* 值
*/
public final String value;
/**
* 模板名称
*/
public final String jmsTemplate;
/**
* 构造
*
* @param value
*/
private ConvertEnum(String value, String jmsTemplate) {
this.value = value;
this.jmsTemplate = jmsTemplate;
}
/**
* 应用转码
*/
APP("APP"),
/**
* 资源中心转码
*/
RESOURCE("RESOURCE"),
/**
* 报名时的视频转换
*/
MATCH("MATCH"),
/**
* 资源中心即时转换
*/
INSTANT_RESOURCE("INSTANT_RESOURCE"),
/**
* 报名应用
*/
MATCH_APP("MATCH_APP"),
/**
* 内容中心
*/
CONTENT("CONTENT"),
/**
* 内容中心->题库:文件记忆功能
*/
PRETEST_FILEMEMORY("PRETEST_FILEMEMORY"),
/**
* 小游戏
*/
RAYSTASK("RAYSTASK"),
/**
* 圈子应用
*/
GROUP_APP("GROUP_APP"),
/**
* 投票应用
*/
VOTE_APP("VOTE_APP"),
/**
* 教育表格应用
*/
EF_APP("EF_APP"),
/**
* 测试工具
*/
TEST_APP("TEST_APP"),
/**
* 直播工具
*/
LIVE_APP("LIVE_APP"),
/**
* 视频课
*/
VIDEO_LESSON("VIDEO_LESSON"),
/**
* 音频课
*/
AUDIO_LESSON("AUDIO_LESSON"),
/**
* 音频纯听
*/
AUDIO_LISTEN("AUDIO_LISTEN");
/**
* 值
*/
public final String value;
/**
* 构造
*
* @param value
*/
private ConvertEnum(String value) {
this.value = value;
}
}
......@@ -81,6 +81,11 @@ public class MQQueueConstant {
public static final String CONVERT_TO_VOTEAPP = "convert2VoteAppQueue";
/**
* 文件转码结束(音视频)->音频课/纯听
*/
public static final String CONVERT_TO_AUDIOLESSON = "convert2AudioLessonQueue";
/**
* 数据埋点
*/
public static final String FRONT_EVENT = "frontEventQueue";
......
......@@ -16,34 +16,260 @@ public class MQTopicProducer {
*/
public static final String FILE_TRANSCODE = "topic.fileTranscode";
/**
* 报名新增用户
*/
public static final String BM_ADD_USER = "topic.bmAddUser";
/**
* 应用新增
*/
public static final String APP_ADD = "topic.appAdd";
/**
* 应用修改
*/
public static final String APP_UPDATE = "topic.appUpdate";
/**
* 应用删除
*/
public static final String APP_DELETE = "topic.appDelete";
/**
* 应用删除(新)
*/
public static final String APP_DELETE_NEW = "topic.appDeleteNew";
/**
* 应用审核
*/
public static final String APP_AUDIT = "topic.appAudit";
/**
* 选择默认渠道
*/
public static final String CHOOSE_DEFAULT_CHANNEL = "topic.chooseDefaultChannel";
/**
* 删除视频
*/
public static final String DELETE_VIDEO = "topic.deleteVideo";
/**
* 标签修改
*/
public static final String LABEL_UPDATE = "topic.labelUpdate";
/**
* 支付
*/
public static final String PAYMENT = "topic.payment";
/**
* TIP
*/
public static final String TIP = "topic.tip";
/**
* 订单完成
*/
public static final String FINISH_ORDER = "topic.finishOrder";
/**
* 资源修改
*/
public static final String RESOURCE_UPDATE = "topic.resourceUpdate";
/**
* 资源删除
*/
public static final String RESOURCE_DELETE = "topic.resourceDelete";
/**
* 扫码记录
*/
public static final String SCAN_RECORD = "topic.scanRecord";
/**
* 图书删除
*/
public static final String BOOK_DELETE = "topic.bookDelete";
/**
* BOOKTHAW
*/
public static final String BOOK_THAW = "topic.bookThaw";
/**
* TEMPLETAPPCREATE
*/
public static final String TEMPLET_APP_CREATE = "topic.templetAppCreate";
/**
* PERMISSION
*/
public static final String PERMISSION = "topic.permission";
/**
* PROMOTION_EXPIRE
*/
public static final String PROMOTION_EXPIRE = "topic.promotionExpire";
/**
* 商品修改
*/
public static final String PRODUCT_UPDATE = "topic.productUpdate";
/**
* 商品删除
*/
public static final String PRODUCT_DELETE = "topic.productDelete";
/**
* 商品审核
*/
public static final String PRODUCT_AUDIT = "topic.productAudit";
/**
* 商品图片1修改
*/
public static final String PRODUCT_PIC1_UPDATE = "topic.productPic1Update";
/**
* 用户注册
*/
public static final String REGISTER_PARTY = "topic.registerParty";
/**
* 用户修改
*/
public static final String UPDATE_PARTY = "topic.updateParty";
/**
* 问答确认
*/
public static final String QA_ASK = "topic.qaAsk";
/**
* 问答完成
*/
public static final String QA_FINISH = "topic.qaFinish";
/**
* 问答答案
*/
public static final String QA_ANSWER = "topic.qaAnswer";
/**
* 问答取消
*/
public static final String QA_REFUSE = "topic.qaRefuse";
/**
* QR_MESSAGE_UPDATE
*/
public static final String QR_MESSAGE_UPDATE = "topic.qrMessageUpdate";
/**
* GIVE_GIFT
*/
public static final String GIVE_GIFT = "topic.giveGift";
/**
* 修改密码
*/
public static final String UPDATE_PWD = "topic.updatePwd";
/**
* topic交换机名称(勿改)
*/
public static final String EXCHAGE = "rays.topic";
/**
* 管理消息
*/
public static final String MANAGE_MESSAGE = "topic.manageMessage";
/**
* RETURN_4_ADVISER
*/
public static final String RETURN_4_ADVISER = "topic.return4adviser";
/**
* 退款
*/
public static final String REFUND = "topic.refund";
/**
* 退货
*/
public static final String REFUND_PRODUCT = "topic.refundProduct";
/**
* 发货
*/
public static final String SEND_PRODUCT = "topic.sendProduct";
/**
* 确认收货
*/
public static final String CONFIRM_ORDER = "topic.confirmOrder";
/**
* 申请退货
*/
public static final String APPLY_REFUND_PRODUCT = "topic.applyRefundProduct";
/**
* 取消订单
*/
public static final String CANCEL_ORDER = "topic.cancelOrder";
/**
* 模板二维码扫描
*/
public static final String TEMP_QRCODE_SCAN = "topic.tempQrcodeScan";
/**
* 删除二维码
*/
public static final String DELETE_QRCODE = "topic.deleteQrcode";
/**
* 二维码图书修改
*/
public static final String QRCODE_BOOK_UPDATE = "topic.qrcodeBookUpdate";
/**
* 重置
*/
public static final String RECHARGE = "topic.recharge";
/**
* 改变显示状态
*/
public static final String CHANGE_SHOW_STATE = "topic.changeShowState";
/**
* 删除合作出版社
*/
public static final String DELETE_COOPERATIVE_AGENT = "topic.deleteCooperativeAgent";
/**
* TASK_BONUS
*/
public static final String TASK_BONUS = "topic.taskBonus";
/**
* 读者消息
*/
public static final String READER_MESSAGE = "topic.readerMessage";
/**
* 记录用户习惯
*/
public static final String RECORD_USER_HABIT = "topic.recordUserHabit";
/**
* topic交换机名称(勿改)
*/
public static final String EXCHAGE = "rays.topic";
/**
* 更新图书封面图
......
......@@ -208,6 +208,21 @@ public class ProductTypeConstant {
public static final String PRETESTAPP = "PRETESTAPP";
/**
* 音频
*/
public static final String AUDIO_RESOURCE = "AUDIO_RESOURCE";
/**
* 问答
*/
public static final String QA_APP = "QA_APP";
/**
* 电子书
*/
public static final String EBOOK_APP = "EBOOK_APP";
/**
* 热门作品类型
*/
public static final String[] HOT_PRODUCT_TYPE = {QA, PDF, VIDEO, PRETEST};
......@@ -233,7 +248,7 @@ public class ProductTypeConstant {
* 应用型作品(伴随应用使用)
*/
public static final String[] APP_PRODUCT = {LOOK, LIVE, TUTOR, GROUP, ZSCORE, VOTE, CLOCK, TEST, AUDIOAPP, ANSWER,
EF, MUSIC, VIDEO_COURSE, PRETESTAPP};
EF, MUSIC, VIDEO_COURSE, PRETESTAPP, AUDIO_RESOURCE, QA_APP, EBOOK_APP};
/**
* 数据平台埋点型作品
......
package com.pcloud.common.core.constant;
/**
* 场景值
* @author 作者 : lili
* @date 创建时间:2016年12月2日 上午9:10:49
* @version 1.0
* @return
*/
* 场景值
* @author 作者 : lili
* @date 创建时间:2016年12月2日 上午9:10:49
* @version 1.0
* @return
*/
public enum SceneCode {
/**
* 奖金发放通知
*/
PRIZE_SEND_SCENE("PRIZE_SEND_SCENE"),
/**
* 服务完成通知
*/
SERVICE_FINISH_SCENE("SERVICE_FINISH_SCENE"),
/**
* 新订单通知
*/
NEW_ORDER_SCENE("NEW_ORDER_SCENE"),
/**
* 订单支付成功
*/
PAY_SUCCESS_SCENE("PAY_SUCCESS_SCENE"),
/**
* 报名成功提醒
*/
BM_SUCCESS_SCENE("BM_SUCCESS_SCENE"),
/**
* 商家回复提醒
*/
REPLY_SCENE("REPLY_SCENE"),
/**
* 拒绝提醒
*/
REFUSE_SCENE("REFUSE_SCENE"),
/**
* 用户提问通知
*/
USER_QUESTION_SCENE("USER_QUESTION_SCENE"),
/**
* 退货申请提醒
*/
REFUND_APPLICATION_SCENE("REFUND_APPLICATION_SCENE"),
/**
* 退货失败通知
*/
REFUND_REFUSE_SCENE("REFUND_REFUSE_SCENE"),
/**
* 退货确认通知
*/
REFUND_CONFIRM_SCENE("REFUND_CONFIRM_SCENE"),
/**
* 订单确认收货通知
* 退货完成通知
*/
CONFIRM_GOODS_SCENE("CONFIRM_GOODS_SCENE"),
REFUND_FINISH_SCENE("REFUND_FINISH_SCENE"),
/**
* 退款成功
*/
REFUND_SUCCESS_SCENE("REFUND_SUCCESS_SCENE"),
/**
* 订单发货提醒
*/
SIPPING_SCENE("SIPPING_SCENE"),
/**
* 审核结果通知
*/
AUDIT_RESULT_SCENE("AUDIT_RESULT_SCENE"),
/**
* 任务处理结果提醒
*/
TASK_HANDLE_RESULT_SCENE("TASK_HANDLE_RESULT_SCENE"),
/**
* 订单消息通知
*/
ORDER_MESSAGE_SCENE("ORDER_MESSAGE_SCENE"),
/**
* 退货申请结果通知
*/
REFUND_APPLICATION_RESULT_SCENE("REFUND_APPLICATION_RESULT_SCENE"),
/**
* 确认登录提醒
*/
CONFIRM_LOGIN_SCENE("CONFIRM_LOGIN_SCENE"),
/**
* 成功报名付费通知
*/
ENROLL_SUCCESS_SCENE("ENROLL_SUCCESS_SCENE"),
/**
* 预约提醒
*/
APPOINT_SCENE("APPOINT_SCENE"),
/**
* 排名通知
*/
RANK_SCENE("RANK_SCENE"),
/**
* 学习进度提醒
*/
LEARN_PROGRESS_SCENE("LEARN_PROGRESS_SCENE"),
/**
* 项目任务提醒
*/
......@@ -140,12 +112,8 @@ public enum SceneCode {
/**
* 会员到期提醒
*/
MEMBERSHIP_EXPIRE("MEMBERSHIP_EXPIRE"),
/**
* 奖金发放通知
*/
PRIZE_SEND_SCENE("PRIZE_SEND_SCENE");
MEMBERSHIP_EXPIRE("MEMBERSHIP_EXPIRE");
/**
* 值
*/
......@@ -153,7 +121,7 @@ public enum SceneCode {
/**
* 构造
*
*
* @param value
*/
private SceneCode(String value) {
......
......@@ -36,7 +36,18 @@ public enum WeektaskCode {
CLICK_VIEW_GAINS("click_view_gains"),
//做书应用→创建音频应用→最后一步点击保存
CLICK_SAVE_AUDIO_APP("click_save_audio_app"),
//关联应用到二维码
RELATE_APP_TO_QRCODE("relate_app_to_qrcode"),
//查看案例不少于三个 并且提留时间高于90S
VIEW_SHARE_CASE("view_share_case"),
//点击进入编创大赛
CLICK_NECIS_MATCH("click_necis_match"),
//扫描二维码进入直播课
SCAN_WATCH_LIVEAPP("scan_watch_liveapp"),
//修改书刊信息
UPDATE_BOOK_INFO("update_book_info"),
//调整应用顺序
SET_STEP("set_step"),
/**
* -------通用埋点------
*/
......@@ -98,6 +109,36 @@ public enum WeektaskCode {
ADD_SUPERMERCHANT_COURSE("add_supermerchant_course"),
//开始直播
START_LIVE("start_live"),
//新增课程
ADD_TO_TABLE("add_to_table"),
//APP端开始直播
START_LIVEAPP("start_liveapp"),
//互动区发言
SPEAK_LIVEAPP("speak_liveapp"),
//退出直播
END_LIVEAPP("end_liveapp"),
//发布动态
POST_NOTE_APP("post_note_app"),
//发布动态图片动态
POST_PIC_NOTE_AND_TOP("post_pic_note_and_top"),
//建立营销机制
CREATE_MARKETING("create_marketing"),
//配置押题宝典
CONFIG_TREASURE("config_treasure"),
//读者圈发布PDF动态
W_POST_PDF_NOTE("w_post_pdf_note"),
//周任务配置二维码消息
CONFIG_WEEK_QRCODE("config_week_qrcode"),
//发布直播讲义
MODIFY_WORK("modify_work"),
//体验录播模式
EXPERIENCE_VIDEO("experience_video"),
//勾选超级作者作品
ADD_SUPER_COURSE("add_super_course"),
//读者端发布动态
C_PUBLISH_DYNAMIC("c_publish_dynamic"),
//专题问答设置免费
SET_FREE("set_free"),
//----------------------------------成就任务-------------------
/**
* 读者在读者圈中发动态
......@@ -485,71 +526,131 @@ public enum WeektaskCode {
/**
* 与读者交互
*/
W4_GROUP_COMMENT("w4_group_comment"),
W5_CREATE_BOOK("w5_create_book"),
/**
* 新增二维码
*/
W5_CREATE_QRCODE("w5_create_qrcode"),
/**
* 创建直播课应用
*/
W5_CREATE_LIVEAPP("w5_create_liveapp"),
/**
* 完成手机直播
*/
W5_FINISH_LIVEAPP("w5_finish_liveapp"),
/**
* 创建读者圈应用
*/
W5_CREATE_GROUP("w5_create_group"),
/**
* 更新读者圈应用
*/
W5_UPDATE_GROUP("w5_update_group"),
/**
* 创建答案应用
*/
W5_CREATE_ANSWER_APP("w5_create_answer_app"),
/**
* 创建视频应用
*/
W5_CREATE_VIDEO_APP("w5_create_video_app"),
/**
* 建立营销机制
*/
W5_CREATE_MARKETING("w5_create_marketing"),
/**
* 打造大IP图书
*/
W5_MAKE_IP_BOOK("w5_make_ip_book"),
/**
* 修改书刊信息
*/
W5_UPDATE_BOOK_INFO("w5_update_book_info"),
/**
* 创建音频应用
*/
W5_CREATE_AUDIO_APP("w5_create_audio_app"),
/**
* 创建打卡应用
*/
W5_CREATE_CLOCK_APP("w5_create_clock_app"),
/**
* 创建精品文章应用
*/
W5_CREATE_ARTICLE_APP("w5_create_article_app"),
/**
* 创建趣味测试应用
*/
W5_CREATE_TASTETEST_APP("w5_create_tastetest_app"),
/**
* 调整应用呈现顺序
*/
W5_SORT_APP("w5_sort_app"),
/**
* 回复图文资讯评论
* 查看纸书数据
*/
W4_ARTICLE_REPLY("w4_article_reply"),
W5_VIEW_BOOK_DATA("w5_view_book_data"),
/**
* 完善纸书问答合集
* 创建视频应用并关联书刊
*/
W4_CREATE_QA("w4_create_qa"),
W5_CREATE_VIDEO_APP_AND_RELATE("w5_create_video_app_and_relate"),
/**
* 建立衍生文本
* 更新PDF应用并发布到读者圈
*/
W4_UPLOAD_PDF("w4_upload_pdf"),
W5_UPDATE_GROUP_BY_PDF("w5_update_group_by_pdf"),
/**
* 创建视听内容
* 创建愿望单应用
*/
W4_UPLOAD_VIDEO("w4_upload_video"),
W5_CREATE_WISHLIST_APP("w5_create_wishlist_app"),
/**
* 让读者听见纸书
* 创建专题问答应用
*/
W4_UPLOAD_AUDIO("w4_upload_audio"),
W5_CREATE_EF_APP("w5_create_ef_app"),
/**
* 配套纸书插画图解
* 更新读者交流圈动态2
*/
W4_UPLOAD_PIC("w4_upload_pic"),
W5_CREATE_GROUP_FOR_PDF("w5_update_group_for_pdf"),
/**
* 呈现纸书全方位资讯
* 配置二维码消息
*/
W4_CREATE_SPECIAL("w4_create_special"),
W5_CONFIG_QRCODE("w5_config_qrcode"),
/**
* 秀出红榜任务排行
*发布直播讲义
*/
W4_SHARE_REPORT("w4_share_report"),
W5_PUBLISH_LECTURE("w5_publish_lecture"),
/**
* app发布语音动态
*体验录播模式
*/
W4_GROUP_VOICE_POST("w4_group_voice_post"),
W5_EXPERIENCE_VIDEO("w5_experience_video"),
/**
* 掌握纸书使用高峰
*审核动态
*/
W4_VIEW_BOOK_TIDE("w4_view_book_tide"),
W5_AUDIT_DYNAM("w5_audit_dynam"),
/**
* 二维码数据分析
*新建直播课应用
*/
W4_VIEW_QRCODE_TIDE("w4_view_qrcode_tide"),
W5_CREATE_SUPER_LIVEAPP("w5_create_super_liveapp"),
/**
* 了解纸书数据
*新建延伸阅读应用
*/
W4_VIEW_ANALYSIS("w4_view_analysis"),
W5_CREATE_PDF("w5_create_pdf"),
/**
* 查看纸书收益
*新建在线题库应用
*/
W4_VIEW_GAINS("w4_view_gains"),
W5_CREATE_QUESTION_BANK("w5_create_question_bank"),
/**
* 建立基于纸书内容的题库
*标准服务预览
*/
W4_UPLOAD_ITEM_BANK("w4_upload_item_bank"),
W5_VIEW_GUIDE("w5_view_guide"),
/**
* 纸书内容读者自测
*创建投票应用
*/
W4_CREATE_ITEM_BANK("w4_create_item_bank"),
W5_CREATE_VOTE_APP("w5_create_vote_app"),
/**
* 本周直播课
*创建抽奖应用
*/
W4_BEGIN_LIVE("w4_begin_live"),
W5_CREATE_DRAW_APP("w5_create_draw_app"),
;
public final String code;
......
package com.pcloud.common.core.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.SqlSessionTemplate;
import com.pcloud.common.page.PageBean;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
/**
* @描述:数据访问层基础支撑接口. @作者:DiSeng.H
* @创建时间:2016年3月11日,下午4:02:32 @版本:1.0
*/
public interface BaseDao<T> {
/**
* 根据实体对象新增记录.
*
* @param entity
* .
* @return id .
*/
long insert(T entity);
/**
* 批量保存对象.
*
* @param entity
* .
* @return id .
*/
long insert(List<T> list);
/**
* 更新实体对应的记录.
*
* @param entity
* .
* @return
*/
long update(T entity);
/**
* 更新实体对应的记录.
*
* @param entity
* @param sqlId
* @return
*/
long update(T entity, String sqlId);
/**
* 批量更新对象.
*
* @param entity
* .
* @return int .
*/
long update(List<T> list);
/**
* 根据ID查找记录.
*
* @param id
* .
* @return entity .
*/
T getById(long id);
/**
* 根据ID删除记录.
*
* @param id
* .
* @return
*/
long deleteById(long id);
/**
* 分页查询 .
*
* @param pageParam
* 分页参数.
* @param paramMap
* 业务条件查询参数.
* @return
*/
PageBean listPage(PageParam pageParam, Map<String, Object> paramMap);
PageBean listSimplePage(PageParam pageParam, Map<String, Object> paramMap, String sqlId);
PageBean listPage(PageParam pageParam, Map<String, Object> paramMap, String sqlId);
<C> PageBeanNew<C> listPageNew(PageParam pageParam, Map<String, Object> paramMap, String sqlId);
PageBean listPage(PageParam pageParam, Map<String, Object> paramMap, String sqlId, String countSqlId);
/**
* 根据条件查询 listBy: <br/>
*
* @param paramMap
* @return 返回集合
*/
List<T> listBy(Map<String, Object> paramMap);
List<Object> listBy(Map<String, Object> paramMap, String sqlId);
/**
* 根据条件查询 listBy: <br/>
*
* @param paramMap
* @return 返回实体
*/
T getBy(Map<String, Object> paramMap);
Object getBy(Map<String, Object> paramMap, String sqlId);
/**
* 根据序列名称获取下一个值
*
* @return
*/
String getSeqNextValue(String seqName);
SqlSessionTemplate getSessionTemplate();
SqlSession getSqlSession();
}
package com.pcloud.common.core.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.SqlSessionTemplate;
import com.pcloud.common.page.PageBean;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
/**
* @描述:数据访问层基础支撑接口. @作者:DiSeng.H
* @创建时间:2016年3月11日,下午4:02:32 @版本:1.0
*/
public interface BaseDao<T> {
/**
* 根据实体对象新增记录.
*
* @param entity .
* @return id .
*/
long insert(T entity);
/**
* 批量保存对象.
*
* @param entity .
* @return id .
*/
long insert(List<T> list);
/**
* 更新实体对应的记录.
*
* @param entity .
* @return
*/
long update(T entity);
/**
* 更新实体对应的记录.
*
* @param entity
* @param sqlId
* @return
*/
long update(T entity, String sqlId);
/**
* 更新实体对应的记录.
*
* @param entity
* @param sqlId
* @param errorMessage 错误消息
* @return
*/
long update(T entity, String sqlId, String errorMessage);
/**
* 批量更新对象.
*
* @param entity .
* @return int .
*/
long update(List<T> list);
/**
* 根据ID查找记录.
*
* @param id .
* @return entity .
*/
T getById(long id);
/**
* 根据ID删除记录.
*
* @param id .
* @return
*/
long deleteById(long id);
/**
* 分页查询 .
*
* @param pageParam 分页参数.
* @param paramMap 业务条件查询参数.
* @return
*/
PageBean listPage(PageParam pageParam, Map<String, Object> paramMap);
PageBean listSimplePage(PageParam pageParam, Map<String, Object> paramMap, String sqlId);
PageBean listPage(PageParam pageParam, Map<String, Object> paramMap, String sqlId);
<C> PageBeanNew<C> listPageNew(PageParam pageParam, Map<String, Object> paramMap, String sqlId);
PageBean listPage(PageParam pageParam, Map<String, Object> paramMap, String sqlId, String countSqlId);
/**
* 根据条件查询 listBy: <br/>
*
* @param paramMap
* @return 返回集合
*/
List<T> listBy(Map<String, Object> paramMap);
List<Object> listBy(Map<String, Object> paramMap, String sqlId);
/**
* 根据条件查询 listBy: <br/>
*
* @param paramMap
* @return 返回实体
*/
T getBy(Map<String, Object> paramMap);
Object getBy(Map<String, Object> paramMap, String sqlId);
/**
* 根据序列名称获取下一个值
*
* @return
*/
String getSeqNextValue(String seqName);
SqlSessionTemplate getSessionTemplate();
SqlSession getSqlSession();
}
......@@ -94,6 +94,18 @@ public class SendNotifyDto implements Serializable{
*/
private String jsonString;
/**
* 来源ID
* @return
*/
private String originId;
/**
* 来源类型
* @return
*/
private String originType;
public Long getFromId() {
return fromId;
}
......@@ -222,6 +234,26 @@ public class SendNotifyDto implements Serializable{
this.jsonString = jsonString;
}
public static long getSerialVersionUID() {
return serialVersionUID;
}
public String getOriginType() {
return originType;
}
public void setOriginType(String originType) {
this.originType = originType;
}
public String getOriginId() {
return originId;
}
public void setOriginId(String originId) {
this.originId = originId;
}
@Override
public String toString() {
return "SendNotifyDto{" +
......@@ -244,6 +276,8 @@ public class SendNotifyDto implements Serializable{
", pic='" + pic + '\'' +
", frquency=" + frquency +
", jsonString='" + jsonString + '\'' +
", originId='" + originId + '\'' +
", originType='" + originType + '\'' +
'}';
}
}
package com.pcloud.common.core.dto;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* 模板消息dto
* @author 作者 : lili
* @date 创建时间:2016年11月17日 下午12:03:48
* @version 1.0
* @return
*/
public class TemplateMessageDto implements Serializable {
/**
*
*/
private static final long serialVersionUID = -4132417523244980195L;
/**
* 场景编码值
*/
private String sceneCode;
/**
* 接收消息的当事人ID
*/
private Long receivePartyId;
/**
* 成员账号接收人
*/
private List<Long> receiveMemberPartyIds;
/**
* 接收消息角色(CHANNEL/AGENT/MERCHANT/ADVISER)
*/
private String receivePartyRole;
/**
* 公众号所属当事人ID
*/
private Long sendPartyId;
/**
* 公众号所属当事人角色(CHANNEL/AGENT)
*/
private String sendPartyRole;
/**
* 微信用户
*/
private Long wechatUserId;
/**
* openId
*/
private String openId;
/**
* 昵称
*/
private String nickName;
/**
* url
*/
private String url;
/**
* 参数
*/
private Map<String, String> temParam;
/**
* 发送类型(0: 通过wechatUserId 1 :通过openId 及昵称 2.通过当事人标识)
*/
private String sendType;
/**
* 公众号标识
*/
private Long accountSettingId;
/**
* 是否为应用
*/
private Boolean isApp;
/**
* 应用类型
*/
private String appType;
public Long getAccountSettingId() {
return accountSettingId;
}
public void setAccountSettingId(Long accountSettingId) {
this.accountSettingId = accountSettingId;
}
public String getSceneCode() {
return sceneCode;
}
public void setSceneCode(String sceneCode) {
this.sceneCode = sceneCode;
}
public Long getWechatUserId() {
return wechatUserId;
}
public void setWechatUserId(Long wechatUserId) {
this.wechatUserId = wechatUserId;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Map<String, String> getTemParam() {
return temParam;
}
public void setTemParam(Map<String, String> temParam) {
this.temParam = temParam;
}
public String getOpenId() {
return openId;
}
public void setOpenId(String openId) {
this.openId = openId;
}
public String getSendType() {
return sendType;
}
public void setSendType(String sendType) {
this.sendType = sendType;
}
public Long getReceivePartyId() {
return receivePartyId;
}
public void setReceivePartyId(Long receivePartyId) {
this.receivePartyId = receivePartyId;
}
public String getReceivePartyRole() {
return receivePartyRole;
}
public void setReceivePartyRole(String receivePartyRole) {
this.receivePartyRole = receivePartyRole;
}
public Long getSendPartyId() {
return sendPartyId;
}
public void setSendPartyId(Long sendPartyId) {
this.sendPartyId = sendPartyId;
}
public String getSendPartyRole() {
return sendPartyRole;
}
public void setSendPartyRole(String sendPartyRole) {
this.sendPartyRole = sendPartyRole;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Boolean getIsApp() {
return isApp;
}
public void setIsApp(Boolean isApp) {
this.isApp = isApp;
}
public String getAppType() {
return appType;
}
public void setAppType(String appType) {
this.appType = appType;
}
public List<Long> getReceiveMemberPartyIds() {
return receiveMemberPartyIds;
}
public void setReceiveMemberPartyIds(List<Long> receiveMemberPartyIds) {
this.receiveMemberPartyIds = receiveMemberPartyIds;
}
@Override
public String toString() {
return "TemplateMessageDto [sceneCode=" + sceneCode + ", receivePartyId=" + receivePartyId
+ ", receiveMemberPartyIds=" + receiveMemberPartyIds + ", receivePartyRole=" + receivePartyRole
+ ", sendPartyId=" + sendPartyId + ", sendPartyRole=" + sendPartyRole + ", wechatUserId=" + wechatUserId
+ ", openId=" + openId + ", nickName=" + nickName + ", url=" + url + ", temParam=" + temParam
+ ", sendType=" + sendType + ", accountSettingId=" + accountSettingId + ", isApp=" + isApp
+ ", appType=" + appType + "]";
}
}
package com.pcloud.common.core.dto;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* 模板消息dto
*
* @author 作者 : lili
* @version 1.0
* @date 创建时间:2016年11月17日 下午12:03:48
* @return
*/
public class TemplateMessageDto implements Serializable {
/**
*
*/
private static final long serialVersionUID = -4132417523244980195L;
/**
* 场景编码值
*/
private String sceneCode;
/**
* 接收消息的当事人ID
*/
private Long receivePartyId;
/**
* 成员账号接收人
*/
private List<Long> receiveMemberPartyIds;
/**
* 接收消息角色(CHANNEL/AGENT/MERCHANT/ADVISER)
*/
private String receivePartyRole;
/**
* 公众号所属当事人ID
*/
private Long sendPartyId;
/**
* 公众号所属当事人角色(CHANNEL/AGENT)
*/
private String sendPartyRole;
/**
* 微信用户
*/
private Long wechatUserId;
/**
* openId
*/
private String openId;
/**
* 昵称
*/
private String nickName;
/**
* url
*/
private String url;
/**
* 参数
*/
private Map<String, String> temParam;
/**
* 发送类型(0: 通过wechatUserId 1 :通过openId 及昵称 2.通过当事人标识)
*/
private String sendType;
/**
* 公众号标识
*/
private Long accountSettingId;
/**
* 是否为应用
*/
private Boolean isApp;
/**
* 应用类型
*/
private String appType;
/**
* 消息来源分类
*/
private String fromCategory;
public String getFromCategory() {
return fromCategory;
}
public void setFromCategory(String fromCategory) {
this.fromCategory = fromCategory;
}
public Long getAccountSettingId() {
return accountSettingId;
}
public void setAccountSettingId(Long accountSettingId) {
this.accountSettingId = accountSettingId;
}
public String getSceneCode() {
return sceneCode;
}
public void setSceneCode(String sceneCode) {
this.sceneCode = sceneCode;
}
public Long getWechatUserId() {
return wechatUserId;
}
public void setWechatUserId(Long wechatUserId) {
this.wechatUserId = wechatUserId;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Map<String, String> getTemParam() {
return temParam;
}
public void setTemParam(Map<String, String> temParam) {
this.temParam = temParam;
}
public String getOpenId() {
return openId;
}
public void setOpenId(String openId) {
this.openId = openId;
}
public String getSendType() {
return sendType;
}
public void setSendType(String sendType) {
this.sendType = sendType;
}
public Long getReceivePartyId() {
return receivePartyId;
}
public void setReceivePartyId(Long receivePartyId) {
this.receivePartyId = receivePartyId;
}
public String getReceivePartyRole() {
return receivePartyRole;
}
public void setReceivePartyRole(String receivePartyRole) {
this.receivePartyRole = receivePartyRole;
}
public Long getSendPartyId() {
return sendPartyId;
}
public void setSendPartyId(Long sendPartyId) {
this.sendPartyId = sendPartyId;
}
public String getSendPartyRole() {
return sendPartyRole;
}
public void setSendPartyRole(String sendPartyRole) {
this.sendPartyRole = sendPartyRole;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Boolean getIsApp() {
return isApp;
}
public void setIsApp(Boolean isApp) {
this.isApp = isApp;
}
public String getAppType() {
return appType;
}
public void setAppType(String appType) {
this.appType = appType;
}
public List<Long> getReceiveMemberPartyIds() {
return receiveMemberPartyIds;
}
public void setReceiveMemberPartyIds(List<Long> receiveMemberPartyIds) {
this.receiveMemberPartyIds = receiveMemberPartyIds;
}
@Override
public String toString() {
return "TemplateMessageDto [sceneCode=" + sceneCode + ", receivePartyId=" + receivePartyId
+ ", receiveMemberPartyIds=" + receiveMemberPartyIds + ", receivePartyRole=" + receivePartyRole
+ ", sendPartyId=" + sendPartyId + ", sendPartyRole=" + sendPartyRole + ", wechatUserId=" + wechatUserId
+ ", openId=" + openId + ", nickName=" + nickName + ", url=" + url + ", temParam=" + temParam
+ ", sendType=" + sendType + ", accountSettingId=" + accountSettingId + ", isApp=" + isApp
+ ", appType=" + appType + "]";
}
}
......@@ -41,8 +41,11 @@ public enum AppTypeEnum {
ZSCORE("ZSCORE"), // 标准分
RECITE_WORD("RECITE_WORD"), // 背单词
INTERACT("INTERACT"), // 互动墙
SPECIAL("SPECIAL"); // 专题
SPECIAL("SPECIAL"), // 专题
LIVEAPP("LIVEAPP"), //直播3.0
CLOCK("CLOCK"), //打卡
TASTETEST("TASTETEST"), //趣味测试
VIDEO_CLASSIC("VIDEO_CLASSIC"); //经典版视频
/**
* 值
*/
......
package com.pcloud.common.core.enums;
/**
* Description 站内信中originType枚举类
* @author HZK
* @date 2018/10/18
*/
public enum NotifyOriginTypeEnum {
/**
* 应用ID
*/
APP("APP"),
/**
* 作品ID
*/
PRODUCT("PRODUCT"),
/**
* 订单
*/
ORDERNUM("ORDERNUM");
/**
* 值
*/
public final String value;
/**
* 构造
* @param value
*/
NotifyOriginTypeEnum(String value) {
this.value = value;
}
}
package com.pcloud.common.core.mq;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.jms.connection.CachingConnectionFactory;
import org.springframework.jms.connection.SingleConnectionFactory;
/**
* @描述:
* @作者:songx
* @创建时间:2017年9月14日,上午10:48:02
* @版本:1.0
*/
@Configuration
@PropertySource(value = "classpath:public_system.properties")
public class ActiveMqFactory {
/**
*
*/
private static final Logger LOGGER = LoggerFactory.getLogger(ActiveMqFactory.class);
@Value("${mq.brokerURL}")
private String brokerURL;
/**
* 初始化Mq连接
*
* @return
*/
@Bean(name = "connectionFactory")
public ActiveMQConnectionFactory getMqConnection() {
LOGGER.info("【ActiveMq】初始化MQ链接.<START>");
ActiveMQConnectionFactory mqConnection = new ActiveMQConnectionFactory();
mqConnection.setBrokerURL(brokerURL);
mqConnection.setTrustAllPackages(true);
return mqConnection;
}
/**
* 初始化JMS连接池
*
* @return
*/
@Autowired
@Bean("cachingConnectionFactory")
public CachingConnectionFactory getCachingConnectionFactory(ActiveMQConnectionFactory connectionFactory) {
CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory(connectionFactory);
cachingConnectionFactory.setReconnectOnException(true);
cachingConnectionFactory.setCacheConsumers(false);
cachingConnectionFactory.setCacheProducers(false);
cachingConnectionFactory.setSessionCacheSize(50);
return cachingConnectionFactory;
}
/**
* Spring用于管理真正的ConnectionFactory的ConnectionFactory
*
* @return
*/
@Autowired
@Bean(name = "singleConnectionFactory")
public SingleConnectionFactory getSingleConnection(CachingConnectionFactory cachingConnectionFactory) {
LOGGER.info("【ActiveMq】初始化spring管理JMS链接.<START>");
SingleConnectionFactory singleConnection = new SingleConnectionFactory();
singleConnection.setTargetConnectionFactory(cachingConnectionFactory);
return singleConnection;
}
}
package com.pcloud.common.core.mq;
import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.connection.CachingConnectionFactory;
import org.springframework.jms.core.JmsTemplate;
/**
* @描述:
*
* @作者:songx
* @创建时间:2017年9月14日,上午11:40:25 @版本:1.0
*/
@Configuration
public class ActiveMqProducer {
@Autowired
private CachingConnectionFactory cachingConnectionFactory;
@Autowired(required = false)
@Qualifier("convertQueue")
private ActiveMQQueue convertQueue;
@Autowired(required = false)
@Qualifier("labelUsedQueue")
private ActiveMQQueue labelUsedQueue;
@Autowired(required = false)
@Qualifier("logQueue")
private ActiveMQQueue logQueue;
@Autowired(required = false)
@Qualifier("messageQueue")
private ActiveMQQueue messageQueue;
@Autowired(required = false)
@Qualifier("weektaskQueue")
private ActiveMQQueue weektaskQueue;
@Autowired(required = false)
@Qualifier("templateQueue")
private ActiveMQQueue templateQueue;
@Autowired(required = false)
@Qualifier("userActionQueue")
private ActiveMQQueue userActionQueue;
@Autowired(required = false)
@Qualifier("funnelFlowQueue")
private ActiveMQQueue funnelFlowQueue;
@Autowired(required = false)
@Qualifier("fundQueue")
private ActiveMQQueue fundQueue;
@Autowired(required = false)
@Qualifier("dynamicQueue")
private ActiveMQQueue dynamicQueue;
@Autowired(required = false)
@Qualifier("exapiQueue")
private ActiveMQQueue exapiQueue;
@Autowired(required = false)
@Qualifier("frontEventQueue")
private ActiveMQQueue frontEventQueue;
@Autowired(required = false)
@Qualifier("transcodeQueue")
private ActiveMQQueue transcodeQueue;
@Autowired(required = false)
@Qualifier("promotionTaskQueue")
private ActiveMQQueue promotionTaskQueue;
@Autowired(required = false)
@Qualifier("promotionTerminateQueue")
private ActiveMQQueue promotionTerminateQueue;
/**
* 获取音视频转码JMS
*
* @return
*/
@Bean(name = "jmsConvertTemplate")
public JmsTemplate getConvertTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(convertQueue);
return jmsTemplate;
}
/**
* 获取标签使用JMS
*
* @return
*/
@Bean(name = "jmsLabelUsedTemplate")
public JmsTemplate getLabelUsedTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(labelUsedQueue);
return jmsTemplate;
}
/**
* 获取日志JMS
*
* @return
*/
@Bean(name = "jmsLogTemplate")
public JmsTemplate getLogTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(logQueue);
return jmsTemplate;
}
/**
* 获取消息JMS
*
* @return
*/
@Bean(name = "jmsMessageTemplate")
public JmsTemplate getMessageTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(messageQueue);
return jmsTemplate;
}
/**
* 获取编辑任务JMS
*
* @return
*/
@Bean(name = "jmsWeektaskTemplate")
public JmsTemplate getWeektaskTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(weektaskQueue);
return jmsTemplate;
}
/**
* 获取模板消息JMS
*
* @return
*/
@Bean(name = "jmsTemplateTemplate")
public JmsTemplate getTemplateTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(templateQueue);
return jmsTemplate;
}
/**
* 获取用户行为JMS
*
* @return
*/
@Bean(name = "jmsUserActionTemplate")
public JmsTemplate getUserActionTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(userActionQueue);
return jmsTemplate;
}
/**
* 获取漏斗流程JMS
*
* @return
*/
@Bean(name = "jmsFunnelFlowTemplate")
public JmsTemplate getFunnelFlowTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(funnelFlowQueue);
return jmsTemplate;
}
/**
* 基金修改监控JMS
*
* @return
*/
@Bean(name = "jmsFundTemplate")
public JmsTemplate getJmsFundTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(fundQueue);
return jmsTemplate;
}
/**
* 作者动态监控JMS
*
* @return
*/
@Bean(name = "jmsDynamicTemplate")
public JmsTemplate getJmsDynamicTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(dynamicQueue);
return jmsTemplate;
}
/**
* 收集事件
*
* @return
*/
@Bean(name = "jmsFrontEventTemplate")
public JmsTemplate getJmsFrontEventTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(frontEventQueue);
return jmsTemplate;
}
/**
* 对外api监控JMS
*
* @author wangrui
* @date 10:40 2018/4/13
*/
@Bean(name = "jmsExapiTemplate")
public JmsTemplate getJmsExapiTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(exapiQueue);
return jmsTemplate;
}
/**
* 文件转码JMS
*
* @return
*/
@Bean(name = "jmsTranscodeTemplate")
public JmsTemplate getJmsTranscodeTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(transcodeQueue);
return jmsTemplate;
}
/**
* 获取促销任务JMS
*
* @return
*/
@Bean(name = "jmsPromotionTaskTemplate")
public JmsTemplate getJmsPromotionTaskTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(promotionTaskQueue);
return jmsTemplate;
}
/**
* 获取促销终止JMS
*
* @return
*/
@Bean(name = "jmsPromotionTerminateTemplate")
public JmsTemplate getJmsPromotionTerminateTemplate() {
JmsTemplate jmsTemplate = getJmsTemplate();
jmsTemplate.setDefaultDestination(promotionTerminateQueue);
return jmsTemplate;
}
/**
* 获取JMS模板
*
* @return
*/
private JmsTemplate getJmsTemplate() {
JmsTemplate jmsTemplate = new JmsTemplate(cachingConnectionFactory);
jmsTemplate.setReceiveTimeout(10000);
return jmsTemplate;
}
}
package com.pcloud.common.core.mq;
import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.pcloud.common.core.enums.MqQueueEnum;
/**
*
* @描述:
*
* @作者:songx
* @创建时间:2017年11月14日,上午10:59:55 @版本:1.0
*/
@Configuration
public class ActiveMqQueue {
/**
* 音视频转换消息队列
*
* @return
*/
@Bean(name = "convertQueue")
public ActiveMQQueue getConvertQueue() {
return new ActiveMQQueue("convert");
}
/**
* 标签使用量消息队列
*
* @return
*/
@Bean(name = "labelUsedQueue")
public ActiveMQQueue getLabelUsedQueue() {
return new ActiveMQQueue("labelUsed");
}
/**
* 日志消息队列
*
* @return
*/
@Bean(name = "logQueue")
public ActiveMQQueue getLogQueue() {
return new ActiveMQQueue("log");
}
/**
* 系统消息消息队列
*
* @return
*/
@Bean(name = "messageQueue")
public ActiveMQQueue getMessageQueue() {
return new ActiveMQQueue("message");
}
/**
* 周任务消息队列
*
* @return
*/
@Bean(name = "weektaskQueue")
public ActiveMQQueue getWeektaskQueue() {
return new ActiveMQQueue("weektask");
}
/**
* 模板消息消息队列
*
* @return
*/
@Bean(name = "templateQueue")
public ActiveMQQueue getTemplateQueue() {
return new ActiveMQQueue("template");
}
/**
* 用户行为消息队列
*
* @return
*/
@Bean(name = "userActionQueue")
public ActiveMQQueue getUserActionQueue() {
return new ActiveMQQueue("userAction");
}
/**
* 用户漏斗流程队列
*
* @return
*/
@Bean(name = "funnelFlowQueue")
public ActiveMQQueue getFunnelFlowQueue() {
return new ActiveMQQueue("funnelFlow");
}
/**
* 基金监控消息队列
*
* @return
*/
@Bean(name = "fundQueue")
public ActiveMQQueue getFundQueue() {
return new ActiveMQQueue("fund");
}
/**
* 动态监控消息队列
*
* @return
*/
@Bean(name = "dynamicQueue")
public ActiveMQQueue getDynamicQueue() {
return new ActiveMQQueue("merchantDynamic");
}
/**
* 事件分析埋点
*
* @return
*/
@Bean(name = "frontEventQueue")
public ActiveMQQueue getFrontEventQueue() {
return new ActiveMQQueue("frontEvent");
}
/**
* 对外api队列
*
* @author wangrui
* @date 10:28 2018/4/13
*/
@Bean(name = "exapiQueue")
public ActiveMQQueue getExapiQueue() {
return new ActiveMQQueue("exapi");
}
/**
* 文件转码(非音视频转码)
*
* @return
*/
@Bean(name = "transcodeQueue")
public ActiveMQQueue getTranscodeQueue() {
return new ActiveMQQueue(MqQueueEnum.TRANSCODE.queueName);
}
/**
* 促销任务
*
* @return
*/
@Bean(name = "promotionTaskQueue")
public ActiveMQQueue getPromotionTaskQueue() {
return new ActiveMQQueue("promotionTask");
}
/**
* 促销终止
*
* @return
*/
@Bean(name = "promotionTerminateQueue")
public ActiveMQQueue getPromotionTerminateQueue() {
return new ActiveMQQueue("promotionTerminate");
}
}
......@@ -53,6 +53,22 @@
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
......@@ -82,14 +98,6 @@
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<!--<dependency> -->
<!--<groupId>org.springframework.cloud</groupId> -->
<!--<artifactId>spring-cloud-starter-hystrix</artifactId> -->
<!--</dependency> -->
<!--<dependency> -->
<!--<groupId>org.springframework.cloud</groupId> -->
<!--<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId> -->
<!--</dependency> -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
......@@ -147,6 +155,12 @@
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
......@@ -189,6 +203,13 @@
</dependency>
<!-- sftp end -->
<!-- google Begin -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<!-- google End -->
<!-- ftp begin -->
<dependency>
<groupId>commons-net</groupId>
......@@ -227,12 +248,6 @@
<artifactId>freemarker</artifactId>
</dependency>
<!-- PDF解析工具 -->
<dependency>
<groupId>pcloud.tools</groupId>
<artifactId>tools</artifactId>
</dependency>
<!-- 图片处理工具 added by songx at 2017-05-17 -->
<dependency>
<groupId>net.coobird</groupId>
......@@ -283,12 +298,6 @@
</dependency>
<!-- end -->
<!-- google 工具包 -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<!-- Jackson Begin -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
......@@ -364,12 +373,7 @@
<version>1.5.2</version>
</dependency>
<!--PDF转图片 -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>com.github.jai-imageio</groupId>
......
package com.pcloud.common.dto;/**
* Created by ${user} on ${date}
*/
import java.io.Serializable;
/**
* @author TianChao
* @date 2018/6/22 11:04
*/
public class OrderParamForApp implements Serializable {
private static final long serialVersionUID = -8010969876295649975L;
}
package com.pcloud.common.dto;/**
* Created by ${user} on ${date}
*/
/**
* @author TianChao
* @date 2018/6/22 11:04
*/
public class OrderParamForLive extends OrderParamForApp {
private static final long serialVersionUID = -2221916506871980562L;
private Integer isSuperMerchant;
public Integer getIsSuperMerchant() {
return isSuperMerchant;
}
public void setIsSuperMerchant(Integer isSuperMerchant) {
this.isSuperMerchant = isSuperMerchant;
}
@Override
public String toString() {
return "OrderParamForLive{" +
"isSuperMerchant=" + isSuperMerchant +
'}';
}
}
......@@ -27,6 +27,11 @@ public class BaseEntity implements Serializable {
private Long id;
/**
* 用户ID
*/
private Long userId;
/**
* IP地址
*/
private String ipAddress;
......@@ -49,6 +54,14 @@ public class BaseEntity implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
protected Date updateTime;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getIpAddress() {
return ipAddress;
}
......
......@@ -47,10 +47,14 @@ public enum AppTypeEnum {
INTERACT("INTERACT"), // 互动墙
SPECIAL("SPECIAL"), // 专题
CLOCK("CLOCK"), // 打卡
TEST("TEST"), // 测试
TEST("TEST"), // 趣味测试(测试工具)
EBOOK("EBOOK"), // 电子书
LIVE_TIMETABLE("LIVE_TIMETABLE"), // 直播课表
DRAW("DRAW"), // 抽奖
WISH("WISH"); // 愿望单
WISH("WISH"),// 愿望单
LIVEAPP("LIVEAPP"), //直播3.0
TASTETEST("TASTETEST"), //趣味测试
VIDEO_CLASSIC("VIDEO_CLASSIC"); //经典版视频
/**
* 枚举转换
......
package com.pcloud.common.trade.service;
import java.util.List;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.trade.vo.PayParamVO;
import com.pcloud.common.trade.vo.TargetIdAndTypeVO;
/**
* 交易公用接口
* Created by ${user} on ${date}
*/
public interface TradeCommonService {
@RequestMapping(value = "/getPayParam",method = RequestMethod.POST)
ResponseEntity<ResponseDto<List<PayParamVO>>>getPayParam(@RequestBody TargetIdAndTypeVO targetIdAndTypeVO);
@RequestMapping(value = "getProductIdByAppId",method = RequestMethod.GET)
ResponseEntity<ResponseDto<Long>>getProductIdByAppId(@RequestParam("appId") Long appId);
}
package com.pcloud.common.trade.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Map;
/**
* @描述:问答支付dto
* @作者:TianChao
* @创建时间:2016年10月19日 上午10:26:11
* @版本:1.0
*/
@ApiModel(description = "立即付款dto")
public class PayParamVO implements Serializable{
private static final long serialVersionUID = 1424201849099702707L;
@ApiModelProperty(value = "商户id",dataType = "Long")
private Long merchantId;
/**
* 商品标识
*/
@ApiModelProperty(value = "商品标识",dataType = "Long")
private Long productId;
/**
* 商品数量
*/
@ApiModelProperty(value = "商品数量",dataType = "Integer")
private Integer quantity;
/**
* 规格id
*/
@ApiModelProperty(value = "规格id",dataType = "Long")
private Long specId;
@ApiModelProperty(value = "应用id",dataType = "Long")
private Long appId;
@ApiModelProperty(value = "地址id",dataType = "Long")
private Long addressId;
@ApiModelProperty(value = "isInvoice",dataType = "int")
private int isInvoice;
@ApiModelProperty(value = "发票内容",dataType = "String")
private String invoiceContent;
@ApiModelProperty(value = "发票抬头",dataType = "String")
private String invoiceHeader;
/**
* 发票抬头类型(0是个人,1是企业)
*/
@ApiModelProperty(value = "发票抬头类型(0是个人,1是企业)",dataType = "Integer")
private Integer invoiceHeaderType;
/**
* 证件号(公司为企业税号,个人为身份证号)
*/
@ApiModelProperty(value = "证件号(公司为企业税号,个人为身份证号)",dataType = "String")
private String invoiceCredentialNum;
@ApiModelProperty(value = "购物码",dataType = "String")
private String buyCode;
@ApiModelProperty(value = "电话",dataType = "String")
private String phone;
@ApiModelProperty(value = "isAskMore",dataType = "int")
private int isAskMore;
/**
* 购买服务人
*/
@ApiModelProperty(value = "购买服务人",dataType = "String")
private String serviceName;
/**
* 服务电话
*/
@ApiModelProperty(value = "服务电话",dataType = "String")
private String servicePhone;
/**
* 服务者邮箱
*/
@ApiModelProperty(value = "服务者邮箱",dataType = "String")
private String email;
private BigDecimal price;
private Long adviserId;
private Long sceneId;
private Map<String,Object> paramForApp;
private int hasOwnPrice;
private BigDecimal dealPrice;
private Integer paymentSource;
public Integer getPaymentSource() {
return paymentSource;
}
public void setPaymentSource(Integer paymentSource) {
this.paymentSource = paymentSource;
}
public BigDecimal getDealPrice() {
return dealPrice;
}
public void setDealPrice(BigDecimal dealPrice) {
this.dealPrice = dealPrice;
}
public int getHasOwnPrice() {
return hasOwnPrice;
}
public void setHasOwnPrice(int hasOwnPrice) {
this.hasOwnPrice = hasOwnPrice;
}
public Map<String, Object> getParamForApp() {
return paramForApp;
}
public void setParamForApp(Map<String, Object> paramForApp) {
this.paramForApp = paramForApp;
}
public Long getAdviserId() {
return adviserId;
}
public void setAdviserId(Long adviserId) {
this.adviserId = adviserId;
}
public Long getSceneId() {
return sceneId;
}
public void setSceneId(Long sceneId) {
this.sceneId = sceneId;
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getServiceName() {
return serviceName;
}
public void setServiceName(String serviceName) {
this.serviceName = serviceName;
}
public String getServicePhone() {
return servicePhone;
}
public void setServicePhone(String servicePhone) {
this.servicePhone = servicePhone;
}
public int getIsAskMore() {
return isAskMore;
}
public void setIsAskMore(int isAskMore) {
this.isAskMore = isAskMore;
}
public Integer getInvoiceHeaderType() {
return invoiceHeaderType;
}
public void setInvoiceHeaderType(Integer invoiceHeaderType) {
this.invoiceHeaderType = invoiceHeaderType;
}
public String getInvoiceCredentialNum() {
return invoiceCredentialNum;
}
public void setInvoiceCredentialNum(String invoiceCredentialNum) {
this.invoiceCredentialNum = invoiceCredentialNum;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getBuyCode() {
return buyCode;
}
public void setBuyCode(String buyCode) {
this.buyCode = buyCode;
}
public int getIsInvoice() {
return isInvoice;
}
public void setIsInvoice(int isInvoice) {
this.isInvoice = isInvoice;
}
public String getInvoiceContent() {
return invoiceContent;
}
public void setInvoiceContent(String invoiceContent) {
this.invoiceContent = invoiceContent;
}
public String getInvoiceHeader() {
return invoiceHeader;
}
public void setInvoiceHeader(String invoiceHeader) {
this.invoiceHeader = invoiceHeader;
}
public Long getAddressId() {
return addressId;
}
public void setAddressId(Long addressId) {
this.addressId = addressId;
}
public Long getAppId() {
return appId;
}
public void setAppId(Long appId) {
this.appId = appId;
}
public Long getMerchantId() {
return merchantId;
}
public void setMerchantId(Long merchantId) {
this.merchantId = merchantId;
}
public Long getProductId() {
return productId;
}
public void setProductId(Long productId) {
this.productId = productId;
}
public Integer getQuantity() {
return quantity;
}
public void setQuantity(Integer quantity) {
this.quantity = quantity;
}
public Long getSpecId() {
return specId;
}
public void setSpecId(Long specId) {
this.specId = specId;
}
@Override
public String toString() {
return "PayParamVO{" +
"merchantId=" + merchantId +
", productId=" + productId +
", quantity=" + quantity +
", specId=" + specId +
", appId=" + appId +
", addressId=" + addressId +
", isInvoice=" + isInvoice +
", invoiceContent='" + invoiceContent + '\'' +
", invoiceHeader='" + invoiceHeader + '\'' +
", invoiceHeaderType=" + invoiceHeaderType +
", invoiceCredentialNum='" + invoiceCredentialNum + '\'' +
", buyCode='" + buyCode + '\'' +
", phone='" + phone + '\'' +
", isAskMore=" + isAskMore +
", serviceName='" + serviceName + '\'' +
", servicePhone='" + servicePhone + '\'' +
", email='" + email + '\'' +
", price=" + price +
", adviserId=" + adviserId +
", sceneId=" + sceneId +
", paramForApp=" + paramForApp +
", hasOwnPrice=" + hasOwnPrice +
", dealPrice=" + dealPrice +
", paymentSource=" + paymentSource +
'}';
}
}
package com.pcloud.common.trade.vo;/**
* Created by ${user} on ${date}
*/
import java.io.Serializable;
/**
* @author TianChao
* @date 2018/10/23 10:43
*/
public class TargetIdAndTypeVO implements Serializable {
private static final long serialVersionUID = 1581040394497248116L;
private Long targetId;
private String targetType;
private Long wechatUserId;
private boolean buyOneBook;
private int paymentSource;
private Long channelId;
private Long appId;
private Long officialAccountsId;
private Long adviserId;
private Long sceneId;
private String ipAddress;
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public Long getAdviserId() {
return adviserId;
}
public void setAdviserId(Long adviserId) {
this.adviserId = adviserId;
}
public Long getSceneId() {
return sceneId;
}
public void setSceneId(Long sceneId) {
this.sceneId = sceneId;
}
public Long getOfficialAccountsId() {
return officialAccountsId;
}
public void setOfficialAccountsId(Long officialAccountsId) {
this.officialAccountsId = officialAccountsId;
}
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public Long getAppId() {
return appId;
}
public void setAppId(Long appId) {
this.appId = appId;
}
public int getPaymentSource() {
return paymentSource;
}
public void setPaymentSource(int paymentSource) {
this.paymentSource = paymentSource;
}
public Long getWechatUserId() {
return wechatUserId;
}
public void setWechatUserId(Long wechatUserId) {
this.wechatUserId = wechatUserId;
}
public boolean isBuyOneBook() {
return buyOneBook;
}
public void setBuyOneBook(boolean buyOneBook) {
this.buyOneBook = buyOneBook;
}
public Long getTargetId() {
return targetId;
}
public void setTargetId(Long targetId) {
this.targetId = targetId;
}
public String getTargetType() {
return targetType;
}
public void setTargetType(String targetType) {
this.targetType = targetType;
}
@Override
public String toString() {
return "TargetIdAndTypeVO{" +
"targetId=" + targetId +
", targetType='" + targetType + '\'' +
", wechatUserId=" + wechatUserId +
", buyOneBook=" + buyOneBook +
", paymentSource=" + paymentSource +
", channelId=" + channelId +
", appId=" + appId +
", officialAccountsId=" + officialAccountsId +
", adviserId=" + adviserId +
", sceneId=" + sceneId +
", ipAddress='" + ipAddress + '\'' +
'}';
}
}
......@@ -2,6 +2,7 @@ package com.pcloud.common.utils;
import java.util.List;
import com.pcloud.common.page.PageBeanNew;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
......@@ -9,56 +10,78 @@ import org.springframework.beans.BeanUtils;
import com.google.common.collect.Lists;
/**
*
*
* @author:songx
* @date:2018年8月24日,下午2:18:40
*/
public class BeanNewUtils {
private static final Logger LOGGER = LoggerFactory.getLogger(BeanNewUtils.class);
private static final Logger LOGGER = LoggerFactory.getLogger(BeanNewUtils.class);
/**
* 实体类之间的转换
*
* @param source
* 来源
* @param clazz
* 目标对象
* @return
*/
public static <T> T copyProperties(Object source, Class<T> clazz) {
if (source == null) {
return null;
}
T t = null;
try {
t = clazz.newInstance();
} catch (Exception e) {
LOGGER.error("clazz newInstance is error:" + e.getMessage(), e);
}
BeanUtils.copyProperties(source, t);
return t;
}
/**
* 实体类之间的转换
*
* @param source 来源
* @param clazz 目标对象
* @return
*/
public static <T> T copyProperties(Object source, Class<T> clazz) {
if (source == null) {
return null;
}
T t = null;
try {
t = clazz.newInstance();
} catch (Exception e) {
LOGGER.error("clazz newInstance is error:" + e.getMessage(), e);
}
BeanUtils.copyProperties(source, t);
return t;
}
/**
* 实体类之间的转换
*
* @param sources
* 来源
* @param clazz
* 目标对象
* @return
*/
public static <T> List<T> copyProperties(List<?> sources, Class<T> clazz) {
if (ListUtils.isEmpty(sources)) {
return null;
}
List<T> results = Lists.newArrayList();
for (Object source : sources) {
results.add(copyProperties(source, clazz));
}
return results;
}
/**
* 实体类之间的转换
*
* @param sources 来源
* @param clazz 目标对象
* @return
*/
public static <T> List<T> copyProperties(List<?> sources, Class<T> clazz) {
if (ListUtils.isEmpty(sources)) {
return null;
}
List<T> results = Lists.newArrayList();
for (Object source : sources) {
results.add(copyProperties(source, clazz));
}
return results;
}
/**
* 分页结果的实体类之间的转换
*
* @param source
* @param clazz
* @param <T>
* @return
*/
public static <T> PageBeanNew<T> copyProperties(PageBeanNew<?> source, Class<T> clazz) {
if (source == null) {
return null;
}
List<?> recordList = source.getRecordList();
PageBeanNew<T> result = new PageBeanNew<T>();
result.setCurrentPage(source.getCurrentPage());
result.setNumPerPage(source.getNumPerPage());
result.setPageCount(source.getPageCount());
result.setTotalCount(source.getTotalCount());
source.setBeginPageIndex(source.getBeginPageIndex());
source.setEndPageIndex(source.getEndPageIndex());
if (ListUtils.isEmpty(recordList)) {
result.setRecordList(Lists.newArrayList());
return result;
}
result.setRecordList(copyProperties(recordList, clazz));
return result;
}
}
package com.pcloud.common.utils;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
public final class HttpKit {
private HttpKit() {
}
private static OkHttpClient httpClient = new OkHttpClient().newBuilder()
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS).build();
private static final MediaType CONTENT_TYPE_FORM = MediaType
.parse("application/json");
protected static String post(String url, String data) {
okhttp3.RequestBody body = okhttp3.RequestBody.create(
CONTENT_TYPE_FORM, data);
okhttp3.Request request = new okhttp3.Request.Builder().url(url)
.post(body).build();
return exec(request);
}
public static String get(String url) throws IOException{
Request request = new Request.Builder()
.url(url).addHeader("token","0Id4baiRH818SVJjC2qjhdMwQh5DSfCJ")
.build();
Response response = httpClient.newCall(request).execute();
return response.body().string();// 返回的是string 类型
}
private static String exec(Request request) {
try {
Response response = httpClient.newCall(request)
.execute();
if (!response.isSuccessful())
throw new RuntimeException("Unexpected code " + response);
return response.body().string();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
......@@ -20,13 +20,38 @@ import com.pcloud.common.utils.string.StringUtil;
*/
public class LocalDateUtils {
private static final DateTimeFormatter TIME = DateTimeFormatter.ofPattern("HHmmss");
private static final DateTimeFormatter SHORT_MILLISECOND = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
private static final DateTimeFormatter SHORT_DATETIME = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
private static final DateTimeFormatter DATETIME = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
private static final DateTimeFormatter SHORT_DATE = DateTimeFormatter.ofPattern("yyyyMMdd");
private static final DateTimeFormatter DATE = DateTimeFormatter.ofPattern("yyyy-MM-dd");
/**
* 获取当前的日期字符串(yyyy-MM-dd)
*
* @return
*/
public static String getDateNow() {
return LocalDate.now().toString();
return LocalDate.now().format(DATE);
}
/**
* 获取当前的日期字符串(yyyyMMdd)
*
* @return
*/
public static String getShortDateNow() {
return LocalDate.now().format(SHORT_DATE);
}
/**
* 获取当前的时间字符串(HHmmss)
*
* @return
*/
public static String getShortTimeNow() {
return LocalDateTime.now().format(TIME);
}
/**
......@@ -35,7 +60,16 @@ public class LocalDateUtils {
* @return
*/
public static String getDateTimeNow() {
return LocalDateTime.now().withNano(0).toString().replace("T", " ");
return LocalDateTime.now().format(DATETIME);
}
/**
* 获取当前的日期字符串(yyyyMMddHHmmss)
*
* @return
*/
public static String getShortDateTimeNow() {
return LocalDateTime.now().format(SHORT_DATETIME);
}
/**
......@@ -44,8 +78,7 @@ public class LocalDateUtils {
* @return
*/
public static String getYmdhmss() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
return LocalDateTime.now().format(formatter);
return LocalDateTime.now().format(SHORT_MILLISECOND);
}
/**
......@@ -65,7 +98,10 @@ public class LocalDateUtils {
* @return
*/
public static String convertToString(LocalDateTime localDateTime) {
return localDateTime.withNano(0).toString().replace("T", " ");
if (localDateTime == null) {
return null;
}
return localDateTime.format(DATETIME);
}
/**
......
package com.pcloud.common.utils;
import java.util.List;
import java.util.Map;
import org.apache.commons.collections.MapUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.pcloud.common.page.PageBeanNew;
/**
* 返回结果工具类
*
* @author:songx
* @date:2018年8月8日,下午2:09:16
*/
public class ResultUtils {
/**
* 集合查询结果判断
*
* @param lists
* @return
*/
public static <T> List<T> list(List<T> lists) {
if (!ListUtils.isEmpty(lists)) {
return lists;
}
return Lists.newArrayList();
}
/**
* map查询结果判断
*
* @param lists
* @return
*/
public static <K, V> Map<K, V> map(Map<K, V> map) {
if (!MapUtils.isEmpty(map)) {
return map;
}
return Maps.newHashMap();
}
/**
* 分页查询结果判断
*
* @param pageBeanNew
* @return
*/
public static <T> PageBeanNew<T> pageBeanNew(PageBeanNew<T> pageBeanNew, Integer currentPage, Integer numPerPage) {
if (pageBeanNew != null) {
return pageBeanNew;
}
return new PageBeanNew<T>(currentPage, numPerPage, 0, Lists.newArrayList());
}
}
package com.pcloud.common.utils;
import java.util.List;
import java.util.Map;
import org.apache.commons.collections.MapUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.pcloud.common.page.PageBeanNew;
/**
* 返回结果工具类
*
* @author:songx
* @date:2018年8月8日,下午2:09:16
*/
public class ResultUtils {
/**
* 集合查询结果判断
*
* @param lists
* @return
*/
public static <T> List<T> list(List<T> lists) {
if (!ListUtils.isEmpty(lists)) {
return lists;
}
return Lists.newArrayList();
}
/**
* map查询结果判断
*
* @param lists
* @return
*/
public static <K, V> Map<K, V> map(Map<K, V> map) {
if (!MapUtils.isEmpty(map)) {
return map;
}
return Maps.newHashMap();
}
/**
* 分页查询结果判断
*
* @param pageBeanNew
* @return
*/
public static <T> PageBeanNew<T> pageBeanNew(PageBeanNew<T> pageBeanNew, Integer currentPage, Integer numPerPage) {
if (pageBeanNew != null) {
return pageBeanNew;
}
return new PageBeanNew<T>(currentPage, numPerPage, 0, Lists.newArrayList());
}
}
......@@ -19,6 +19,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils;
......@@ -29,6 +30,7 @@ import com.pcloud.common.utils.ListUtils;
* @date 2018/4/23
*/
@Component("solrUtils")
@PropertySource(value = "classpath:public_system.properties")
public class SolrUtils {
private static Logger LOGGER = LoggerFactory.getLogger(SolrUtils.class);
......
This diff is collapsed. Click to expand it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment