Commit aaa01e74 by lihui.wang

向第三方 发送请求

parent d67492df
......@@ -110,6 +110,12 @@
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
......@@ -134,7 +140,7 @@
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
<version>1.3.1</version>
</dependency>
<!-- sdk依赖的日志jar -->
......@@ -157,32 +163,7 @@
</dependency>
</dependencies>
<!--<build>-->
<!--<plugins>-->
<!--&lt;!&ndash; spring-boot-maven-plugin (提供了直接运行项目的插件:如果是通过parent方式继承spring-boot-starter-parent则不用此插件) &ndash;&gt;-->
<!--<plugin>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-maven-plugin</artifactId>-->
<!--<version>1.3.6.RELEASE</version>-->
<!--<executions>-->
<!--<execution>-->
<!--<goals>-->
<!--<goal>repackage</goal>-->
<!--</goals>-->
<!--</execution>-->
<!--</executions>-->
<!--</plugin>-->
<!--<plugin>-->
<!--<groupId>org.apache.maven.plugins</groupId>-->
<!--<artifactId>maven-compiler-plugin</artifactId>-->
<!--<configuration>-->
<!--<source>1.6</source>-->
<!--<target>1.6</target>-->
<!--</configuration>-->
<!--</plugin>-->
<!--</plugins>-->
<!--</build>-->
<!--&lt;!&ndash;测试&ndash;&gt;-->
<build>
<plugins>
......@@ -207,7 +188,19 @@
<target>1.6</target>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
......
package com.freemud.pay.job;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import tk.mybatis.spring.annotation.MapperScan;
@ComponentScan("com.freemud.pay.job.dao.mapper")
@MapperScan(basePackages="com.freemud.pay.job.*")
@SpringBootApplication
public class PushMessageApplication {
......
package com.freemud.pay.job.controller;
import com.freemud.pay.job.dao.dbModel.StoreDM;
import com.freemud.pay.job.entity.BaseParam;
import com.freemud.pay.job.entity.Parameter;
import com.freemud.pay.job.service.IPayMessageService;
import com.freemud.pay.job.service.IStoreService;
import com.freemud.pay.job.service.impl.PayMessageServiceImpl;
import com.sun.org.apache.bcel.internal.generic.NEW;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.lang.reflect.Type;
/**
* All rights Reserved, Designed By www.freemud.cn
*
......@@ -11,5 +25,31 @@ package com.freemud.pay.job.controller;
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@RestController
public class ApiController {
@Autowired
IPayMessageService payMessageService;
//
// public static void main(String[] args) {
// PayMessageServiceImpl payMessageService = new PayMessageServiceImpl();
//
// BaseParam baseParam = new BaseParam();
// baseParam.setDbPartition("1205");
// baseParam.setLinkServer("");
// payMessageService.pushMessage(baseParam);
//
// }
@RequestMapping(value = "/pushMessage")
public void pushMessage(){
BaseParam baseParam = new BaseParam();
baseParam.setDbPartition("1205");
baseParam.setLinkServer("");
payMessageService.pushMessage(baseParam);
}
}
\ No newline at end of file
......@@ -15,6 +15,7 @@ import java.util.Map;
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public interface IStoreRepository extends IBaseRepository{
public interface IStoreRepository extends IBaseRepository {
StoreDM selectByStoreIdAndPartnerId(Map<String, Object> paramsMap);
}
\ No newline at end of file
package com.freemud.pay.job.dao.repository.Impl;
package com.freemud.pay.job.dao.repository.impl;
import com.freemud.pay.job.dao.IBaseDao;
import com.freemud.pay.job.dao.dbModel.ActiveDM;
......
package com.freemud.pay.job.dao.repository.Impl;
package com.freemud.pay.job.dao.repository.impl;
import com.freemud.pay.job.dao.IBaseDao;
import com.freemud.pay.job.dao.dbModel.PayMessageActiveDM;
......@@ -8,7 +8,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.Map;
/**
......
package com.freemud.pay.job.dao.repository.Impl;
package com.freemud.pay.job.dao.repository.impl;
import com.freemud.pay.job.dao.IBaseDao;
import com.freemud.pay.job.dao.dbModel.PayMessageDM;
......
package com.freemud.pay.job.dao.repository.Impl;
package com.freemud.pay.job.dao.repository.impl;
import com.freemud.pay.job.dao.IBaseDao;
import com.freemud.pay.job.dao.dbModel.PayPlatformAccountDM;
......
package com.freemud.pay.job.dao.repository.Impl;
package com.freemud.pay.job.dao.repository.impl;
import com.freemud.pay.job.dao.IBaseDao;
import com.freemud.pay.job.dao.dbModel.PayDM;
import com.freemud.pay.job.dao.mapper.PayDMMapper;
import com.freemud.pay.job.dao.repository.IPayMessageRepository;
import com.freemud.pay.job.dao.repository.IPayRepository;
import com.freemud.pay.job.entity.BaseParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
......
package com.freemud.pay.job.dao.repository.Impl;
package com.freemud.pay.job.dao.repository.impl;
import com.freemud.pay.job.dao.IBaseDao;
import com.freemud.pay.job.dao.dbModel.StoreDM;
......@@ -23,7 +23,7 @@ import java.util.Map;
*/
@Primary
@Repository
public class StoreRepositoryImpl extends BaseRepositoryImpl implements IStoreRepository {
public class StoreRepositoryImpl extends BaseRepositoryImpl implements IStoreRepository {
@Autowired
StoreDMMapper storeDMMapper;
......
......@@ -12,17 +12,9 @@ package com.freemud.pay.job.entity;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public class BaseParam {
private String bussinessType;
private String dbPartition;
private String linkServer;
public String getBussinessType() {
return bussinessType;
}
public void setBussinessType(String bussinessType) {
this.bussinessType = bussinessType;
}
public String getDbPartition() {
return dbPartition;
......@@ -42,9 +34,8 @@ public class BaseParam {
@Override
public String toString() {
return "BaseRequest{" +
"bussinessType='" + bussinessType + '\'' +
", dbPartition='" + dbPartition + '\'' +
return "BaseParam{" +
"dbPartition='" + dbPartition + '\'' +
", linkServer='" + linkServer + '\'' +
'}';
}
......
package com.freemud.pay.job.entity;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title:
* @Package com.freemud.pay
* @Description:
* @author: lihui.wang
* @date:
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public class Parameter {
private Integer partnerid;
private String storeidPartner;
}
\ No newline at end of file
......@@ -7,6 +7,8 @@ import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import com.xxl.job.core.log.XxlJobLogger;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jetty.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -29,10 +31,24 @@ public class PayMessageJobHandler extends IJobHandler {
private IPayMessageService payMessageService;
@Override
public ReturnT<String> execute(String param) throws Exception {
System.out.println("param: " + param);
BaseParam baseRequest = JSON.parseObject(param,BaseParam.class);
System.out.println(baseRequest.getBussinessType()+" "+baseRequest.getDbPartition()+" "+baseRequest.getLinkServer());
public ReturnT<String> execute(final String param) throws Exception {
if(StringUtils.isBlank(param)){
ReturnT<String> result=new ReturnT<String>();
result.setCode(500);
result.setMsg( "参数错误为空");
return result;
}
BaseParam baseRequest=null;
try {
System.out.println("param: " + param);
baseRequest = JSON.parseObject(param,BaseParam.class);
}catch (Exception ex){
ReturnT<String> result=new ReturnT<String>();
result.setCode(500);
result.setMsg( "参数错误:("+param+")");
return result;
}
XxlJobLogger.log("PAYMESSAGE-JOB, START");
payMessageService.pushMessage(baseRequest);
XxlJobLogger.log("PAYMESSAGE-JOB, END");
......
......@@ -4,6 +4,7 @@ import com.freemud.pay.job.dao.dbModel.ActiveDM;
import com.freemud.pay.job.dao.repository.IActiveRepository;
import com.freemud.pay.job.service.IActiveService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* All rights Reserved, Designed By www.freemud.cn
......@@ -16,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service
public class ActiveServiceImpl implements IActiveService {
@Autowired
......
......@@ -19,7 +19,7 @@ import java.util.List;
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service("partnerService")
@Service()
public class PartnerServiceImpl implements IPartnerService {
@Autowired
......
......@@ -5,6 +5,7 @@ import com.freemud.pay.job.dao.repository.IPayMessageActiveRepository;
import com.freemud.pay.job.entity.BaseParam;
import com.freemud.pay.job.service.IPayMessageActiveService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
......@@ -20,7 +21,8 @@ import java.util.Map;
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public class IPayMessageActiveServiceImpl implements IPayMessageActiveService {
@Service
public class PayMessageActiveServiceImpl implements IPayMessageActiveService {
@Autowired
IPayMessageActiveRepository iPayMessageActiveRepository;
......
......@@ -14,6 +14,7 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -29,77 +30,76 @@ import java.util.Map;
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service("payMessageService")
//@Service("iPayMessageService")
public class PayMessageServiceImpl implements IPayMessageService {
@Autowired
IPayMessageRepository iPayMessageRepository;
@Autowired
IPayMessageActiveService IPayMessageActiveService;
IPayMessageActiveService iPayMessageActiveService;
@Override
public void pushMessage(BaseParam baseParam) {
String bussinessType = baseParam.getBussinessType();
if (!bussinessType.isEmpty()){
String linkServer = baseParam.getLinkServer();
if (linkServer.isEmpty()){
linkServer = "";
String linkServer = baseParam.getLinkServer();
if (linkServer.isEmpty()){
linkServer = "";
}
else if (!linkServer.substring(linkServer.length()-1).equals(".")){
linkServer = linkServer + ".";
}
baseParam.setLinkServer(linkServer);
String dbPartition= baseParam.getDbPartition();
//第一步:获取数据
List<PayMessageDM> payMessages=getPayMessages(baseParam);
for (PayMessageDM message :payMessages){
if (message.getPayMessageActiveId()<0)
{
markMessageAsNoProcess(message);
return;
}
if (linkServer.substring(linkServer.length()-1).equals(".")){
linkServer = linkServer + ".";
PayMessageActiveDM active = iPayMessageActiveService.getPayMessageActiveDM(message.getPayMessageActiveId(),baseParam);
if (active == null
|| StringUtils.isEmpty(active.getAction()))
{
markMessageAsNoProcess(message);
return;
}
boolean result = false;
try
{
IMessageProcessor processor = MessageProcessorFactory.GetMessageProcessor(message, active);
PayMessage payMessage=new PayMessage();
payMessage.setBaseParam(baseParam);
payMessage.setPayMessage(message);
payMessage.setPayMessageActive(active);
result = (processor == null)
? false
: processor.Process(payMessage);
}
catch (Exception ex)
{
//Logger.Warn(string.Format("failed process #{0},exception:{1}", message.Id, ex));
}
baseParam.setLinkServer(linkServer);
String dbPartition= baseParam.getDbPartition();
//第一步:获取数据
List<PayMessageDM> payMessages=getPayMessages(baseParam);
for (PayMessageDM message :payMessages){
if (message.getPayMessageActiveId()<0)
{
markMessageAsNoProcess(message);
return;
}
PayMessageActiveDM active = IPayMessageActiveService.getPayMessageActiveDM(message.getPayMessageActiveId(),baseParam);
if (active == null
|| StringUtils.isEmpty(active.getAction()))
{
markMessageAsNoProcess(message);
return;
}
boolean result = false;
try
{
IMessageProcessor processor = MessageProcessorFactory.GetMessageProcessor(message, active);
PayMessage payMessage=new PayMessage();
payMessage.setBaseParam(baseParam);
payMessage.setPayMessage(message);
payMessage.setPayMessageActive(active);
result = (processor == null)
? false
: processor.Process(payMessage);
}
catch (Exception ex)
{
//Logger.Warn(string.Format("failed process #{0},exception:{1}", message.Id, ex));
}
if (result)
{
markMessageAsSuccess(message);
}
else
{
markMessageAsFailed(message);
}
if (result)
{
markMessageAsSuccess(message);
}
else
{
markMessageAsFailed(message);
}
}
}
@Override
......@@ -124,6 +124,7 @@ public class PayMessageServiceImpl implements IPayMessageService {
@Override
public List<PayMessageDM> getPayMessages(BaseParam baseParam){
Map<String, Object> paramsMap = new HashMap<String, Object>();
paramsMap.put("dbPartition",baseParam.getDbPartition());
paramsMap.put("linkServer",baseParam.getLinkServer());
return iPayMessageRepository.getPayMessages(paramsMap);
}
......
......@@ -18,7 +18,7 @@ import org.springframework.stereotype.Service;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service
public class IPayPlatformAccountServiceImpl implements IPayPlatformAccountService {
public class PayPlatformAccountServiceImpl implements IPayPlatformAccountService {
@Autowired
PayPlatformAccountRepository payPlatformAccountRepository;
......
......@@ -18,7 +18,7 @@ import org.springframework.stereotype.Service;
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service("payService")
@Service("ayServiceImp")
public class PayServiceImpl implements IPayService {
@Autowired
......
package com.freemud.pay.job.service.impl;
import com.freemud.pay.job.dao.dbModel.StoreDM;
import com.freemud.pay.job.dao.mapper.StoreDMMapper;
import com.freemud.pay.job.dao.repository.IStoreRepository;
import com.freemud.pay.job.service.IStoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
......@@ -19,16 +21,20 @@ import java.util.Map;
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Service()
public class StoreServiceImpl implements IStoreService {
@Autowired
IStoreRepository iStoreRepository;
// @Autowired
// StoreDMMapper storeDMMapper;
@Override
public StoreDM selectByStoreIdAndPartnerId(Integer partnerid, String storeidPartner) {
Map<String, Object> paramsMap = new HashMap<String, Object>();
paramsMap.put("partnerid",partnerid);
paramsMap.put("storeidPartner",storeidPartner);
// return storeDMMapper.selectByStoreIdAndPartnerId(paramsMap);
return iStoreRepository.selectByStoreIdAndPartnerId(paramsMap);
}
}
\ No newline at end of file
# web port
server.port=8081
server.port=8082
# log config
logging.config=classpath:logback.xml
### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
#xxl.job.admin.addresses=http://115.159.142.32:9080/xxl-job-admin/
xxl.job.admin.addresses=http://localhost:8080/xxl-job-admin/
### xxl-job executor address
xxl.job.executor.appname=push-message-test
xxl.job.executor.ip=
......
......@@ -41,6 +41,11 @@
from Pay_Message_Active
where ID = #{id,jdbcType=BIGINT}
</select>
<select id="getPayMessageActiveDM" parameterType="map" resultMap="BaseResultMap">
SELECT TOP 1000 [ID],[PartnerId],[CouponActiveId],[Name],[Description],[PlatformAccountId],[TemplateId],[Status],[StartTime],[EndTime]
,[Scope],[Area],[AmountLimit],[Platform],[Action],[Priority],[CreateDate],[CreateUser],[LastEditDate],[LastEditUser],[WXMsgActiveId]
FROM [Freemud_ThirdParty].[dbo].[Pay_Message_Active] with(nolock) where ID=#{activeId}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from Pay_Message_Active
where ID = #{id,jdbcType=BIGINT}
......
......@@ -181,17 +181,15 @@
p.PlatformTradeAccount AS SubUserId ,
part.UnifyId ,
p.Operator_Id,
p.Trans_Id,
p.Remark,
p.Trans_Id,p.Remark,
p.Code AS PayCode
FROM [Freemud_ThirdParty].[dbo].[Pay_Message] a WITH ( NOLOCK )
FROM [Freemud_ThirdParty].[dbo].[Pay_Message] a WITH ( NOLOCK )
INNER JOIN ${linkServer}zhuihu.dbo.Pay p WITH ( NOLOCK ) ON a.FMId = p.ZhuiHuOrderId
INNER JOIN zhuihu.dbo.[Partner] part WITH ( NOLOCK ) ON part.ID = a.PartnerId
WHERE a.Status IN ( -1, 0 )
AND a.TryTimes &lt; 3
AND a.LastEditDate> DATEADD(MINUTE,-30, GETDATE())
AND a.LastEditDate &lt; GETDATE()
INNER JOIN zhuihu.dbo.[Partner] part WITH(NOLOCK) ON part.ID=a.PartnerId
where a.Status in(-1,0) and a.TryTimes &lt; 3 and a.LastEditDate &gt; DATEADD(minute,-30,getdate())
<if test="dbPartition != null">
AND part.ID = ${dbPartition,jdbcType=VARCHAR},
</if>
</select>
<update id="updateMessageStatus">
update top(1) [Freemud_ThirdParty].[dbo].[Pay_Message] set status=#{status} ,TryTimes=TryTimes+1 where id=#{id}
......
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