Commit c53cd2b9 by shuyunhu
parents 5346f57e 273cd919
email.fromEmail=rays_support@vip.163.com #email.fromEmail=rays_support@vip.163.com
email.password=chubanyun #email.password=chubanyun
email.reviewFromEmail=rays_review@vip.163.com #email.reviewFromEmail=rays_review@vip.163.com
email.reviewPassword=lgsz2017 #email.reviewPassword=lgsz2017
email.saysEmail=says_support@vip.163.com #email.reviewFromEmail=review@5rs.me
email.saysPassword=2017sayschuban #email.reviewPassword=reviewlgsc
## \u81EA\u5B9A\u4E49\u90AE\u7BB1 ## \u81EA\u5B9A\u4E49\u90AE\u7BB1
email.fromEmail.new=rays_support@vip.163.com email.user=support
email.password.new=chubanyun email.name=support@5rs.me
\ No newline at end of file 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.fromEmail=rays_support@vip.163.com
email.password=chubanyun #email.password=chubanyun
email.reviewFromEmail=rays_review@vip.163.com #email.reviewFromEmail=rays_review@vip.163.com
email.reviewPassword=lgsz2017 #email.reviewPassword=lgsz2017
email.saysEmail=says_support@vip.163.com
email.saysPassword=2017sayschuban
## \u81EA\u5B9A\u4E49\u90AE\u7BB1 ## \u81EA\u5B9A\u4E49\u90AE\u7BB1
email.fromEmail.new=rays_support@vip.163.com email.user=admin
email.password.new=chubanyun email.name=admin@raysyun.com
\ No newline at end of file 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
...@@ -32,8 +32,8 @@ org.quartz.jobStore.clusterCheckinInterval = 20000 ...@@ -32,8 +32,8 @@ org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver 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.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.user = rays
org.quartz.dataSource.myDS.password = quartz123 org.quartz.dataSource.myDS.password = lgsC789
org.quartz.dataSource.myDS.maxConnections = 100 org.quartz.dataSource.myDS.maxConnections = 100
......
...@@ -45,26 +45,12 @@ ...@@ -45,26 +45,12 @@
</dependency> </dependency>
<!-- Mysql Driver End --> <!-- Mysql Driver End -->
<!-- ActiveMq Begin -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
</dependency>
<!-- ActiveMq End -->
<!-- Jackson Begin --> <!-- Jackson Begin -->
<dependency> <dependency>
<groupId>org.codehaus.jackson</groupId> <groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId> <artifactId>jackson-mapper-asl</artifactId>
</dependency> </dependency>
<!-- Jackson End --> <!-- Jackson End -->
<!-- Redis Begin -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<!-- Redis End -->
</dependencies> </dependencies>
</project> </project>
package com.pcloud.common.core.biz; package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.ExapiMessageDto; import org.springframework.amqp.core.AmqpTemplate;
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.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 org.springframework.stereotype.Component;
import javax.jms.JMSException; import com.pcloud.common.core.aspect.ParamLog;
import javax.jms.ObjectMessage; import com.pcloud.common.core.constant.MQQueueConstant;
import javax.jms.Session; import com.pcloud.common.core.dto.ExapiMessageDto;
@Component("exapiQueueBiz") @Component("exapiQueueBiz")
public class ExapiQueueBizImpl implements ExapiQueueBiz{ public class ExapiQueueBizImpl implements ExapiQueueBiz {
private static final Logger LOGGER = LoggerFactory.getLogger(ExapiQueueBiz.class);
@Autowired(required = false) @Autowired
@Qualifier("jmsExapiTemplate") private AmqpTemplate amqpTemplate;
private JmsTemplate jmsExapiTemplate;
@Override @Override
@ParamLog("发送对外API queue")
public void sendMessageQueue(ExapiMessageDto exapiMessageDto) { public void sendMessageQueue(ExapiMessageDto exapiMessageDto) {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.EXAPI, exapiMessageDto);
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(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; package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.ConvertQueueDto;
import com.pcloud.common.core.dto.FrontEventDto; import com.pcloud.common.core.dto.FrontEventDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
......
package com.pcloud.common.core.biz; 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.core.dto.FrontEventDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.amqp.core.AmqpTemplate;
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 org.springframework.stereotype.Component;
import javax.jms.JMSException; import javax.annotation.Resource;
import javax.jms.ObjectMessage;
import javax.jms.Session;
/** /**
* @author Shichunshan * @author Shichunshan
...@@ -20,35 +17,47 @@ import javax.jms.Session; ...@@ -20,35 +17,47 @@ import javax.jms.Session;
* @description: * @description:
*/ */
@Component("frontEventBiz") @Component("frontEventBiz")
public class FrontEventBizImpl implements FrontEventBiz{ public class FrontEventBizImpl implements FrontEventBiz {
/** /**
* *
*/ */
private final static Logger logger= LoggerFactory.getLogger(ConvertQueueBizImpl.class); private final static Logger LOGGER = LoggerFactory.getLogger(ConvertQueueBizImpl.class);
// @Autowired(required=false)
// @Qualifier("jmsFrontEventTemplate")
// private JmsTemplate jmsFrontEventTemplate;
@Resource
private AmqpTemplate amqpTemplate;
@Autowired(required=false)
@Qualifier("jmsFrontEventTemplate")
private JmsTemplate jmsFrontEventTemplate;
/** /**
* 发送事件消息 * 发送事件消息
* *
* @param frontEventDto * @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 @Override
@ParamLog(description = "大数据埋点QUEUE")
public void sendFrontEventQueue(FrontEventDto frontEventDto) throws BizException { public void sendFrontEventQueue(FrontEventDto frontEventDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() { LOGGER.info("===大数据埋点===start --> frontEventDto:{}", frontEventDto);
@Override amqpTemplate.convertAndSend(MQQueueConstant.FRONT_EVENT, frontEventDto);
public ObjectMessage createMessage(Session session) throws JMSException { LOGGER.info("===大数据埋点===end --> frontEventDto:{}", frontEventDto);
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);
} }
/** /**
...@@ -57,10 +66,7 @@ public class FrontEventBizImpl implements FrontEventBiz{ ...@@ -57,10 +66,7 @@ public class FrontEventBizImpl implements FrontEventBiz{
* @param targetClass * @param targetClass
* @param targetType * @param targetType
*/ */
public static String generatePrefix(String targetClass,String targetType){ public static String generatePrefix(String targetClass, String targetType) {
StringBuilder prefix = new StringBuilder(); return targetClass.toLowerCase() + "_" + targetType.toLowerCase() + "_";
prefix.append(targetClass.toLowerCase()+"_");
prefix.append(targetType.toLowerCase()+"_");
return prefix.toString();
} }
} }
package com.pcloud.common.core.biz; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired; 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 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.core.dto.FundMessageDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
/** /**
* @description 基金资源变更记录消息队列实现类
* @author PENG * @author PENG
* @date 2017年10月18日 下午2:11:52
* @version 1.0 * @version 1.0
* @description 基金资源变更记录消息队列实现类
* @date 2017年10月18日 下午2:11:52
*/ */
@Component("fundQueueBiz") @Component("fundQueueBiz")
public class FundQueueBizImpl implements FundQueueBiz { public class FundQueueBizImpl implements FundQueueBiz {
...@@ -29,29 +24,20 @@ public class FundQueueBizImpl implements FundQueueBiz { ...@@ -29,29 +24,20 @@ public class FundQueueBizImpl implements FundQueueBiz {
*/ */
private final static Logger logger = LoggerFactory.getLogger(FundQueueBizImpl.class); private final static Logger logger = LoggerFactory.getLogger(FundQueueBizImpl.class);
@Autowired(required = false) @Autowired
@Qualifier("jmsFundTemplate") private AmqpTemplate amqpTemplate;
private JmsTemplate jmsFundTemplate;
/** /**
* 发送队列 * 发送队列
*/ */
@Override @Override
@ParamLog("发送基金资源变更记录消息QUEUE")
public void sendFundMessage(FundMessageDto fundMessageDto) throws BizException { public void sendFundMessage(FundMessageDto fundMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() {
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(fundMessageDto);
}
};
try { try {
jmsFundTemplate.send(messageCreator); amqpTemplate.convertAndSend(MQQueueConstant.FUND, fundMessageDto);
} catch (Exception e) { } catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + fundMessageDto.toString(), e); logger.error("发送失败," + e.getMessage() + "," + fundMessageDto.toString(), e);
throw BizException.SEND_QUEUE_FAIL; throw BizException.SEND_QUEUE_FAIL;
} }
logger.info("发送成功," + fundMessageDto.toString());
} }
} }
package com.pcloud.common.core.biz; package com.pcloud.common.core.biz;
import javax.jms.JMSException; import org.springframework.amqp.core.AmqpTemplate;
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.beans.factory.annotation.Autowired; 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 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.FlowNode;
import com.pcloud.common.core.constant.FunnelFlowStruct.TargetRoleType; import com.pcloud.common.core.constant.FunnelFlowStruct.TargetRoleType;
import com.pcloud.common.core.constant.FunnelFlowStruct.TargetType; 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.core.dto.FunnelFlowQueueDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
/** /**
* @描述: 发送模板消息队列实现类 * @描述: 发送模板消息队列实现类 @作者: shuyh @创建时间: 2018年1月9日 @版本:1.0
* @作者: shuyh
* @创建时间: 2018年1月9日
* @版本:1.0
*/ */
@Component("funnelFlowQueueBiz") @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) @Autowired
@Qualifier("funnelFlowQueue") private AmqpTemplate amqpTemplate;
private ActiveMQQueue funnelFlowQueue;
/** /**
* 发送队列 * 用户漏斗QUEUE
*/ */
@Override @Override
@ParamLog("用户漏斗QUEUE")
public void sendMessageQueue(FunnelFlowQueueDto funnelFlowQueueDto) throws BizException { public void sendMessageQueue(FunnelFlowQueueDto funnelFlowQueueDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.FUNNEL_FLOW, funnelFlowQueueDto);
@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);
} }
/** /**
* 发送队列 * 发送队列
*/ */
@Override @Override
public void sendMessageQueue(TargetType targetType, TargetRoleType targetRoleType, FlowNode flowNode, String ip, String userAgent) throws BizException { public void sendMessageQueue(TargetType targetType, TargetRoleType targetRoleType, FlowNode flowNode, String ip,
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetRoleType, flowNode, ip, userAgent); String userAgent) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetRoleType, flowNode, ip,
userAgent);
sendMessageQueue(funnelFlowQueueDto); sendMessageQueue(funnelFlowQueueDto);
} }
...@@ -75,8 +45,10 @@ public class FunnelFlowQueueBizImpl implements FunnelFlowQueueBiz{ ...@@ -75,8 +45,10 @@ public class FunnelFlowQueueBizImpl implements FunnelFlowQueueBiz{
* 发送队列 * 发送队列
*/ */
@Override @Override
public void sendMessageQueue(TargetType targetType, Long targetId, TargetRoleType targetRoleType, Long targetRoleId, FlowNode flowNode) throws BizException { public void sendMessageQueue(TargetType targetType, Long targetId, TargetRoleType targetRoleType, Long targetRoleId,
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetId, targetRoleType, targetRoleId, flowNode); FlowNode flowNode) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetId, targetRoleType,
targetRoleId, flowNode);
sendMessageQueue(funnelFlowQueueDto); sendMessageQueue(funnelFlowQueueDto);
} }
...@@ -84,8 +56,10 @@ public class FunnelFlowQueueBizImpl implements FunnelFlowQueueBiz{ ...@@ -84,8 +56,10 @@ public class FunnelFlowQueueBizImpl implements FunnelFlowQueueBiz{
* 发送队列 * 发送队列
*/ */
@Override @Override
public void sendMessageQueue(TargetType targetType, Long targetId, String subtypeCode, TargetRoleType targetRoleType, Long targetRoleId, FlowNode flowNode) throws BizException { public void sendMessageQueue(TargetType targetType, Long targetId, String subtypeCode,
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetId, subtypeCode, targetRoleType, targetRoleId, flowNode); TargetRoleType targetRoleType, Long targetRoleId, FlowNode flowNode) throws BizException {
FunnelFlowQueueDto funnelFlowQueueDto = new FunnelFlowQueueDto(targetType, targetId, subtypeCode,
targetRoleType, targetRoleId, flowNode);
sendMessageQueue(funnelFlowQueueDto); sendMessageQueue(funnelFlowQueueDto);
} }
......
package com.pcloud.common.core.biz; package com.pcloud.common.core.biz;
import javax.jms.JMSException; import org.springframework.amqp.core.AmqpTemplate;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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 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.core.dto.LabelUsedMessageDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
/** /**
* @描述: 标签使用队列实现类 * @描述: 标签使用队列实现类 @作者: shuyh @创建时间: 2017年5月23日 @版本:1.0
* @作者: shuyh
* @创建时间: 2017年5月23日
* @版本:1.0
*/ */
@Component("labelUsedQueueBiz") @Component("labelUsedQueueBiz")
public class LabelUsedQueueBizImpl implements LabelUsedQueueBiz{ public class LabelUsedQueueBizImpl implements LabelUsedQueueBiz {
/**
*
*/
private final static Logger logger = LoggerFactory.getLogger(LabelUsedQueueBizImpl.class);
@Autowired(required=false) @Autowired
@Qualifier("jmsLabelUsedTemplate") private AmqpTemplate amqpTemplate;
private JmsTemplate jmsLabelUsedTemplate;
/**
* 发送队列
*/
@Override @Override
@ParamLog("标签使用QUEUE")
public void sendMessageQueue(LabelUsedMessageDto labelUsedMessageDto) throws BizException { public void sendMessageQueue(LabelUsedMessageDto labelUsedMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.LABEL_USED, labelUsedMessageDto);
@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);
} }
} }
package com.pcloud.common.core.biz; package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.DynamicDto; import org.springframework.amqp.core.AmqpTemplate;
import com.pcloud.common.exceptions.BizException;
import org.apache.activemq.command.ActiveMQQueue;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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 org.springframework.stereotype.Component;
import javax.jms.JMSException; import com.pcloud.common.core.aspect.ParamLog;
import javax.jms.ObjectMessage; import com.pcloud.common.core.constant.MQQueueConstant;
import javax.jms.Session; import com.pcloud.common.core.dto.DynamicDto;
import com.pcloud.common.exceptions.BizException;
/** /**
* @描述: * @描述:
* @作者:lucas *
* @创建时间:2017年12月14日,15:58 * @作者:lucas @创建时间:2017年12月14日,15:58 @版本:1.0
* @版本:1.0
*/ */
@Component("merchantDynamicQueueBiz") @Component("merchantDynamicQueueBiz")
public class MerchantDynamicQueueBizImpl implements MerchantDynamicQueueBiz { public class MerchantDynamicQueueBizImpl implements MerchantDynamicQueueBiz {
private final static Logger logger= LoggerFactory.getLogger(MerchantDynamicQueueBizImpl.class); @Autowired
/** private AmqpTemplate amqpTemplate;
* 消息模板
*/
@Autowired(required=false)
@Qualifier("jmsDynamicTemplate")
private JmsTemplate jmsDynamicTemplate;
@Override @Override
@ParamLog("动态监控QUEUE")
public void send(DynamicDto dynamicDto) throws BizException { public void send(DynamicDto dynamicDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.MERCHANT_DYNAMIC, dynamicDto);
@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;
} }
logger.info("发送成功,"+dynamicDto);
}
} }
...@@ -2,6 +2,7 @@ package com.pcloud.common.core.biz; ...@@ -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.SendEmailDto;
import com.pcloud.common.core.dto.SendMessageDto; import com.pcloud.common.core.dto.SendMessageDto;
import com.pcloud.common.core.dto.SendNotifyDto; import com.pcloud.common.core.dto.SendNotifyDto;
...@@ -38,4 +39,9 @@ public interface MessageBiz { ...@@ -38,4 +39,9 @@ public interface MessageBiz {
*/ */
void sendSMS(SendMessageDto smsParam); void sendSMS(SendMessageDto smsParam);
/**
* 短信推送
*/
void sendAppMessage(SendAppMessageDto sendAppMessageDto);
} }
package com.pcloud.common.core.biz; 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.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired; 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 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.SendEmailDto;
import com.pcloud.common.core.dto.SendMessageDto; import com.pcloud.common.core.dto.SendMessageDto;
import com.pcloud.common.core.dto.SendNotifyDto; import com.pcloud.common.core.dto.SendNotifyDto;
...@@ -20,148 +16,82 @@ import com.pcloud.common.utils.mq.MqMessage; ...@@ -20,148 +16,82 @@ import com.pcloud.common.utils.mq.MqMessage;
import com.pcloud.common.utils.mq.MqMessageTypeEnum; import com.pcloud.common.utils.mq.MqMessageTypeEnum;
/** /**
*
* @描述:邮件业务实现 * @描述:邮件业务实现
* @作者:shichunshan * @作者:shichunshan
* @创建时间:2016年6月24日,下午2:19:27 * @创建时间:2016年6月24日,下午2:19:27 @版本:1.0
* @版本:1.0
*/ */
@Component("mailBiz") @Component("messageQueueBiz")
public class MessageBizImpl implements MessageBiz{ public class MessageBizImpl implements MessageBiz {
private final static Logger logger = LoggerFactory.getLogger(MessageBizImpl.class);
private final static Logger logger=LoggerFactory.getLogger(MessageBizImpl.class); @Autowired
private AmqpTemplate amqpTemplate;
/** /**
* 消息模板 * 发送邮件
*
* @param sendEmailDto
*/ */
@Autowired(required = false)
@Qualifier("jmsMessageTemplate")
private JmsTemplate jmsMessageTemplate;
@Override @Override
@ParamLog("发送邮件")
public void sendEmail(SendEmailDto sendEmailDto) { public void sendEmail(SendEmailDto sendEmailDto) {
MessageCreator messageCreator = new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
MqMessage mqMessage = null;
try { try {
mqMessage = formateMessage(sendEmailDto); ObjectMapper objectMapper = new ObjectMapper();
logger.info("mqMessage+++++++++++" + mqMessage); String content = objectMapper.writeValueAsString(sendEmailDto);
} catch (IOException e) { MqMessage mqMessage = new MqMessage(MqMessageTypeEnum.EMAIL, content);
logger.error("邮件发送失败," + sendEmailDto); amqpTemplate.convertAndSend(MQQueueConstant.MESSAGE, mqMessage);
return null;
}
return session.createObjectMessage(mqMessage);
}
};
try {
jmsMessageTemplate.send(messageCreator);
} catch (Exception e) { } catch (Exception e) {
logger.error("邮件发送失败," + e.getMessage() + "," + sendEmailDto, 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 @Override
@ParamLog("发送站内信")
public void sendLetter(SendNotifyDto sendNotifyDto) { public void sendLetter(SendNotifyDto sendNotifyDto) {
MessageCreator messageCreator = new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
MqMessage mqMessage = null;
try { try {
mqMessage = formateMessage(sendNotifyDto); ObjectMapper objectMapper = new ObjectMapper();
logger.info("mqMessage+++++++++++" + mqMessage); String content = objectMapper.writeValueAsString(sendNotifyDto);
} catch (IOException e) { MqMessage mqMessage = new MqMessage(MqMessageTypeEnum.LETTER, content);
logger.error("站内信发送失败," + sendNotifyDto); amqpTemplate.convertAndSend(MQQueueConstant.MESSAGE, mqMessage);
return null;
}
return session.createObjectMessage(mqMessage);
}
};
try {
jmsMessageTemplate.send(messageCreator);
} catch (Exception e) { } catch (Exception e) {
logger.error("站内信发送失败," + e.getMessage() + "," + sendNotifyDto, 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 @Override
public Message createMessage(Session session) throws JMSException { @ParamLog("发送短信")
MqMessage mqMessage = null; public void sendSMS(SendMessageDto sendMessageDto) {
try { try {
mqMessage = formateMessage(smsParam); ObjectMapper objectMapper = new ObjectMapper();
logger.info("mqMessage+++++++++++" + mqMessage); String content = objectMapper.writeValueAsString(sendMessageDto);
} catch (IOException e) { MqMessage mqMessage = new MqMessage(MqMessageTypeEnum.SHORT_MESSAGE, content);
logger.error("短信发送失败," + smsParam); amqpTemplate.convertAndSend(MQQueueConstant.MESSAGE, mqMessage);
return null;
}
return session.createObjectMessage(mqMessage);
}
};
try {
jmsMessageTemplate.send(messageCreator);
} catch (Exception e) { } catch (Exception e) {
logger.error("短信发送失败," + e.getMessage() + "," + smsParam, e); logger.error("短信发送失败," + e.getMessage() + "," + sendMessageDto, e);
return;
} }
logger.info("短信发送成功," + smsParam);
} }
/** /**
* 格式化内容 * 发送app推送
*
* @param sendSMSDto
* 邮件参数
* @return 队列消息
* @throws IOException
* 序列化为json错误
*/ */
private MqMessage formateMessage(SendMessageDto smsParam) throws IOException { @Override
@ParamLog("发送APP推送")
public void sendAppMessage(SendAppMessageDto sendAppMessageDto) {
try {
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
String content = objectMapper.writeValueAsString(smsParam); String content = objectMapper.writeValueAsString(sendAppMessageDto);
return new MqMessage(MqMessageTypeEnum.SHORT_MESSAGE, content); 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; package com.pcloud.common.core.biz;
import javax.jms.JMSException; import org.springframework.amqp.core.AmqpTemplate;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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 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.core.dto.OperationLogDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
@Service("operationLogQueueBiz") @Service("operationLogQueueBiz")
public class OperationLogQueueBizImpl implements OperationLogQueueBiz { public class OperationLogQueueBizImpl implements OperationLogQueueBiz {
/** @Autowired
* private AmqpTemplate amqpTemplate;
*/
private final static Logger logger = LoggerFactory.getLogger(OperationLogQueueBizImpl.class);
/**
* 消息模板
*/
@Autowired(required = false)
@Qualifier("jmsLogTemplate")
private JmsTemplate jmsLogTemplate;
@Override @Override
@ParamLog("日志记录QUEUE")
public void send(OperationLogDto operationLog) throws BizException { public void send(OperationLogDto operationLog) throws BizException {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.LOG, operationLog);
@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);
} }
} }
package com.pcloud.common.core.biz; package com.pcloud.common.core.biz;
import javax.jms.JMSException; import org.springframework.amqp.core.AmqpTemplate;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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 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.core.dto.TemplateMessageDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
...@@ -19,39 +13,21 @@ import com.pcloud.common.exceptions.BizException; ...@@ -19,39 +13,21 @@ import com.pcloud.common.exceptions.BizException;
* *
* @描述:发送模板消息队列实现类 * @描述:发送模板消息队列实现类
* @作者:songx * @作者:songx
* @创建时间:2016年11月23日,下午4:53:43 * @创建时间:2016年11月23日,下午4:53:43 @版本:1.0
* @版本:1.0
*/ */
@Component("templateQueueBiz") @Component("templateQueueBiz")
public class TemplateQueueBizImpl implements TemplateQueueBiz { public class TemplateQueueBizImpl implements TemplateQueueBiz {
/** @Autowired
* private AmqpTemplate amqpTemplate;
*/
private final static Logger logger=LoggerFactory.getLogger(TemplateQueueBizImpl.class);
@Autowired(required=false)
@Qualifier("jmsTemplateTemplate")
private JmsTemplate jmsTemplateTemplate;
/** /**
* 发送队列 * 发送模板消息
*/ */
@Override @Override
@ParamLog("发送模板消息QUEUE")
public void sendMessageQueue(TemplateMessageDto templateMessageDto) throws BizException { public void sendMessageQueue(TemplateMessageDto templateMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.TEMPLATE, templateMessageDto);
@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);
} }
} }
package com.pcloud.common.core.biz; package com.pcloud.common.core.biz;
import javax.jms.JMSException; import org.springframework.amqp.core.AmqpTemplate;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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 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.core.dto.UserActionMessageDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
/** /**
* @描述: 发送模板消息队列实现类 * @描述: 发送模板消息队列实现类 @作者: shuyh @创建时间: 2017年5月23日 @版本:1.0
* @作者: shuyh
* @创建时间: 2017年5月23日
* @版本:1.0
*/ */
@Service("userActionQueueBiz") @Service("userActionQueueBiz")
public class UserActionQueueBizImpl implements UserActionQueueBiz{ public class UserActionQueueBizImpl implements UserActionQueueBiz {
/**
*
*/
private final static Logger logger=LoggerFactory.getLogger(UserActionQueueBizImpl.class);
@Autowired(required=false) @Autowired
@Qualifier("jmsUserActionTemplate") private AmqpTemplate amqpTemplate;
private JmsTemplate jmsUserActionTemplate;
/** /**
* 发送队列 * 用户行为QUEUE
*/ */
@Override @Override
@ParamLog("用户行为QUEUE")
public void sendMessageQueue(UserActionMessageDto userActionMessageDto) throws BizException { public void sendMessageQueue(UserActionMessageDto userActionMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.USER_ACTION, userActionMessageDto);
@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);
} }
} }
package com.pcloud.common.core.biz; package com.pcloud.common.core.biz;
import com.pcloud.common.core.dto.WeektaskMessageDto; import org.springframework.amqp.core.AmqpTemplate;
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.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 org.springframework.stereotype.Component;
import javax.jms.JMSException; import com.pcloud.common.core.aspect.ParamLog;
import javax.jms.ObjectMessage; import com.pcloud.common.core.constant.MQQueueConstant;
import javax.jms.Session; import com.pcloud.common.core.dto.WeektaskMessageDto;
import com.pcloud.common.exceptions.BizException;
/** /**
* 编辑周任务队列实现 * 编辑周任务队列实现
...@@ -21,37 +16,18 @@ import javax.jms.Session; ...@@ -21,37 +16,18 @@ import javax.jms.Session;
* @create 2017-09-21 09:33 * @create 2017-09-21 09:33
**/ **/
@Component("weektaskQueueBiz") @Component("weektaskQueueBiz")
public class WeektaskQueueBizImpl implements WeektaskQueueBiz{ public class WeektaskQueueBizImpl implements WeektaskQueueBiz {
private final static Logger logger= LoggerFactory.getLogger(WeektaskQueueBizImpl.class);
@Autowired(required=false) @Autowired
@Qualifier("jmsWeektaskTemplate") private AmqpTemplate amqpTemplate;
private JmsTemplate jmsWeekstaskTemplate;
// @Autowired(required= false)
// @Qualifier("raystask")
// private ActiveMQQueue templateQueue;
/** /**
* 发送队列 * 发送队列
*/ */
@Override @Override
@ParamLog("红榜任务QUEUE")
public void sendMessageQueue(WeektaskMessageDto weektaskMessageDto) throws BizException { public void sendMessageQueue(WeektaskMessageDto weektaskMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.WEEK_TASK, weektaskMessageDto);
@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);
} }
} }
...@@ -4,12 +4,8 @@ ...@@ -4,12 +4,8 @@
package com.pcloud.common.core.constant; package com.pcloud.common.core.constant;
/** /**
*
*
* @author:songx * @author:songx
* @date:2017年2月27日,下午4:29:06 * @date:2017年2月27日,下午4:29:06 使用RabbitMQ需要去MqQueueConstant中声明队列名称,枚举的第二个值将不再使用,第一个值正常使用
*
* 使用RabbitMQ需要去MqQueueConstant中声明队列名称,枚举的第二个值将不再使用,第一个值正常使用
* modify by songx at 2018-08-22 * modify by songx at 2018-08-22
*/ */
public enum ConvertEnum { public enum ConvertEnum {
...@@ -17,91 +13,95 @@ public enum ConvertEnum { ...@@ -17,91 +13,95 @@ public enum ConvertEnum {
/** /**
* 应用转码 * 应用转码
*/ */
APP("APP", "convert2App"), APP("APP"),
/** /**
* 资源中心转码 * 资源中心转码
*/ */
RESOURCE("RESOURCE", "convert2Resource"), RESOURCE("RESOURCE"),
/** /**
* 报名时的视频转换 * 报名时的视频转换
*/ */
MATCH("MATCH", "convert2Resource"), MATCH("MATCH"),
/** /**
* 资源中心即时转换 * 资源中心即时转换
*/ */
INSTANT_RESOURCE("INSTANT_RESOURCE", "convert2Resource"), INSTANT_RESOURCE("INSTANT_RESOURCE"),
/** /**
* 报名应用 * 报名应用
*/ */
MATCH_APP("MATCH_APP", "convert2MatchApp"), MATCH_APP("MATCH_APP"),
/** /**
* 内容中心 * 内容中心
*/ */
CONTENT("CONTENT", "convert2Content"), CONTENT("CONTENT"),
/** /**
* 内容中心->题库:文件记忆功能 * 内容中心->题库:文件记忆功能
*/ */
PRETEST_FILEMEMORY("PRETEST_FILEMEMORY", "convert2PretestFilememory"), PRETEST_FILEMEMORY("PRETEST_FILEMEMORY"),
/** /**
* 小游戏 * 小游戏
*/ */
RAYSTASK("RAYSTASK", "convert2Raystask"), RAYSTASK("RAYSTASK"),
/** /**
* 圈子应用 * 圈子应用
*/ */
GROUP_APP("GROUP_APP", "convert2GroupApp"), GROUP_APP("GROUP_APP"),
/** /**
* 投票应用 * 投票应用
*/ */
VOTE_APP("VOTE_APP", "convert2VoteApp"), VOTE_APP("VOTE_APP"),
/** /**
* 教育表格应用 * 教育表格应用
*/ */
EF_APP("EF_APP", "convert2EfApp"), EF_APP("EF_APP"),
/** /**
* 测试工具 * 测试工具
*/ */
TEST_APP("TEST_APP", "convert2TestApp"), TEST_APP("TEST_APP"),
/** /**
* 直播工具 * 直播工具
*/ */
LIVE_APP("LIVE_APP", "convert2LiveApp"), LIVE_APP("LIVE_APP"),
/** /**
* 视频课 * 视频课
*/ */
VIDEO_LESSON("VIDEO_LESSON", "convert2VideoLesson"); VIDEO_LESSON("VIDEO_LESSON"),
/** /**
* 值 * 音频课
*/ */
public final String value; AUDIO_LESSON("AUDIO_LESSON"),
/** /**
* 模板名称 * 音频纯听
*/ */
public final String jmsTemplate; AUDIO_LISTEN("AUDIO_LISTEN");
/**
* 值
*/
public final String value;
/** /**
* 构造 * 构造
* *
* @param value * @param value
*/ */
private ConvertEnum(String value, String jmsTemplate) { private ConvertEnum(String value) {
this.value = value; this.value = value;
this.jmsTemplate = jmsTemplate;
} }
} }
...@@ -81,6 +81,11 @@ public class MQQueueConstant { ...@@ -81,6 +81,11 @@ public class MQQueueConstant {
public static final String CONVERT_TO_VOTEAPP = "convert2VoteAppQueue"; public static final String CONVERT_TO_VOTEAPP = "convert2VoteAppQueue";
/** /**
* 文件转码结束(音视频)->音频课/纯听
*/
public static final String CONVERT_TO_AUDIOLESSON = "convert2AudioLessonQueue";
/**
* 数据埋点 * 数据埋点
*/ */
public static final String FRONT_EVENT = "frontEventQueue"; public static final String FRONT_EVENT = "frontEventQueue";
......
...@@ -16,29 +16,255 @@ public class MQTopicProducer { ...@@ -16,29 +16,255 @@ public class MQTopicProducer {
*/ */
public static final String FILE_TRANSCODE = "topic.fileTranscode"; 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_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_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 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";
/**
* 管理消息
*/
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交换机名称(勿改) * topic交换机名称(勿改)
......
...@@ -208,6 +208,21 @@ public class ProductTypeConstant { ...@@ -208,6 +208,21 @@ public class ProductTypeConstant {
public static final String PRETESTAPP = "PRETESTAPP"; 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}; public static final String[] HOT_PRODUCT_TYPE = {QA, PDF, VIDEO, PRETEST};
...@@ -233,7 +248,7 @@ public class ProductTypeConstant { ...@@ -233,7 +248,7 @@ public class ProductTypeConstant {
* 应用型作品(伴随应用使用) * 应用型作品(伴随应用使用)
*/ */
public static final String[] APP_PRODUCT = {LOOK, LIVE, TUTOR, GROUP, ZSCORE, VOTE, CLOCK, TEST, AUDIOAPP, ANSWER, 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};
/** /**
* 数据平台埋点型作品 * 数据平台埋点型作品
......
...@@ -9,7 +9,10 @@ package com.pcloud.common.core.constant; ...@@ -9,7 +9,10 @@ package com.pcloud.common.core.constant;
*/ */
public enum SceneCode { public enum SceneCode {
/**
* 奖金发放通知
*/
PRIZE_SEND_SCENE("PRIZE_SEND_SCENE"),
/** /**
* 服务完成通知 * 服务完成通知
...@@ -47,24 +50,9 @@ public enum SceneCode { ...@@ -47,24 +50,9 @@ public enum SceneCode {
USER_QUESTION_SCENE("USER_QUESTION_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"),
/** /**
* 退款成功 * 退款成功
...@@ -91,33 +79,17 @@ public enum SceneCode { ...@@ -91,33 +79,17 @@ public enum SceneCode {
*/ */
ORDER_MESSAGE_SCENE("ORDER_MESSAGE_SCENE"), ORDER_MESSAGE_SCENE("ORDER_MESSAGE_SCENE"),
/**
* 退货申请结果通知
*/
REFUND_APPLICATION_RESULT_SCENE("REFUND_APPLICATION_RESULT_SCENE"),
/** /**
* 确认登录提醒 * 确认登录提醒
*/ */
CONFIRM_LOGIN_SCENE("CONFIRM_LOGIN_SCENE"), CONFIRM_LOGIN_SCENE("CONFIRM_LOGIN_SCENE"),
/** /**
* 成功报名付费通知
*/
ENROLL_SUCCESS_SCENE("ENROLL_SUCCESS_SCENE"),
/**
* 预约提醒 * 预约提醒
*/ */
APPOINT_SCENE("APPOINT_SCENE"), APPOINT_SCENE("APPOINT_SCENE"),
/** /**
* 排名通知
*/
RANK_SCENE("RANK_SCENE"),
/**
* 学习进度提醒 * 学习进度提醒
*/ */
LEARN_PROGRESS_SCENE("LEARN_PROGRESS_SCENE"), LEARN_PROGRESS_SCENE("LEARN_PROGRESS_SCENE"),
...@@ -140,11 +112,7 @@ public enum SceneCode { ...@@ -140,11 +112,7 @@ public enum SceneCode {
/** /**
* 会员到期提醒 * 会员到期提醒
*/ */
MEMBERSHIP_EXPIRE("MEMBERSHIP_EXPIRE"), MEMBERSHIP_EXPIRE("MEMBERSHIP_EXPIRE");
/**
* 奖金发放通知
*/
PRIZE_SEND_SCENE("PRIZE_SEND_SCENE");
/** /**
* 值 * 值
......
...@@ -36,7 +36,18 @@ public enum WeektaskCode { ...@@ -36,7 +36,18 @@ public enum WeektaskCode {
CLICK_VIEW_GAINS("click_view_gains"), CLICK_VIEW_GAINS("click_view_gains"),
//做书应用→创建音频应用→最后一步点击保存 //做书应用→创建音频应用→最后一步点击保存
CLICK_SAVE_AUDIO_APP("click_save_audio_app"), 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 { ...@@ -98,6 +109,36 @@ public enum WeektaskCode {
ADD_SUPERMERCHANT_COURSE("add_supermerchant_course"), ADD_SUPERMERCHANT_COURSE("add_supermerchant_course"),
//开始直播 //开始直播
START_LIVE("start_live"), 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 { ...@@ -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; public final String code;
......
...@@ -19,8 +19,7 @@ public interface BaseDao<T> { ...@@ -19,8 +19,7 @@ public interface BaseDao<T> {
/** /**
* 根据实体对象新增记录. * 根据实体对象新增记录.
* *
* @param entity * @param entity .
* .
* @return id . * @return id .
*/ */
long insert(T entity); long insert(T entity);
...@@ -28,8 +27,7 @@ public interface BaseDao<T> { ...@@ -28,8 +27,7 @@ public interface BaseDao<T> {
/** /**
* 批量保存对象. * 批量保存对象.
* *
* @param entity * @param entity .
* .
* @return id . * @return id .
*/ */
long insert(List<T> list); long insert(List<T> list);
...@@ -37,8 +35,7 @@ public interface BaseDao<T> { ...@@ -37,8 +35,7 @@ public interface BaseDao<T> {
/** /**
* 更新实体对应的记录. * 更新实体对应的记录.
* *
* @param entity * @param entity .
* .
* @return * @return
*/ */
long update(T entity); long update(T entity);
...@@ -53,10 +50,19 @@ public interface BaseDao<T> { ...@@ -53,10 +50,19 @@ public interface BaseDao<T> {
long update(T entity, String sqlId); long update(T entity, String sqlId);
/** /**
* 批量更新对象. * 更新实体对应的记录.
* *
* @param entity * @param entity
* . * @param sqlId
* @param errorMessage 错误消息
* @return
*/
long update(T entity, String sqlId, String errorMessage);
/**
* 批量更新对象.
*
* @param entity .
* @return int . * @return int .
*/ */
long update(List<T> list); long update(List<T> list);
...@@ -64,8 +70,7 @@ public interface BaseDao<T> { ...@@ -64,8 +70,7 @@ public interface BaseDao<T> {
/** /**
* 根据ID查找记录. * 根据ID查找记录.
* *
* @param id * @param id .
* .
* @return entity . * @return entity .
*/ */
T getById(long id); T getById(long id);
...@@ -73,8 +78,7 @@ public interface BaseDao<T> { ...@@ -73,8 +78,7 @@ public interface BaseDao<T> {
/** /**
* 根据ID删除记录. * 根据ID删除记录.
* *
* @param id * @param id .
* .
* @return * @return
*/ */
long deleteById(long id); long deleteById(long id);
...@@ -82,10 +86,8 @@ public interface BaseDao<T> { ...@@ -82,10 +86,8 @@ public interface BaseDao<T> {
/** /**
* 分页查询 . * 分页查询 .
* *
* @param pageParam * @param pageParam 分页参数.
* 分页参数. * @param paramMap 业务条件查询参数.
* @param paramMap
* 业务条件查询参数.
* @return * @return
*/ */
PageBean listPage(PageParam pageParam, Map<String, Object> paramMap); PageBean listPage(PageParam pageParam, Map<String, Object> paramMap);
......
...@@ -5,6 +5,7 @@ import java.util.HashMap; ...@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.pcloud.common.utils.string.StringUtil;
import org.apache.ibatis.jdbc.SqlRunner; import org.apache.ibatis.jdbc.SqlRunner;
import org.apache.ibatis.session.RowBounds; import org.apache.ibatis.session.RowBounds;
import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSession;
...@@ -118,6 +119,27 @@ public abstract class BaseDaoImpl<T extends BaseEntity> implements BaseDao<T> { ...@@ -118,6 +119,27 @@ public abstract class BaseDaoImpl<T extends BaseEntity> implements BaseDao<T> {
return result; return result;
} }
public long update(T t, String sqlId, String errorMessage) {
if (t == null)
throw new RuntimeException("T is null");
int result = 0;
try {
result = sqlSessionTemplate.update(getStatement(sqlId), t);
} catch (Exception e) {
logger.error("update fail[" + sqlId + "]:" + e.getMessage(), e);
throw BizException.DB_DML_FAIL;
}
if (result <= 0) {
if (StringUtil.isEmpty(errorMessage))
throw BizException.DB_UPDATE_RESULT_0;
else
throw new BizException(10000, errorMessage);
}
return result;
}
public long update(List<T> list) { public long update(List<T> list) {
if (list == null || list.size() <= 0) if (list == null || list.size() <= 0)
...@@ -230,7 +252,7 @@ public abstract class BaseDaoImpl<T extends BaseEntity> implements BaseDao<T> { ...@@ -230,7 +252,7 @@ public abstract class BaseDaoImpl<T extends BaseEntity> implements BaseDao<T> {
} }
} }
@SuppressWarnings({ "rawtypes", "unchecked" }) @SuppressWarnings({"rawtypes", "unchecked"})
public List<T> listBy(Map<String, Object> paramMap) { public List<T> listBy(Map<String, Object> paramMap) {
return (List) this.listBy(paramMap, SQL_LIST_BY); return (List) this.listBy(paramMap, SQL_LIST_BY);
} }
......
...@@ -94,6 +94,18 @@ public class SendNotifyDto implements Serializable{ ...@@ -94,6 +94,18 @@ public class SendNotifyDto implements Serializable{
*/ */
private String jsonString; private String jsonString;
/**
* 来源ID
* @return
*/
private String originId;
/**
* 来源类型
* @return
*/
private String originType;
public Long getFromId() { public Long getFromId() {
return fromId; return fromId;
} }
...@@ -222,6 +234,26 @@ public class SendNotifyDto implements Serializable{ ...@@ -222,6 +234,26 @@ public class SendNotifyDto implements Serializable{
this.jsonString = jsonString; 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 @Override
public String toString() { public String toString() {
return "SendNotifyDto{" + return "SendNotifyDto{" +
...@@ -244,6 +276,8 @@ public class SendNotifyDto implements Serializable{ ...@@ -244,6 +276,8 @@ public class SendNotifyDto implements Serializable{
", pic='" + pic + '\'' + ", pic='" + pic + '\'' +
", frquency=" + frquency + ", frquency=" + frquency +
", jsonString='" + jsonString + '\'' + ", jsonString='" + jsonString + '\'' +
", originId='" + originId + '\'' +
", originType='" + originType + '\'' +
'}'; '}';
} }
} }
...@@ -6,9 +6,10 @@ import java.util.Map; ...@@ -6,9 +6,10 @@ import java.util.Map;
/** /**
* 模板消息dto * 模板消息dto
*
* @author 作者 : lili * @author 作者 : lili
* @date 创建时间:2016年11月17日 下午12:03:48
* @version 1.0 * @version 1.0
* @date 创建时间:2016年11月17日 下午12:03:48
* @return * @return
*/ */
public class TemplateMessageDto implements Serializable { public class TemplateMessageDto implements Serializable {
...@@ -93,6 +94,18 @@ public class TemplateMessageDto implements Serializable { ...@@ -93,6 +94,18 @@ public class TemplateMessageDto implements Serializable {
*/ */
private String appType; private String appType;
/**
* 消息来源分类
*/
private String fromCategory;
public String getFromCategory() {
return fromCategory;
}
public void setFromCategory(String fromCategory) {
this.fromCategory = fromCategory;
}
public Long getAccountSettingId() { public Long getAccountSettingId() {
return accountSettingId; return accountSettingId;
......
...@@ -41,8 +41,11 @@ public enum AppTypeEnum { ...@@ -41,8 +41,11 @@ public enum AppTypeEnum {
ZSCORE("ZSCORE"), // 标准分 ZSCORE("ZSCORE"), // 标准分
RECITE_WORD("RECITE_WORD"), // 背单词 RECITE_WORD("RECITE_WORD"), // 背单词
INTERACT("INTERACT"), // 互动墙 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 @@ ...@@ -53,6 +53,22 @@
<artifactId>spring-cloud-starter-feign</artifactId> <artifactId>spring-cloud-starter-feign</artifactId>
</dependency> </dependency>
<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> <groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId> <artifactId>spring-retry</artifactId>
</dependency> </dependency>
...@@ -82,14 +98,6 @@ ...@@ -82,14 +98,6 @@
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId> <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency> </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> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId> <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
...@@ -147,6 +155,12 @@ ...@@ -147,6 +155,12 @@
<groupId>commons-io</groupId> <groupId>commons-io</groupId>
<artifactId>commons-io</artifactId> <artifactId>commons-io</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
<dependency> <dependency>
<groupId>commons-codec</groupId> <groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId> <artifactId>commons-codec</artifactId>
...@@ -189,6 +203,13 @@ ...@@ -189,6 +203,13 @@
</dependency> </dependency>
<!-- sftp end --> <!-- sftp end -->
<!-- google Begin -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<!-- google End -->
<!-- ftp begin --> <!-- ftp begin -->
<dependency> <dependency>
<groupId>commons-net</groupId> <groupId>commons-net</groupId>
...@@ -227,12 +248,6 @@ ...@@ -227,12 +248,6 @@
<artifactId>freemarker</artifactId> <artifactId>freemarker</artifactId>
</dependency> </dependency>
<!-- PDF解析工具 -->
<dependency>
<groupId>pcloud.tools</groupId>
<artifactId>tools</artifactId>
</dependency>
<!-- 图片处理工具 added by songx at 2017-05-17 --> <!-- 图片处理工具 added by songx at 2017-05-17 -->
<dependency> <dependency>
<groupId>net.coobird</groupId> <groupId>net.coobird</groupId>
...@@ -283,12 +298,6 @@ ...@@ -283,12 +298,6 @@
</dependency> </dependency>
<!-- end --> <!-- end -->
<!-- google 工具包 -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<!-- Jackson Begin --> <!-- Jackson Begin -->
<dependency> <dependency>
<groupId>org.codehaus.jackson</groupId> <groupId>org.codehaus.jackson</groupId>
...@@ -364,12 +373,7 @@ ...@@ -364,12 +373,7 @@
<version>1.5.2</version> <version>1.5.2</version>
</dependency> </dependency>
<!--PDF转图片 -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.9</version>
</dependency>
<dependency> <dependency>
<groupId>com.github.jai-imageio</groupId> <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 { ...@@ -27,6 +27,11 @@ public class BaseEntity implements Serializable {
private Long id; private Long id;
/** /**
* 用户ID
*/
private Long userId;
/**
* IP地址 * IP地址
*/ */
private String ipAddress; private String ipAddress;
...@@ -49,6 +54,14 @@ public class BaseEntity implements Serializable { ...@@ -49,6 +54,14 @@ public class BaseEntity implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
protected Date updateTime; protected Date updateTime;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getIpAddress() { public String getIpAddress() {
return ipAddress; return ipAddress;
} }
......
...@@ -47,10 +47,14 @@ public enum AppTypeEnum { ...@@ -47,10 +47,14 @@ public enum AppTypeEnum {
INTERACT("INTERACT"), // 互动墙 INTERACT("INTERACT"), // 互动墙
SPECIAL("SPECIAL"), // 专题 SPECIAL("SPECIAL"), // 专题
CLOCK("CLOCK"), // 打卡 CLOCK("CLOCK"), // 打卡
TEST("TEST"), // 测试 TEST("TEST"), // 趣味测试(测试工具)
EBOOK("EBOOK"), // 电子书
LIVE_TIMETABLE("LIVE_TIMETABLE"), // 直播课表 LIVE_TIMETABLE("LIVE_TIMETABLE"), // 直播课表
DRAW("DRAW"), // 抽奖 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; ...@@ -2,6 +2,7 @@ package com.pcloud.common.utils;
import java.util.List; import java.util.List;
import com.pcloud.common.page.PageBeanNew;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -9,8 +10,6 @@ import org.springframework.beans.BeanUtils; ...@@ -9,8 +10,6 @@ import org.springframework.beans.BeanUtils;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
/** /**
*
*
* @author:songx * @author:songx
* @date:2018年8月24日,下午2:18:40 * @date:2018年8月24日,下午2:18:40
*/ */
...@@ -21,10 +20,8 @@ public class BeanNewUtils { ...@@ -21,10 +20,8 @@ public class BeanNewUtils {
/** /**
* 实体类之间的转换 * 实体类之间的转换
* *
* @param source * @param source 来源
* 来源 * @param clazz 目标对象
* @param clazz
* 目标对象
* @return * @return
*/ */
public static <T> T copyProperties(Object source, Class<T> clazz) { public static <T> T copyProperties(Object source, Class<T> clazz) {
...@@ -44,10 +41,8 @@ public class BeanNewUtils { ...@@ -44,10 +41,8 @@ public class BeanNewUtils {
/** /**
* 实体类之间的转换 * 实体类之间的转换
* *
* @param sources * @param sources 来源
* 来源 * @param clazz 目标对象
* @param clazz
* 目标对象
* @return * @return
*/ */
public static <T> List<T> copyProperties(List<?> sources, Class<T> clazz) { public static <T> List<T> copyProperties(List<?> sources, Class<T> clazz) {
...@@ -61,4 +56,32 @@ public class BeanNewUtils { ...@@ -61,4 +56,32 @@ public class BeanNewUtils {
return results; 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; ...@@ -20,13 +20,38 @@ import com.pcloud.common.utils.string.StringUtil;
*/ */
public class LocalDateUtils { 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) * 获取当前的日期字符串(yyyy-MM-dd)
* *
* @return * @return
*/ */
public static String getDateNow() { 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 { ...@@ -35,7 +60,16 @@ public class LocalDateUtils {
* @return * @return
*/ */
public static String getDateTimeNow() { 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 { ...@@ -44,8 +78,7 @@ public class LocalDateUtils {
* @return * @return
*/ */
public static String getYmdhmss() { public static String getYmdhmss() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"); return LocalDateTime.now().format(SHORT_MILLISECOND);
return LocalDateTime.now().format(formatter);
} }
/** /**
...@@ -65,7 +98,10 @@ public class LocalDateUtils { ...@@ -65,7 +98,10 @@ public class LocalDateUtils {
* @return * @return
*/ */
public static String convertToString(LocalDateTime localDateTime) { 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.pdf; package com.pcloud.common.utils.pdf;
import java.awt.image.BufferedImage;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
...@@ -9,8 +8,6 @@ import java.net.MalformedURLException; ...@@ -9,8 +8,6 @@ import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.util.List; import java.util.List;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -45,9 +42,6 @@ import com.pcloud.common.utils.pdf.po.PdfImagePO; ...@@ -45,9 +42,6 @@ import com.pcloud.common.utils.pdf.po.PdfImagePO;
import com.pcloud.common.utils.pdf.po.PdfPO; import com.pcloud.common.utils.pdf.po.PdfPO;
import com.pcloud.common.utils.pdf.po.PdfTablePO; import com.pcloud.common.utils.pdf.po.PdfTablePO;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.tools.pdf.convert.image.PdfToImage;
import javax.imageio.ImageIO;
/** /**
* @author Administrator * @author Administrator
...@@ -78,7 +72,12 @@ public class PdfUtils { ...@@ -78,7 +72,12 @@ public class PdfUtils {
* @return * @return
* @throws Exception * @throws Exception
*/ */
@Deprecated
public static List<UploadResultInfo> pdfToImage(String fileUrl, String format) throws FileException { public static List<UploadResultInfo> pdfToImage(String fileUrl, String format) throws FileException {
if (StringUtil.isEmpty(fileUrl))
return null;
if (!StringUtil.isEmpty(fileUrl))
return null;
String fileName = FileUtils.getFileName(fileUrl); String fileName = FileUtils.getFileName(fileUrl);
// 下载PDF文件 // 下载PDF文件
byte[] bytes = FileUtils.downloadByteFromUrl(fileUrl); byte[] bytes = FileUtils.downloadByteFromUrl(fileUrl);
...@@ -95,48 +94,6 @@ public class PdfUtils { ...@@ -95,48 +94,6 @@ public class PdfUtils {
} }
/** /**
* PDF文件转换图片
*
* @param fileUrl
* @param format
* @return
*/
public static List<UploadResultInfo> pdf2Image(String fileUrl, String format) {
String fileName = FileUtils.getFileName(fileUrl);
String filePath = FilePathConst.DOWNLOAD_PATH + fileName + "_" + UUIDUitl.generateString(12);
String outputPath = FilePathConst.PDF_PATH + fileName + "_" + UUIDUitl.generateString(12);
try {
FileUtils.downloadFileFromUrl(fileUrl, filePath);
File outputDir = new File(outputPath);
if (!outputDir.exists()) {
outputDir.mkdir();
}
File file = new File(filePath);
if (!file.exists()) {
LOGGER.error(fileUrl + " download error");
throw new FileException(FileException.FILE_DOWNLOAD_FAILURE, "下载文件失败");
}
LOGGER.info("pdf downloaded to Folder: " + outputDir.getName());
PDDocument document = PDDocument.load(new File(filePath));
int total = document.getNumberOfPages();
LOGGER.info("Total images to be converted: " + total);
PDFRenderer render = new PDFRenderer(document);
for (int i = 0; i < total; i++) {
BufferedImage image = render.renderImage(i, 2.0f);
File outputfile = new File(outputPath + "page" + (i + 1) + "." + format);
ImageIO.write(image, format, outputfile);
}
document.close();
LOGGER.info("Converted Images are saved at: " + outputDir.getAbsolutePath());
return pdfImageUpload(outputPath, fileName, format);
} catch (Exception e) {
LOGGER.warn("pdf convert error", e);
return pdfToImage(fileUrl, format);
}
}
/**
* PDF转换文件 * PDF转换文件
* *
* @param b * @param b
...@@ -154,8 +111,8 @@ public class PdfUtils { ...@@ -154,8 +111,8 @@ public class PdfUtils {
fi.mkdirs(); fi.mkdirs();
} }
try { try {
PdfToImage pImage = new PdfToImage(IMAGE_WITH, IMAGE_HEIGHT, prefix, format); // PdfToImage pImage = new PdfToImage(IMAGE_WITH, IMAGE_HEIGHT, prefix, format);
pImage.convertPagesToHiResImages(b, outPath); // pImage.convertPagesToHiResImages(b, outPath);
} catch (Exception e) { } catch (Exception e) {
FileUtils.deleteDirectory(outPath); FileUtils.deleteDirectory(outPath);
LOGGER.error("【PDF】PDF转换图片失败:" + e.getMessage(), e); LOGGER.error("【PDF】PDF转换图片失败:" + e.getMessage(), e);
...@@ -401,9 +358,12 @@ public class PdfUtils { ...@@ -401,9 +358,12 @@ public class PdfUtils {
/** /**
* 加水印(字符串) * 加水印(字符串)
* *
* @param inputFile 需要加水印的PDF路径 * @param inputFile
* @param outputFile 输出生成PDF的路径 * 需要加水印的PDF路径
* @param waterMarkName 水印字符 * @param outputFile
* 输出生成PDF的路径
* @param waterMarkName
* 水印字符
*/ */
public static void stringWaterMark(String filePath, String waterMarkName) { public static void stringWaterMark(String filePath, String waterMarkName) {
PdfReader reader = null; PdfReader reader = null;
......
...@@ -19,6 +19,7 @@ import org.slf4j.Logger; ...@@ -19,6 +19,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.pcloud.common.utils.DateUtils; import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
...@@ -29,6 +30,7 @@ import com.pcloud.common.utils.ListUtils; ...@@ -29,6 +30,7 @@ import com.pcloud.common.utils.ListUtils;
* @date 2018/4/23 * @date 2018/4/23
*/ */
@Component("solrUtils") @Component("solrUtils")
@PropertySource(value = "classpath:public_system.properties")
public class SolrUtils { public class SolrUtils {
private static Logger LOGGER = LoggerFactory.getLogger(SolrUtils.class); private static Logger LOGGER = LoggerFactory.getLogger(SolrUtils.class);
......
...@@ -20,6 +20,7 @@ import com.pcloud.common.exceptions.BizException; ...@@ -20,6 +20,7 @@ import com.pcloud.common.exceptions.BizException;
* @创建时间:2016年3月10日,上午11:49:07 @版本:1.0 * @创建时间:2016年3月10日,上午11:49:07 @版本:1.0
*/ */
public class StringUtil extends StringUtilParent { public class StringUtil extends StringUtilParent {
/** /**
* 判断字符串是否为空 * 判断字符串是否为空
* *
...@@ -51,8 +52,7 @@ public class StringUtil extends StringUtilParent { ...@@ -51,8 +52,7 @@ public class StringUtil extends StringUtilParent {
/** /**
* 判断字符串是否为空(自动截取首尾空白) * 判断字符串是否为空(自动截取首尾空白)
* *
* @param str * @param str 源字符串
* 源字符串
* @return * @return
*/ */
public static boolean isEmpty(String str) { public static boolean isEmpty(String str) {
...@@ -62,10 +62,8 @@ public class StringUtil extends StringUtilParent { ...@@ -62,10 +62,8 @@ public class StringUtil extends StringUtilParent {
/** /**
* 判断字符串是否为空 * 判断字符串是否为空
* *
* @param str * @param str 源字符串
* 源字符串 * @param trim 是否截取首尾空白
* @param trim
* 是否截取首尾空白
* @return * @return
*/ */
public static boolean isEmpty(String str, boolean trim) { public static boolean isEmpty(String str, boolean trim) {
...@@ -83,12 +81,10 @@ public class StringUtil extends StringUtilParent { ...@@ -83,12 +81,10 @@ public class StringUtil extends StringUtilParent {
} }
/** /**
* @param str * @param str the string need to be parsed
* the string need to be parsed * @param delim the delimiter to seperate created by zqf at 6/1/2013
* @param delim
* the delimiter to seperate created by zqf at 6/1/2013
*/ */
@SuppressWarnings({ "rawtypes", "unchecked" }) @SuppressWarnings({"rawtypes", "unchecked"})
public static String[] parseToArray(String str, String delim) { public static String[] parseToArray(String str, String delim) {
ArrayList arr = new ArrayList(); ArrayList arr = new ArrayList();
StringTokenizer st = new StringTokenizer(str, delim); StringTokenizer st = new StringTokenizer(str, delim);
...@@ -105,12 +101,9 @@ public class StringUtil extends StringUtilParent { ...@@ -105,12 +101,9 @@ public class StringUtil extends StringUtilParent {
/** /**
* replace a old substring with rep in str * replace a old substring with rep in str
* *
* @param str * @param str the string need to be replaced
* the string need to be replaced * @param old the string need to be removed
* @param old * @param rep the string to be inserted
* the string need to be removed
* @param rep
* the string to be inserted
* @return string replaced * @return string replaced
*/ */
public static String replace(String str, String old, String rep) { public static String replace(String str, String old, String rep) {
...@@ -165,12 +158,9 @@ public class StringUtil extends StringUtilParent { ...@@ -165,12 +158,9 @@ public class StringUtil extends StringUtilParent {
/** /**
* 用于字符串替换 * 用于字符串替换
* *
* @param target * @param target 目标对象 需要替换的字符串
* 目标对象 需要替换的字符串 * @param replacement 要替换的字符串
* @param replacement * @param value 替换的值
* 要替换的字符串
* @param value
* 替换的值
* @return * @return
*/ */
public static String replacement(String target, String replacement, String value) { public static String replacement(String target, String replacement, String value) {
...@@ -225,8 +215,8 @@ public class StringUtil extends StringUtilParent { ...@@ -225,8 +215,8 @@ public class StringUtil extends StringUtilParent {
} }
/** /**
* @description 获取当前服务器日期
* @return * @return
* @description 获取当前服务器日期
*/ */
public static String getCurrdate(String formatStr) { public static String getCurrdate(String formatStr) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
...@@ -274,11 +264,24 @@ public class StringUtil extends StringUtilParent { ...@@ -274,11 +264,24 @@ public class StringUtil extends StringUtilParent {
return Integer.valueOf(String.valueOf(value)); return Integer.valueOf(String.valueOf(value));
} }
/**
* 将Object值转换成String类型
*
* @param value
* @return
*/
public static String getByObj(Object value) {
if (value == null) {
return null;
}
return value.toString();
}
/** /**
* 解析字符串 ---> 去掉字符串中回车、换行、空格 * 解析字符串 ---> 去掉字符串中回车、换行、空格
* *
* @param str * @param str 被解析字符串
* 被解析字符串
* @return String 解析后的字符串 * @return String 解析后的字符串
*/ */
public static String parse(String str) { public static String parse(String str) {
...@@ -344,13 +347,9 @@ public class StringUtil extends StringUtilParent { ...@@ -344,13 +347,9 @@ public class StringUtil extends StringUtilParent {
} }
/** /**
* * @param initCode 初始化编码
* @param initCode * @param length 需要生成编码长度
* 初始化编码 * @param ind 地增量
* @param length
* 需要生成编码长度
* @param ind
* 地增量
* @return 递增后的编码 * @return 递增后的编码
*/ */
public static String getNextCode(String initCode, int length, int ind) { public static String getNextCode(String initCode, int length, int ind) {
...@@ -414,8 +413,7 @@ public class StringUtil extends StringUtilParent { ...@@ -414,8 +413,7 @@ public class StringUtil extends StringUtilParent {
/** /**
* 中文数字转换为阿拉伯数 * 中文数字转换为阿拉伯数
* *
* @param String * @param String s
* s
*/ */
public static int cnNumToInt(String s) { public static int cnNumToInt(String s) {
int result = 0; int result = 0;
...@@ -520,9 +518,7 @@ public class StringUtil extends StringUtilParent { ...@@ -520,9 +518,7 @@ public class StringUtil extends StringUtilParent {
} }
/** /**
* * @param obj 传数值类型的obj
* @param obj
* 传数值类型的obj
* @param format * @param format
* @return * @return
*/ */
...@@ -534,9 +530,7 @@ public class StringUtil extends StringUtilParent { ...@@ -534,9 +530,7 @@ public class StringUtil extends StringUtilParent {
} }
/** /**
* * @param obj 传数值类型的obj
* @param obj
* 传数值类型的obj
* @param format * @param format
* @return * @return
*/ */
......
...@@ -49,7 +49,6 @@ ...@@ -49,7 +49,6 @@
<pcloud-common-core.version>2.1.0-RELEASE</pcloud-common-core.version> <pcloud-common-core.version>2.1.0-RELEASE</pcloud-common-core.version>
</properties> </properties>
</profile> </profile>
<!-- 压测环境 --> <!-- 压测环境 -->
<profile> <profile>
<id>perf</id> <id>perf</id>
...@@ -71,8 +70,7 @@ ...@@ -71,8 +70,7 @@
<pcloud-common-core.version>2.1.0-RELEASE</pcloud-common-core.version> <pcloud-common-core.version>2.1.0-RELEASE</pcloud-common-core.version>
</properties> </properties>
</profile> </profile>
<!-- 生产环境 RAYS -->
<!-- 生产环境 RAYS-->
<profile> <profile>
<id>prod</id> <id>prod</id>
<build> <build>
...@@ -93,35 +91,13 @@ ...@@ -93,35 +91,13 @@
<pcloud-common-core.version>2.1.1-RELEASE</pcloud-common-core.version> <pcloud-common-core.version>2.1.1-RELEASE</pcloud-common-core.version>
</properties> </properties>
</profile> </profile>
<!-- 生产环境 SAYS-->
<profile>
<id>prodsays</id>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/resources.prodsays</directory>
</resource>
</resources>
</build>
<properties>
<!-- 部署环境(对应配置文件版本) -->
<env>prodsays</env>
<pcloud-common.version>2.2.1-RELEASE</pcloud-common.version>
<pcloud-common-config.version>2.2.1-RELEASE</pcloud-common-config.version>
<pcloud-common-core.version>2.2.1-RELEASE</pcloud-common-core.version>
</properties>
</profile>
</profiles> </profiles>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<spring-cloud.version>Dalston.SR1</spring-cloud.version> <spring-cloud.version>Dalston.SR3</spring-cloud.version>
<spring.data.solr.version>2.1.7.RELEASE</spring.data.solr.version> <spring.data.solr.version>2.1.7.RELEASE</spring.data.solr.version>
<!-- frameworks --> <!-- frameworks -->
...@@ -257,14 +233,6 @@ ...@@ -257,14 +233,6 @@
</dependency> </dependency>
<!-- Common Dependency End --> <!-- Common Dependency End -->
<!-- Mysql Driver Begin -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
<!-- Mysql Driver End -->
<!-- logback-json --> <!-- logback-json -->
<dependency> <dependency>
<groupId>ch.qos.logback.contrib</groupId> <groupId>ch.qos.logback.contrib</groupId>
...@@ -282,18 +250,14 @@ ...@@ -282,18 +250,14 @@
<version>0.1.2</version> <version>0.1.2</version>
</dependency> </dependency>
<!-- Others Begin -->
<dependency> <!-- Mysql Driver Begin -->
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
<version>3.2.10.Final</version>
</dependency>
<dependency> <dependency>
<groupId>org.apache.activemq</groupId> <groupId>mysql</groupId>
<artifactId>activemq-all</artifactId> <artifactId>mysql-connector-java</artifactId>
<version>5.15.0</version> <version>6.0.6</version>
</dependency> </dependency>
<!-- Others End --> <!-- Mysql Driver End -->
<!-- 图片处理工具 added by songx at 2017-05-17 --> <!-- 图片处理工具 added by songx at 2017-05-17 -->
<dependency> <dependency>
...@@ -321,13 +285,6 @@ ...@@ -321,13 +285,6 @@
<version>3.0.0</version> <version>3.0.0</version>
</dependency> </dependency>
<!-- PDF解析工具 added by songx at 2017-06-13 -->
<dependency>
<groupId>pcloud.tools</groupId>
<artifactId>tools</artifactId>
<version>18.03.22</version>
</dependency>
<!-- 阿里云媒体转码SDK包 added by songx at 2017-06-22 --> <!-- 阿里云媒体转码SDK包 added by songx at 2017-06-22 -->
<dependency> <dependency>
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
...@@ -344,6 +301,7 @@ ...@@ -344,6 +301,7 @@
<artifactId>aliyun-java-sdk-mts</artifactId> <artifactId>aliyun-java-sdk-mts</artifactId>
<version>2.1.7</version> <version>2.1.7</version>
</dependency> </dependency>
<!-- end -->
<!-- solr add by gaop at 2018-4-23 11:33:47 --> <!-- solr add by gaop at 2018-4-23 11:33:47 -->
<dependency> <dependency>
...@@ -351,7 +309,6 @@ ...@@ -351,7 +309,6 @@
<artifactId>spring-data-solr</artifactId> <artifactId>spring-data-solr</artifactId>
<version>${spring.data.solr.version}</version> <version>${spring.data.solr.version}</version>
</dependency> </dependency>
<!-- end -->
<!-- Jackson Begin --> <!-- Jackson Begin -->
<dependency> <dependency>
......
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