提交git
This commit is contained in:
11
uling-yc-task/src/main/java/cc/uling/YCTaskApplication.java
Normal file
11
uling-yc-task/src/main/java/cc/uling/YCTaskApplication.java
Normal file
@ -0,0 +1,11 @@
|
||||
package cc.uling;
|
||||
|
||||
|
||||
import io.jboot.app.JbootApplication;
|
||||
|
||||
public class YCTaskApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
JbootApplication.run(args);
|
||||
}
|
||||
}
|
||||
25
uling-yc-task/src/main/java/cc/uling/YCTaskListener.java
Normal file
25
uling-yc-task/src/main/java/cc/uling/YCTaskListener.java
Normal file
@ -0,0 +1,25 @@
|
||||
package cc.uling;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.jfinal.kit.PropKit;
|
||||
import com.jfinal.plugin.cron4j.Cron4jPlugin;
|
||||
import io.jboot.aop.jfinal.JfinalPlugins;
|
||||
import io.jboot.core.listener.JbootAppListener;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Slf4j
|
||||
public class YCTaskListener implements JbootAppListener {
|
||||
|
||||
@Override
|
||||
public void onPluginConfig(JfinalPlugins plugins) {
|
||||
plugins.add(new Cron4jPlugin(PropKit.use("task.properties")));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
log.info("onStart|"+ DateUtil.formatDateTime(new Date()));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,77 @@
|
||||
package cc.uling.web.task;
|
||||
|
||||
import cc.uling.common.enums.PayOrderStatus;
|
||||
import cc.uling.common.enums.SettlementType;
|
||||
import cc.uling.common.exception.BizException;
|
||||
import cc.uling.domain.bo.CommissionBO;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jfinal.aop.Aop;
|
||||
import com.payment.demo.ApiDemo;
|
||||
import com.web.gen.model.MchInfo;
|
||||
import com.web.gen.model.PayOrder;
|
||||
import com.web.gen.model.PayWayChannel;
|
||||
import com.web.gen.service.MchInfoService;
|
||||
import com.web.gen.service.PayOrderService;
|
||||
import com.web.gen.service.SysConfigService;
|
||||
import io.jboot.db.model.Columns;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
public class QueryOrderTask implements Runnable {
|
||||
|
||||
private PayOrderService payOrderService = Aop.get(PayOrderService.class);
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
try {
|
||||
Columns columns = Columns.create().in("status", PayOrderStatus.PAYING);
|
||||
List<PayOrder> list = Aop.get(PayOrderService.class).findListByColumns(columns, "create_time");
|
||||
log.info("开始同步订单查询任务|" + DateUtil.formatDateTime(new Date()) + "|orders=" + list.size());
|
||||
for (PayOrder payOrder : list) {
|
||||
String host = Aop.get(SysConfigService.class).getPayGatewayHost();
|
||||
MchInfo mchInfo = Aop.get(MchInfoService.class).findFirstByColumns(Columns.create("mch_no", payOrder.getMchNo()));
|
||||
if (null != mchInfo) {
|
||||
try {
|
||||
String result = ApiDemo.searchPayOrder(host, mchInfo.getMchNo(), mchInfo.getSecretKey(), payOrder.getPayOrderId());
|
||||
log.info(payOrder.getPayOrderId() + "|result {} ", result);
|
||||
if (result != null) {
|
||||
JSONObject object = JSON.parseObject(result);
|
||||
if ("200".equals(object.getString("code"))) {
|
||||
//查询成功
|
||||
JSONObject data = object.getJSONObject("data");
|
||||
Integer status = data.getInteger("state");
|
||||
if (status != cc.uling.common.constant.PayOrderStatus.STATUS_1) {
|
||||
if (payOrder.getStatus() != status) {
|
||||
payOrder.setStatus(status);//查询订单
|
||||
if (status == PayOrderStatus.SUCCESS) {
|
||||
payOrder.setErrCode("");
|
||||
payOrder.setErrMsg("");
|
||||
}
|
||||
payOrder.setSuccessTime(new Date());
|
||||
payOrder.update();
|
||||
log.info(payOrder.getPayOrderId() + "订单更新状态|" + status);
|
||||
payOrderService.createSettlementBill(payOrder.getPayOrderId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.info(" 查询失败 {}", e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.warn("queryOrderTask run exception {}", e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
1
uling-yc-task/src/main/resources/banner.txt
Normal file
1
uling-yc-task/src/main/resources/banner.txt
Normal file
@ -0,0 +1 @@
|
||||
YCTask
|
||||
8
uling-yc-task/src/main/resources/jboot-dev.properties
Normal file
8
uling-yc-task/src/main/resources/jboot-dev.properties
Normal file
@ -0,0 +1,8 @@
|
||||
# Product DB
|
||||
jboot.datasource.type=mysql
|
||||
|
||||
#jboot.datasource.url=jdbc:mysql://localhost:3306/yc_system_db?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
|
||||
jboot.datasource.url=jdbc:mysql://61.171.32.114:3306/yc_system_db?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
|
||||
jboot.datasource.user=root
|
||||
jboot.datasource.password=MyNewPass4!
|
||||
|
||||
10
uling-yc-task/src/main/resources/jboot.properties
Normal file
10
uling-yc-task/src/main/resources/jboot.properties
Normal file
@ -0,0 +1,10 @@
|
||||
#jboot dev,test,product
|
||||
jboot.app.mode=dev
|
||||
jboot.app.name=YCTask
|
||||
jboot.app.version=1.0.0
|
||||
#
|
||||
#
|
||||
jboot.model.idCacheEnable = false
|
||||
#undertow
|
||||
undertow.port=8095
|
||||
undertow.host=0.0.0.0
|
||||
21
uling-yc-task/src/main/resources/task.properties
Normal file
21
uling-yc-task/src/main/resources/task.properties
Normal file
@ -0,0 +1,21 @@
|
||||
#\u5F00\u542F\u7684\u4EFB\u52A1\u5217\u8868\u201C,\u201D\u9694\u5F00
|
||||
cron4j=log
|
||||
log.cron=* * * * *
|
||||
log.class=cc.uling.web.task.QueryOrderTask
|
||||
log.desc=\u4EA4\u6613\u8BA2\u5355\u67E5\u8BE2
|
||||
log.enable=true
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
# cron \u8868\u8FBE\u5F0F\u7531\u4E94\u90E8\u5206\u7EC4\u6210\uFF1A\u5206 \u65F6 \u5929 \u6708 \u5468
|
||||
# \u5206 \uFF1A\u4ECE 0 \u5230 59
|
||||
# \u65F6 \uFF1A\u4ECE 0 \u5230 23
|
||||
# \u5929 \uFF1A\u4ECE 1 \u5230 31\uFF0C\u5B57\u6BCD L \u53EF\u4EE5\u8868\u793A\u6708\u7684\u6700\u540E\u4E00\u5929
|
||||
# \u6708 \uFF1A\u4ECE 1 \u5230 12\uFF0C\u53EF\u4EE5\u522B\u540D\uFF1Ajan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov" and "dec"
|
||||
# \u5468 \uFF1A\u4ECE 0 \u5230 6\uFF0C0 \u8868\u793A\u5468\u65E5\uFF0C6 \u8868\u793A\u5468\u516D\uFF0C\u53EF\u4EE5\u4F7F\u7528\u522B\u540D\uFF1A "sun", "mon", "tue", "wed", "thu", "fri" and "sat"
|
||||
# \u6570\u5B57 n\uFF1A\u8868\u793A\u4E00\u4E2A\u5177\u4F53\u7684\u65F6\u95F4\u70B9\uFF0C\u4F8B\u5982 5 * * * * \u8868\u793A 5 \u5206\u8FD9\u4E2A\u65F6\u95F4\u70B9\u65F6\u6267\u884C
|
||||
# \u9017\u53F7 , \uFF1A\u8868\u793A\u6307\u5B9A\u591A\u4E2A\u6570\u503C\uFF0C\u4F8B\u5982 3,5 * * * * \u8868\u793A 3 \u548C 5 \u5206\u8FD9\u4E24\u4E2A\u65F6\u95F4\u70B9\u6267\u884C
|
||||
# \u51CF\u53F7 -\uFF1A\u8868\u793A\u8303\u56F4\uFF0C\u4F8B\u5982 1-3 * * * * \u8868\u793A 1 \u5206\u30012 \u5206\u518D\u5230 3 \u5206\u8FD9\u4E09\u4E2A\u65F6\u95F4\u70B9\u6267\u884C
|
||||
# \u661F\u53F7 *\uFF1A\u8868\u793A\u6BCF\u4E00\u4E2A\u65F6\u95F4\u70B9\uFF0C\u4F8B\u5982 * * * * * \u8868\u793A\u6BCF\u5206\u949F\u6267\u884C\uFF0C*/2 * * * * \u8868\u793A 2 \u5206\u949F\u6267\u884C\u4E00\u6B21
|
||||
# \u9664\u53F7 /\uFF1A\u8868\u793A\u6307\u5B9A\u4E00\u4E2A\u503C\u7684\u589E\u52A0\u5E45\u5EA6\u3002\u4F8B\u5982 n/m\u8868\u793A\u4ECE n \u5F00\u59CB\uFF0C\u6BCF\u6B21\u589E\u52A0 m \u7684\u65F6\u95F4\u70B9\u6267\u884C
|
||||
Reference in New Issue
Block a user