Commit bc6bb636 authored by 刘林's avatar 刘林

fix(JG):监管集成Seata全局事务

parent 454ae6a0
...@@ -127,9 +127,9 @@ ...@@ -127,9 +127,9 @@
<version>5.1.10</version> <version>5.1.10</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.postgresql</groupId> <groupId>io.seata</groupId>
<artifactId>postgresql</artifactId> <artifactId>seata-spring-boot-starter</artifactId>
<scope>runtime</scope> <version>1.8.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
......
...@@ -2,11 +2,11 @@ package com.yeejoin.amos.boot.biz.common.feign; ...@@ -2,11 +2,11 @@ package com.yeejoin.amos.boot.biz.common.feign;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;
import io.seata.core.context.RootContext;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** /**
...@@ -46,5 +46,8 @@ public class FeignAuthRequestInterceptor implements RequestInterceptor { ...@@ -46,5 +46,8 @@ public class FeignAuthRequestInterceptor implements RequestInterceptor {
template.header("appKey", RequestContext.getAppKey()); template.header("appKey", RequestContext.getAppKey());
template.header("product", RequestContext.getProduct()); template.header("product", RequestContext.getProduct());
} }
if(StringUtils.hasText(RootContext.getXID())){
template.header(RootContext.KEY_XID, RootContext.getXID());
}
} }
} }
package com.yeejoin.amos.boot.biz.common.feign; package com.yeejoin.amos.boot.biz.common.feign;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import io.seata.core.context.RootContext;
import org.springframework.beans.factory.ObjectFactory; import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.support.SpringEncoder; import org.springframework.cloud.openfeign.support.SpringEncoder;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
import org.springframework.web.context.request.RequestContextListener; import org.springframework.web.context.request.RequestContextListener;
import feign.codec.Encoder; import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder; import feign.form.spring.SpringFormEncoder;
...@@ -17,7 +20,7 @@ import feign.form.spring.SpringFormEncoder; ...@@ -17,7 +20,7 @@ import feign.form.spring.SpringFormEncoder;
* @Date: 2020/3/30 16:26 * @Date: 2020/3/30 16:26
*/ */
@Configuration @Configuration
public class MultipartSupportConfig { public class MultipartSupportConfig implements RequestInterceptor {
@Autowired @Autowired
private ObjectFactory<HttpMessageConverters> messageConverters; private ObjectFactory<HttpMessageConverters> messageConverters;
...@@ -34,4 +37,12 @@ public class MultipartSupportConfig { ...@@ -34,4 +37,12 @@ public class MultipartSupportConfig {
public RequestContextListener requestInterceptor() { public RequestContextListener requestInterceptor() {
return new RequestContextListener(); return new RequestContextListener();
} }
@Override
public void apply(RequestTemplate template) {
String xid = RootContext.getXID();
if(StringUtils.hasText(xid)){
template.header(RootContext.KEY_XID, xid);
}
}
} }
package com.yeejoin.amos.boot.biz.config;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.extension.injector.methods.additional.InsertBatchSomeColumn;
import java.util.List;
/**
* @apiNote 解决集成seata后,InsertBatchSomeColumn报错问题
* @author LiuLin
* @date 2024-05-15
*/
public class MybatisSqlInjector extends DefaultSqlInjector {
@Override
public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
List<AbstractMethod> methodList = super.getMethodList(mapperClass);
methodList.add(new InsertBatchSomeColumn());
return methodList;
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.flc.api.fegin;
import com.yeejoin.amos.boot.biz.common.feign.FeignConfiguration;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author LiuLin
* @apiNote 待办Feign调用
* @date 2024-05-16
*/
@FeignClient(name = "AMOS-API-PRIVILEGE", path = "/systemctl/v2/task", configuration = {FeignConfiguration.class})
public interface TaskV2FeignService {
/**
* 批量新增任务
*
* @param modelList 新增待办
* @return TaskV2Model
* @throws InnerInvokException e
*/
@RequestMapping(value = "/batch/add", method = RequestMethod.POST)
FeignClientResult<List<TaskV2Model>> batchAdd(@RequestBody List<TaskV2Model> modelList) throws InnerInvokException;
/**
* 更新任务
*
* @param model 待办信息
* @param sequenceNbr 主键
* @return TaskV2Model
* @throws InnerInvokException e
*/
@RequestMapping(value = "/{sequenceNbr}", method = RequestMethod.PUT)
FeignClientResult<TaskV2Model> update(@RequestBody TaskV2Model model, @PathVariable("sequenceNbr") Long sequenceNbr) throws InnerInvokException;
/**
* 创建任务
*
* @param model 待办
* @return
* @throws InnerInvokException
*/
@RequestMapping(value = "", method = RequestMethod.POST)
FeignClientResult<TaskV2Model> create(@RequestBody TaskV2Model model) throws InnerInvokException;
/**
* 批量删除任务
*
* @param ids 主键
* @return Long
* @throws InnerInvokException e
*/
@RequestMapping(value = "/{ids}", method = RequestMethod.DELETE)
FeignClientResult<List<Long>> delete(@PathVariable("ids") String ids) throws InnerInvokException;
/**
* 查询指定任务
*
* @param relationId 关联Id
* @return List<TaskV2Model>
* @throws InnerInvokException
*/
@RequestMapping(value = "/queryByRelationId/{relationId}", method = RequestMethod.GET)
FeignClientResult<List<TaskV2Model>> selectListByRelationId(@PathVariable("relationId") String relationId) throws InnerInvokException;
/**
* 批量修改任务
*/
@RequestMapping(value = "/batch/update", method = RequestMethod.PUT)
FeignClientResult<List<TaskV2Model>> batchUpdate(@RequestBody List<TaskV2Model> modelList) throws InnerInvokException;
}
package com.yeejoin.amos.boot.module.jg.flc.api.fegin; package com.yeejoin.amos.boot.module.jg.flc.api.fegin;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.feign.MultipartSupportConfig; import com.yeejoin.amos.boot.biz.common.feign.MultipartSupportConfig;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.workflow.model.*;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map; import java.util.Map;
@FeignClient(name = "AMOS-API-WORKFLOW", path = "workflow", configuration = {MultipartSupportConfig.class}) @FeignClient(name = "AMOS-API-WORKFLOW", path = "workflow", configuration = {MultipartSupportConfig.class})
public interface WorkFlowFeignService { public interface WorkFlowFeignService {
...@@ -34,15 +33,14 @@ public interface WorkFlowFeignService { ...@@ -34,15 +33,14 @@ public interface WorkFlowFeignService {
* 获取流程审批日志 * 获取流程审批日志
* */ * */
@RequestMapping(value = "/task/flowLogger/{procInsId}", method = RequestMethod.GET) @RequestMapping(value = "/task/flowLogger/{procInsId}", method = RequestMethod.GET)
FeignClientResult<Map<String,Object>> getFlowLogger(@PathVariable(value = "procInsId") String procInsId); FeignClientResult<Map<String, Object>> getFlowLogger(@PathVariable(value = "procInsId") String procInsId);
@RequestMapping(value = "/history/task/nodeInfo", method = RequestMethod.GET) @RequestMapping(value = "/history/task/nodeInfo", method = RequestMethod.GET)
FeignClientResult<JSONObject> getNodeInfotoken( FeignClientResult<JSONObject> getNodeInfotoken(
@RequestHeader(name="appKey",required = true) String appKey, @RequestHeader(name = "appKey", required = true) String appKey,
@RequestHeader(name="product",required = true) String product, @RequestHeader(name = "product", required = true) String product,
@RequestHeader(name="token",required = true) String token, @RequestHeader(name = "token", required = true) String token,
@RequestParam(value = "taskId") String taskId); @RequestParam(value = "taskId") String taskId);
...@@ -53,15 +51,73 @@ public interface WorkFlowFeignService { ...@@ -53,15 +51,73 @@ public interface WorkFlowFeignService {
@RequestMapping(value = "/task/getTaskNoAuth/{processInstanceId}", method = RequestMethod.GET) @RequestMapping(value = "/task/getTaskNoAuth/{processInstanceId}", method = RequestMethod.GET)
JSONObject getTaskNoAuthtoken( JSONObject getTaskNoAuthtoken(
@RequestHeader(name="appKey",required = true) String appKey, @RequestHeader(name = "appKey", required = true) String appKey,
@RequestHeader(name="product",required = true) String product, @RequestHeader(name = "product", required = true) String product,
@RequestHeader(name="token",required = true) String token, @RequestHeader(name = "token", required = true) String token,
@PathVariable(value = "processInstanceId") String processInstanceId); @PathVariable(value = "processInstanceId") String processInstanceId);
@RequestMapping(value = "/v2/task/rollBack/{processInstanceId}", method = RequestMethod.POST) @RequestMapping(value = "/v2/task/rollBack/{processInstanceId}", method = RequestMethod.POST)
JSONObject rollBack(@PathVariable(value = "processInstanceId") String processInstanceId); JSONObject rollBack(@PathVariable(value = "processInstanceId") String processInstanceId);
/**
* 工作流启动接口
*
* @param params 业务参数
* @return ProcessTaskDTO
* @throws Exception e
*/
@RequestMapping(value = "/v2/task/start/batch", method = RequestMethod.POST)
FeignClientResult<List<ProcessTaskDTO>> startForBatch(@RequestBody ActWorkflowBatchDTO params) throws Exception;
/**
* 工作流驳回任务接口
*
* @param taskId 任务Id
* @param data 业务参数
* @return ProcessTaskDTO
* @throws Exception e
*/
@RequestMapping(value = "/v2/task/reject/{taskId}", method = RequestMethod.POST)
FeignClientResult<ProcessTaskDTO> reject(@PathVariable("taskId") String taskId, @RequestBody TaskResultDTO data) throws Exception;
/**
* 工作流完成任务接口
*
* @param taskId 任务Id
* @param data 业务参数
* @return ProcessTaskDTO
* @throws Exception e
*/
@RequestMapping(value = "/v2/task/complete/standard/{taskId}", method = RequestMethod.POST)
FeignClientResult<ProcessTaskDTO> completeByTaskFroStandard(@PathVariable("taskId") String taskId, @RequestBody TaskResultDTO data) throws Exception;
/**
* 工作流撤回
*
* @param processInstanceId processInstanceId
* @return ProcessTaskDTO
*/
@PostMapping(value = "/v2/task/rollBack/standard/{processInstanceId}")
FeignClientResult<ProcessTaskDTO> rollBackTask(@PathVariable("processInstanceId") String processInstanceId);
/**
* 转办任务
*
* @param flowTaskVo flowTaskVo
* @return ProcessTaskDTO
*/
@PostMapping(value = "/v2/task/assign")
FeignClientResult<ProcessTaskDTO> assign(@RequestBody FlowTaskVo flowTaskVo);
/**
* 终止流程
*
* @param processInstanceId processInstanceId
* @return ProcessInstanceDTO
* @throws Exception e
*/
@DeleteMapping(value = "/v2/task/stopProcess/{processInstanceId}")
FeignClientResult<ProcessInstanceDTO> stopProcess(@PathVariable("processInstanceId") String processInstanceId, @RequestParam(required = false, value = "stopReason") String stopReason) throws Exception;
} }
...@@ -31,6 +31,30 @@ ...@@ -31,6 +31,30 @@
<version>19.5jdk</version> <version>19.5jdk</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
</dependency>
<dependency>
<groupId>com.esotericsoftware.kryo</groupId>
<artifactId>kryo</artifactId>
<version>2.24.0</version>
</dependency>
<dependency>
<groupId>de.javakaffee</groupId>
<artifactId>kryo-serializers</artifactId>
<version>0.45</version>
</dependency>
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>cn.com.vastdata</groupId>
<artifactId>vastbase-jdbc</artifactId>
<version>2.7p</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
...@@ -29,7 +29,6 @@ import java.net.UnknownHostException; ...@@ -29,7 +29,6 @@ import java.net.UnknownHostException;
* *
* @author DELL * @author DELL
*/ */
@SpringBootApplication
@EnableTransactionManagement @EnableTransactionManagement
@EnableConfigurationProperties @EnableConfigurationProperties
@ServletComponentScan @ServletComponentScan
...@@ -44,6 +43,7 @@ import java.net.UnknownHostException; ...@@ -44,6 +43,7 @@ import java.net.UnknownHostException;
"com.yeejoin.amos.boot.module.**.api.mapper", "com.yeejoin.amos.boot.biz.common.dao.mapper"}) "com.yeejoin.amos.boot.module.**.api.mapper", "com.yeejoin.amos.boot.biz.common.dao.mapper"})
@ComponentScan(basePackages = {"org.typroject", "com.yeejoin.amos"}, excludeFilters = { @ComponentScan(basePackages = {"org.typroject", "com.yeejoin.amos"}, excludeFilters = {
@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler.class})}) @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler.class})})
@SpringBootApplication(exclude = {org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class})
public class AmosJGApplication { public class AmosJGApplication {
private static final Logger logger = LoggerFactory.getLogger(AmosJGApplication.class); private static final Logger logger = LoggerFactory.getLogger(AmosJGApplication.class);
......
package com.yeejoin.amos.boot.module.jg.biz.config;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.yeejoin.amos.boot.biz.config.MetaHandler;
import com.yeejoin.amos.boot.biz.config.MybatisSqlInjector;
import com.zaxxer.hikari.HikariDataSource;
import io.seata.rm.datasource.DataSourceProxy;
import javax.sql.DataSource;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
/**
* 数据源代理
*
* @author LiuLin
*/
@Configuration
public class DataSourceConfiguration {
@Autowired
private DataSourceProperties dsp;
@Bean(name = "hikariDataSource")
public HikariDataSource hikariDataSource() {
HikariDataSource hds = new HikariDataSource();
hds.setSchema(dsp.getSchema().get(0));
hds.setUsername(dsp.getUsername());
hds.setPassword(dsp.getPassword());
hds.setJdbcUrl(dsp.getUrl());
hds.setDriverClassName(dsp.getDriverClassName());
hds.setConnectionTimeout(3000);
hds.setMaximumPoolSize(30);
hds.setMinimumIdle(10);
return hds;
}
@Primary
@Bean("dataSource")
public DataSourceProxy dataSourceProxy(DataSource hikariDataSource) {
return new DataSourceProxy(hikariDataSource);
}
@Bean(name = "sqlSessionFactory")
@Autowired
public SqlSessionFactory sqlSessionFactoryBean(DataSource dataSourceProxy, PaginationInterceptor paginationInterceptor, MetaHandler metaHandler) throws Exception {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSourceProxy);
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
bean.setMapperLocations(resolver.getResources("classpath*:mapper/*.xml"));
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setSqlInjector(new MybatisSqlInjector());
globalConfig.setMetaObjectHandler(metaHandler);
bean.setGlobalConfig(globalConfig);
Interceptor[] plugins = {paginationInterceptor};
bean.setPlugins(plugins);
return bean.getObject();
}
@Bean
public MetaHandler metaHandler() {
return new MetaHandler();
}
}
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest; import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.component.feign.config.InnerInvokException; import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.utils.FeignUtil; import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.*; import com.yeejoin.amos.feign.workflow.model.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.exception.BaseException; import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author Administrator * @author Administrator
...@@ -33,14 +30,15 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -33,14 +30,15 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
*/ */
public static String REJECT_OPERATE = "1"; public static String REJECT_OPERATE = "1";
@Autowired
private WorkFlowFeignService workFlowFeignService;
@Override @Override
public List<ProcessTaskDTO> startBatch(ActWorkflowBatchDTO params) { public List<ProcessTaskDTO> startBatch(ActWorkflowBatchDTO params) {
List<ProcessTaskDTO> processTasks; List<ProcessTaskDTO> processTasks;
try { try {
log.info("开始请求工作流启动接口:/start/batch,请求参数:{}", JSONObject.toJSONString(params)); log.info("开始请求工作流启动接口:/start/batch,请求参数:{}", JSONObject.toJSONString(params));
processTasks = Workflow.taskV2Client.startForBatch(params).getResult(); processTasks = workFlowFeignService.startForBatch(params).getResult();
} catch (InnerInvokException e) { } catch (InnerInvokException e) {
//拦截无审核人异常信息 //拦截无审核人异常信息
String devMessage = getErrorMessage(e); String devMessage = getErrorMessage(e);
...@@ -73,15 +71,15 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -73,15 +71,15 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
if(PASS_OPERATE.equals(operate)){ if(PASS_OPERATE.equals(operate)){
// 通过操作 // 通过操作
log.info("开始请求工作流完成任务接口:/complete/standard/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data)); log.info("开始请求工作流完成任务接口:/complete/standard/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data));
processTaskDTO = Workflow.taskV2Client.completeByTaskFroStandard(taskId, data).getResult(); processTaskDTO = workFlowFeignService.completeByTaskFroStandard(taskId, data).getResult();
} else if(REJECT_OPERATE.equals(operate)) { } else if(REJECT_OPERATE.equals(operate)) {
// 驳回操作 // 驳回操作
log.info("开始请求工作流驳回任务接口:/reject/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data)); log.info("开始请求工作流驳回任务接口:/reject/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data));
processTaskDTO = Workflow.taskV2Client.reject(taskId, data).getResult(); processTaskDTO = workFlowFeignService.reject(taskId, data).getResult();
} else { } else {
// 执行普通节点(提交) // 执行普通节点(提交)
log.info("开始请求工作流完成任务接口:/complete/standard/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data)); log.info("开始请求工作流完成任务接口:/complete/standard/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data));
processTaskDTO = Workflow.taskV2Client.completeByTaskFroStandard(taskId, data).getResult(); processTaskDTO = workFlowFeignService.completeByTaskFroStandard(taskId, data).getResult();
} }
} catch (InnerInvokException e) { } catch (InnerInvokException e) {
//拦截无审核人异常信息 //拦截无审核人异常信息
...@@ -98,7 +96,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -98,7 +96,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
@Override @Override
public ProcessTaskDTO rollBack(String processInstanceId) { public ProcessTaskDTO rollBack(String processInstanceId) {
log.info("开始请求工作流撤回接口:/rollBack/standard/{processInstanceId},请求参数:{}", processInstanceId); log.info("开始请求工作流撤回接口:/rollBack/standard/{processInstanceId},请求参数:{}", processInstanceId);
return FeignUtil.remoteCall(() -> Workflow.taskV2Client.rollBackTask(processInstanceId)); return FeignUtil.remoteCall(() -> workFlowFeignService.rollBackTask(processInstanceId));
} }
...@@ -106,8 +104,8 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -106,8 +104,8 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
public ProcessTaskDTO assign(FlowTaskVo taskVo) { public ProcessTaskDTO assign(FlowTaskVo taskVo) {
ProcessTaskDTO processTaskDTO = new ProcessTaskDTO(); ProcessTaskDTO processTaskDTO = new ProcessTaskDTO();
try { try {
log.info("开始请求工作流转办任务接口:/assign/{taskVo},请求参数:{},{}", taskVo); log.info("开始请求工作流转办任务接口:/assign/{taskVo},请求参数:{}", taskVo);
processTaskDTO = Workflow.taskV2Client.assign(taskVo).getResult(); processTaskDTO = workFlowFeignService.assign(taskVo).getResult();
} catch (InnerInvokException e) { } catch (InnerInvokException e) {
//拦截无审核人异常信息 //拦截无审核人异常信息
String devMessage = getErrorMessage(e); String devMessage = getErrorMessage(e);
...@@ -126,7 +124,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -126,7 +124,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
ProcessInstanceDTO processTaskDTO = new ProcessInstanceDTO(); ProcessInstanceDTO processTaskDTO = new ProcessInstanceDTO();
try { try {
log.info("开始请求工作流终止流程接口:/stopProcess/{processInstanceId},请求参数:{},{}", processInstanceId, stopReason); log.info("开始请求工作流终止流程接口:/stopProcess/{processInstanceId},请求参数:{},{}", processInstanceId, stopReason);
processTaskDTO = Workflow.taskV2Client.stopProcess(processInstanceId, stopReason).getResult(); processTaskDTO = workFlowFeignService.stopProcess(processInstanceId, stopReason).getResult();
} catch (InnerInvokException e) { } catch (InnerInvokException e) {
//拦截无审核人异常信息 //拦截无审核人异常信息
String devMessage = getErrorMessage(e); String devMessage = getErrorMessage(e);
......
...@@ -42,6 +42,7 @@ import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils; ...@@ -42,6 +42,7 @@ import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils;
import com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils; import com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils; import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.PrivilegeFeginService; import com.yeejoin.amos.boot.module.jg.flc.api.fegin.PrivilegeFeginService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.TaskV2FeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
...@@ -226,6 +227,8 @@ public class CommonServiceImpl implements ICommonService { ...@@ -226,6 +227,8 @@ public class CommonServiceImpl implements ICommonService {
@Autowired @Autowired
private JgVehicleInformationServiceImpl jgVehicleInformationService; private JgVehicleInformationServiceImpl jgVehicleInformationService;
private Map<String, String> companyCodeRegNameMap; private Map<String, String> companyCodeRegNameMap;
@Autowired
private TaskV2FeignService taskV2FeignService;
public static byte[] file2byte(File file) { public static byte[] file2byte(File file) {
try { try {
...@@ -1153,9 +1156,9 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1153,9 +1156,9 @@ public class CommonServiceImpl implements ICommonService {
flowTaskVo.setAssignee(assignee); flowTaskVo.setAssignee(assignee);
ProcessTaskDTO processTaskDTO = cmWorkflowService.assign(flowTaskVo); ProcessTaskDTO processTaskDTO = cmWorkflowService.assign(flowTaskVo);
// 修改待办 // 修改待办
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(instanceId).getResult(); List<TaskV2Model> result = taskV2FeignService.selectListByRelationId(instanceId).getResult();
List<TaskV2Model> collect = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList()); List<TaskV2Model> collect = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList());
if (collect.size() == 0) { if (collect.isEmpty()) {
return null; return null;
} }
TaskV2Model taskV2Model = collect.get(0); TaskV2Model taskV2Model = collect.get(0);
...@@ -1166,7 +1169,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1166,7 +1169,7 @@ public class CommonServiceImpl implements ICommonService {
taskV2Model.setEndDate(new Date()); taskV2Model.setEndDate(new Date());
String routhPath = taskV2Model.getRoutePath().replace("nextExecuteUserIds", "executeUserId") + "&nextExecuteUserIds=" + assignee; String routhPath = taskV2Model.getRoutePath().replace("nextExecuteUserIds", "executeUserId") + "&nextExecuteUserIds=" + assignee;
taskV2Model.setRoutePath(routhPath); taskV2Model.setRoutePath(routhPath);
Systemctl.taskV2Client.update(taskV2Model, taskV2Model.getSequenceNbr()); taskV2FeignService.update(taskV2Model, taskV2Model.getSequenceNbr());
// 创建新待办 // 创建新待办
taskV2Model.setExecuteUserIds(assignee); taskV2Model.setExecuteUserIds(assignee);
String nextTaskId = processTaskDTO.getNextTask().get(0).getId(); String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
...@@ -1179,7 +1182,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1179,7 +1182,7 @@ public class CommonServiceImpl implements ICommonService {
taskV2Model.setEndUserId(null); taskV2Model.setEndUserId(null);
taskV2Model.setEndDate(null); taskV2Model.setEndDate(null);
taskV2Model.setSequenceNbr(null); taskV2Model.setSequenceNbr(null);
Systemctl.taskV2Client.create(taskV2Model); taskV2FeignService.create(taskV2Model);
String id = commonMapper.selectBusinessData(tableName, instanceId); String id = commonMapper.selectBusinessData(tableName, instanceId);
id = ObjectUtils.isEmpty(id) ? assignee : id + "," + assignee; id = ObjectUtils.isEmpty(id) ? assignee : id + "," + assignee;
...@@ -1201,11 +1204,11 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1201,11 +1204,11 @@ public class CommonServiceImpl implements ICommonService {
} }
public void deleteTaskModel(String id) { public void deleteTaskModel(String id) {
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(id).getResult(); List<TaskV2Model> result = taskV2FeignService.selectListByRelationId(id).getResult();
if (result.size() > 0) { if (!result.isEmpty()) {
List<Long> idList = result.stream().map(TaskV2Model::getSequenceNbr).collect(Collectors.toList()); List<Long> idList = result.stream().map(TaskV2Model::getSequenceNbr).collect(Collectors.toList());
String ids = idList.stream().map(Object::toString).collect(Collectors.joining(",")); String ids = idList.stream().map(Object::toString).collect(Collectors.joining(","));
Systemctl.taskV2Client.delete(ids); taskV2FeignService.delete(ids);
} }
} }
...@@ -1216,10 +1219,10 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1216,10 +1219,10 @@ public class CommonServiceImpl implements ICommonService {
List<TaskV2Model> taskV2Models = new ArrayList<>(); List<TaskV2Model> taskV2Models = new ArrayList<>();
for (TaskModelDto obj : list) { for (TaskModelDto obj : list) {
// 判断是否是暂存 新增若无下一节点执行人即为暂存 // 判断是否是暂存 新增若无下一节点执行人即为暂存
boolean flag = StringUtils.isEmpty(obj.getNextExecuteUser()) ? true : false; boolean flag = StringUtils.isEmpty(obj.getNextExecuteUser());
if (flag) { if (flag) {
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(obj.getRelationId()).getResult(); List<TaskV2Model> result = taskV2FeignService.selectListByRelationId(obj.getRelationId()).getResult();
if (CollectionUtil.isNotEmpty(result) && result.size() > 0) { if (CollectionUtil.isNotEmpty(result) && !result.isEmpty()) {
break; break;
} }
} }
...@@ -1284,7 +1287,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1284,7 +1287,7 @@ public class CommonServiceImpl implements ICommonService {
taskV2Models.add(model); taskV2Models.add(model);
} }
Systemctl.taskV2Client.batchAdd(taskV2Models); taskV2FeignService.batchAdd(taskV2Models);
} }
/** /**
...@@ -1298,10 +1301,10 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1298,10 +1301,10 @@ public class CommonServiceImpl implements ICommonService {
**/ **/
public TaskV2Model updateTaskModel(Map<String, Object> params) { public TaskV2Model updateTaskModel(Map<String, Object> params) {
String exeUserId = RequestContext.getExeUserId(); String exeUserId = RequestContext.getExeUserId();
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(params.get("relationId").toString()).getResult(); List<TaskV2Model> result = taskV2FeignService.selectListByRelationId(params.get("relationId").toString()).getResult();
List<TaskV2Model> collect = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList()); List<TaskV2Model> collect = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList());
if (collect == null || collect.size() == 0) { if (collect.isEmpty()) {
return null; return null;
} }
collect.get(0).setFlowStatus(Integer.valueOf(params.get("flowStatus").toString())); collect.get(0).setFlowStatus(Integer.valueOf(params.get("flowStatus").toString()));
...@@ -1339,10 +1342,10 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1339,10 +1342,10 @@ public class CommonServiceImpl implements ICommonService {
taskV2Model.setFlowStatusLabel((FlowStatusEnum.TO_BE_FINISHED.getName())); taskV2Model.setFlowStatusLabel((FlowStatusEnum.TO_BE_FINISHED.getName()));
taskV2Model.setFlowStatus(FlowStatusEnum.TO_BE_FINISHED.getCode()); taskV2Model.setFlowStatus(FlowStatusEnum.TO_BE_FINISHED.getCode());
} }
Systemctl.taskV2Client.batchUpdate(collect); taskV2FeignService.batchUpdate(collect);
} else { } else {
collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq=")); collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq="));
Systemctl.taskV2Client.update(collect.get(0), collect.get(0).getSequenceNbr()); taskV2FeignService.update(collect.get(0), collect.get(0).getSequenceNbr());
} }
// 修改model并返回 用于组装新待办 // 修改model并返回 用于组装新待办
collect.get(0).setEndUserId(null); collect.get(0).setEndUserId(null);
...@@ -1365,7 +1368,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1365,7 +1368,7 @@ public class CommonServiceImpl implements ICommonService {
**/ **/
public TaskV2Model updateTaskModelNew(Map<String, Object> params) { public TaskV2Model updateTaskModelNew(Map<String, Object> params) {
String exeUserId = RequestContext.getExeUserId(); String exeUserId = RequestContext.getExeUserId();
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(params.get("relationId").toString()).getResult(); List<TaskV2Model> result = taskV2FeignService.selectListByRelationId(params.get("relationId").toString()).getResult();
// TaskV2Model model = result.stream().filter(e->e.getFlowCode().equals(params.get("flowCode").toString())).sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r2.getSequenceNbr())) // 按时间降序排序 // TaskV2Model model = result.stream().filter(e->e.getFlowCode().equals(params.get("flowCode").toString())).sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r2.getSequenceNbr())) // 按时间降序排序
// .findFirst() // .findFirst()
...@@ -1407,10 +1410,10 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1407,10 +1410,10 @@ public class CommonServiceImpl implements ICommonService {
taskV2Model.setFlowStatusLabel((FlowStatusEnum.TO_BE_FINISHED.getName())); taskV2Model.setFlowStatusLabel((FlowStatusEnum.TO_BE_FINISHED.getName()));
taskV2Model.setFlowStatus(FlowStatusEnum.TO_BE_FINISHED.getCode()); taskV2Model.setFlowStatus(FlowStatusEnum.TO_BE_FINISHED.getCode());
} }
Systemctl.taskV2Client.batchUpdate(collect); taskV2FeignService.batchUpdate(collect);
} else { } else {
collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq=")); collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq="));
Systemctl.taskV2Client.update(collect.get(0), collect.get(0).getSequenceNbr()); taskV2FeignService.update(collect.get(0), collect.get(0).getSequenceNbr());
} }
collect.get(0).setEndUserId(null); collect.get(0).setEndUserId(null);
collect.get(0).setTaskStatus(null); collect.get(0).setTaskStatus(null);
...@@ -1429,10 +1432,10 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1429,10 +1432,10 @@ public class CommonServiceImpl implements ICommonService {
*/ */
public void rollbackTask(String id, JSONObject obj) { public void rollbackTask(String id, JSONObject obj) {
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(id).getResult(); List<TaskV2Model> result = taskV2FeignService.selectListByRelationId(id).getResult();
List<TaskV2Model> list = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList()); List<TaskV2Model> list = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList());
TaskV2Model model = list.get(0); TaskV2Model model = list.get(0);
Systemctl.taskV2Client.delete(String.valueOf(model.getSequenceNbr())); taskV2FeignService.delete(String.valueOf(model.getSequenceNbr()));
String urlParams = ""; String urlParams = "";
urlParams = "&" + toQueryParams2(obj); urlParams = "&" + toQueryParams2(obj);
...@@ -1461,7 +1464,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1461,7 +1464,7 @@ public class CommonServiceImpl implements ICommonService {
break; break;
} }
} }
Systemctl.taskV2Client.update(lastTaskModel, lastTaskModel.getSequenceNbr()); taskV2FeignService.update(lastTaskModel, lastTaskModel.getSequenceNbr());
} else if (list.size() == 1) { } else if (list.size() == 1) {
model.setExecuteUserIds(model.getStartUserId()); model.setExecuteUserIds(model.getStartUserId());
model.setTaskStatusLabel("重新提交"); model.setTaskStatusLabel("重新提交");
...@@ -1482,7 +1485,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1482,7 +1485,7 @@ public class CommonServiceImpl implements ICommonService {
break; break;
} }
} }
Systemctl.taskV2Client.create(model); taskV2FeignService.create(model);
} }
} }
......
...@@ -51,6 +51,9 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; ...@@ -51,6 +51,9 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.core.context.RootContext;
import io.seata.spring.annotation.GlobalTransactional;
import io.seata.tm.api.GlobalTransactionContext;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
...@@ -69,14 +72,12 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil; ...@@ -69,14 +72,12 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.ParseException; import java.text.ParseException;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.alibaba.fastjson.JSON.parseArray; import static com.alibaba.fastjson.JSON.parseArray;
/** /**
...@@ -254,8 +255,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -254,8 +255,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
* @param noticeDto 安装告知 * @param noticeDto 安装告知
*/ */
@Override @Override
@SuppressWarnings({"rawtypes", "Duplicates"}) @GlobalTransactional(rollbackFor = Exception.class)
@Transactional @Transactional(rollbackFor = Exception.class)
public JgInstallationNoticeDto updateInstallationNotice(String submitType, JgInstallationNoticeDto noticeDto, String op) { public JgInstallationNoticeDto updateInstallationNotice(String submitType, JgInstallationNoticeDto noticeDto, String op) {
if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) { if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空"); throw new IllegalArgumentException("参数不能为空");
...@@ -517,8 +518,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -517,8 +518,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
} }
@Override @Override
@SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<JgInstallationNotice> saveNotice(String submitType, JSONObject jgInstallationNoticeDtoMap, ReginParams reginParams) { public List<JgInstallationNotice> saveNotice(String submitType, JSONObject jgInstallationNoticeDtoMap, ReginParams reginParams) {
try { try {
JgInstallationNoticeDto model = JSON.parseObject(jgInstallationNoticeDtoMap.get(TABLE_PAGE_ID).toString(), JgInstallationNoticeDto.class); JgInstallationNoticeDto model = JSON.parseObject(jgInstallationNoticeDtoMap.get(TABLE_PAGE_ID).toString(), JgInstallationNoticeDto.class);
...@@ -839,6 +840,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -839,6 +840,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void cancel(JgInstallationNoticeDto noticeDto) { public void cancel(JgInstallationNoticeDto noticeDto) {
String instanceId = noticeDto.getInstanceId(); String instanceId = noticeDto.getInstanceId();
String nextTaskId = noticeDto.getNextTaskId(); String nextTaskId = noticeDto.getNextTaskId();
...@@ -894,8 +896,12 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -894,8 +896,12 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
EquipUsedCheckStrategyContext.getUsedStrategy("installNotice").delDataForCheckEquipRepeatUsed(Collections.singletonList(jgRelationEquip.getEquId()), jgInstallationNotice.getInstallUnitCreditCode()); EquipUsedCheckStrategyContext.getUsedStrategy("installNotice").delDataForCheckEquipRepeatUsed(Collections.singletonList(jgRelationEquip.getEquId()), jgInstallationNotice.getInstallUnitCreditCode());
} }
@GlobalTransactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void accept(JgInstallationNoticeDto dto, String op) { public void accept(JgInstallationNoticeDto dto, String op) {
String xid = GlobalTransactionContext.getCurrentOrCreate().getXid();
log.info(xid);
RootContext.bind(xid);
String instanceId = dto.getInstanceId(); String instanceId = dto.getInstanceId();
String nextTaskId = dto.getNextTaskId(); String nextTaskId = dto.getNextTaskId();
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
......
...@@ -32,6 +32,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; ...@@ -32,6 +32,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.RestHighLevelClient;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
...@@ -174,6 +175,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -174,6 +175,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -242,7 +244,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -242,7 +244,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
/** /**
* 批量删除 * 批量删除
*/ */
@Transactional @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public Boolean deleteForBatch(Long[] ids) { public Boolean deleteForBatch(Long[] ids) {
List<Long> list = Arrays.asList(ids); List<Long> list = Arrays.asList(ids);
list.forEach(x -> { list.forEach(x -> {
...@@ -296,6 +299,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -296,6 +299,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
* 维保合同撤回 * 维保合同撤回
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void revocation(String instanceId, String _nextTaskId) { public void revocation(String instanceId, String _nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -354,6 +358,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -354,6 +358,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
* 新增维保合同 * 新增维保合同
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<JgMaintenanceContract> saveOrSubmit(String submit, Map<String, Object> map, ReginParams reginParams) { public List<JgMaintenanceContract> saveOrSubmit(String submit, Map<String, Object> map, ReginParams reginParams) {
JgMaintenanceContractDto contractDto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class); JgMaintenanceContractDto contractDto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class);
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists"); List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
...@@ -543,7 +548,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -543,7 +548,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
}); });
} }
@Transactional @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate, ProcessTaskDTO processTaskDTO) { public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate, ProcessTaskDTO processTaskDTO) {
List<String> roleListNext = new ArrayList<>(); List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>(); List<String> roleListAll = new ArrayList<>();
......
...@@ -53,6 +53,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; ...@@ -53,6 +53,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
...@@ -369,6 +370,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -369,6 +370,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
* @return list * @return list
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<Map<String, Object>> save(JSONObject map) { public List<Map<String, Object>> save(JSONObject map) {
Map<String, Function<JSONObject, List<Map<String, Object>>>> functionMap = MapBuilder.<String, Function<JSONObject, List<Map<String, Object>>>>create() Map<String, Function<JSONObject, List<Map<String, Object>>>> functionMap = MapBuilder.<String, Function<JSONObject, List<Map<String, Object>>>>create()
.put("unit", this::handleUnitUseRegistration).build(); .put("unit", this::handleUnitUseRegistration).build();
...@@ -1111,6 +1113,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1111,6 +1113,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String carNumber, String manageType, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String carNumber, String manageType, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -1186,6 +1189,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1186,6 +1189,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void withdraw(String instanceId, String nextTaskId, String manageType) { public void withdraw(String instanceId, String nextTaskId, String manageType) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -1854,6 +1858,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1854,6 +1858,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
* @return JgUseRegistration * @return JgUseRegistration
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public JgUseRegistration cancelApplication(Long sequenceNbr, String cancelReason) { public JgUseRegistration cancelApplication(Long sequenceNbr, String cancelReason) {
// 1.更新为已作废 // 1.更新为已作废
JgUseRegistration jgUseRegistration = this.getById(sequenceNbr); JgUseRegistration jgUseRegistration = this.getById(sequenceNbr);
......
...@@ -48,12 +48,12 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; ...@@ -48,12 +48,12 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -64,13 +64,11 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil; ...@@ -64,13 +64,11 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XIAN_YANG; import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XIAN_YANG;
import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XIAN; import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XIAN;
import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate; import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate;
...@@ -126,19 +124,16 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -126,19 +124,16 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
private JgUseRegistrationServiceImpl jgUseRegistrationService; private JgUseRegistrationServiceImpl jgUseRegistrationService;
@Autowired @Autowired
private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService; private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService;
@Autowired @Autowired
private ESEquipmentCategory esEquipmentCategory; private ESEquipmentCategory esEquipmentCategory;
private Map<String, Object> fillingMediumMap; private Map<String, Object> fillingMediumMap;
private static final String[] DEFAULT_KEYS = { private static final String[] DEFAULT_KEYS = {
"useRegistrationCode", "useUnitName", "fullAddress", "equList", "equipDefine", "useRegistrationCode", "useUnitName", "fullAddress", "equList", "equipDefine",
"equipCode", "equipCategory", "useInnerCode", "factoryNum", "giveOutYear", "equipCode", "equipCategory", "useInnerCode", "factoryNum", "giveOutYear",
"giveOutMonth", "giveOutDay" "giveOutMonth", "giveOutDay"
}; };
/** /**
* 新增(提交)车用气瓶 * 新增(提交)车用气瓶
* *
...@@ -146,6 +141,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -146,6 +141,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
* @return list * @return list
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<JgVehicleInformation> save(String submit, JSONObject map) { public List<JgVehicleInformation> save(String submit, JSONObject map) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
JgVehicleInformationDto vehicleInfoDto = JSON.parseObject(JSON.toJSONString(map), JgVehicleInformationDto.class); JgVehicleInformationDto vehicleInfoDto = JSON.parseObject(JSON.toJSONString(map), JgVehicleInformationDto.class);
...@@ -359,6 +355,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -359,6 +355,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
* @param _nextTaskId nextTaskId * @param _nextTaskId nextTaskId
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void cancel(String instanceId, String _nextTaskId) { public void cancel(String instanceId, String _nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -549,6 +546,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -549,6 +546,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
* @param nextTaskId nextTaskId * @param nextTaskId nextTaskId
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, String nextTaskId, String equDefineCode) { public void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, String nextTaskId, String equDefineCode) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -739,7 +737,6 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -739,7 +737,6 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
commonService.updateTaskModel(params); commonService.updateTaskModel(params);
} }
commonService.saveExecuteFlowData2Redis(jgVehicleInformation.getInstanceId(), this.buildInstanceRuntimeData(jgVehicleInformation)); commonService.saveExecuteFlowData2Redis(jgVehicleInformation.getInstanceId(), this.buildInstanceRuntimeData(jgVehicleInformation));
this.getBaseMapper().updateById(jgVehicleInformation);
} }
private void updateEsData(JSONObject dataMap, JgVehicleInformation jgVehicleInformation, IdxBizJgOtherInfo otherInfo) { private void updateEsData(JSONObject dataMap, JgVehicleInformation jgVehicleInformation, IdxBizJgOtherInfo otherInfo) {
...@@ -1087,6 +1084,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1087,6 +1084,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public JgVehicleInformation cancelApplication(Long sequenceNbr, String cancelReason) { public JgVehicleInformation cancelApplication(Long sequenceNbr, String cancelReason) {
// 1.更新为已作废 // 1.更新为已作废
JgVehicleInformation vehicleInformation = this.getById(sequenceNbr); JgVehicleInformation vehicleInformation = this.getById(sequenceNbr);
......
#DB properties: #DB properties:
spring.datasource.url=jdbc:vastbase://172.16.10.243:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true spring.datasource.url=jdbc:postgresql://172.16.10.243:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true
spring.datasource.username=admin spring.datasource.username=admin
spring.datasource.password=Yeejoin@2023 spring.datasource.password=Yeejoin@2023
eureka.client.service-url.defaultZone=http://172.16.10.243:10001/eureka/ eureka.client.service-url.defaultZone=http://172.16.10.243:10001/eureka/
...@@ -86,4 +86,8 @@ tzs.domain=http://sxtzsb.sxsei.com ...@@ -86,4 +86,8 @@ tzs.domain=http://sxtzsb.sxsei.com
outSystem.user.password=a1234560 outSystem.user.password=a1234560
amos.system.user.app-key=AMOS_STUDIO amos.system.user.app-key=AMOS_STUDIO
amos.system.user.product=STUDIO_APP_WEB amos.system.user.product=STUDIO_APP_WEB
\ No newline at end of file
#Seata Config
seata.tx-service-group= tzs-seata
seata.service.grouplist.tzs-seata=172.16.10.243:8091
\ No newline at end of file
...@@ -29,7 +29,7 @@ eureka.instance.metadata-map.management.context-path=${server.servlet.context-pa ...@@ -29,7 +29,7 @@ eureka.instance.metadata-map.management.context-path=${server.servlet.context-pa
eureka.instance.status-page-url-path=/actuator/info eureka.instance.status-page-url-path=/actuator/info
eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/doc.html eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/doc.html
#DB properties: #DB properties:
spring.datasource.driver-class-name=cn.com.vastbase.Driver spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=10 spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=25 spring.datasource.hikari.maximum-pool-size=25
...@@ -39,6 +39,7 @@ spring.datasource.hikari.pool-name=DatebookHikariCP ...@@ -39,6 +39,7 @@ spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=120000 spring.datasource.hikari.max-lifetime=120000
spring.datasource.hikari.connection-timeout=30000 spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1 spring.datasource.hikari.connection-test-query=SELECT 1
spring.datasource.schema=amos_tzs_biz
spring.main.allow-bean-definition-overriding=true spring.main.allow-bean-definition-overriding=true
iot.fegin.name=AMOS-API-IOT iot.fegin.name=AMOS-API-IOT
...@@ -162,4 +163,6 @@ tzs.WxApp.secret=ac4f4a9d3c97676badb70c19a2f37b16 ...@@ -162,4 +163,6 @@ tzs.WxApp.secret=ac4f4a9d3c97676badb70c19a2f37b16
tzs.WxApp.grant-type=authorization_code tzs.WxApp.grant-type=authorization_code
amos.wechat.robot.user=we_robot amos.wechat.robot.user=we_robot
amos.wechat.robot.password=a1234567 amos.wechat.robot.password=a1234567
\ No newline at end of file
feign.okhttp.enabled= true
\ No newline at end of file
transport {
# tcp udt unix-domain-socket
type = "TCP"
#NIO NATIVE
server = "NIO"
#enable heartbeat
heartbeat = true
# the client batch send request enable
enableClientBatchSendRequest = true
#thread factory for netty
threadFactory {
bossThreadPrefix = "NettyBoss"
workerThreadPrefix = "NettyServerNIOWorker"
serverExecutorThread-prefix = "NettyServerBizHandler"
shareBossWorker = false
clientSelectorThreadPrefix = "NettyClientSelector"
clientSelectorThreadSize = 1
clientWorkerThreadPrefix = "NettyClientWorkerThread"
# netty boss thread size,will not be used for UDT
bossThreadSize = 1
#auto default pin or 8
workerThreadSize = "8"
}
shutdown {
# when destroy server, wait seconds
wait = 3
}
serialization = "seata"
compressor = "none"
}
service {
#transaction service group mapping
vgroupMapping.tzs-seata = "tzs-seata"
#only support when registry.type=file, please don't set multiple addresses
default.grouplist = "172.16.10.243:8091"
#degrade, current not support
enableDegrade = false
#disable seata
disableGlobalTransaction = false
}
client {
rm {
asyncCommitBufferLimit = 10000
lock {
retryInterval = 10
retryTimes = 30
retryPolicyBranchRollbackOnConflict = true
}
reportRetryCount = 5
tableMetaCheckEnable = false
reportSuccessEnable = false
}
tm {
commitRetryCount = 5
rollbackRetryCount = 5
}
undo {
dataValidation = true
logSerialization = "protostuff"
logTable = "undo_log"
}
log {
exceptionRate = 100
}
}
\ No newline at end of file
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "eureka"
nacos {
serverAddr = "localhost"
namespace = ""
cluster = "default"
}
eureka {
serviceUrl = "http://172.16.10.243:10001/eureka"
application = "default"
weight = "1"
}
redis {
serverAddr = "localhost:6379"
db = "0"
password = ""
cluster = "default"
timeout = "0"
}
zk {
cluster = "default"
serverAddr = "127.0.0.1:2181"
session.timeout = 6000
connect.timeout = 2000
username = ""
password = ""
}
consul {
cluster = "default"
serverAddr = "127.0.0.1:8500"
}
etcd3 {
cluster = "default"
serverAddr = "http://localhost:2379"
}
sofa {
serverAddr = "127.0.0.1:9603"
application = "default"
region = "DEFAULT_ZONE"
datacenter = "DefaultDataCenter"
cluster = "default"
group = "SEATA_GROUP"
addressWaitTime = "3000"
}
file {
name = "file.conf"
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3、springCloudConfig
type = "file"
nacos {
serverAddr = "localhost"
namespace = ""
group = "SEATA_GROUP"
}
consul {
serverAddr = "127.0.0.1:8500"
}
apollo {
app.id = "seata-server"
apollo.meta = "http://192.168.1.204:8801"
namespace = "application"
}
zk {
serverAddr = "127.0.0.1:2181"
session.timeout = 6000
connect.timeout = 2000
username = ""
password = ""
}
etcd3 {
serverAddr = "http://localhost:2379"
}
file {
name = "file.conf"
}
}
...@@ -68,11 +68,6 @@ ...@@ -68,11 +68,6 @@
</exclusions> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId> <artifactId>commons-compress</artifactId>
<version>1.18</version> <version>1.18</version>
......
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