Commit de375d46 by fudahua

定时器设置

parent cf33d552
package com.gic.haoban.manage.api.enums;
/**
* Created 2021/6/17.
*
* @author hua
*/
public enum QuartzEnum {
/**
* 企业微信
*/
HANDOVER_QYWX("handover", "com.gic.haoban.manage.api.service.HandoverOperationApiService", "batchQywxHandoverTimeTask", "0 0 0 * * *", "-1");
private String key;
private String serviceName;
private String method;
private String cron;
private String params;
QuartzEnum(String key, String serviceName, String method, String cron, String params) {
this.key = key;
this.serviceName = serviceName;
this.method = method;
this.cron = cron;
this.params = params;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getServiceName() {
return serviceName;
}
public void setServiceName(String serviceName) {
this.serviceName = serviceName;
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public String getCron() {
return cron;
}
public void setCron(String cron) {
this.cron = cron;
}
public String getParams() {
return params;
}
public void setParams(String params) {
this.params = params;
}
public static QuartzEnum getByKey(String key) {
if (key == null) {
return null;
}
QuartzEnum[] values = QuartzEnum.values();
for (QuartzEnum value : values) {
if (value.getKey().equals(key)) {
return value;
}
}
return null;
}
}
......@@ -13,6 +13,11 @@ import java.util.List;
* @author hua
*/
public interface HandoverOperationApiService {
/**
* 定时处理拉取企业微信信息
*/
public void batchQywxHandoverTimeTask(String params);
/**
* 处理企业微信信息
*
......
......@@ -23,4 +23,13 @@ public interface TestApiService {
* @return
*/
public String listAllQywxUser(String corpid,String secretVal, String dataId);
/**
* 创建定时器
*
* @param serviceName
* @param methodName
* @param cron
*/
public void quartzTaskConvert(String serviceName, String methodName, String cron, String params);
}
......@@ -7,6 +7,8 @@ import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.CheckContainUtil;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.TestDTO;
import com.gic.haoban.manage.api.enums.QuartzEnum;
import com.gic.haoban.manage.api.service.TestApiService;
import com.gic.haoban.manage.api.service.TestService;
import com.gic.haoban.manage.web.controller.WebBaseController;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
......@@ -30,8 +32,9 @@ import java.util.Map;
@RequestMapping("/test")
public class TestController extends WebBaseController {
// @Autowired
// private TestService testService;
@Autowired
private TestApiService testApiService;
//
// @RequestMapping("/testList")
// @ResponseBody
......@@ -69,4 +72,21 @@ public class TestController extends WebBaseController {
// List<TestVo> res = EntityUtil.changeEntityListByJSON(TestVo.class, testDTOPage.getResult());
// return resultResponse(errCode, res);
// }
/**
* 创建定时器
*
* @return
*/
@RequestMapping("/create-quarter")
@ResponseBody
public HaobanResponse testListVo(String key) {
QuartzEnum quartzEnum = QuartzEnum.getByKey(key);
if (null == quartzEnum) {
return resultResponse(HaoBanErrCode.ERR_0);
}
testApiService.quartzTaskConvert(quartzEnum.getServiceName(), quartzEnum.getMethod(), quartzEnum.getCron(), quartzEnum.getParams());
return resultResponse(HaoBanErrCode.ERR_1);
}
}
......@@ -67,6 +67,11 @@
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-quartz-api</artifactId>
<version>${gic-quartz-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>haoban-manage3-api</artifactId>
<version>${haoban-manage3-api}</version>
</dependency>
......
......@@ -4,12 +4,10 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.HandoverExternalDTO;
import com.gic.haoban.manage.api.dto.HandoverStaffInfoDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.HandoverOperationApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.entity.TabHandoverExternal;
import com.gic.haoban.manage.service.entity.TabHandoverStaff;
......@@ -57,14 +55,26 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
private Config config;
@Autowired
private SecretSettingService secretSettingService;
private WxEnterpriseApiService wxEnterpriseApiService;
@Autowired
private ClerkMainStoreRelatedService clerkMainStoreRelatedService;
@Autowired
private StaffService staffService;
@Override
public void batchQywxHandoverTimeTask(String params) {
List<YwWxEnterpriseDTO> dtoList = wxEnterpriseApiService.listAll();
for (YwWxEnterpriseDTO enterpriseDTO : dtoList) {
try {
dealQywxEnterpriseHandover(enterpriseDTO.getWxEnterpriseId());
} catch (Exception e) {
e.printStackTrace();
logger.info("商户处理异常:{},{}", JSONObject.toJSONString(enterpriseDTO), e);
}
}
}
@Override
public void dealQywxEnterpriseHandover(String wxEnterpriseId) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
......
......@@ -8,6 +8,9 @@ import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.TestApiService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.task.api.service.QuartzApiService;
import com.gic.quartz.api.dto.QuartzTaskDTO;
import com.gic.quartz.api.service.QuartzService;
import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
......@@ -28,6 +31,9 @@ public class TestServiceImpl implements TestApiService {
private WxEnterpriseService wxEnterpriseService;
@Autowired
private SecretSettingService secretSettingService;
@Autowired
private QuartzService quartzService;
@Override
public String checkThread(String id, Long expireTime) {
......@@ -67,4 +73,27 @@ public class TestServiceImpl implements TestApiService {
}
return "";
}
/**
* 调度器DTO参数构造器
*
* @param serviceName : 服务类路径
* @param methodName : 方法名
* @param cron : cron语法, 执行频率
* @return : 返回参数dto
*/
@Override
public void quartzTaskConvert(String serviceName, String methodName, String cron, String param) {
QuartzTaskDTO taskDTO = new QuartzTaskDTO();
taskDTO.setReferId("-1");
taskDTO.setTaskService(serviceName);
taskDTO.setTaskMethod(methodName);
taskDTO.setTaskParam(param);
taskDTO.setTaskStatus(1);
//延迟多少秒执行
taskDTO.setTaskTimeInfo(cron);
quartzService.addOrUpdateQuartzTask(taskDTO);
}
}
......@@ -80,5 +80,5 @@
<dubbo:reference interface="com.gic.clerk.api.service.PowerService" id="powerService"/>
<dubbo:reference interface="com.gic.enterprise.api.service.AuthorizeService" id="authorizeService"/>
<dubbo:reference id="quartzService" interface="com.gic.quartz.api.service.QuartzService" timeout="10000"/>
</beans>
\ No newline at end of file
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