Merge remote-tracking branch 'origin/master'

This commit is contained in:
1215525055@qq.com 2025-04-18 17:48:32 +08:00
commit f67164d0e1
7 changed files with 106 additions and 2 deletions

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

@ -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()));

View File

@ -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;

View 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());
}
}
}

View File

@ -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>