fix: 回调问题
This commit is contained in:
parent
3357af9c95
commit
a0c5b337bc
@ -2,6 +2,8 @@ package cn.com.tenlion.operator.daoother.operator.callback;
|
||||
|
||||
import cn.com.tenlion.operator.pojo.pos.callback.SysCallbackPO;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Repository
|
||||
@ -13,4 +15,6 @@ public interface ISysCallbackDao {
|
||||
|
||||
void update(Map<String, Object> params);
|
||||
|
||||
List<SysCallbackPO> listPO(Map<String, Object> params);
|
||||
|
||||
}
|
||||
|
@ -38,6 +38,8 @@ public class UserExpandDTO extends UserDTO {
|
||||
private String mainUserId;
|
||||
private String wxMiniappOpenId;
|
||||
private String wxOfficialAccountOpenId;
|
||||
private String wxOpenId;
|
||||
private String wxUnionId;
|
||||
|
||||
public Long getPriceAdditionalPkg() {
|
||||
return priceAdditionalPkg == null ? 0 : priceAdditionalPkg;
|
||||
@ -255,4 +257,20 @@ public class UserExpandDTO extends UserDTO {
|
||||
public void setWxOfficialAccountOpenId(String wxOfficialAccountOpenId) {
|
||||
this.wxOfficialAccountOpenId = wxOfficialAccountOpenId;
|
||||
}
|
||||
|
||||
public String getWxOpenId() {
|
||||
return wxOpenId == null ? "" : wxOpenId.trim();
|
||||
}
|
||||
|
||||
public void setWxOpenId(String wxOpenId) {
|
||||
this.wxOpenId = wxOpenId;
|
||||
}
|
||||
|
||||
public String getWxUnionId() {
|
||||
return wxUnionId == null ? "" : wxUnionId.trim();
|
||||
}
|
||||
|
||||
public void setWxUnionId(String wxUnionId) {
|
||||
this.wxUnionId = wxUnionId;
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,8 @@ import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.util.UUIDUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@ -49,4 +51,10 @@ public class SysCallbackService extends DefaultBaseService {
|
||||
sysTaskService.runCallbackTask(callbackId);
|
||||
}
|
||||
|
||||
public List<SysCallbackPO> listPOByStatus(SysCallbackStatusEnum status) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("status", status.name());
|
||||
return sysCallbackDao.listPO(params);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,16 +4,20 @@ import cn.com.tenlion.operator.enums.SysCallbackStatusEnum;
|
||||
import cn.com.tenlion.operator.pojo.pos.callback.SysCallbackPO;
|
||||
import cn.com.tenlion.operator.serviceother.operator.sys.task.SysTaskService;
|
||||
import ink.wgink.exceptions.base.SystemException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
public class SysCallbackTask implements Job {
|
||||
|
||||
@ -31,10 +35,16 @@ public class SysCallbackTask implements Job {
|
||||
LOG.debug("回调地址:{}", url);
|
||||
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
|
||||
httpURLConnection.setRequestMethod("POST");
|
||||
httpURLConnection.setDoOutput(true);
|
||||
httpURLConnection.setDoInput(true);
|
||||
httpURLConnection.setDoOutput(true);
|
||||
httpURLConnection.setConnectTimeout(3000);
|
||||
httpURLConnection.connect();
|
||||
httpURLConnection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
|
||||
if (!StringUtils.isBlank(sysCallbackPO.getJsonBody())) {
|
||||
try (DataOutputStream dos = new DataOutputStream(httpURLConnection.getOutputStream())) {
|
||||
byte[] input = sysCallbackPO.getJsonBody().getBytes(StandardCharsets.UTF_8);
|
||||
dos.write(input, 0, input.length);
|
||||
}
|
||||
}
|
||||
int responseCode = httpURLConnection.getResponseCode();
|
||||
if (responseCode == HttpURLConnection.HTTP_OK) {
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
|
||||
|
@ -5,6 +5,7 @@ import cn.com.tenlion.operator.serviceother.operator.sys.callback.SysCallbackSer
|
||||
import cn.com.tenlion.operator.serviceother.operator.sys.callback.SysCallbackTask;
|
||||
import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.util.UUIDUtil;
|
||||
import ink.wgink.util.thread.CachedThreadPoolUtil;
|
||||
import org.quartz.*;
|
||||
import org.quartz.impl.StdSchedulerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
33
src/main/java/cn/com/tenlion/operator/task/SystemStart.java
Normal file
33
src/main/java/cn/com/tenlion/operator/task/SystemStart.java
Normal file
@ -0,0 +1,33 @@
|
||||
package cn.com.tenlion.operator.task;
|
||||
|
||||
import cn.com.tenlion.operator.enums.SysCallbackStatusEnum;
|
||||
import cn.com.tenlion.operator.pojo.pos.callback.SysCallbackPO;
|
||||
import cn.com.tenlion.operator.serviceother.operator.sys.callback.SysCallbackService;
|
||||
import cn.com.tenlion.operator.serviceother.operator.sys.task.SysTaskService;
|
||||
import ink.wgink.interfaces.start.IApplicationStart;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class SystemStart implements IApplicationStart {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(SystemStart.class);
|
||||
@Autowired
|
||||
private SysCallbackService sysCallbackService;
|
||||
@Autowired
|
||||
private SysTaskService sysTaskService;
|
||||
|
||||
@Override
|
||||
public void run() throws Exception {
|
||||
List<SysCallbackPO> sysCallbackPOS = sysCallbackService.listPOByStatus(SysCallbackStatusEnum.UN_SUCCESS);
|
||||
for (SysCallbackPO sysCallbackPO : sysCallbackPOS) {
|
||||
sysTaskService.runCallbackTask(sysCallbackPO.getCallbackId());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -69,4 +69,34 @@
|
||||
callback_id = #{callbackId}
|
||||
</select>
|
||||
|
||||
<select id="listPO" parameterType="map" resultMap="sysCallbackPO">
|
||||
SELECT
|
||||
callback_id,
|
||||
name,
|
||||
url,
|
||||
json_body,
|
||||
status,
|
||||
fail_count,
|
||||
gmt_create,
|
||||
creator,
|
||||
gmt_modified,
|
||||
modifier,
|
||||
is_delete
|
||||
FROM
|
||||
sys_callback
|
||||
WHERE
|
||||
is_delete = 0
|
||||
<if test="callbackIds != null and callbackIds.size > 0">
|
||||
AND
|
||||
callback_id IN
|
||||
<foreach collection="callbackIds" item="callbackId" index="index" open="(" close=")" separator=",">
|
||||
#{callbackId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND
|
||||
status = #{status}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user