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; ...@@ -13,6 +13,11 @@ import java.util.List;
* @author hua * @author hua
*/ */
public interface HandoverOperationApiService { public interface HandoverOperationApiService {
/**
* 定时处理拉取企业微信信息
*/
public void batchQywxHandoverTimeTask(String params);
/** /**
* 处理企业微信信息 * 处理企业微信信息
* *
......
...@@ -23,4 +23,13 @@ public interface TestApiService { ...@@ -23,4 +23,13 @@ public interface TestApiService {
* @return * @return
*/ */
public String listAllQywxUser(String corpid,String secretVal, String dataId); 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; ...@@ -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.CheckContainUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.TestDTO; 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.api.service.TestService;
import com.gic.haoban.manage.web.controller.WebBaseController; import com.gic.haoban.manage.web.controller.WebBaseController;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
...@@ -30,8 +32,9 @@ import java.util.Map; ...@@ -30,8 +32,9 @@ import java.util.Map;
@RequestMapping("/test") @RequestMapping("/test")
public class TestController extends WebBaseController { public class TestController extends WebBaseController {
// @Autowired
// private TestService testService; @Autowired
private TestApiService testApiService;
// //
// @RequestMapping("/testList") // @RequestMapping("/testList")
// @ResponseBody // @ResponseBody
...@@ -69,4 +72,21 @@ public class TestController extends WebBaseController { ...@@ -69,4 +72,21 @@ public class TestController extends WebBaseController {
// List<TestVo> res = EntityUtil.changeEntityListByJSON(TestVo.class, testDTOPage.getResult()); // List<TestVo> res = EntityUtil.changeEntityListByJSON(TestVo.class, testDTOPage.getResult());
// return resultResponse(errCode, res); // 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 @@ ...@@ -67,6 +67,11 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.gic</groupId> <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> <artifactId>haoban-manage3-api</artifactId>
<version>${haoban-manage3-api}</version> <version>${haoban-manage3-api}</version>
</dependency> </dependency>
......
...@@ -4,12 +4,10 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,12 +4,10 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.HandoverExternalDTO; import com.gic.haoban.manage.api.dto.*;
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.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.HandoverOperationApiService; 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.config.Config;
import com.gic.haoban.manage.service.entity.TabHandoverExternal; import com.gic.haoban.manage.service.entity.TabHandoverExternal;
import com.gic.haoban.manage.service.entity.TabHandoverStaff; import com.gic.haoban.manage.service.entity.TabHandoverStaff;
...@@ -57,14 +55,26 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ ...@@ -57,14 +55,26 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
private Config config; private Config config;
@Autowired @Autowired
private SecretSettingService secretSettingService; private WxEnterpriseApiService wxEnterpriseApiService;
@Autowired
private ClerkMainStoreRelatedService clerkMainStoreRelatedService;
@Autowired @Autowired
private StaffService staffService; 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 @Override
public void dealQywxEnterpriseHandover(String wxEnterpriseId) { public void dealQywxEnterpriseHandover(String wxEnterpriseId) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId); WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
......
...@@ -8,6 +8,9 @@ import com.gic.haoban.manage.api.enums.SecretTypeEnum; ...@@ -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.api.service.TestApiService;
import com.gic.haoban.manage.service.service.SecretSettingService; import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.WxEnterpriseService; 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.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
...@@ -28,6 +31,9 @@ public class TestServiceImpl implements TestApiService { ...@@ -28,6 +31,9 @@ public class TestServiceImpl implements TestApiService {
private WxEnterpriseService wxEnterpriseService; private WxEnterpriseService wxEnterpriseService;
@Autowired @Autowired
private SecretSettingService secretSettingService; private SecretSettingService secretSettingService;
@Autowired
private QuartzService quartzService;
@Override @Override
public String checkThread(String id, Long expireTime) { public String checkThread(String id, Long expireTime) {
...@@ -67,4 +73,27 @@ public class TestServiceImpl implements TestApiService { ...@@ -67,4 +73,27 @@ public class TestServiceImpl implements TestApiService {
} }
return ""; 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 @@ ...@@ -80,5 +80,5 @@
<dubbo:reference interface="com.gic.clerk.api.service.PowerService" id="powerService"/> <dubbo:reference interface="com.gic.clerk.api.service.PowerService" id="powerService"/>
<dubbo:reference interface="com.gic.enterprise.api.service.AuthorizeService" id="authorizeService"/> <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> </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