diff --git a/mall-ebtp-cloud-attachment-sdk/bin/pom.xml b/mall-ebtp-cloud-attachment-sdk/bin/pom.xml new file mode 100644 index 0000000..3c48c2d --- /dev/null +++ b/mall-ebtp-cloud-attachment-sdk/bin/pom.xml @@ -0,0 +1,64 @@ + + + 4.0.0 + + com.chinaunicom.ebtp + mall-ebtp-cloud-attachment-sdk + 0.0.1 + + + com.chinaunicom.ebtp + mall-ebtp-cloud-parent + 0.0.1 + ../mall-ebtp-cloud-parent + + + + + com.chinaunicom.ebtp + mall-ebtp-cloud-mvc-starter + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + io.github.openfeign + feign-okhttp + + + org.projectlombok + lombok + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + nexus-aliyun + Nexus aliyun + http://maven.aliyun.com/nexus/content/groups/public + + + + + + ettp-host-release + Install to ettp center + http://zentao.jlcucc.com:60000/repository/ettp-releases/ + + + + diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/AttachmentClient.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/AttachmentClient.class new file mode 100644 index 0000000..4a448ba Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/AttachmentClient.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/DefaultAttachmentClient.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/DefaultAttachmentClient.class new file mode 100644 index 0000000..cdee3f0 Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/DefaultAttachmentClient.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/FeignSupportConfig.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/FeignSupportConfig.class new file mode 100644 index 0000000..017c405 Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/FeignSupportConfig.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/SDKAutoConfiguration.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/SDKAutoConfiguration.class new file mode 100644 index 0000000..4b0c2e1 Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/SDKAutoConfiguration.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/convertor/FileConvertor.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/convertor/FileConvertor.class new file mode 100644 index 0000000..609f14d Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/convertor/FileConvertor.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/fallback/QueryServiceFallback.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/fallback/QueryServiceFallback.class new file mode 100644 index 0000000..cc558e0 Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/fallback/QueryServiceFallback.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/AttachmentDetail.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/AttachmentDetail.class new file mode 100644 index 0000000..6bb84c5 Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/AttachmentDetail.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/AttachmentEntity.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/AttachmentEntity.class new file mode 100644 index 0000000..0dc8dd4 Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/AttachmentEntity.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/FeedbackMessage.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/FeedbackMessage.class new file mode 100644 index 0000000..34a3fe4 Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/FeedbackMessage.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/Snowflake.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/Snowflake.class new file mode 100644 index 0000000..ebca6fc Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/Snowflake.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/UploadObject.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/UploadObject.class new file mode 100644 index 0000000..fb762ac Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/UploadObject.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/param/QueryParameter.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/param/QueryParameter.class new file mode 100644 index 0000000..9974aa1 Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/param/QueryParameter.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/QueryService.class b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/QueryService.class new file mode 100644 index 0000000..1020dcc Binary files /dev/null and b/mall-ebtp-cloud-attachment-sdk/bin/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/QueryService.class differ diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/resources/META-INF/spring.factories b/mall-ebtp-cloud-attachment-sdk/bin/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..f11530a --- /dev/null +++ b/mall-ebtp-cloud-attachment-sdk/bin/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +# AutoConfiguration +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.chinaunicom.ebtp.mall.cloud.attachment.sdk.config.SDKAutoConfiguration \ No newline at end of file diff --git a/mall-ebtp-cloud-attachment-sdk/bin/src/main/resources/attachment-sdk-cofiguration.properties b/mall-ebtp-cloud-attachment-sdk/bin/src/main/resources/attachment-sdk-cofiguration.properties new file mode 100644 index 0000000..580e33b --- /dev/null +++ b/mall-ebtp-cloud-attachment-sdk/bin/src/main/resources/attachment-sdk-cofiguration.properties @@ -0,0 +1,2 @@ +ribbon.ReadTimeout=1800000 +ribbon.SocketTimeout=1800000 diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/AttachmentClient.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/AttachmentClient.java index 633d83a..409e954 100644 --- a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/AttachmentClient.java +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/AttachmentClient.java @@ -6,6 +6,7 @@ import java.util.Optional; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentDetail; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentEntity; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.DownloadEntity; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.UploadObject; /** @@ -44,6 +45,14 @@ public interface AttachmentClient { */ Optional downloadFilesByBusinessId(String businessId); + /** + * 下载业务ID下的所有资源 + * + * @param bid + * @return + */ + Optional downloadOriginalFilesByBusinessId(String businessId); + /** * 下载指定的资源数据 * @@ -52,7 +61,15 @@ public interface AttachmentClient { * @return */ Optional downloadFileByObjectId(String objectId); - + + /** + * 下载指定的资源数据 + * + * @param bid + * @param oid + * @return + */ + Optional downloadOriginalFileByObjectId(String objectId); /** * 上传资源文件 @@ -62,8 +79,6 @@ public interface AttachmentClient { * @return */ Optional upload(String businessId, File file); - - /** * 上传资源文件 @@ -74,4 +89,18 @@ public interface AttachmentClient { */ Optional upload(String businessId, String filename, byte[] array); + /** + * 根据业务id删除附件 + * + * @param businessId + */ + boolean deleteByBid(String businessId); + + /** + * 根据对象id删除附件 + * + * @param objectId + */ + String deleteByOid(String objectId); + } diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/DefaultAttachmentClient.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/DefaultAttachmentClient.java index a6582f0..2728137 100644 --- a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/DefaultAttachmentClient.java +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/api/DefaultAttachmentClient.java @@ -6,6 +6,7 @@ import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Optional; +import java.util.UUID; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -17,6 +18,7 @@ import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.convertor.FileConvertor; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.convertor.ModelConvertor; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentDetail; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentEntity; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.DownloadEntity; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.UploadObject; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.service.DocumentCenterService; @@ -42,6 +44,16 @@ public class DefaultAttachmentClient implements AttachmentClient { /* 文件转换器 */ private @Autowired FileConvertor fileConvertor; + /** + * 生成业务id + * + * @return + */ + @Override + public Optional getBusinessId() { + return Optional.of(String.format("{\"id\":\"%s\"}", IdUtil.getSnowflake(23, 16).nextIdStr())); + } + /** * 根据业务id列表查询详单 * @@ -66,16 +78,6 @@ public class DefaultAttachmentClient implements AttachmentClient { return Optional.ofNullable(detail); } - /** - * 生成业务id - * - * @return - */ - @Override - public Optional getBusinessId() { - return Optional.of(String.format("{\"id\":\"%s\"}", IdUtil.getSnowflake(23, 16).nextIdStr())); - } - /** * 查询指定Id文件的详细信息 * @@ -121,7 +123,7 @@ public class DefaultAttachmentClient implements AttachmentClient { try (ZipOutputStream zout = new ZipOutputStream(out)) { list.stream().forEach(data -> { try { - zout.putNextEntry(new ZipEntry(data.getId() + data.getFilename()));// 文件项名称 + zout.putNextEntry(new ZipEntry(data.getFilename()));// 文件项名称 zout.write(downloadFileByObjectId(data.getId()).get());// 文件数据流 } catch (IOException e) { log.error(e.getMessage()); @@ -137,6 +139,45 @@ public class DefaultAttachmentClient implements AttachmentClient { return Optional.empty(); } + @Override + public Optional downloadOriginalFilesByBusinessId(String businessId) { + Optional op = findByBusinessId(Arrays.asList(businessId)); + + if (op.isPresent()) { + List list = op.get().get(businessId); + + // 如果业务id下只包含单独一个文件,则直接返回该文件数据 + if (list.size() == 1) { + return downloadOriginalFileByObjectId(list.get(0).getId()); + } + // 如果大于1个则下载返回压缩包数据流 + else if (list.size() > 1) { + try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { + try (ZipOutputStream zout = new ZipOutputStream(out)) { + list.stream().forEach(data -> { + try { + zout.putNextEntry(new ZipEntry(data.getFilename()));// 文件项名称 + zout.write(downloadFileByObjectId(data.getId()).get());// 文件数据流 + } catch (IOException e) { + log.error(e.getMessage()); + } + }); + } + return Optional.ofNullable(new DownloadEntity() + .setFilename(String.format("%s.zip", UUID.randomUUID())).setStream(out.toByteArray())); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + } + return Optional.empty(); + } + + @Override + public Optional downloadOriginalFileByObjectId(String objectId) { + return modelConvertor.toDownloadEntity(documentCenterService.getObjectDetail(objectId)); + } + /** * 文件上传 * @@ -150,7 +191,7 @@ public class DefaultAttachmentClient implements AttachmentClient { log.debug(res); - return Optional.empty(); + return modelConvertor.toUploadObject(res); } @Override @@ -160,7 +201,31 @@ public class DefaultAttachmentClient implements AttachmentClient { log.debug(res); - return Optional.empty(); + return modelConvertor.toUploadObject(res); + } + + @Override + public boolean deleteByBid(String businessId) { + Optional op = findByBusinessId(Arrays.asList(businessId)); + + /* + * AttachmentDetail 是一个Map类型对象, key 业务id, value: List + */ + op.ifPresent(attachmentDetail -> { + attachmentDetail.keySet().stream().forEach(key -> { + List list = attachmentDetail.get(key); + + list.stream().forEach(attachmentEntity -> { + documentCenterService.deleteByOid(attachmentEntity.getId()); + }); + }); + }); + return op.isPresent(); + } + + @Override + public String deleteByOid(String objectId) { + return documentCenterService.deleteByOid(objectId); } } diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/FeignSupportConfig.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/FeignSupportConfig.java new file mode 100644 index 0000000..c44c3d9 --- /dev/null +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/config/FeignSupportConfig.java @@ -0,0 +1,8 @@ +package com.chinaunicom.ebtp.mall.cloud.attachment.sdk.config; + +import org.springframework.context.annotation.Configuration; + +@Configuration +public class FeignSupportConfig { + +} \ No newline at end of file diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/convertor/ModelConvertor.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/convertor/ModelConvertor.java index 0ba21df..bc0c436 100644 --- a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/convertor/ModelConvertor.java +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/convertor/ModelConvertor.java @@ -1,16 +1,23 @@ package com.chinaunicom.ebtp.mall.cloud.attachment.sdk.convertor; +import java.nio.charset.Charset; +import java.util.List; import java.util.Optional; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentEntity; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.DownloadEntity; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.UploadObject; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.SysStorageVO; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.down.DownStream; -import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.down.SysStorageVO; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.query.QueryResult; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.upload.UploadStream; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.upload.UploadStreamData; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; +import cn.hutool.core.net.URLEncoder; import lombok.extern.slf4j.Slf4j; /** @@ -39,7 +46,7 @@ public class ModelConvertor { AttachmentEntity entity = null; try { - SysStorageVO vo = toSysStorageVO(json); + SysStorageVO vo = tpDownPO(json); log.debug("convert to model: {}", vo); entity = new AttachmentEntity(); @@ -72,13 +79,36 @@ public class ModelConvertor { byte[] array = null; try { - array = toSysStorageVO(json).getFileStream(); + array = tpDownPO(json).getFileStream(); } catch (JsonProcessingException e) { log.error(e.getMessage()); } return Optional.ofNullable(array); } + public Optional toDownloadEntity(String json) { + DownloadEntity entity = new DownloadEntity(); + try { + SysStorageVO vo = tpDownPO(json); + entity.setFilename(URLEncoder.DEFAULT.encode(vo.getOriginalName(), Charset.forName("UTF-8"))) + .setStream(vo.getFileStream()); + } catch (JsonMappingException e) { + e.printStackTrace(); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return Optional.ofNullable(entity); + } + + public Optional toUploadObject(String json) { + try { + return Optional.ofNullable(new UploadObject().setId(toUploadPO(json).getFileId())); + } catch (JsonProcessingException e) { + log.error(e.getMessage()); + } + return Optional.empty(); + } + /////////////////////////////////////////////////////////////////////////// private /////////////////////////////////////////////////////////////////////////// method /** @@ -89,9 +119,18 @@ public class ModelConvertor { * @throws JsonMappingException * @throws JsonProcessingException */ - private SysStorageVO toSysStorageVO(String json) throws JsonMappingException, JsonProcessingException { + private SysStorageVO tpDownPO(String json) throws JsonMappingException, JsonProcessingException { log.debug("current convertor json is: {}", json); return objectMapper.readValue(json, DownStream.class).getData().getSysStorageVO(); } + private SysStorageVO toUploadPO(String json) throws JsonMappingException, JsonProcessingException { + log.debug("current convertor json is: {}", json); + List list = objectMapper.readValue(json, UploadStream.class).getData(); + + if (list.size() > 0) { + return list.get(0).getSysStorageVO(); + } + return null; + } } diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/fallback/DocumentCenterServiceFallback.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/fallback/DocumentCenterServiceFallback.java index e207c3b..0946b94 100644 --- a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/fallback/DocumentCenterServiceFallback.java +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/fallback/DocumentCenterServiceFallback.java @@ -25,4 +25,9 @@ public class DocumentCenterServiceFallback implements DocumentCenterService { return null; } + @Override + public String deleteByOid(String fileId) { + return null; + } + } diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/DownloadEntity.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/DownloadEntity.java new file mode 100644 index 0000000..4355c85 --- /dev/null +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/model/DownloadEntity.java @@ -0,0 +1,13 @@ +package com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class DownloadEntity { + + private String filename; + private byte[] stream; + +} diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/DocumentCenterService.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/DocumentCenterService.java index ad63675..bc175f8 100644 --- a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/DocumentCenterService.java +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/DocumentCenterService.java @@ -27,7 +27,7 @@ public interface DocumentCenterService { * @param fileId * @return */ - @RequestMapping(method = RequestMethod.POST, value = "v1.0/files/downloadAllStream") + @RequestMapping(method = RequestMethod.POST, value = "v1.0/files/downloadFileAllStream") String getObjectDetail(@RequestParam("fileId") String fileId); /** @@ -48,4 +48,13 @@ public interface DocumentCenterService { String upload(@RequestPart("appCode") String appCode, @RequestPart("objectId") String objectId, @RequestPart("multipartFiles") MultipartFile multipartFiles); + /** + * 删除附件信息 + * + * @param fileId + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "v1.0/files/disk") + String deleteByOid(@RequestParam("fileId") String fileId); + } diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/QueryService.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/QueryService.java index b3eedb9..caf06a4 100644 --- a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/QueryService.java +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/service/QueryService.java @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.multipart.MultipartFile; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.config.FeignSupportConfig; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.fallback.QueryServiceFallback; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentDetail; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentEntity; @@ -17,7 +18,7 @@ import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.FeedbackMessage; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.Snowflake; import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.param.QueryParameter; -@FeignClient(value = "core-service-ebtp-updownload", fallback = QueryServiceFallback.class) +@FeignClient(value = "core-service-ebtp-updownload", configuration = FeignSupportConfig.class, fallback = QueryServiceFallback.class) public interface QueryService { @RequestMapping(method = RequestMethod.GET, value = "v1/business/id") diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/down/SysStorageVO.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/SysStorageVO.java similarity index 79% rename from mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/down/SysStorageVO.java rename to mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/SysStorageVO.java index 8b76485..94ab1ec 100644 --- a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/down/SysStorageVO.java +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/SysStorageVO.java @@ -1,4 +1,4 @@ -package com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.down; +package com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo; import lombok.Data; diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/down/DownStreamData.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/down/DownStreamData.java index 2449d26..1ef26ef 100644 --- a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/down/DownStreamData.java +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/down/DownStreamData.java @@ -1,5 +1,7 @@ package com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.down; +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.SysStorageVO; + import lombok.Data; @Data diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/upload/UploadStream.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/upload/UploadStream.java new file mode 100644 index 0000000..ca0b017 --- /dev/null +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/upload/UploadStream.java @@ -0,0 +1,15 @@ +package com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.upload; + +import java.util.List; + +import lombok.Data; + +@Data +public class UploadStream { + + private Integer code; + private Boolean success; + private String message; + private List data; + +} diff --git a/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/upload/UploadStreamData.java b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/upload/UploadStreamData.java new file mode 100644 index 0000000..85f6cb6 --- /dev/null +++ b/mall-ebtp-cloud-attachment-sdk/src/main/java/com/chinaunicom/ebtp/mall/cloud/attachment/sdk/vo/upload/UploadStreamData.java @@ -0,0 +1,12 @@ +package com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.upload; + +import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.vo.SysStorageVO; + +import lombok.Data; + +@Data +public class UploadStreamData { + + private SysStorageVO sysStorageVO; + +} diff --git a/mall-ebtp-cloud-redis-starter/pom.xml b/mall-ebtp-cloud-redis-starter/pom.xml index 32af5e3..8b3bd52 100644 --- a/mall-ebtp-cloud-redis-starter/pom.xml +++ b/mall-ebtp-cloud-redis-starter/pom.xml @@ -20,7 +20,6 @@ 2.7.0 3.1.0 3.11.4 - 4.6.10 @@ -47,10 +46,5 @@ org.apache.commons commons-pool2 - - cn.hutool - hutool-json - ${hutool-json.version} - diff --git a/mall-ebtp-cloud-seata-starter/pom.xml b/mall-ebtp-cloud-seata-starter/pom.xml index 5ac523e..e73cc8c 100644 --- a/mall-ebtp-cloud-seata-starter/pom.xml +++ b/mall-ebtp-cloud-seata-starter/pom.xml @@ -21,25 +21,9 @@ - - com.chinaunicom.ebtp - mall-ebtp-cloud-jpa-starter - - - com.alibaba.cloud - spring-cloud-alibaba-seata - 2.1.0.RELEASE - - - seata-all - io.seata - - - io.seata - seata-all - ${seata.version} + seata-spring-boot-starter diff --git a/mall-ebtp-cloud-seata-starter/src/main/resources/file.conf b/mall-ebtp-cloud-seata-starter/src/main/resources/file.conf index 7de3b26..e731bfb 100644 --- a/mall-ebtp-cloud-seata-starter/src/main/resources/file.conf +++ b/mall-ebtp-cloud-seata-starter/src/main/resources/file.conf @@ -31,7 +31,7 @@ transport { service { #transaction service group mapping - vgroupMapping.biz-service-ebtp-archive-fescar-service-group = "default" + vgroupMapping.biz-service-ebtp-project-service-group = "default" #only support when registry.type=file, please don't set multiple addresses default.grouplist = "10.242.31.158:18035" #degrade, current not support @@ -64,4 +64,9 @@ client { log { exceptionRate = 100 } + support { + spring { + datasource-autoproxy = true + } + } } \ No newline at end of file diff --git a/mall-ebtp-cloud-seata-starter/src/main/resources/seata-configuration.properties b/mall-ebtp-cloud-seata-starter/src/main/resources/seata-configuration.properties index e69de29..9b87cab 100644 --- a/mall-ebtp-cloud-seata-starter/src/main/resources/seata-configuration.properties +++ b/mall-ebtp-cloud-seata-starter/src/main/resources/seata-configuration.properties @@ -0,0 +1,5 @@ +seata.enabled=true +seata.application-id=${spring.application.name} +seata.tx-service-group=${spring.application.name}-service-group +seata.service.vgroup-mapping.eshop-service-group=default +seata.service.grouplist.default=10.242.31.158:18035 diff --git a/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/entity/SecurityUser.java b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/entity/SecurityUser.java new file mode 100644 index 0000000..628fbf3 --- /dev/null +++ b/mall-ebtp-cloud-security-starter/src/main/java/com/chinaunicom/mall/ebtp/cloud/security/starter/entity/SecurityUser.java @@ -0,0 +1,152 @@ +package com.chinaunicom.mall.ebtp.cloud.security.starter.entity; + +import java.util.Date; +import java.util.List; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 缓存用户实体映射类 + * + * @author daixc + * @date 2020/10/16 + * @version 1.0 + */ +@Data +@Accessors(chain = true) +public class SecurityUser { + + /** + * PKID + */ + private String userId; + + /** + * 姓名 + */ + private String lastName; + /** + * 姓氏 + */ + private String firstName; + /** + * 全名 + */ + private String fullName; + + /** + * 电子邮件 + */ + private String emailAddress; + // + /** + * 用户名 + */ + private String loginName; + // + /** + * 手机号 + */ + private String mobilePhone; + /** + * 办公号 + */ + private String officePhone; + + /** + * 性别 + */ + private String sex; + + /** + * 员工类别 + */ + private String employeeCategory; + + /** + * 用户类型 + */ + private String userType; + + /** + * 出生日期 + */ + private Date dateOfBirth; + + /** + * 年龄 + */ + private Integer age; + + /** + * 员工编号 + */ + private String employeeNumber; + + /** + * 国籍ID + */ + private String nationalityId; + + /** + * 国籍 + */ + private String nationality; + + /** + * 身份证号码 + */ + private String nationalIdentifier; + + /** + * 主管ID + */ + private Integer supervisorId; + + /** + * 组织ID + */ + private String organizationId; + + /** + * 组织名称 + */ + private String organizationName; + // + /** + * 组织机构类别 + */ + private String orgCategory; + + /** + * 部门ID + */ + private String deptId; + + /** + * 部门名称 + */ + private String deptName; + + /** + * 角色ID + */ + private String roleIds; + + /** + * 业务组id + */ + private Integer bussiGroupId; + + /** + * 职位ID + */ + private Integer positionId; + + /** + * 用户角色列表 + */ + private List authorityList; + +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/package-info.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/package-info.java new file mode 100644 index 0000000..29bc1ac --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/package-info.java @@ -0,0 +1 @@ +package com.chinaunicom.mall.ebtp.common.base; \ No newline at end of file diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java index 21dcf37..1cce8e8 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/base/service/impl/BaseCacheUserServiceImpl.java @@ -1,18 +1,18 @@ package com.chinaunicom.mall.ebtp.common.base.service.impl; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; +import com.chinaunicom.mall.ebtp.common.util.JsonUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.stereotype.Service; - -import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityEntity; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; -import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; - -import lombok.extern.slf4j.Slf4j; - /** * 缓存用户service实现层 获取缓存用户信息 * @@ -23,41 +23,80 @@ import lombok.extern.slf4j.Slf4j; @Service @Slf4j public class BaseCacheUserServiceImpl implements IBaseCacheUserService { - // TODO 设置种子ID, 对其雪花ID长度 - private static final long ID_SEED = 1345977833027100000L; + // TODO 设置种子ID, 对其雪花ID长度 + private static final long ID_SEED = 1345977833027100000L; - private static final Map USERS = new ConcurrentHashMap<>(); + private static final Map USERS = new ConcurrentHashMap<>(); - @Override - public BaseCacheUser getCacheUser() { - try { - SecurityEntity securityEntity = (SecurityEntity) SecurityContextHolder.getContext().getAuthentication() - .getPrincipal(); - log.debug("Current user principal: " + securityEntity); + @Override + public BaseCacheUser getCacheUser() { + BaseCacheUser user = null; + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes != null) { + HttpServletRequest request = attributes.getRequest(); + String token = request.getHeader("JwtToken"); + if (token != null) { + user = USERS.get(token); + } + } + log.info(" --------------- 当前用户信息:" + JsonUtils.objectToJson(user) + " ------------------------------"); + return user; + } - return convertToBusinessModel(securityEntity); - } catch (Exception e) { - log.error(e.getMessage()); - } - return new BaseCacheUser(); - } + @Override + public Collection getUsers() { + return USERS.values(); + } - @Override - public Collection getUsers() { - return USERS.values(); - } + /** + * @param string + * @return + */ + // TODO: 山东框架使用未使用雪花ID存放字符串,暂时使用该方法进行id转换 + private Long getUserId(String rawUid) { + long id = ID_SEED; + byte[] bytes = rawUid.getBytes(); - /** - * 构建用户对象模型 - * - * @param rawObject - * @return - */ - private BaseCacheUser convertToBusinessModel(SecurityEntity raw) { - return new BaseCacheUser().setUserId(raw.getStaffId()).setFullName(raw.getStaffName()) - .setLoginName(raw.getUsername()).setRoleIds(raw.getStaffId()).setOrganizationId(raw.getOu()) - .setOrganizationName(raw.getOuName()).setAuthorityList(raw.getAuthorityList()); - } + for (byte b : bytes) { + id += b; + } + return id; + } + static { + BaseCacheUser user = new BaseCacheUser().setUserId("1").setFullName("采购经理").setLoginName("caigou") + .setRoleIds("caigou").setOrganizationId("100").setOrganizationName("中国联通吉林分公司"); + USERS.put(String.valueOf(user.getUserId()), user); + + BaseCacheUser user0 = new BaseCacheUser().setUserId("2").setFullName("代理机构管理员").setLoginName("daili-admin") + .setRoleIds("daili-admin").setOrganizationId("100100").setOrganizationName("中兴代理公司"); + USERS.put(String.valueOf(user0.getUserId()), user0); + + BaseCacheUser user1 = new BaseCacheUser().setUserId("3").setFullName("代理机构子管理员").setLoginName("daili-subadmin") + .setRoleIds("daili-subadmin").setOrganizationId("100100").setOrganizationName("中兴代理公司"); + USERS.put(String.valueOf(user1.getUserId()), user1); + + BaseCacheUser user2 = new BaseCacheUser().setUserId("4").setFullName("项目经理1").setLoginName("daili1") + .setRoleIds("daili").setOrganizationId("100100").setOrganizationName("中兴代理公司"); + USERS.put(String.valueOf(user2.getUserId()), user2); + + BaseCacheUser user3 = new BaseCacheUser().setUserId("5").setFullName("项目经理2").setLoginName("daili2") + .setRoleIds("daili").setOrganizationId("100100").setOrganizationName("中兴代理公司"); + USERS.put(String.valueOf(user3.getUserId()), user3); + + for (int i = 0; i < 5; i++) { + BaseCacheUser user4 = new BaseCacheUser().setUserId(String.valueOf(6 + i)).setFullName("专家" + (i + 1)) + .setLoginName("1300000000" + (i + 1)).setRoleIds("zhuanjia").setOrganizationId("666") + .setOrganizationName("专家公司"); + USERS.put(String.valueOf(user4.getUserId()), user4); + } + + for (int i = 0; i < 5; i++) { + BaseCacheUser user4 = new BaseCacheUser().setUserId(String.valueOf(11 + i)).setFullName("供应商" + (i + 1)) + .setLoginName("gys" + (i + 1)).setRoleIds("gys").setOrganizationId("200" + (i + 1)) + .setOrganizationName("供应商公司" + (i + 1)); + USERS.put(String.valueOf(user4.getUserId()), user4); + } + } } diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/FeignConfig.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/FeignConfig.java index ab0d973..8546457 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/FeignConfig.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/FeignConfig.java @@ -1,10 +1,7 @@ package com.chinaunicom.mall.ebtp.common.config; -import static com.chinaunicom.mall.ebtp.cloud.security.starter.common.Constants.AUTHORIZATION_HEADER; -import static com.chinaunicom.mall.ebtp.cloud.security.starter.common.Constants.TOKEN_PREFIX; +import javax.servlet.http.HttpServletRequest; -import org.apache.commons.lang3.RegExUtils; -import org.apache.commons.lang3.StringUtils; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -18,22 +15,14 @@ import feign.RequestTemplate; @Configuration public class FeignConfig implements RequestInterceptor { - /** - * @param template - */ @Override public void apply(RequestTemplate template) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); if (null != attributes) { - final String header = attributes.getRequest().getHeader(AUTHORIZATION_HEADER);// 提取request头信息 - - // 检查请求头是否包含 Bearer 前缀 - if (StringUtils.startsWith(header, TOKEN_PREFIX)) { - String authToken = RegExUtils.replaceAll(header, TOKEN_PREFIX, "");// 提取 token 信息 - - template.header(AUTHORIZATION_HEADER, String.format("%s%s", TOKEN_PREFIX, authToken)); - } + HttpServletRequest request = attributes.getRequest(); + String token = request.getHeader("JwtToken"); + template.header("JwtToken", token); } } diff --git a/uboot-core/pom.xml b/uboot-core/pom.xml index 071b678..7fc37da 100644 --- a/uboot-core/pom.xml +++ b/uboot-core/pom.xml @@ -12,7 +12,7 @@ com.chinaunicom.mall.ebtp uboot-core - 0.0.1-SNAPSHOT + 0.0.1-SNAPSHOT uboot-core @@ -20,9 +20,9 @@ com.chinaunicom.mall.ebtp uboot-common - 0.0.1-SNAPSHOT + 0.0.1-SNAPSHOT - + com.chinaunicom.ebtp mall-ebtp-cloud-seata-starter diff --git a/uboot-core/src/main/resources/file.conf b/uboot-core/src/main/resources/file.conf deleted file mode 100644 index 31954cf..0000000 --- a/uboot-core/src/main/resources/file.conf +++ /dev/null @@ -1,66 +0,0 @@ -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 = "default" - } - shutdown { - # when destroy server, wait seconds - wait = 3 - } - serialization = "seata" - compressor = "none" -} -service { - #transaction service group mapping - vgroupMapping.uboot-core-fescar-service-group = "default" - #only support when registry.type=file, please don't set multiple addresses - default.grouplist = "127.0.0.1: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 = "jackson" - logTable = "undo_log" - } - log { - exceptionRate = 100 - } -} \ No newline at end of file diff --git a/uboot-core/src/main/resources/seata.conf b/uboot-core/src/main/resources/seata.conf deleted file mode 100644 index 030b596..0000000 --- a/uboot-core/src/main/resources/seata.conf +++ /dev/null @@ -1,21 +0,0 @@ -## --------------------------------------------------------------------------- -## Licensed to the Apache Software Foundation (ASF) under one or more -## contributor license agreements. See the NOTICE file distributed with -## this work for additional information regarding copyright ownership. -## The ASF licenses this file to You under the Apache License, Version 2.0 -## (the "License"); you may not use this file except in compliance with -## the License. You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## --------------------------------------------------------------------------- - -client { - application.id = uboot-core - transaction.service.group = uboot-core-fescar-service-group -}