From d4db32b399cc88bf2b75661da03ec9eea8198ee3 Mon Sep 17 00:00:00 2001 From: xiaqihang <xiaqihang@seaskysh.com> Date: Sat, 18 Sep 2021 15:26:34 +0800 Subject: [PATCH 1/8] =?UTF-8?q?fix=EF=BC=9A=E6=96=B0=E5=BB=BAcontract?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../seaskyocr/api/IContractController.java | 27 +++++++++ .../dto/contract/ContractRequestCmd.java | 24 ++++++++ .../dto/contract/CreateContractCmd.java | 29 ++++++++++ .../seasky/seaskyocr/enums/MethodEnum.java | 26 ++++++++- .../seasky/seaskyocr/enums/SupplierEnum.java | 24 ++++++++ ServiceSite/pom.xml | 5 ++ .../{account => assembler}/TestAssembler.java | 2 +- .../contract/HeHeContractAssembler.java | 15 +++++ .../command/contract/ContractCmdService.java | 20 +++++++ .../contract/ContractCmdServiceImpl.java | 43 ++++++++++++++ .../contract/ContractAggregate.java | 48 ++++++++++++++- .../ocrimplement/contract/ContractVO.java | 30 ++++++++++ .../OcrFactory/Product/IHeHeProduct.java | 4 +- .../dataobject/po/contract/ContractPO.java | 58 ++++++++++++++++++- .../controller/ContractController.java | 35 +++++++++++ ServiceSite/src/main/resources/aaaa.txt | 1 + 16 files changed, 385 insertions(+), 6 deletions(-) create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/{account => assembler}/TestAssembler.java (63%) create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java create mode 100644 ServiceSite/src/main/resources/aaaa.txt diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java new file mode 100644 index 00000000..92b8adeb --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java @@ -0,0 +1,27 @@ +package com.seasky.seaskyocr.api; + +import com.seasky.core.common.Result; +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartFile; + + +/** + * @author xiaqihang + * @date 2021/9/18 10:18 + */ +@RequestMapping("contract") +public interface IContractController { + + /** + * 浠栫殑鍚堝悓 + * 鍒涘缓浠栫殑鍚堝悓 + * + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @param file 鏂囦欢 + * @return {@link Result<Long>} + */ + @PostMapping(path = "HeHeContract") + Result<Long> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java new file mode 100644 index 00000000..6ec90672 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java @@ -0,0 +1,24 @@ +package com.seasky.seaskyocr.dto.contract; + +import com.seasky.core.ddd.base.BaseDto; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 10:15 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ContractRequestCmd extends BaseDto { + + private String body; + + private String head; + + private String parameter; +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java new file mode 100644 index 00000000..8438eac0 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java @@ -0,0 +1,29 @@ +package com.seasky.seaskyocr.dto.contract; + +import com.seasky.core.ddd.base.BaseDto; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * @author xiaqihang + * @date 2021/9/18 10:10 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CreateContractCmd extends BaseDto { + + private Long accountId; + + private String methodEnum; + + private String supplierEnum; + + private List<String> addField; +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java index 0d9172fe..de49ff6d 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java @@ -1,4 +1,28 @@ package com.seasky.seaskyocr.enums; -public class MethodEnum { +/** + * 鏂规硶鏋氫妇 + * + * @author xiaqihang + * @date 2021/09/18 + */ +public enum MethodEnum { + + 鍚堝悓("鍚堝悓","1"); + + final String k; + final String v; + + MethodEnum(final String k,final String v) { + this.k = k; + this.v = v; + } + + public String val() { + return v; + } + + public String key() { + return k; + } } diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java index 1538afed..1471d5db 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java @@ -1,4 +1,28 @@ package com.seasky.seaskyocr.enums; +/** + * 渚涘簲鍟嗘灇涓� + * + * @author xiaqihang + * @date 2021/09/18 + */ public enum SupplierEnum { + + 鍚堝悎("鍚堝悎","1"); + + final String k; + final String v; + + SupplierEnum(final String k,final String v) { + this.k = k; + this.v = v; + } + + public String val() { + return v; + } + + public String key() { + return k; + } } diff --git a/ServiceSite/pom.xml b/ServiceSite/pom.xml index 9de4d664..cbc09524 100644 --- a/ServiceSite/pom.xml +++ b/ServiceSite/pom.xml @@ -76,6 +76,11 @@ <artifactId>dddtemplate-api</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> + <dependency> + <groupId>com.seasky</groupId> + <artifactId>dddtemplate-api</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java similarity index 63% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java index d5f1bfdb..9bb1db82 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java @@ -1,4 +1,4 @@ -package com.seasky.seaskyocr.application.command.account; +package com.seasky.seaskyocr.application.command.assembler; /** diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java new file mode 100644 index 00000000..bcf498a1 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java @@ -0,0 +1,15 @@ +package com.seasky.seaskyocr.application.command.assembler.contract; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractVO; +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; + +/** + * @author xiaqihang + * @date 2021/9/18 11:02 + */ +public class HeHeContractAssembler { + + public static ContractVO buildHeHeVo(CreateContractCmd heHeContractCmd){ + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java new file mode 100644 index 00000000..657d0b67 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java @@ -0,0 +1,20 @@ +package com.seasky.seaskyocr.application.command.contract; + +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author xiaqihang + * @date 2021/9/18 10:32 + */ +public interface ContractCmdService { + + /** + * 鍒涘缓鍚堝悓 + * + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @param file 鏂囦欢 + * @return {@link Long} + */ + Long createContract(MultipartFile file, CreateContractCmd createContractCmd); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java new file mode 100644 index 00000000..5c802740 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java @@ -0,0 +1,43 @@ +package com.seasky.seaskyocr.application.command.contract; + +import com.seasky.seaskyocr.domain.service.OcrFactory.IOcrFactory; +import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import sun.misc.BASE64Encoder; + +import java.io.IOException; +import java.io.InputStream; + +/** + * @author xiaqihang + * @date 2021/9/18 10:34 + */ +@Service +public class ContractCmdServiceImpl implements ContractCmdService { + + @Autowired + IOcrFactory iOcrFactory; + + /** + * 鍒涘缓鍚堝悓 + * + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @return {@link Long} + */ + @Override + public Long createContract(MultipartFile file, CreateContractCmd createContractCmd) { + IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); + try { + byte[] bytes = file.getBytes(); + String encode = new BASE64Encoder().encode(bytes); + String hashId = String.valueOf(encode.hashCode()); + + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java index 046cbf8b..ce70ec35 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java @@ -13,5 +13,51 @@ import lombok.Data; @Builder @Data public class ContractAggregate extends BaseOcrImplementAggregate { - public Long id; + + /** + * 鍚堝悓id + */ + private Long id; + + /** + * 璐︽埛id + */ + private Long accountId; + + /** + * 鍚堝悓浠g爜 + */ + private String contractCode; + + /** + * 鍚堝悓鍚嶇О + */ + private String contractName; + + /** + * 鍐呭 + */ + private String content; + + /** + * 鍒涘缓鍚堝悓 + * + * @param accountId 甯愭埛id + */ + public void create(Long accountId){ + this.accountId = accountId; + } + + /** + * 淇敼鍚堝悓 + * + * @param contractCode 鍚堝悓浠g爜 + * @param contractName 鍚堝悓鍚嶇О + */ + public void modify(String contractCode, String contractName, String hashId){ + this.contractCode = contractCode; + this.contractName = contractName; + this.hashId = hashId; + } + } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java index e2a8067f..1249f482 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java @@ -7,4 +7,34 @@ package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; * @date 2021/09/17 */ public class ContractVO { + + /** + * 鍚堝悓id + */ + private Long id; + + /** + * 璐︽埛id + */ + private Long accountId; + + /** + * 鏁e垪id + */ + private String hashId; + + /** + * 鍚堝悓浠g爜 + */ + private String contractCode; + + /** + * 鍚堝悓鍚嶇О + */ + private String contractName; + + /** + * 鍐呭 + */ + private String content; } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java index 35a28843..3d3f0a54 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java @@ -17,7 +17,7 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggreg * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� * @return {@link String} */ - public String getToken(BaseOcrImplementAggregate ocrImplementAggregate); + String getToken(BaseOcrImplementAggregate ocrImplementAggregate); /** @@ -26,5 +26,5 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggreg * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� * @return {@link String} */ - public String getContract(BaseOcrImplementAggregate ocrImplementAggregate); + String getContract(BaseOcrImplementAggregate ocrImplementAggregate); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java index 71467dca..1dbcebe3 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java @@ -1,4 +1,60 @@ package com.seasky.seaskyocr.infrastructure.dataobject.po.contract; -public class ContractPO { + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 鍚堝悓璁㈠崟 + * + * @author xiaqihang + * @date 2021/09/18 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_contract",autoResultMap = true) +public class ContractPO extends BaseDataObject { + + /** + * 涓婚敭id + */ + @TableField("id") + private Long id; + + /** + * 甯愭埛id + */ + @TableField("account_id") + private Long accountId; + + /** + * 鏁e垪id + */ + @TableField("hash_id") + private String hashId; + + /** + * 鍚堝悓浠g爜 + */ + @TableField("contract_code") + private String contractCode; + + /** + * 鍚堝悓鍚嶇О + */ + @TableField("contract_name") + private String contractName; + + /** + * 鍐呭 + */ + @TableField("content") + private String content; } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java new file mode 100644 index 00000000..0cc821ae --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java @@ -0,0 +1,35 @@ +package com.seasky.seaskyocr.interfaces.controller; + +import com.seasky.core.common.ResponseCode; +import com.seasky.core.common.Result; +import com.seasky.seaskyocr.api.IContractController; +import com.seasky.seaskyocr.application.command.contract.ContractCmdService; +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import static com.seasky.core.common.Response.ok; + +/** + * @author xiaqihang + * @date 2021/9/18 10:17 + */ +@Api(tags = "鍚堝悓绠$悊") +@RestController +@RequestMapping("contractCtrl") +public class ContractController extends BaseController implements IContractController { + @Autowired + ContractCmdService contractCmdService; + + @ApiOperation("鍒涘缓鍚堝悓") + @Override + public Result<Long> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { + return ok(ResponseCode.SUCCESS, contractCmdService.createContract(file, createContractCmd)); + } +} diff --git a/ServiceSite/src/main/resources/aaaa.txt b/ServiceSite/src/main/resources/aaaa.txt new file mode 100644 index 00000000..0221142d --- /dev/null +++ b/ServiceSite/src/main/resources/aaaa.txt @@ -0,0 +1 @@ +data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PLTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAOpA4sDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3qiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDgZF0fUrzW2tdf8Ry3thK5udPtL5/MQ56JHn7p7Y47Vj/aIv+fP4mfm/wD8VWlPd6HpN9rkdv4e8URX19K4udRstLlZ3OeqSBSNo7Y479axfMtf+fr4p/8AgNP/APEUAeq6eAum2qj7RgQoP9JOZeg+/wD7Xr71Zqtp5DabasPtGDCh/wBJGJeg+/8A7Xr71ZoAKqC9zq72Hl/dgWbfu9WIxj8Kt1jXOjQX3iBrm9sbe5txaqiGZFcBtzE4B6cEUdQ6Eq65bqb37SDEttci2XGXaViqsMKBkn5ugz0p7a7pq2sdwbgiN5TCo8p9/mAE7CuNwbg8EZ6eorEi0O4sL2S6tLFBDBqBnitoiib42hCEryACDk4OOh9amGmX015FevbeUZNTW4aIupaONYimWIOCSQDgE9aF0+X6A+vz/U0ofEWl3EscUc7lnk8oZgkAV+RsYlcK3H3Tg9PUVLHrNhLdi2SZi7MUVvKcIzDqqvjaSMHgHPB9DWY2l3ZtpkEPzPqq3I+Ycxh1O7r6Dp1qrpWiSWptbW40+8lNtLkXD6g3kEKSVYR7zz0+XaBnPNNa/wBegP8Ar8TrKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVyeveJLuz1NrW1CKsWNxZcliRn8ua6e5ErWkwgOJSjBD/ALWOP1rzaKwvZL7Z9kZ2LbZt6HKr3PsferjUhSTqTV7LY0+oTxdGXs6nI0ehaXenUNNhumTYzg5X0IOD/KrlZGiwtCGVUKQhcAY4zWvXNQr+3h7S1rkOm6doSd2gooorYRw+ueJ9Uu/E6eHNAeGGcf625lAODjJABBHA9jzTNL8TatpfihfD/iGSG4aXHlXMSheT0BAA4PTp19ar6p4ahs/GM2r3h1BbOb95HPYgloZO+7aCwHoQO9Ms/DcGp+LrPVLGTUZLWFhLPc3oI8xh90JuAY+/GBinDpf5hLrb5Ho1Ztzr2nWk7QzTuCjKkjrC7JGzYwGcDap5HUjqK0q5DXdP1jUPt0X2e7ny4+zbLlI4FT5TyAQzNkHhgR6EUluHQ1tX8SWelRzD5pp4toKKjbQT0DOAVU45wTnp61LN4i0q3mkiluSpjk8uRvKfajYzgtjAJ7ZPPasjUdP1JbTVrG2sGuRez+ek3mIqqDtyGyc5G04wCOnIqd9KvGgv08jPm6rFcINy8xhoyT1/2Tx14oXT+uwP+vxNFdctJTCIX5e5FuyzI8bq20tjaVznHPOB70trr+m3lxHDBOzNIWEZMLqrkdQGIwSOeAc8Gs650u8k1z7SsOYv7Qim3bh9wQlSevqcUyz0q9isdDjeHD2t3JJMN6/KpEmD15+8OnrQv6/AH/X4nTUUUUARwTxXMKzQuHjboR/nrRBPFcxCWFw8ZJAYdDg44qlcaRHPOzrNLFFKf9IhQ4Wb69x6HGMjg1oKqooVQFUDAAHAFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAM+zD+9J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aX7Mv95/++z/AI1PRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k= \ No newline at end of file -- GitLab From a48bc28afb4be120fe97b3bab6e979dc2608d2e6 Mon Sep 17 00:00:00 2001 From: xiaqihang <xiaqihang@seaskysh.com> Date: Sat, 18 Sep 2021 15:59:38 +0800 Subject: [PATCH 2/8] =?UTF-8?q?fix=EF=BC=9A=E9=85=8D=E7=BD=AEnacos?= =?UTF-8?q?=EF=BC=8C=E8=BF=9E=E6=8E=A5=E6=95=B0=E6=8D=AE=E5=BA=93=EF=BC=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99=E9=A1=B9=E7=9B=AE=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServiceSite/facade/pom.xml | 6 +- .../seasky/seaskyocr/api/ITestController.java | 41 ------- ServiceSite/pom.xml | 2 +- .../src/main/java/com/seasky/Application.java | 6 +- .../domain/service/OcrFactory/OcrFactory.java | 2 + .../ProductImpl/AliProductImpl.java | 2 + .../ProductImpl/HeHeProductImpl.java | 2 + .../repository/ocr/OcrRepositoryImpl.java | 5 - .../repository/test/TestConvert.java | 35 ------ .../repository/test/TestRepositoryImpl.java | 16 --- .../interfaces/controller/TestController.java | 102 ------------------ .../seaskyocr/interfaces/soap/SOAPConfig.java | 65 ----------- .../interfaces/soap/TestWebService.java | 26 ----- ServiceSite/src/main/resources/aaaa.txt | 1 - .../main/resources/application-dev.properties | 80 +++++++------- .../src/main/resources/application.properties | 66 ++++++------ ServiceSite/src/main/resources/bootstrap.yml | 8 +- 17 files changed, 88 insertions(+), 377 deletions(-) delete mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java delete mode 100644 ServiceSite/src/main/resources/aaaa.txt diff --git a/ServiceSite/facade/pom.xml b/ServiceSite/facade/pom.xml index f591031d..f0275bf6 100644 --- a/ServiceSite/facade/pom.xml +++ b/ServiceSite/facade/pom.xml @@ -3,10 +3,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.seasky</groupId> - <artifactId>dddtemplate-api</artifactId> + <artifactId>seasky-ocr-api</artifactId> <version>0.0.1-SNAPSHOT</version> - <name>dddtemplate-api</name> - <description>dddtemplate-api project for dddtemplate</description> + <name>seasky-ocr-api</name> + <description>seasky-ocr-api project for dddtemplate</description> <properties> <java.version>1.8</java.version> diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java deleted file mode 100644 index c48edbf0..00000000 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.seasky.seaskyocr.api; - -import com.seasky.core.common.Result; -import com.seasky.seaskyocr.dto.ocr.TestCmd; -import com.seasky.seaskyocr.dto.ocr.TestQueryOut; -import com.seasky.seaskyocr.dto.ocr.TestQueryQry; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; - -import java.io.UnsupportedEncodingException; - -@FeignClient("dddtemplate-provider") -@RequestMapping("test") -@Api("Test") -public interface ITestController { - - @ApiOperation("1.testQ") - @PostMapping(path = "/pc/v1/queryList") - Result<TestQueryOut> testQ(@RequestBody TestQueryQry testQry); - - @ApiOperation("2.testExport") - @PostMapping(path = "/pc/v1/export") - ResponseEntity<byte[]> testExcelExport(@RequestBody TestQueryQry testQry) throws UnsupportedEncodingException; - - @ApiOperation("3.testSave") - @PostMapping(path = "/pc/v1/save") - Result<Long> testSave(@RequestBody TestCmd testCmd); - - @ApiOperation("4.testSubmit") - @PostMapping(path = "/pc/v1/submit") - Result<Long> testSubmit(@RequestBody TestCmd testCmd); - - @ApiOperation("5.testSaveAndSubmit") - @PostMapping(path = "/pc/v1/saveandsubmit") - Result<Long> testSaveAndSubmit(@RequestBody TestCmd testCmd); -} diff --git a/ServiceSite/pom.xml b/ServiceSite/pom.xml index cbc09524..3ffac870 100644 --- a/ServiceSite/pom.xml +++ b/ServiceSite/pom.xml @@ -73,7 +73,7 @@ </dependency> <dependency> <groupId>com.seasky</groupId> - <artifactId>dddtemplate-api</artifactId> + <artifactId>seasky-ocr-api</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> diff --git a/ServiceSite/src/main/java/com/seasky/Application.java b/ServiceSite/src/main/java/com/seasky/Application.java index a3456b84..89aa62c5 100644 --- a/ServiceSite/src/main/java/com/seasky/Application.java +++ b/ServiceSite/src/main/java/com/seasky/Application.java @@ -10,13 +10,9 @@ import org.springframework.scheduling.annotation.EnableAsync; /*** * @author bandi * */ -@SpringBootApplication +@SpringBootApplication(exclude = {org.apache.shiro.spring.boot.autoconfigure.ShiroAnnotationProcessorAutoConfiguration.class}) @EnableAspectJAutoProxy(exposeProxy = true) @EnableDiscoveryClient -@EnableFeignClients(basePackages = { - "com.seasky.some-api" - ,"com.seasky.other-api" -}) @EnableAsync public class Application { diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java index fdd2e3c6..f598417e 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java @@ -2,6 +2,7 @@ package com.seasky.seaskyocr.domain.service.OcrFactory; import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; +import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -11,6 +12,7 @@ import javax.annotation.Resource; * @author bandi * @date 2021/09/17 */ +@Component public class OcrFactory implements IOcrFactory { @Resource diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java index 7439d35b..eeed46e4 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java @@ -2,6 +2,7 @@ package com.seasky.seaskyocr.domain.service.OcrFactory.ProductImpl; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; +import org.springframework.stereotype.Service; /** @@ -10,6 +11,7 @@ import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; * @author bandi * @date 2021/09/17 */ +@Service class AliProductImpl implements IAliProduct { @Override public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java index 6c61f1c3..86a27e44 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java @@ -2,6 +2,7 @@ package com.seasky.seaskyocr.domain.service.OcrFactory.ProductImpl; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; +import org.springframework.stereotype.Service; /** * 鍚堝悎浜у搧impl @@ -9,6 +10,7 @@ import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; * @author bandi * @date 2021/09/17 */ +@Service class HeHeProductImpl implements IHeHeProduct { @Override public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java index 37ca738c..c5aac1f9 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java @@ -15,9 +15,4 @@ public class OcrRepositoryImpl implements BaseOcrRepository { } - @Override - public void remove(Long id) { - - } - } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java deleted file mode 100644 index db9e9e8d..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.repository.test; - - -import com.seasky.core.ddd.utils.MapperUtils; -import com.seasky.seaskyocr.domain.aggregate.test.TestAggregate; -import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrInfoPO; - -import java.util.HashMap; -import java.util.Map; - -/** - * 绀轰緥杞崲 - * - * @author XueYawei - * @date 2020/12/08 - */ -public class TestConvert { - - - /** - * 绀轰緥鑱氬悎鏍硅浆涓虹ず渚婸o绫� - * - * @param testAggregate 绀轰緥鑱氬悎鏍� - * @return {@link OcrInfoPO} - */ - public static OcrInfoPO TestAggregateToTestPo(TestAggregate testAggregate){ - //杞崲瀵瑰簲閿€糾ap - Map<String, String> map = new HashMap<>(3); - OcrInfoPO testPo = MapperUtils.INSTANCE.map(OcrInfoPO.class, testAggregate); - - return testPo; - } - - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java deleted file mode 100644 index dd953009..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.repository.test; - - -import org.springframework.stereotype.Repository; - -/** - * 绀轰緥impl - * - * @author XueYawei - * @date 2020/12/07 - */ -@Repository -public class TestRepositoryImpl{ - - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java deleted file mode 100644 index 63e6515b..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.seasky.seaskyocr.interfaces.controller; - - -import com.seasky.core.common.ResponseCode; -import com.seasky.core.common.Result; -import com.seasky.seaskyocr.api.ITestController; -import com.seasky.seaskyocr.application.command.ocr.TestCmdService; -import com.seasky.seaskyocr.application.query.TestQueryService; -import com.seasky.seaskyocr.dto.ocr.TestCmd; -import com.seasky.seaskyocr.dto.ocr.TestQueryOut; -import com.seasky.seaskyocr.dto.ocr.TestQueryQry; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.util.List; - -import static com.seasky.core.common.Response.ok; - -/** - * 绀轰緥API - * - * @author XueYawei - * @date 2020/12/07 - */ -@RestController -@RequestMapping("test") -public class TestController extends BaseController implements ITestController { - - @Autowired - private TestCmdService testApplicationCmdService; - @Autowired - private TestQueryService testQueryService; - - /** - * 鏌ヨ绀轰緥 - * - * @param testQry - * @return {@link Result<TestQueryOut>} - */ - @Override - public Result<TestQueryOut> testQ(@RequestBody TestQueryQry testQry){ - return ok(ResponseCode.SUCCESS, testQueryService.queryTestList(testQry)); - } - - /** - * 瀵煎嚭 - * 涓巘estQ鍚屾牱鑾峰彇鏁版嵁,浣嗚浆鎹㈡垚涓嶅悓鏁版嵁鏍煎紡杩斿洖 - * - * @param testQry - * @return {@link ResponseEntity<byte[]>} - */ - @Override - public ResponseEntity<byte[]> testExcelExport(@RequestBody TestQueryQry testQry) throws UnsupportedEncodingException { - List<TestQueryOut> list = testQueryService.queryTestList(testQry); - - byte[] excelbyte = null; // 姝ゅ璋冪敤excel宸ュ叿绫昏浆鎴恊xcel - HttpHeaders header = new HttpHeaders(); - header.add("Content-Length", "0"); - header.add("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + URLEncoder.encode("xxxnanme", "UTF-8")); - return new ResponseEntity<>(excelbyte, header, HttpStatus.OK); - } - - /** - * 淇濆瓨鑽夌ǹ - * - * @param testCmd - * @return {@link Result<Long>} - */ - @Override - public Result<Long> testSave(TestCmd testCmd) { - return ok(ResponseCode.SUCCESS, testApplicationCmdService.SaveTest(testCmd)); - } - - /** - * 鎻愪氦 - * - * @param testCmd - * @return {@link Result<Long>} - */ - @Override - public Result<Long> testSubmit(TestCmd testCmd) { - return ok(ResponseCode.SUCCESS, testApplicationCmdService.SubmitTest(testCmd)); - } - - /** - * 淇濆瓨骞舵彁浜� - * - * @param testCmd - * @return {@link Result<Long>} - */ - @Override - public Result<Long> testSaveAndSubmit(TestCmd testCmd) { - return ok(ResponseCode.SUCCESS, testApplicationCmdService.SavaAndSubmitTest(testCmd)); - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java deleted file mode 100644 index a39c490c..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.seasky.seaskyocr.interfaces.soap; - -import com.seasky.seaskyocr.api.ITestWebService; -import org.apache.cxf.Bus; -import org.apache.cxf.bus.spring.SpringBus; -import org.apache.cxf.jaxws.EndpointImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import javax.xml.ws.Endpoint; - - -@Configuration -public class SOAPConfig { - @Autowired - private ITestWebService testWebServiceImpl; - - @Autowired - private ITestWebService test2WebServiceImpl; - - /** - * Apache CXF 鏍稿績鏋舵瀯鏄互BUS涓烘牳蹇冿紝鏁村悎鍏朵粬缁勪欢銆� - * Bus鏄疌XF鐨勪富骞�, 涓哄叡浜祫婧愭彁渚涗竴涓彲閰嶇疆鐨勫満鎵€锛屼綔鐢ㄧ被浼间簬Spring鐨凙pplicationContext锛岃繖浜涘叡浜祫婧愬寘鎷� - * WSDl绠$悊鍣ㄣ€佺粦瀹氬伐鍘傜瓑銆傞€氳繃瀵笲US杩涜鎵╁睍锛屽彲浠ユ柟渚垮湴瀹圭撼鑷繁鐨勮祫婧愶紝鎴栬€呮浛鎹㈢幇鏈夌殑璧勬簮銆傞粯璁us瀹炵幇鍩轰簬Spring鏋舵瀯锛� - * 閫氳繃渚濊禆娉ㄥ叆锛屽湪杩愯鏃跺皢缁勪欢涓茶仈璧锋潵銆侭usFactory璐熻矗Bus鐨勫垱寤恒€傞粯璁ょ殑BusFactory鏄疭pringBusFactory锛屽搴斾簬榛樿 - * 鐨凚us瀹炵幇銆傚湪鏋勯€犺繃绋嬩腑锛孲pringBusFactory浼氭悳绱ETA-INF/cxf锛堝寘鍚湪 CXF 鐨刯ar涓級涓嬬殑鎵€鏈塨ean閰嶇疆鏂囦欢銆� - * 鏍规嵁杩欎簺閰嶇疆鏂囦欢鏋勫缓涓€涓狝pplicationContext銆傚紑鍙戣€呬篃鍙互鎻愪緵鑷繁鐨勯厤缃枃浠舵潵瀹氬埗Bus銆� - */ - @Bean(name = Bus.DEFAULT_BUS_ID) - public SpringBus springBus() { - return new SpringBus(); - } - - /** - * 姝ゆ柟娉曚綔鐢ㄦ槸鏀瑰彉椤圭洰涓湇鍔″悕鐨勫墠缂€鍚嶏紝姝ゅ127.0.0.1鎴栬€卨ocalhost涓嶈兘璁块棶鏃讹紝璇蜂娇鐢╥pconfig鏌ョ湅鏈満ip鏉ヨ闂� - * 姝ゆ柟娉曡娉ㄩ噴鍚�, 鍗充笉鏀瑰彉鍓嶇紑鍚�(榛樿鏄痵ervices), wsdl璁块棶鍦板潃涓� http://127.0.0.1:8080/services/ws/api?wsdl - * 鍘绘帀娉ㄩ噴鍚巜sdl璁块棶鍦板潃涓猴細http://127.0.0.1:8080/soap/ws/api?wsdl - * http://127.0.0.1:8080/soap/鍒楀嚭鏈嶅姟鍒楄〃 鎴� http://127.0.0.1:8080/soap/ws/api?wsdl 鏌ョ湅瀹為檯鐨勬湇鍔� - * 鏂板缓Servlet璁板緱闇€瑕佸湪鍚姩绫绘坊鍔犳敞瑙o細@ServletComponentScan - * - * 濡傛灉鍚姩鏃跺嚭鐜伴敊璇細not loaded because DispatcherServlet Registration found non dispatcher servlet dispatcherServlet - * 鍙兘鏄痵pringboot涓巆fx鐗堟湰涓嶅吋瀹广€� - * 鍚屾椂鍦╯pring boot2.0.6涔嬪悗鐨勭増鏈笌xcf闆嗘垚锛屼笉闇€瑕佸湪瀹氫箟浠ヤ笅鏂规硶锛岀洿鎺ュ湪application.properties閰嶇疆鏂囦欢涓坊鍔狅細 - * cxf.path=/service锛堥粯璁ゆ槸services锛� - */ - //@Bean - //public ServletRegistrationBean dispatcherServlet() { - // return new ServletRegistrationBean(new CXFServlet(), "/soap/*"); - //} - - @Bean - public Endpoint testendpoint() { - EndpointImpl endpoint = new EndpointImpl(springBus(), testWebServiceImpl); - endpoint.publish("/ws/api"); - return endpoint; - } - - @Bean - public Endpoint test2endpoint() { - EndpointImpl endpoint = new EndpointImpl(springBus(), test2WebServiceImpl); - endpoint.publish("/ws/api2"); - return endpoint; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java deleted file mode 100644 index f784a9cf..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.seasky.seaskyocr.interfaces.soap; - -import com.seasky.core.common.ResponseCode; -import com.seasky.core.common.Result; -import com.seasky.seaskyocr.api.ITestWebService; -import com.seasky.seaskyocr.application.query.TestQueryService; -import com.seasky.seaskyocr.dto.ocr.TestQueryOut; -import com.seasky.seaskyocr.dto.ocr.TestQueryQry; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import javax.jws.WebService; -import static com.seasky.core.common.Response.ok; - -@Component -@WebService(name = "TestService", targetNamespace = "http://www.seaskysh.com", - endpointInterface = "com.seasky.dddtemplate.api.ITestWebService") -public class TestWebService implements ITestWebService { - @Autowired - private TestQueryService testQueryService; - - @Override - public Result<TestQueryOut> testQ(TestQueryQry testQry) { - return ok(ResponseCode.SUCCESS, testQueryService.queryTestList(testQry)); - } -} diff --git a/ServiceSite/src/main/resources/aaaa.txt b/ServiceSite/src/main/resources/aaaa.txt deleted file mode 100644 index 0221142d..00000000 --- a/ServiceSite/src/main/resources/aaaa.txt +++ /dev/null @@ -1 +0,0 @@ -data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PLTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAOpA4sDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3qiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDgZF0fUrzW2tdf8Ry3thK5udPtL5/MQ56JHn7p7Y47Vj/aIv+fP4mfm/wD8VWlPd6HpN9rkdv4e8URX19K4udRstLlZ3OeqSBSNo7Y479axfMtf+fr4p/8AgNP/APEUAeq6eAum2qj7RgQoP9JOZeg+/wD7Xr71Zqtp5DabasPtGDCh/wBJGJeg+/8A7Xr71ZoAKqC9zq72Hl/dgWbfu9WIxj8Kt1jXOjQX3iBrm9sbe5txaqiGZFcBtzE4B6cEUdQ6Eq65bqb37SDEttci2XGXaViqsMKBkn5ugz0p7a7pq2sdwbgiN5TCo8p9/mAE7CuNwbg8EZ6eorEi0O4sL2S6tLFBDBqBnitoiib42hCEryACDk4OOh9amGmX015FevbeUZNTW4aIupaONYimWIOCSQDgE9aF0+X6A+vz/U0ofEWl3EscUc7lnk8oZgkAV+RsYlcK3H3Tg9PUVLHrNhLdi2SZi7MUVvKcIzDqqvjaSMHgHPB9DWY2l3ZtpkEPzPqq3I+Ycxh1O7r6Dp1qrpWiSWptbW40+8lNtLkXD6g3kEKSVYR7zz0+XaBnPNNa/wBegP8Ar8TrKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVyeveJLuz1NrW1CKsWNxZcliRn8ua6e5ErWkwgOJSjBD/ALWOP1rzaKwvZL7Z9kZ2LbZt6HKr3PsferjUhSTqTV7LY0+oTxdGXs6nI0ehaXenUNNhumTYzg5X0IOD/KrlZGiwtCGVUKQhcAY4zWvXNQr+3h7S1rkOm6doSd2gooorYRw+ueJ9Uu/E6eHNAeGGcf625lAODjJABBHA9jzTNL8TatpfihfD/iGSG4aXHlXMSheT0BAA4PTp19ar6p4ahs/GM2r3h1BbOb95HPYgloZO+7aCwHoQO9Ms/DcGp+LrPVLGTUZLWFhLPc3oI8xh90JuAY+/GBinDpf5hLrb5Ho1Ztzr2nWk7QzTuCjKkjrC7JGzYwGcDap5HUjqK0q5DXdP1jUPt0X2e7ny4+zbLlI4FT5TyAQzNkHhgR6EUluHQ1tX8SWelRzD5pp4toKKjbQT0DOAVU45wTnp61LN4i0q3mkiluSpjk8uRvKfajYzgtjAJ7ZPPasjUdP1JbTVrG2sGuRez+ek3mIqqDtyGyc5G04wCOnIqd9KvGgv08jPm6rFcINy8xhoyT1/2Tx14oXT+uwP+vxNFdctJTCIX5e5FuyzI8bq20tjaVznHPOB70trr+m3lxHDBOzNIWEZMLqrkdQGIwSOeAc8Gs650u8k1z7SsOYv7Qim3bh9wQlSevqcUyz0q9isdDjeHD2t3JJMN6/KpEmD15+8OnrQv6/AH/X4nTUUUUARwTxXMKzQuHjboR/nrRBPFcxCWFw8ZJAYdDg44qlcaRHPOzrNLFFKf9IhQ4Wb69x6HGMjg1oKqooVQFUDAAHAFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAM+zD+9J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf99n/ABqxRQBX+zD+/J/32f8AGj7MP78n/fZ/xqxRQBX+zD+/J/32f8aPsw/vyf8AfZ/xqxRQBX+zD+/J/wB9n/Gj7MP78n/fZ/xqxRQBX+zD+/J/32f8aX7Mv95/++z/AI1PRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k= \ No newline at end of file diff --git a/ServiceSite/src/main/resources/application-dev.properties b/ServiceSite/src/main/resources/application-dev.properties index d7c63f5c..33fd3233 100644 --- a/ServiceSite/src/main/resources/application-dev.properties +++ b/ServiceSite/src/main/resources/application-dev.properties @@ -1,40 +1,40 @@ -spring.redis.host=47.110.127.118 -spring.redis.port=6379 -spring.redis.password=123456 -spring.redis.database=0 -spring.redis.lettuce.pool.max-active=50 -spring.redis.lettuce.pool.max-idle=20 -spring.redis.lettuce.pool.min-idle=10 -spring.redis.lettuce.pool.max-wait=5000 -spring.redis.lettuce.pool.time-between-eviction-runs=600000 - -spring.datasource.druid.write.name=write -spring.datasource.druid.write.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT -spring.datasource.druid.write.username=root -spring.datasource.druid.write.password=12345678 -spring.datasource.druid.write.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.druid.write.initial-size=1 -spring.datasource.druid.write.min-idle=1 -spring.datasource.druid.write.max-active=5 -spring.datasource.druid.write.validation-query=SELECT 1 -spring.datasource.druid.write.validation-query-timeout=1 -spring.datasource.druid.write.test-while-idle=true -spring.datasource.druid.write.test-on-borrow=true -spring.datasource.druid.write.test-on-return=false -spring.datasource.druid.write.keep-alive=true -spring.datasource.druid.read.name=read -spring.datasource.druid.read.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT -spring.datasource.druid.read.username=root -spring.datasource.druid.read.password=12345678 -spring.datasource.druid.read.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.druid.read.initial-size=1 -spring.datasource.druid.read.min-idle=1 -spring.datasource.druid.read.max-active=5 -spring.datasource.druid.read.validation-query=SELECT 1 -spring.datasource.druid.read.validation-query-timeout=1 -spring.datasource.druid.read.test-while-idle=true -spring.datasource.druid.read.test-on-borrow=true -spring.datasource.druid.read.test-on-return=false -spring.datasource.druid.read.keep-alive=true - - +#spring.redis.host=47.110.127.118 +#spring.redis.port=6379 +#spring.redis.password=123456 +#spring.redis.database=0 +#spring.redis.lettuce.pool.max-active=50 +#spring.redis.lettuce.pool.max-idle=20 +#spring.redis.lettuce.pool.min-idle=10 +#spring.redis.lettuce.pool.max-wait=5000 +#spring.redis.lettuce.pool.time-between-eviction-runs=600000 +# +#spring.datasource.druid.write.name=write +#spring.datasource.druid.write.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT +#spring.datasource.druid.write.username=root +#spring.datasource.druid.write.password=12345678 +#spring.datasource.druid.write.driver-class-name=com.mysql.cj.jdbc.Driver +#spring.datasource.druid.write.initial-size=1 +#spring.datasource.druid.write.min-idle=1 +#spring.datasource.druid.write.max-active=5 +#spring.datasource.druid.write.validation-query=SELECT 1 +#spring.datasource.druid.write.validation-query-timeout=1 +#spring.datasource.druid.write.test-while-idle=true +#spring.datasource.druid.write.test-on-borrow=true +#spring.datasource.druid.write.test-on-return=false +#spring.datasource.druid.write.keep-alive=true +#spring.datasource.druid.read.name=read +#spring.datasource.druid.read.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT +#spring.datasource.druid.read.username=root +#spring.datasource.druid.read.password=12345678 +#spring.datasource.druid.read.driver-class-name=com.mysql.cj.jdbc.Driver +#spring.datasource.druid.read.initial-size=1 +#spring.datasource.druid.read.min-idle=1 +#spring.datasource.druid.read.max-active=5 +#spring.datasource.druid.read.validation-query=SELECT 1 +#spring.datasource.druid.read.validation-query-timeout=1 +#spring.datasource.druid.read.test-while-idle=true +#spring.datasource.druid.read.test-on-borrow=true +#spring.datasource.druid.read.test-on-return=false +#spring.datasource.druid.read.keep-alive=true +# +# diff --git a/ServiceSite/src/main/resources/application.properties b/ServiceSite/src/main/resources/application.properties index 42e86f8d..5799a02e 100644 --- a/ServiceSite/src/main/resources/application.properties +++ b/ServiceSite/src/main/resources/application.properties @@ -1,34 +1,34 @@ -spring.application.name=dddtemplate-provider +#spring.application.name=dddtemplate-provider spring.profiles.active=@env@ -server.port=8009 -swagger.enable=true - -mybatis-plus.global-config.db-config.db-type=mysql -mybatis-plus.global-config.db-config.id-type=assign_id -mybatis-plus.global-config.db-config.logic-delete-field=available -mybatis-plus.global-config.db-config.logic-delete-value='NO' -mybatis-plus.global-config.db-config.logic-not-delete-value='YES' -mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl -mybatis-plus.configuration.call-setters-on-nulls=true -mybatis-plus.configuration.cache-enabled=false -mybatis-plus.configuration.default-enum-type-handler=org.apache.ibatis.type.EnumTypeHandler - -seasky.sessionTimeout=1800 -seasky.redislockExpire=300 -seasky.projectVersion=1.0.0 -seasky.cacheName=redis - - -# 配置 DruidStatViewServlet -spring.datasource.druid.stat-view-servlet.enabled=true -spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* -# IP白名单(没有配置默认为127.0.0.1) -spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 -# IP黑名单 (存在共同时,deny优先于allow) -# spring.datasource.druid.deny=192.168.1.73 -# 禁用HTML页面上的“Reset All”功能 -spring.datasource.druid.stat-view-servlet.reset-enable=false -# druid 监控平台登录名 -spring.datasource.druid.stat-view-servlet.login-username=druid -# druid 监控平台登录密码 -spring.datasource.druid.stat-view-servlet.login-password=druid +#server.port=8009 +#swagger.enable=true +# +#mybatis-plus.global-config.db-config.db-type=mysql +#mybatis-plus.global-config.db-config.id-type=assign_id +#mybatis-plus.global-config.db-config.logic-delete-field=available +#mybatis-plus.global-config.db-config.logic-delete-value='NO' +#mybatis-plus.global-config.db-config.logic-not-delete-value='YES' +#mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl +#mybatis-plus.configuration.call-setters-on-nulls=true +#mybatis-plus.configuration.cache-enabled=false +#mybatis-plus.configuration.default-enum-type-handler=org.apache.ibatis.type.EnumTypeHandler +# +#seasky.sessionTimeout=1800 +#seasky.redislockExpire=300 +#seasky.projectVersion=1.0.0 +#seasky.cacheName=redis +# +# +## 配置 DruidStatViewServlet +#spring.datasource.druid.stat-view-servlet.enabled=true +#spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* +## IP白名单(没有配置默认为127.0.0.1) +#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 +## IP黑名单 (存在共同时,deny优先于allow) +## spring.datasource.druid.deny=192.168.1.73 +## 禁用HTML页面上的“Reset All”功能 +#spring.datasource.druid.stat-view-servlet.reset-enable=false +## druid 监控平台登录名 +#spring.datasource.druid.stat-view-servlet.login-username=druid +## druid 监控平台登录密码 +#spring.datasource.druid.stat-view-servlet.login-password=druid diff --git a/ServiceSite/src/main/resources/bootstrap.yml b/ServiceSite/src/main/resources/bootstrap.yml index 7fd252b9..3db553a6 100644 --- a/ServiceSite/src/main/resources/bootstrap.yml +++ b/ServiceSite/src/main/resources/bootstrap.yml @@ -1,20 +1,20 @@ seasky: version: @version@ server: - port: 8009 + port: 8019 spring: main: allow-bean-definition-overriding: true application: - name: dddtemplate-provider + name: ocr-manage profiles: active: dev cloud: nacos: discovery: - server-addr: 192.168.1.80:8848 + server-addr: 192.168.2.10:8848 config: - server-addr: 192.168.1.80:8848 + server-addr: 192.168.2.10:8848 file-extension: properties inetutils: preferred-networks: -- GitLab From d35bb1ce675501df844c6e3941068fa39e329937 Mon Sep 17 00:00:00 2001 From: xiaqihang <xiaqihang@seaskysh.com> Date: Sat, 18 Sep 2021 17:29:56 +0800 Subject: [PATCH 3/8] =?UTF-8?q?fix=EF=BC=9A=E6=96=B0=E5=A2=9Eocr=E5=8F=8A?= =?UTF-8?q?=E5=85=B6=E5=AD=90=E8=A1=A8po=EF=BC=8C=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=A0=B9=E6=8D=AEaccount=E6=9F=A5=E8=AF=A2oc?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../seasky/seaskyocr/api/IOcrController.java | 8 +++ .../contract/ContractCmdServiceImpl.java | 13 ++-- .../command/ocr/OcrCmdService.java | 8 +++ ...erviceImpl.java => OcrCmdServiceImpl.java} | 7 +- .../command/ocr/TestCmdService.java | 5 -- .../contract/ContractRepository.java | 12 ++-- .../ProductImpl/HeHeProductImpl.java | 25 ------- .../domain/service/ocr/OcrDomainService.java | 8 +++ .../service/ocr/OcrDomainServiceImpl.java | 11 +++ .../IOcrFactory.java | 6 +- .../OcrFactory.java | 6 +- .../Product/IAliProduct.java | 2 +- .../Product/IHeHeProduct.java | 11 ++- .../ProductImpl/AliProductImpl.java | 4 +- .../ProductImpl/HeHeProductImpl.java | 43 ++++++++++++ .../infrastructure/dataobject/co/OcrDo.java | 39 +++++++++++ .../dataobject/po/ocr/OcrBodyPO.java | 30 +++++++++ .../dataobject/po/ocr/OcrHeaderPO.java | 30 +++++++++ .../dataobject/po/ocr/OcrPO.java | 36 ++++++++++ .../dataobject/po/ocr/OcrParameterPO.java | 30 +++++++++ .../db/mapper/table/ContractMapper.java | 22 ++++++ .../db/mapper/table/OcrMapper.java | 29 ++++++++ .../db/mapper/xml/ContractMapper.xml | 14 ++++ .../db/mapper/xml/OcrMapper.xml | 41 ++++++++++++ .../repository/contract/ContractConvert.java | 16 +++++ .../contract/ContractRepositoryImpl.java | 67 +++++++++++++++++++ .../interfaces/controller/OcrController.java | 21 ++++++ 27 files changed, 492 insertions(+), 52 deletions(-) create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/{TestCmdServiceImpl.java => OcrCmdServiceImpl.java} (50%) delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{OcrFactory => ocrFactory}/IOcrFactory.java (68%) rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{OcrFactory => ocrFactory}/OcrFactory.java (73%) rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{OcrFactory => ocrFactory}/Product/IAliProduct.java (89%) rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{OcrFactory => ocrFactory}/Product/IHeHeProduct.java (64%) rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{OcrFactory => ocrFactory}/ProductImpl/AliProductImpl.java (79%) create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java new file mode 100644 index 00000000..0c726c50 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java @@ -0,0 +1,8 @@ +package com.seasky.seaskyocr.api; + +/** + * @author xiaqihang + * @date 2021/9/18 16:46 + */ +public interface IOcrController { +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java index 5c802740..ccf028ca 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java @@ -1,7 +1,8 @@ package com.seasky.seaskyocr.application.command.contract; -import com.seasky.seaskyocr.domain.service.OcrFactory.IOcrFactory; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; +import com.seasky.seaskyocr.domain.service.ocrFactory.IOcrFactory; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; import com.seasky.seaskyocr.dto.contract.CreateContractCmd; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -9,7 +10,6 @@ import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Encoder; import java.io.IOException; -import java.io.InputStream; /** * @author xiaqihang @@ -34,7 +34,12 @@ public class ContractCmdServiceImpl implements ContractCmdService { byte[] bytes = file.getBytes(); String encode = new BASE64Encoder().encode(bytes); String hashId = String.valueOf(encode.hashCode()); - + //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId + ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); + if (contractAggregate != null){ + //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� + return null; + } } catch (IOException e) { e.printStackTrace(); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java new file mode 100644 index 00000000..20c3d3e3 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java @@ -0,0 +1,8 @@ +package com.seasky.seaskyocr.application.command.ocr; + +/** + * @author xiaqihang + * @date 2021/9/18 16:48 + */ +public interface OcrCmdService { +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java similarity index 50% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java index 4a54650d..8199f11b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java @@ -2,7 +2,10 @@ package com.seasky.seaskyocr.application.command.ocr; import org.springframework.stereotype.Service; +/** + * @author xiaqihang + * @date 2021/9/18 16:48 + */ @Service -public class TestCmdServiceImpl implements TestCmdService { - +public class OcrCmdServiceImpl implements OcrCmdService{ } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java deleted file mode 100644 index 2d11dba0..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.seasky.seaskyocr.application.command.ocr; - -public interface TestCmdService { - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java index 40c95e8b..22ad8ee7 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java @@ -1,5 +1,6 @@ package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; +import com.seasky.core.ddd.base.DddRepository; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; /** @@ -8,16 +9,15 @@ import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; * @author bandi * @date 2021/09/14 */ -public interface ContractRepository { - +public interface ContractRepository extends DddRepository<ContractAggregate> { /** - * 淇濆瓨 + * 鏌ヨ閫氳繃鏁e垪id * - * @param contractAggregate 鍚堝悎ocr鑱氬悎鏍� + * @param hashId 鏁e垪id + * @return {@link ContractAggregate} */ - void save(ContractAggregate contractAggregate); - + ContractAggregate queryByHashId(String hashId); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java deleted file mode 100644 index 86a27e44..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory.ProductImpl; - -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; -import org.springframework.stereotype.Service; - -/** - * 鍚堝悎浜у搧impl - * - * @author bandi - * @date 2021/09/17 - */ -@Service -class HeHeProductImpl implements IHeHeProduct { - @Override - public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { - return null; - } - - @Override - public String getContract(BaseOcrImplementAggregate ocrImplementAggregate) { - return null; - } - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java new file mode 100644 index 00000000..c624918a --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java @@ -0,0 +1,8 @@ +package com.seasky.seaskyocr.domain.service.ocr; + +/** + * @author xiaqihang + * @date 2021/9/18 16:56 + */ +public interface OcrDomainService { +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java new file mode 100644 index 00000000..49238c67 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java @@ -0,0 +1,11 @@ +package com.seasky.seaskyocr.domain.service.ocr; + +import org.springframework.stereotype.Service; + +/** + * @author xiaqihang + * @date 2021/9/18 16:57 + */ +@Service +public class OcrDomainServiceImpl implements OcrDomainService{ +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java similarity index 68% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java index af406b7b..e26e9f71 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java @@ -1,7 +1,7 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory; +package com.seasky.seaskyocr.domain.service.ocrFactory; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; /** * iocr宸ュ巶 diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java similarity index 73% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java index f598417e..42324c2a 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java @@ -1,7 +1,7 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory; +package com.seasky.seaskyocr.domain.service.ocrFactory; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; import org.springframework.stereotype.Component; import javax.annotation.Resource; diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java similarity index 89% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java index 368623f0..f3d5ea81 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java @@ -1,4 +1,4 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory.Product; +package com.seasky.seaskyocr.domain.service.ocrFactory.Product; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java similarity index 64% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java index 3d3f0a54..1a2f976b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java @@ -1,6 +1,7 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory.Product; +package com.seasky.seaskyocr.domain.service.ocrFactory.Product; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; /** * iocr宸ュ巶 @@ -27,4 +28,12 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggreg * @return {@link String} */ String getContract(BaseOcrImplementAggregate ocrImplementAggregate); + + /** + * 鏌ヨ閫氳繃鏁e垪id + * + * @param hashId 鏁e垪id + * @return {@link ContractAggregate} + */ + ContractAggregate queryByHashId(String hashId); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java similarity index 79% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java index eeed46e4..d2d94048 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java @@ -1,7 +1,7 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory.ProductImpl; +package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; import org.springframework.stereotype.Service; diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java new file mode 100644 index 00000000..0786a9ca --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java @@ -0,0 +1,43 @@ +package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 鍚堝悎浜у搧impl + * + * @author bandi + * @date 2021/09/17 + */ +@Service +class HeHeProductImpl implements IHeHeProduct { + + @Autowired + ContractRepository contractRepository; + + @Override + public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { + return null; + } + + @Override + public String getContract(BaseOcrImplementAggregate ocrImplementAggregate) { + return null; + } + + /** + * 鏌ヨ閫氳繃鏁e垪id + * + * @param hashId 鏁e垪id + * @return {@link ContractAggregate} + */ + @Override + public ContractAggregate queryByHashId(String hashId){ + return contractRepository.queryByHashId(hashId); + } + +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java new file mode 100644 index 00000000..7506b41b --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java @@ -0,0 +1,39 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.co; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO; +import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrHeaderPO; +import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrParameterPO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author xiaqihang + * @date 2021/9/18 17:00 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class OcrDo { + + private Long id; + + private String name; + + private String appKey; + + private String secret; + + private String url; + + private List<OcrBodyPO> bodyPOList; + + private List<OcrHeaderPO> headerPOList; + + private List<OcrParameterPO> parameterPOList; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java new file mode 100644 index 00000000..7d3d6713 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java @@ -0,0 +1,30 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 16:41 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_ocr_body",autoResultMap = true) +public class OcrBodyPO extends BaseDataObject { + + @TableField("id") + private Long id; + + @TableField("body_key") + private String bodyKey; + + @TableField("body_value") + private String bodyValue; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java new file mode 100644 index 00000000..c855e564 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java @@ -0,0 +1,30 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 16:42 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_ocr_header",autoResultMap = true) +public class OcrHeaderPO extends BaseDataObject { + + @TableField("id") + private Long id; + + @TableField("header_key") + private String headerKey; + + @TableField("header_value") + private String headerValue; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java new file mode 100644 index 00000000..e1f000a6 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java @@ -0,0 +1,36 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 16:38 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_ocr",autoResultMap = true) +public class OcrPO extends BaseDataObject { + + @TableField("id") + private Long id; + + @TableField("name") + private String name; + + @TableField("app_key") + private String appKey; + + @TableField("secret") + private String secret; + + @TableField("url") + private String url; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java new file mode 100644 index 00000000..c9f95174 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java @@ -0,0 +1,30 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 16:43 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_ocr_parameter",autoResultMap = true) +public class OcrParameterPO extends BaseDataObject { + + @TableField("id") + private Long id; + + @TableField("parameter_key") + private String parameterKey; + + @TableField("parameter_value") + private String parameterValue; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java new file mode 100644 index 00000000..a7604532 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java @@ -0,0 +1,22 @@ +package com.seasky.seaskyocr.infrastructure.db.mapper.table; + +import com.seasky.core.base.BaseMapper; +import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author xiaqihang + * @date 2021/9/18 16:08 + */ +@Mapper +public interface ContractMapper extends BaseMapper<ContractPO> { + + /** + * 鏌ヨ閫氳繃鏁e垪id + * + * @param hashId 鏁e垪id + * @return {@link ContractPO} + */ + ContractPO queryByHashId(@Param("hashId") String hashId); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java new file mode 100644 index 00000000..f447152f --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java @@ -0,0 +1,29 @@ +package com.seasky.seaskyocr.infrastructure.db.mapper.table; + +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author xiaqihang + * @date 2021/9/18 17:03 + */ +@Mapper +public interface OcrMapper { + + /** + * 閫氳繃甯愭埛id鏌ヨocr id + * + * @param id id + * @return {@link Long} + */ + Long queryOcrIdByAccountId(@Param("id") Long id); + + /** + * 鏌ヨocr鐨刬d + * + * @param id id + * @return {@link OcrDo} + */ + OcrDo queryOcrDoById(@Param("id") Long id); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml new file mode 100644 index 00000000..41e40dd6 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.seasky.seaskyocr.infrastructure.db.mapper.table.ContractMapper"> + + <select id="queryByHashId" resultType="com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO"> + select * from tb_contract + <where> + available = 'YES' + <if test="hashId != null and hashId != ''"> + and hash_id = #{hashId} + </if> + </where> + </select> +</mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml new file mode 100644 index 00000000..c812f319 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrMapper"> + + <resultMap id="OcrBodyHeaderParameter" type="com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo"> + <result column="id" property="id"/> + <result column="name" property="name"/> + <result column="app_key" property="appKey"/> + <result column="secret" property="secret"/> + <result column="url" property="url"/> + <collection property="bodyPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO"> + <id column="bodyId" property="id"/> + <result column="body_key" property="bodyKey"/> + <result column="body_value" property="bodyValue"/> + </collection> + <collection property="headerPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrHeaderPO"> + <id column="headerId" property="id"/> + <result column="header_key" property="headerKey"/> + <result column="header_value" property="headerValue"/> + </collection> + <collection property="parameterPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrParameterPO"> + <id column="parameterId" property="id"/> + <result column="parameter_key" property="parameterKey"/> + <result column="parameter_value" property="parameterValue"/> + </collection> + </resultMap> + + <select id="queryOcrIdByAccountId" resultType="java.lang.Long"> + select ocr_id from tb_account_ocr + <where> + available = 'YES' + <if test="id != null"> + and account_id = #{id} + </if> + </where> + </select> + + <select id="queryOcrDoById" resultMap="OcrBodyHeaderParameter"> + + </select> +</mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java new file mode 100644 index 00000000..44463ee7 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java @@ -0,0 +1,16 @@ +package com.seasky.seaskyocr.infrastructure.repository.contract; + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; +import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; + +/** + * @author xiaqihang + * @date 2021/9/18 16:14 + */ +public class ContractConvert { + + public static ContractAggregate contractPoToAgg(ContractPO contractPO){ + return MapperUtils.INSTANCE.map(ContractAggregate.class,contractPO); + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java new file mode 100644 index 00000000..dae2fc57 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java @@ -0,0 +1,67 @@ +package com.seasky.seaskyocr.infrastructure.repository.contract; + +import com.seasky.core.ddd.base.BaseRepository; +import com.seasky.core.ddd.base.DomainKeysMap; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; +import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; +import com.seasky.seaskyocr.infrastructure.db.mapper.table.ContractMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +/** + * @author xiaqihang + * @date 2021/9/18 16:05 + */ +@Repository +public class ContractRepositoryImpl extends BaseRepository<ContractAggregate> implements ContractRepository { + + @Autowired + ContractMapper contractMapper; + + @Override + protected Long baseSave(ContractAggregate aggregate) { + return null; + } + + @Override + protected void duplicateSaveViolationSift(ContractAggregate aggregate) { + + } + + @Override + protected void integritySaveViolationSift(ContractAggregate aggregate) { + + } + + @Override + protected void baseRemove(ContractAggregate aggregate) { + + } + + @Override + protected void integrityRemoveViolationSift(ContractAggregate aggregate) { + + } + + @Override + public ContractAggregate queryByHashId(String hashId) { + ContractPO contractPO = contractMapper.queryByHashId(hashId); + return ContractConvert.contractPoToAgg(contractPO); + } + + @Override + public ContractAggregate findByDomainKey(DomainKeysMap domainKeysMap) { + return null; + } + + @Override + public Boolean isExistsByDomainKey(DomainKeysMap domainKeysMap) { + return null; + } + + @Override + public ContractAggregate findByPersistentId(Long aLong) { + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java new file mode 100644 index 00000000..2510c193 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java @@ -0,0 +1,21 @@ +package com.seasky.seaskyocr.interfaces.controller; + +import com.seasky.seaskyocr.api.IOcrController; +import com.seasky.seaskyocr.application.command.ocr.OcrCmdService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author xiaqihang + * @date 2021/9/18 16:46 + */ +@Api(tags = "ocr绠$悊") +@RestController +@RequestMapping("ocrCtrl") +public class OcrController extends BaseController implements IOcrController { + + @Autowired + private OcrCmdService ocrCmdService; +} -- GitLab From df1961d1ae291e3ee93ede7ceaf1e634553f0632 Mon Sep 17 00:00:00 2001 From: xiaqihang <xiaqihang@seaskysh.com> Date: Wed, 22 Sep 2021 17:30:03 +0800 Subject: [PATCH 4/8] =?UTF-8?q?fix=EF=BC=9A=E7=BC=96=E5=86=99ocr=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E6=8E=A5=E5=8F=A3=EF=BC=8Cdomain=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../seaskyocr/api/IContractController.java | 4 +- .../command/contract/ContractCmdService.java | 4 +- .../contract/ContractCmdServiceImpl.java | 23 ++-- .../aggregate/ocr/BaseOcrAggregate.java | 8 +- .../aggregate/ocr/BaseOcrRepository.java | 16 +++ .../contract/ContractAggregate.java | 37 ++++-- .../contract/ContractRepository.java | 1 - .../ocrimplement/contract/ContractVO.java | 9 ++ .../ocrFactory/Product/IHeHeProduct.java | 14 +-- .../ProductImpl/HeHeProductImpl.java | 108 +++++++++++++++++- .../infrastructure/dataobject/co/OcrDo.java | 4 + .../db/mapper/xml/OcrMapper.xml | 30 ++++- .../repository/contract/ContractConvert.java | 16 +++ .../contract/ContractRepositoryImpl.java | 17 ++- .../repository/ocr/OcrConvert.java | 29 +++++ .../repository/ocr/OcrRepositoryImpl.java | 33 ++++++ .../controller/ContractController.java | 9 +- 17 files changed, 323 insertions(+), 39 deletions(-) create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java index 92b8adeb..aea52749 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java @@ -20,8 +20,8 @@ public interface IContractController { * * @param createContractCmd 鍒涘缓鍚堝悓cmd * @param file 鏂囦欢 - * @return {@link Result<Long>} + * @return {@link Result<String>} */ @PostMapping(path = "HeHeContract") - Result<Long> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); + Result<String> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java index 657d0b67..fab84bd3 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java @@ -14,7 +14,7 @@ public interface ContractCmdService { * * @param createContractCmd 鍒涘缓鍚堝悓cmd * @param file 鏂囦欢 - * @return {@link Long} + * @return {@link String} */ - Long createContract(MultipartFile file, CreateContractCmd createContractCmd); + String createContract(MultipartFile file, CreateContractCmd createContractCmd); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java index ccf028ca..1f710d9a 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java @@ -4,6 +4,7 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggre import com.seasky.seaskyocr.domain.service.ocrFactory.IOcrFactory; import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import com.seasky.seaskyocr.enums.SupplierEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -25,20 +26,26 @@ public class ContractCmdServiceImpl implements ContractCmdService { * 鍒涘缓鍚堝悓 * * @param createContractCmd 鍒涘缓鍚堝悓cmd - * @return {@link Long} + * @param file 鏂囦欢 + * @return {@link String} */ @Override - public Long createContract(MultipartFile file, CreateContractCmd createContractCmd) { - IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); + public String createContract(MultipartFile file, CreateContractCmd createContractCmd) { try { byte[] bytes = file.getBytes(); String encode = new BASE64Encoder().encode(bytes); String hashId = String.valueOf(encode.hashCode()); - //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId - ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); - if (contractAggregate != null){ - //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� - return null; + if (createContractCmd.getSupplierEnum().equals(SupplierEnum.鍚堝悎.val())){ + IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); + //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId + ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); + if (contractAggregate != null){ + //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� contractAggregate杞琌ut + return null; + } + ContractAggregate aggregate = ContractAggregate.builder().build(); + aggregate.create(createContractCmd.getAccountId(),file,createContractCmd.getAddField()); + heHeProduct.getContract(aggregate); } } catch (IOException e) { e.printStackTrace(); diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java index 639be2aa..36c7144b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java @@ -2,8 +2,10 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; import com.seasky.seaskyocr.enums.MethodEnum; import com.seasky.seaskyocr.enums.SupplierEnum; +import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; @@ -15,19 +17,21 @@ import java.util.Map; */ @Data @Builder +@AllArgsConstructor +@NoArgsConstructor public class BaseOcrAggregate { private Long id; private String name; private String appKey; private String secret; private String url; - private String contentType; +// private String contentType; private SupplierEnum supplierEnum; private MethodEnum methodEnum; private Map<String,String> body; private Map<String,String> head; - private Map<String,String> parameter; + private Map<String,Object> parameter; public void updateAgg(BaseOcrVO vo){ //todo 鎵€鏈夊睘鎬ц祴鍊� diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java index 1dd0dd6c..8b2e927b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java @@ -1,5 +1,7 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; + /** * 鍩虹ocr搴� * @@ -16,6 +18,20 @@ public interface BaseOcrRepository { */ void save(BaseOcrAggregate baseOcrAggregate); + /** + * 鏌ヨocr鐨刬d + * + * @param id id + * @return {@link OcrDo} + */ + BaseOcrAggregate queryOcrDoById(Long id); + /** + * 閫氳繃甯愭埛id鏌ヨocr id + * + * @param id id + * @return {@link Long} + */ + Long queryOcrIdByAccountId(Long id); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java index ce70ec35..595c8f0b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java @@ -3,6 +3,9 @@ package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; import lombok.Builder; import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; /** * 鍚堝悓鎬� @@ -25,39 +28,51 @@ public class ContractAggregate extends BaseOcrImplementAggregate { private Long accountId; /** - * 鍚堝悓浠g爜 + * 鍚堝悓鍚嶇О */ - private String contractCode; + private String contractName; /** - * 鍚堝悓鍚嶇О + * 鍚堝悓缂栧彿 */ - private String contractName; + private String contractCode; /** * 鍐呭 */ private String content; + /** + * 鏂囦欢 + */ + private MultipartFile file; + + /** + * 瑕佹煡璇㈢殑瀛楁 + */ + private List<String> addField; + /** * 鍒涘缓鍚堝悓 * * @param accountId 甯愭埛id */ - public void create(Long accountId){ + public void create(Long accountId, MultipartFile file, List<String> addField){ this.accountId = accountId; + this.file = file; + this.addField = addField; } /** * 淇敼鍚堝悓 * - * @param contractCode 鍚堝悓浠g爜 - * @param contractName 鍚堝悓鍚嶇О + * @param contractVO 鍚堝悓绛捐瘉瀹� */ - public void modify(String contractCode, String contractName, String hashId){ - this.contractCode = contractCode; - this.contractName = contractName; - this.hashId = hashId; + public void modify(ContractVO contractVO){ + this.contractName = contractVO.getContractName(); + this.contractCode = contractVO.getContractCode(); + this.hashId = contractVO.getHashId(); + this.content = contractVO.getContent(); } } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java index 22ad8ee7..6aaa8022 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java @@ -19,5 +19,4 @@ public interface ContractRepository extends DddRepository<ContractAggregate> { */ ContractAggregate queryByHashId(String hashId); - } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java index 1249f482..e2f0d7a7 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java @@ -1,11 +1,20 @@ package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + /** * 鍚堝悓绛捐瘉瀹� * * @author bandi * @date 2021/09/17 */ +@Builder +@Data +@AllArgsConstructor +@NoArgsConstructor public class ContractVO { /** diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java index 1a2f976b..00c0212f 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java @@ -21,13 +21,13 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggre String getToken(BaseOcrImplementAggregate ocrImplementAggregate); - /** - * 鍏夊瀛楃璇嗗埆 - * - * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� - * @return {@link String} - */ - String getContract(BaseOcrImplementAggregate ocrImplementAggregate); + /** + * 寰楀埌鍚堝悓 + * + * @param contractAggregate 鍚堝悓鎬� + * @return {@link String} + */ + String getContract(ContractAggregate contractAggregate); /** * 鏌ヨ閫氳繃鏁e垪id diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java index 0786a9ca..df4fe760 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java @@ -1,11 +1,38 @@ package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; +import com.seasky.core.exception.DataAccessException; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractVO; import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.codec.binary.StringUtils; +import org.apache.http.HttpEntity; +import org.apache.http.HttpStatus; +import org.apache.http.StatusLine; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.omg.IOP.Encoding; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Map; +import org.springframework.util.ObjectUtils; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; /** * 鍚堝悎浜у搧impl @@ -18,6 +45,8 @@ class HeHeProductImpl implements IHeHeProduct { @Autowired ContractRepository contractRepository; + @Autowired + BaseOcrRepository ocrRepository; @Override public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { @@ -25,8 +54,49 @@ class HeHeProductImpl implements IHeHeProduct { } @Override - public String getContract(BaseOcrImplementAggregate ocrImplementAggregate) { - return null; + public String getContract(ContractAggregate contractAggregate) { + byte[] bytes = new byte[0]; + try { + bytes = contractAggregate.getFile().getBytes(); + } catch (IOException e) { + e.printStackTrace(); + } + String encode = Base64.encodeBase64String(bytes); +// Long ocrId = ocrRepository.queryOcrIdByAccountId(contractAggregate.getAccountId()); +// if (ocrId == null){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "涓嶅瓨鍦ㄤ笌璇ョ敤鎴风浉鍏宠仈鐨凮cr", "")); +// } +// BaseOcrAggregate baseOcrAggregate = ocrRepository.queryOcrDoById(ocrId); +// if (baseOcrAggregate == null){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鏌ヨ涓嶅埌鐩稿叧Ocr淇℃伅", "")); +// } +// Map<String, String> head = baseOcrAggregate.getHead(); +// head.put("app-key","18de35986509e69f1a93f5907ecdac4f"); +// head.put("app-secret","36b0d46acf9dd9e18665a40438d6ce77"); +// Map<String, Object> parameter = new HashMap<>(); +// //TODO 淇敼鍙傛暟key +//// String configuredKeys = parameter.get("4").toString(); +//// contractAggregate.getAddField().add(configuredKeys); +// parameter.put("configuredKeys",contractAggregate.getAddField()); +// parameter.put("filedata",encode); +// parameter.put("filename",contractAggregate.getFile().getOriginalFilename()); +// String jsonString = JSON.toJSONString(parameter); +// String httpPost = sendPost(baseOcrAggregate.getUrl(), jsonString, head); +// if (ObjectUtils.isEmpty(httpPost)){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "OCR鍥剧墖璇嗗埆澶辫触", "")); +// } +// String jsonUrl = JSONObject.parseObject(httpPost).getJSONObject("result").get("json_url").toString(); + String jsonUrl = "https://doc-compare.intsig.com/doc_extraction/keyinfo/result?format=json&task_id=269e75f120b7ac27142456673978971a"; + String result = sendPost(jsonUrl, null, null); + String content = JSONObject.parseObject(result).getJSONObject("result").get("customize_keys").toString(); + System.out.println(JSONObject.parseObject(result).getJSONObject("result").get("stdandard_keys").toString()); + String contractCode = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓缂栧彿").toString(); + String contractName = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓鍚嶇О").toString(); + String hashId = String.valueOf(encode.hashCode()); + ContractVO contractVO = ContractVO.builder().accountId(contractAggregate.getAccountId()).content(content).contractCode(contractCode).contractName(contractName).hashId(hashId).build(); + contractAggregate.modify(contractVO); + contractRepository.save(contractAggregate); + return content; } /** @@ -39,5 +109,37 @@ class HeHeProductImpl implements IHeHeProduct { public ContractAggregate queryByHashId(String hashId){ return contractRepository.queryByHashId(hashId); } - + + /** + * get http post + * + * @param url url + * @param jsonData json鏁版嵁 + * @return {@link String} + */ + private String sendPost(String url, String jsonData, Map<String,String> header) { + String result =""; + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(url); + if (header != null){ + header.forEach((key,value) -> httpPost.setHeader(key, value)); + } + if (jsonData != null){ + StringEntity entity = new StringEntity(jsonData, "UTF-8"); + httpPost.setEntity(entity); + } + CloseableHttpResponse response = null; + try { + response = httpclient.execute(httpPost); + StatusLine status = response.getStatusLine(); + if (status.getStatusCode() == HttpStatus.SC_OK) { + HttpEntity responseEntity = response.getEntity(); + result = EntityUtils.toString(responseEntity); + } + } + catch (IOException e) { + e.printStackTrace(); + } + return result; + } } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java index 7506b41b..b3c531b1 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java @@ -31,6 +31,10 @@ public class OcrDo { private String url; + private String supplierEnum; + + private String methodEnum; + private List<OcrBodyPO> bodyPOList; private List<OcrHeaderPO> headerPOList; diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml index c812f319..306cb2ba 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml @@ -8,6 +8,8 @@ <result column="app_key" property="appKey"/> <result column="secret" property="secret"/> <result column="url" property="url"/> + <result column="supplierEnum" property="supplierEnum"/> + <result column="methodEnum" property="methodEnum"/> <collection property="bodyPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO"> <id column="bodyId" property="id"/> <result column="body_key" property="bodyKey"/> @@ -36,6 +38,32 @@ </select> <select id="queryOcrDoById" resultMap="OcrBodyHeaderParameter"> - + SELECT + o.id, + o.NAME, + o.app_key, + o.secret, + o.url, + o.supplierEnum, + o.methodEnum, + b.id AS bodyId, + b.body_key, + b.body_value, + h.id AS headId, + h.header_key, + h.header_value , + p.id as parameterId, + p.parameter_key, + p.parameter_value + FROM + tb_ocr AS o + LEFT JOIN tb_ocr_body AS b ON o.id = b.ocr_id + LEFT JOIN tb_ocr_header AS h ON o.id = h.ocr_id + LEFT JOIN tb_ocr_parameter AS p ON o.id = p.ocr_id + <where> + <if test="id != null"> + o.id = #{id} + </if> + </where> </select> </mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java index 44463ee7..3a218d5d 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java @@ -10,7 +10,23 @@ import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; */ public class ContractConvert { + /** + * 鍚堝悓璁㈠崟gg + * + * @param contractPO 鍚堝悓璁㈠崟 + * @return {@link ContractAggregate} + */ public static ContractAggregate contractPoToAgg(ContractPO contractPO){ return MapperUtils.INSTANCE.map(ContractAggregate.class,contractPO); } + + /** + * 鍚堝悓gg闃垮疂 + * + * @param contractAggregate 鍚堝悓鎬� + * @return {@link ContractPO} + */ + public static ContractPO contractAggToPo(ContractAggregate contractAggregate){ + return MapperUtils.INSTANCE.map(ContractPO.class,contractAggregate); + } } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java index dae2fc57..893ca016 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java @@ -1,7 +1,10 @@ package com.seasky.seaskyocr.infrastructure.repository.contract; +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; import com.seasky.core.ddd.base.BaseRepository; import com.seasky.core.ddd.base.DomainKeysMap; +import com.seasky.core.exception.DataAccessException; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; @@ -21,7 +24,19 @@ public class ContractRepositoryImpl extends BaseRepository<ContractAggregate> im @Override protected Long baseSave(ContractAggregate aggregate) { - return null; + ContractPO contractPO = ContractConvert.contractAggToPo(aggregate); + if (contractPO.getId() == null){ + contractPO.prepareBeforeInsert(); + if (contractMapper.insert(contractPO) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅鏂板澶辫触", "")); + } + }else{ + contractPO.prepareBeforeUpdate(); + if (contractMapper.updateById(contractPO) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅淇敼澶辫触", "")); + } + } + return 1L; } @Override diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java new file mode 100644 index 00000000..559c294c --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java @@ -0,0 +1,29 @@ +package com.seasky.seaskyocr.infrastructure.repository.ocr; + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author xiaqihang + * @date 2021/9/22 9:04 + */ +public class OcrConvert { + + public static BaseOcrAggregate buildBaseOcrAgg(OcrDo ocrDo){ + BaseOcrAggregate baseOcrAggregate = MapperUtils.INSTANCE.map(BaseOcrAggregate.class, ocrDo); + Map<String,String> body = new HashMap<>(6); + Map<String,String> head = new HashMap<>(6); + Map<String,Object> parameter = new HashMap<>(6); + ocrDo.getBodyPOList().forEach(i -> body.put(i.getBodyKey(),i.getBodyValue())); + ocrDo.getHeaderPOList().forEach(i -> head.put(i.getHeaderKey(),i.getHeaderValue())); + ocrDo.getParameterPOList().forEach(i -> parameter.put(i.getParameterKey(),i.getParameterValue())); + baseOcrAggregate.setBody(body); + baseOcrAggregate.setHead(head); + baseOcrAggregate.setParameter(parameter); + return baseOcrAggregate; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java index c5aac1f9..41168a8d 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java @@ -2,6 +2,10 @@ package com.seasky.seaskyocr.infrastructure.repository.ocr; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; +import com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; /** * ocr搴搃mpl @@ -9,10 +13,39 @@ import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; * @author bandi * @date 2021/09/17 */ +@Repository public class OcrRepositoryImpl implements BaseOcrRepository { + + @Autowired + OcrMapper ocrMapper; + @Override public void save(BaseOcrAggregate baseOcrAggregate) { } + /** + * 鏌ヨocr鐨刬d + * + * @param id id + * @return {@link OcrDo} + */ + @Override + public BaseOcrAggregate queryOcrDoById(Long id) { + OcrDo ocrDo = ocrMapper.queryOcrDoById(id); + return OcrConvert.buildBaseOcrAgg(ocrDo); + } + + /** + * 閫氳繃甯愭埛id鏌ヨocr id + * + * @param id id + * @return {@link Long} + */ + @Override + public Long queryOcrIdByAccountId(Long id) { + return ocrMapper.queryOcrIdByAccountId(id); + } + + } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java index 0cc821ae..cdd04d62 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java @@ -27,9 +27,16 @@ public class ContractController extends BaseController implements IContractContr @Autowired ContractCmdService contractCmdService; + /** + * 浠栫殑鍚堝悓 + * + * @param file 鏂囦欢 + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @return {@link Result<String>} + */ @ApiOperation("鍒涘缓鍚堝悓") @Override - public Result<Long> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { + public Result<String> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { return ok(ResponseCode.SUCCESS, contractCmdService.createContract(file, createContractCmd)); } } -- GitLab From 413ef4ed7cabdc6714dbb0a70577639a0e97d5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E5=90=AF=E8=88=AA?= <xiaqihang@seaskysh.com> Date: Thu, 23 Sep 2021 01:34:54 +0000 Subject: [PATCH 5/8] Revert "Merge branch 'xiaqihang' into 'master'" This reverts merge request !8 --- ServiceSite/facade/pom.xml | 6 +- .../seaskyocr/api/IContractController.java | 27 ---- .../seasky/seaskyocr/api/IOcrController.java | 8 - .../seasky/seaskyocr/api/ITestController.java | 41 +++++ .../dto/contract/ContractRequestCmd.java | 24 --- .../dto/contract/CreateContractCmd.java | 29 ---- .../seasky/seaskyocr/enums/MethodEnum.java | 26 +--- .../seasky/seaskyocr/enums/SupplierEnum.java | 24 --- ServiceSite/pom.xml | 5 - .../src/main/java/com/seasky/Application.java | 6 +- .../{assembler => account}/TestAssembler.java | 2 +- .../contract/HeHeContractAssembler.java | 15 -- .../command/contract/ContractCmdService.java | 20 --- .../contract/ContractCmdServiceImpl.java | 55 ------- .../command/ocr/OcrCmdService.java | 8 - .../command/ocr/TestCmdService.java | 5 + ...rviceImpl.java => TestCmdServiceImpl.java} | 7 +- .../aggregate/account/AccountRepository.java | 16 -- .../aggregate/ocr/BaseOcrAggregate.java | 8 +- .../aggregate/ocr/BaseOcrRepository.java | 14 +- ...regate.java => OcrImplementAggregate.java} | 5 +- .../contract/ContractAggregate.java | 78 ---------- .../contract/ContractRepository.java | 22 --- .../ocrimplement/contract/ContractVO.java | 49 ------ .../domain/service/BaseOcrDomainSvr.java | 11 ++ .../domain/service/FlowDomainServiceImpl.java | 17 ++ .../IOcrFactory.java | 6 +- .../OcrFactory.java | 8 +- .../Product/IAliProduct.java | 8 +- .../OcrFactory/Product/IHeHeProduct.java | 33 ++++ .../ProductImpl/AliProductImpl.java | 23 +++ .../ProductImpl/HeHeProductImpl.java | 22 +++ .../domain/service/ocr/OcrDomainService.java | 8 - .../service/ocr/OcrDomainServiceImpl.java | 11 -- .../ocrFactory/Product/IHeHeProduct.java | 39 ----- .../ProductImpl/AliProductImpl.java | 25 --- .../ProductImpl/HeHeProductImpl.java | 145 ------------------ .../infrastructure/dataobject/co/OcrDo.java | 43 ------ .../infrastructure/dataobject/po/CardPO.java | 4 + .../dataobject/po/contract/ContractPO.java | 60 -------- .../dataobject/po/ocr/OcrBodyPO.java | 30 ---- .../dataobject/po/ocr/OcrHeaderPO.java | 30 ---- .../dataobject/po/ocr/OcrPO.java | 36 ----- .../dataobject/po/ocr/OcrParameterPO.java | 30 ---- .../db/mapper/table/ContractMapper.java | 22 --- .../db/mapper/table/OcrMapper.java | 29 ---- .../db/mapper/xml/ContractMapper.xml | 14 -- .../db/mapper/xml/OcrMapper.xml | 69 --------- .../repository/contract/ContractConvert.java | 32 ---- .../contract/ContractRepositoryImpl.java | 82 ---------- .../repository/ocr/OcrConvert.java | 29 ---- .../repository/ocr/OcrRepositoryImpl.java | 30 +--- .../repository/test/TestConvert.java | 35 +++++ .../repository/test/TestRepositoryImpl.java | 16 ++ .../controller/ContractController.java | 42 ----- .../interfaces/controller/OcrController.java | 21 --- .../interfaces/controller/TestController.java | 102 ++++++++++++ .../seaskyocr/interfaces/soap/SOAPConfig.java | 65 ++++++++ .../interfaces/soap/TestWebService.java | 26 ++++ .../main/resources/application-dev.properties | 80 +++++----- .../src/main/resources/application.properties | 66 ++++---- ServiceSite/src/main/resources/bootstrap.yml | 8 +- .../controller/test/TestControllerTest.java | 65 ++++++++ 63 files changed, 570 insertions(+), 1352 deletions(-) delete mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java delete mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java delete mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java delete mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/{assembler => account}/TestAssembler.java (63%) delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/{OcrCmdServiceImpl.java => TestCmdServiceImpl.java} (50%) delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountRepository.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/{BaseOcrImplementAggregate.java => OcrImplementAggregate.java} (73%) delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/BaseOcrDomainSvr.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/FlowDomainServiceImpl.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{ocrFactory => OcrFactory}/IOcrFactory.java (68%) rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{ocrFactory => OcrFactory}/OcrFactory.java (65%) rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{ocrFactory => OcrFactory}/Product/IAliProduct.java (50%) create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/CardPO.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java create mode 100644 ServiceSite/src/test/java/com/seasky/seaskyocr/interfaces/controller/test/TestControllerTest.java diff --git a/ServiceSite/facade/pom.xml b/ServiceSite/facade/pom.xml index f0275bf6..f591031d 100644 --- a/ServiceSite/facade/pom.xml +++ b/ServiceSite/facade/pom.xml @@ -3,10 +3,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.seasky</groupId> - <artifactId>seasky-ocr-api</artifactId> + <artifactId>dddtemplate-api</artifactId> <version>0.0.1-SNAPSHOT</version> - <name>seasky-ocr-api</name> - <description>seasky-ocr-api project for dddtemplate</description> + <name>dddtemplate-api</name> + <description>dddtemplate-api project for dddtemplate</description> <properties> <java.version>1.8</java.version> diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java deleted file mode 100644 index aea52749..00000000 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.seasky.seaskyocr.api; - -import com.seasky.core.common.Result; -import com.seasky.seaskyocr.dto.contract.CreateContractCmd; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.multipart.MultipartFile; - - -/** - * @author xiaqihang - * @date 2021/9/18 10:18 - */ -@RequestMapping("contract") -public interface IContractController { - - /** - * 浠栫殑鍚堝悓 - * 鍒涘缓浠栫殑鍚堝悓 - * - * @param createContractCmd 鍒涘缓鍚堝悓cmd - * @param file 鏂囦欢 - * @return {@link Result<String>} - */ - @PostMapping(path = "HeHeContract") - Result<String> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); -} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java deleted file mode 100644 index 0c726c50..00000000 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.seasky.seaskyocr.api; - -/** - * @author xiaqihang - * @date 2021/9/18 16:46 - */ -public interface IOcrController { -} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java new file mode 100644 index 00000000..c48edbf0 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java @@ -0,0 +1,41 @@ +package com.seasky.seaskyocr.api; + +import com.seasky.core.common.Result; +import com.seasky.seaskyocr.dto.ocr.TestCmd; +import com.seasky.seaskyocr.dto.ocr.TestQueryOut; +import com.seasky.seaskyocr.dto.ocr.TestQueryQry; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +import java.io.UnsupportedEncodingException; + +@FeignClient("dddtemplate-provider") +@RequestMapping("test") +@Api("Test") +public interface ITestController { + + @ApiOperation("1.testQ") + @PostMapping(path = "/pc/v1/queryList") + Result<TestQueryOut> testQ(@RequestBody TestQueryQry testQry); + + @ApiOperation("2.testExport") + @PostMapping(path = "/pc/v1/export") + ResponseEntity<byte[]> testExcelExport(@RequestBody TestQueryQry testQry) throws UnsupportedEncodingException; + + @ApiOperation("3.testSave") + @PostMapping(path = "/pc/v1/save") + Result<Long> testSave(@RequestBody TestCmd testCmd); + + @ApiOperation("4.testSubmit") + @PostMapping(path = "/pc/v1/submit") + Result<Long> testSubmit(@RequestBody TestCmd testCmd); + + @ApiOperation("5.testSaveAndSubmit") + @PostMapping(path = "/pc/v1/saveandsubmit") + Result<Long> testSaveAndSubmit(@RequestBody TestCmd testCmd); +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java deleted file mode 100644 index 6ec90672..00000000 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.seasky.seaskyocr.dto.contract; - -import com.seasky.core.ddd.base.BaseDto; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - * @author xiaqihang - * @date 2021/9/18 10:15 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@AllArgsConstructor -@NoArgsConstructor -public class ContractRequestCmd extends BaseDto { - - private String body; - - private String head; - - private String parameter; -} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java deleted file mode 100644 index 8438eac0..00000000 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.seasky.seaskyocr.dto.contract; - -import com.seasky.core.ddd.base.BaseDto; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -/** - * @author xiaqihang - * @date 2021/9/18 10:10 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@AllArgsConstructor -@NoArgsConstructor -public class CreateContractCmd extends BaseDto { - - private Long accountId; - - private String methodEnum; - - private String supplierEnum; - - private List<String> addField; -} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java index de49ff6d..0d9172fe 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java @@ -1,28 +1,4 @@ package com.seasky.seaskyocr.enums; -/** - * 鏂规硶鏋氫妇 - * - * @author xiaqihang - * @date 2021/09/18 - */ -public enum MethodEnum { - - 鍚堝悓("鍚堝悓","1"); - - final String k; - final String v; - - MethodEnum(final String k,final String v) { - this.k = k; - this.v = v; - } - - public String val() { - return v; - } - - public String key() { - return k; - } +public class MethodEnum { } diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java index 1471d5db..1538afed 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java @@ -1,28 +1,4 @@ package com.seasky.seaskyocr.enums; -/** - * 渚涘簲鍟嗘灇涓� - * - * @author xiaqihang - * @date 2021/09/18 - */ public enum SupplierEnum { - - 鍚堝悎("鍚堝悎","1"); - - final String k; - final String v; - - SupplierEnum(final String k,final String v) { - this.k = k; - this.v = v; - } - - public String val() { - return v; - } - - public String key() { - return k; - } } diff --git a/ServiceSite/pom.xml b/ServiceSite/pom.xml index 3ffac870..9de4d664 100644 --- a/ServiceSite/pom.xml +++ b/ServiceSite/pom.xml @@ -71,11 +71,6 @@ <artifactId>core</artifactId> <version>1.4.0-SNAPSHOT</version> </dependency> - <dependency> - <groupId>com.seasky</groupId> - <artifactId>seasky-ocr-api</artifactId> - <version>0.0.1-SNAPSHOT</version> - </dependency> <dependency> <groupId>com.seasky</groupId> <artifactId>dddtemplate-api</artifactId> diff --git a/ServiceSite/src/main/java/com/seasky/Application.java b/ServiceSite/src/main/java/com/seasky/Application.java index 89aa62c5..a3456b84 100644 --- a/ServiceSite/src/main/java/com/seasky/Application.java +++ b/ServiceSite/src/main/java/com/seasky/Application.java @@ -10,9 +10,13 @@ import org.springframework.scheduling.annotation.EnableAsync; /*** * @author bandi * */ -@SpringBootApplication(exclude = {org.apache.shiro.spring.boot.autoconfigure.ShiroAnnotationProcessorAutoConfiguration.class}) +@SpringBootApplication @EnableAspectJAutoProxy(exposeProxy = true) @EnableDiscoveryClient +@EnableFeignClients(basePackages = { + "com.seasky.some-api" + ,"com.seasky.other-api" +}) @EnableAsync public class Application { diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java similarity index 63% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java index 9bb1db82..d5f1bfdb 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java @@ -1,4 +1,4 @@ -package com.seasky.seaskyocr.application.command.assembler; +package com.seasky.seaskyocr.application.command.account; /** diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java deleted file mode 100644 index bcf498a1..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.seasky.seaskyocr.application.command.assembler.contract; - -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractVO; -import com.seasky.seaskyocr.dto.contract.CreateContractCmd; - -/** - * @author xiaqihang - * @date 2021/9/18 11:02 - */ -public class HeHeContractAssembler { - - public static ContractVO buildHeHeVo(CreateContractCmd heHeContractCmd){ - return null; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java deleted file mode 100644 index fab84bd3..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.seasky.seaskyocr.application.command.contract; - -import com.seasky.seaskyocr.dto.contract.CreateContractCmd; -import org.springframework.web.multipart.MultipartFile; - -/** - * @author xiaqihang - * @date 2021/9/18 10:32 - */ -public interface ContractCmdService { - - /** - * 鍒涘缓鍚堝悓 - * - * @param createContractCmd 鍒涘缓鍚堝悓cmd - * @param file 鏂囦欢 - * @return {@link String} - */ - String createContract(MultipartFile file, CreateContractCmd createContractCmd); -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java deleted file mode 100644 index 1f710d9a..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.seasky.seaskyocr.application.command.contract; - -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; -import com.seasky.seaskyocr.domain.service.ocrFactory.IOcrFactory; -import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; -import com.seasky.seaskyocr.dto.contract.CreateContractCmd; -import com.seasky.seaskyocr.enums.SupplierEnum; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; -import sun.misc.BASE64Encoder; - -import java.io.IOException; - -/** - * @author xiaqihang - * @date 2021/9/18 10:34 - */ -@Service -public class ContractCmdServiceImpl implements ContractCmdService { - - @Autowired - IOcrFactory iOcrFactory; - - /** - * 鍒涘缓鍚堝悓 - * - * @param createContractCmd 鍒涘缓鍚堝悓cmd - * @param file 鏂囦欢 - * @return {@link String} - */ - @Override - public String createContract(MultipartFile file, CreateContractCmd createContractCmd) { - try { - byte[] bytes = file.getBytes(); - String encode = new BASE64Encoder().encode(bytes); - String hashId = String.valueOf(encode.hashCode()); - if (createContractCmd.getSupplierEnum().equals(SupplierEnum.鍚堝悎.val())){ - IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); - //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId - ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); - if (contractAggregate != null){ - //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� contractAggregate杞琌ut - return null; - } - ContractAggregate aggregate = ContractAggregate.builder().build(); - aggregate.create(createContractCmd.getAccountId(),file,createContractCmd.getAddField()); - heHeProduct.getContract(aggregate); - } - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java deleted file mode 100644 index 20c3d3e3..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.seasky.seaskyocr.application.command.ocr; - -/** - * @author xiaqihang - * @date 2021/9/18 16:48 - */ -public interface OcrCmdService { -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java new file mode 100644 index 00000000..2d11dba0 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java @@ -0,0 +1,5 @@ +package com.seasky.seaskyocr.application.command.ocr; + +public interface TestCmdService { + +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java similarity index 50% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java index 8199f11b..4a54650d 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java @@ -2,10 +2,7 @@ package com.seasky.seaskyocr.application.command.ocr; import org.springframework.stereotype.Service; -/** - * @author xiaqihang - * @date 2021/9/18 16:48 - */ @Service -public class OcrCmdServiceImpl implements OcrCmdService{ +public class TestCmdServiceImpl implements TestCmdService { + } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountRepository.java deleted file mode 100644 index db04fe62..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountRepository.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.seasky.seaskyocr.domain.aggregate.account; - -/** - * 璐︽埛瀛樺偍搴� - * - * @author bandi - * @date 2021/09/17 - */ -public interface AccountRepository { - /** - * 淇濆瓨 - * - * @param accountAggregate 璐︽埛鎬� - */ - void save(AccountAggregate accountAggregate); -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java index 36c7144b..639be2aa 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java @@ -2,10 +2,8 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; import com.seasky.seaskyocr.enums.MethodEnum; import com.seasky.seaskyocr.enums.SupplierEnum; -import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; -import lombok.NoArgsConstructor; import java.util.Map; @@ -17,21 +15,19 @@ import java.util.Map; */ @Data @Builder -@AllArgsConstructor -@NoArgsConstructor public class BaseOcrAggregate { private Long id; private String name; private String appKey; private String secret; private String url; -// private String contentType; + private String contentType; private SupplierEnum supplierEnum; private MethodEnum methodEnum; private Map<String,String> body; private Map<String,String> head; - private Map<String,Object> parameter; + private Map<String,String> parameter; public void updateAgg(BaseOcrVO vo){ //todo 鎵€鏈夊睘鎬ц祴鍊� diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java index 8b2e927b..b00919c7 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java @@ -1,7 +1,5 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; -import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; - /** * 鍩虹ocr搴� * @@ -19,19 +17,11 @@ public interface BaseOcrRepository { void save(BaseOcrAggregate baseOcrAggregate); /** - * 鏌ヨocr鐨刬d + * 鍒犻櫎 * * @param id id - * @return {@link OcrDo} */ - BaseOcrAggregate queryOcrDoById(Long id); + void remove(Long id); - /** - * 閫氳繃甯愭埛id鏌ヨocr id - * - * @param id id - * @return {@link Long} - */ - Long queryOcrIdByAccountId(Long id); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/BaseOcrImplementAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/OcrImplementAggregate.java similarity index 73% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/BaseOcrImplementAggregate.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/OcrImplementAggregate.java index 489f67db..1eae551e 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/BaseOcrImplementAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/OcrImplementAggregate.java @@ -8,10 +8,7 @@ import com.seasky.core.ddd.base.BaseAggregate; * @author bandi * @date 2021/09/17 */ -public class BaseOcrImplementAggregate extends BaseAggregate { - - public String hashId; - +public class OcrImplementAggregate extends BaseAggregate { @Override protected String iniDescribeName() { return null; diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java deleted file mode 100644 index 595c8f0b..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; - -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; -import lombok.Builder; -import lombok.Data; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -/** - * 鍚堝悓鎬� - * - * @author bandi - * @date 2021/09/17 - */ -@Builder -@Data -public class ContractAggregate extends BaseOcrImplementAggregate { - - /** - * 鍚堝悓id - */ - private Long id; - - /** - * 璐︽埛id - */ - private Long accountId; - - /** - * 鍚堝悓鍚嶇О - */ - private String contractName; - - /** - * 鍚堝悓缂栧彿 - */ - private String contractCode; - - /** - * 鍐呭 - */ - private String content; - - /** - * 鏂囦欢 - */ - private MultipartFile file; - - /** - * 瑕佹煡璇㈢殑瀛楁 - */ - private List<String> addField; - - /** - * 鍒涘缓鍚堝悓 - * - * @param accountId 甯愭埛id - */ - public void create(Long accountId, MultipartFile file, List<String> addField){ - this.accountId = accountId; - this.file = file; - this.addField = addField; - } - - /** - * 淇敼鍚堝悓 - * - * @param contractVO 鍚堝悓绛捐瘉瀹� - */ - public void modify(ContractVO contractVO){ - this.contractName = contractVO.getContractName(); - this.contractCode = contractVO.getContractCode(); - this.hashId = contractVO.getHashId(); - this.content = contractVO.getContent(); - } - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java deleted file mode 100644 index 6aaa8022..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; - -import com.seasky.core.ddd.base.DddRepository; -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; - -/** - * 鍩虹ocr搴� - * - * @author bandi - * @date 2021/09/14 - */ -public interface ContractRepository extends DddRepository<ContractAggregate> { - - /** - * 鏌ヨ閫氳繃鏁e垪id - * - * @param hashId 鏁e垪id - * @return {@link ContractAggregate} - */ - ContractAggregate queryByHashId(String hashId); - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java deleted file mode 100644 index e2f0d7a7..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 鍚堝悓绛捐瘉瀹� - * - * @author bandi - * @date 2021/09/17 - */ -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class ContractVO { - - /** - * 鍚堝悓id - */ - private Long id; - - /** - * 璐︽埛id - */ - private Long accountId; - - /** - * 鏁e垪id - */ - private String hashId; - - /** - * 鍚堝悓浠g爜 - */ - private String contractCode; - - /** - * 鍚堝悓鍚嶇О - */ - private String contractName; - - /** - * 鍐呭 - */ - private String content; -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/BaseOcrDomainSvr.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/BaseOcrDomainSvr.java new file mode 100644 index 00000000..32ecdd85 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/BaseOcrDomainSvr.java @@ -0,0 +1,11 @@ +package com.seasky.seaskyocr.domain.service; + +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; + +public interface BaseOcrDomainSvr<T extends BaseOcrAggregate> { + + String ocr(T agg); + + + +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/FlowDomainServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/FlowDomainServiceImpl.java new file mode 100644 index 00000000..8c3d9136 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/FlowDomainServiceImpl.java @@ -0,0 +1,17 @@ +package com.seasky.seaskyocr.domain.service; + +import com.seasky.seaskyocr.domain.event.DeleteTestEvent; +import org.springframework.context.event.EventListener; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Service; + +@Service +public class FlowDomainServiceImpl { + + @EventListener + @Order(0) + public void deleteTestVerify(DeleteTestEvent event) { + // 杩涜鍒犻櫎test鐨勬牎楠� + System.out.println("娴佺▼鏀跺埌鍒犻櫎浜嬩欢锛屽弬鏁�:" + event.getSource());//鑾峰彇鍙傛暟 + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java similarity index 68% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java index e26e9f71..af406b7b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java @@ -1,7 +1,7 @@ -package com.seasky.seaskyocr.domain.service.ocrFactory; +package com.seasky.seaskyocr.domain.service.OcrFactory; -import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; -import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; +import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; +import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; /** * iocr宸ュ巶 diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java similarity index 65% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java index 42324c2a..fdd2e3c6 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java @@ -1,8 +1,7 @@ -package com.seasky.seaskyocr.domain.service.ocrFactory; +package com.seasky.seaskyocr.domain.service.OcrFactory; -import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; -import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; -import org.springframework.stereotype.Component; +import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; +import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; import javax.annotation.Resource; @@ -12,7 +11,6 @@ import javax.annotation.Resource; * @author bandi * @date 2021/09/17 */ -@Component public class OcrFactory implements IOcrFactory { @Resource diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java similarity index 50% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java index f3d5ea81..adbaeaaf 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java @@ -1,6 +1,6 @@ -package com.seasky.seaskyocr.domain.service.ocrFactory.Product; +package com.seasky.seaskyocr.domain.service.OcrFactory.Product; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.OcrImplementAggregate; public interface IAliProduct { /** @@ -9,7 +9,7 @@ public interface IAliProduct { * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� * @return {@link String} */ - public String getToken(BaseOcrImplementAggregate ocrImplementAggregate); + public String getToken(OcrImplementAggregate ocrImplementAggregate); /** @@ -18,5 +18,5 @@ public interface IAliProduct { * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� * @return {@link String} */ - public String ocr(BaseOcrImplementAggregate ocrImplementAggregate); + public String ocr(OcrImplementAggregate ocrImplementAggregate); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java new file mode 100644 index 00000000..504dde3b --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java @@ -0,0 +1,33 @@ +package com.seasky.seaskyocr.domain.service.OcrFactory.Product; + +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.OcrImplementAggregate; +import lombok.Builder; +import lombok.Data; + +/** + * iocr宸ュ巶 + * + * @author bandi + * @date 2021/09/17 + */ + + public interface IHeHeProduct { + + /** + * 鑾峰緱浠ょ墝 + * + * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� + * @return {@link String} + */ + public String getToken(OcrImplementAggregate ocrImplementAggregate); + + + /** + * 鍏夊瀛楃璇嗗埆 + * + * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� + * @return {@link String} + */ + public String ocr(OcrImplementAggregate ocrImplementAggregate); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java new file mode 100644 index 00000000..07651089 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java @@ -0,0 +1,23 @@ +package com.seasky.seaskyocr.domain.service.OcrFactory.ProductImpl; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.OcrImplementAggregate; +import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; + + +/** + * 闃块噷浜у搧impl + * + * @author bandi + * @date 2021/09/17 + */ +class AliProductImpl implements IAliProduct { + @Override + public String getToken(OcrImplementAggregate ocrImplementAggregate) { + return null; + } + + @Override + public String ocr(OcrImplementAggregate ocrImplementAggregate) { + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java new file mode 100644 index 00000000..69b16fad --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java @@ -0,0 +1,22 @@ +package com.seasky.seaskyocr.domain.service.OcrFactory.ProductImpl; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.OcrImplementAggregate; +import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; + +/** + * 鍚堝悎浜у搧impl + * + * @author bandi + * @date 2021/09/17 + */ +class HeHeProductImpl implements IHeHeProduct { + @Override + public String getToken(OcrImplementAggregate ocrImplementAggregate) { + return null; + } + + @Override + public String ocr(OcrImplementAggregate ocrImplementAggregate) { + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java deleted file mode 100644 index c624918a..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.seasky.seaskyocr.domain.service.ocr; - -/** - * @author xiaqihang - * @date 2021/9/18 16:56 - */ -public interface OcrDomainService { -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java deleted file mode 100644 index 49238c67..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.seasky.seaskyocr.domain.service.ocr; - -import org.springframework.stereotype.Service; - -/** - * @author xiaqihang - * @date 2021/9/18 16:57 - */ -@Service -public class OcrDomainServiceImpl implements OcrDomainService{ -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java deleted file mode 100644 index 00c0212f..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.seasky.seaskyocr.domain.service.ocrFactory.Product; - -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; - -/** - * iocr宸ュ巶 - * - * @author bandi - * @date 2021/09/17 - */ - - public interface IHeHeProduct { - - /** - * 鑾峰緱浠ょ墝 - * - * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� - * @return {@link String} - */ - String getToken(BaseOcrImplementAggregate ocrImplementAggregate); - - - /** - * 寰楀埌鍚堝悓 - * - * @param contractAggregate 鍚堝悓鎬� - * @return {@link String} - */ - String getContract(ContractAggregate contractAggregate); - - /** - * 鏌ヨ閫氳繃鏁e垪id - * - * @param hashId 鏁e垪id - * @return {@link ContractAggregate} - */ - ContractAggregate queryByHashId(String hashId); -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java deleted file mode 100644 index d2d94048..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; - -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; -import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; -import org.springframework.stereotype.Service; - - -/** - * 闃块噷浜у搧impl - * - * @author bandi - * @date 2021/09/17 - */ -@Service -class AliProductImpl implements IAliProduct { - @Override - public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { - return null; - } - - @Override - public String ocr(BaseOcrImplementAggregate ocrImplementAggregate) { - return null; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java deleted file mode 100644 index df4fe760..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.seasky.core.common.Error; -import com.seasky.core.common.ResponseCode; -import com.seasky.core.exception.DataAccessException; -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractVO; -import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.codec.binary.StringUtils; -import org.apache.http.HttpEntity; -import org.apache.http.HttpStatus; -import org.apache.http.StatusLine; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.omg.IOP.Encoding; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import java.util.Map; -import org.springframework.util.ObjectUtils; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -/** - * 鍚堝悎浜у搧impl - * - * @author bandi - * @date 2021/09/17 - */ -@Service -class HeHeProductImpl implements IHeHeProduct { - - @Autowired - ContractRepository contractRepository; - @Autowired - BaseOcrRepository ocrRepository; - - @Override - public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { - return null; - } - - @Override - public String getContract(ContractAggregate contractAggregate) { - byte[] bytes = new byte[0]; - try { - bytes = contractAggregate.getFile().getBytes(); - } catch (IOException e) { - e.printStackTrace(); - } - String encode = Base64.encodeBase64String(bytes); -// Long ocrId = ocrRepository.queryOcrIdByAccountId(contractAggregate.getAccountId()); -// if (ocrId == null){ -// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "涓嶅瓨鍦ㄤ笌璇ョ敤鎴风浉鍏宠仈鐨凮cr", "")); -// } -// BaseOcrAggregate baseOcrAggregate = ocrRepository.queryOcrDoById(ocrId); -// if (baseOcrAggregate == null){ -// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鏌ヨ涓嶅埌鐩稿叧Ocr淇℃伅", "")); -// } -// Map<String, String> head = baseOcrAggregate.getHead(); -// head.put("app-key","18de35986509e69f1a93f5907ecdac4f"); -// head.put("app-secret","36b0d46acf9dd9e18665a40438d6ce77"); -// Map<String, Object> parameter = new HashMap<>(); -// //TODO 淇敼鍙傛暟key -//// String configuredKeys = parameter.get("4").toString(); -//// contractAggregate.getAddField().add(configuredKeys); -// parameter.put("configuredKeys",contractAggregate.getAddField()); -// parameter.put("filedata",encode); -// parameter.put("filename",contractAggregate.getFile().getOriginalFilename()); -// String jsonString = JSON.toJSONString(parameter); -// String httpPost = sendPost(baseOcrAggregate.getUrl(), jsonString, head); -// if (ObjectUtils.isEmpty(httpPost)){ -// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "OCR鍥剧墖璇嗗埆澶辫触", "")); -// } -// String jsonUrl = JSONObject.parseObject(httpPost).getJSONObject("result").get("json_url").toString(); - String jsonUrl = "https://doc-compare.intsig.com/doc_extraction/keyinfo/result?format=json&task_id=269e75f120b7ac27142456673978971a"; - String result = sendPost(jsonUrl, null, null); - String content = JSONObject.parseObject(result).getJSONObject("result").get("customize_keys").toString(); - System.out.println(JSONObject.parseObject(result).getJSONObject("result").get("stdandard_keys").toString()); - String contractCode = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓缂栧彿").toString(); - String contractName = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓鍚嶇О").toString(); - String hashId = String.valueOf(encode.hashCode()); - ContractVO contractVO = ContractVO.builder().accountId(contractAggregate.getAccountId()).content(content).contractCode(contractCode).contractName(contractName).hashId(hashId).build(); - contractAggregate.modify(contractVO); - contractRepository.save(contractAggregate); - return content; - } - - /** - * 鏌ヨ閫氳繃鏁e垪id - * - * @param hashId 鏁e垪id - * @return {@link ContractAggregate} - */ - @Override - public ContractAggregate queryByHashId(String hashId){ - return contractRepository.queryByHashId(hashId); - } - - /** - * get http post - * - * @param url url - * @param jsonData json鏁版嵁 - * @return {@link String} - */ - private String sendPost(String url, String jsonData, Map<String,String> header) { - String result =""; - CloseableHttpClient httpclient = HttpClients.createDefault(); - HttpPost httpPost = new HttpPost(url); - if (header != null){ - header.forEach((key,value) -> httpPost.setHeader(key, value)); - } - if (jsonData != null){ - StringEntity entity = new StringEntity(jsonData, "UTF-8"); - httpPost.setEntity(entity); - } - CloseableHttpResponse response = null; - try { - response = httpclient.execute(httpPost); - StatusLine status = response.getStatusLine(); - if (status.getStatusCode() == HttpStatus.SC_OK) { - HttpEntity responseEntity = response.getEntity(); - result = EntityUtils.toString(responseEntity); - } - } - catch (IOException e) { - e.printStackTrace(); - } - return result; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java deleted file mode 100644 index b3c531b1..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.dataobject.co; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO; -import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrHeaderPO; -import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrParameterPO; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -/** - * @author xiaqihang - * @date 2021/9/18 17:00 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class OcrDo { - - private Long id; - - private String name; - - private String appKey; - - private String secret; - - private String url; - - private String supplierEnum; - - private String methodEnum; - - private List<OcrBodyPO> bodyPOList; - - private List<OcrHeaderPO> headerPOList; - - private List<OcrParameterPO> parameterPOList; -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/CardPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/CardPO.java new file mode 100644 index 00000000..c07b0be6 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/CardPO.java @@ -0,0 +1,4 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po; + +public class CardPO { +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java deleted file mode 100644 index 1dbcebe3..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.dataobject.po.contract; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.seasky.core.ddd.base.BaseDataObject; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 鍚堝悓璁㈠崟 - * - * @author xiaqihang - * @date 2021/09/18 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -@TableName(value = "tb_contract",autoResultMap = true) -public class ContractPO extends BaseDataObject { - - /** - * 涓婚敭id - */ - @TableField("id") - private Long id; - - /** - * 甯愭埛id - */ - @TableField("account_id") - private Long accountId; - - /** - * 鏁e垪id - */ - @TableField("hash_id") - private String hashId; - - /** - * 鍚堝悓浠g爜 - */ - @TableField("contract_code") - private String contractCode; - - /** - * 鍚堝悓鍚嶇О - */ - @TableField("contract_name") - private String contractName; - - /** - * 鍐呭 - */ - @TableField("content") - private String content; -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java deleted file mode 100644 index 7d3d6713..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.seasky.core.ddd.base.BaseDataObject; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author xiaqihang - * @date 2021/9/18 16:41 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -@TableName(value = "tb_ocr_body",autoResultMap = true) -public class OcrBodyPO extends BaseDataObject { - - @TableField("id") - private Long id; - - @TableField("body_key") - private String bodyKey; - - @TableField("body_value") - private String bodyValue; -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java deleted file mode 100644 index c855e564..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.seasky.core.ddd.base.BaseDataObject; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author xiaqihang - * @date 2021/9/18 16:42 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -@TableName(value = "tb_ocr_header",autoResultMap = true) -public class OcrHeaderPO extends BaseDataObject { - - @TableField("id") - private Long id; - - @TableField("header_key") - private String headerKey; - - @TableField("header_value") - private String headerValue; -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java deleted file mode 100644 index e1f000a6..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.seasky.core.ddd.base.BaseDataObject; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author xiaqihang - * @date 2021/9/18 16:38 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -@TableName(value = "tb_ocr",autoResultMap = true) -public class OcrPO extends BaseDataObject { - - @TableField("id") - private Long id; - - @TableField("name") - private String name; - - @TableField("app_key") - private String appKey; - - @TableField("secret") - private String secret; - - @TableField("url") - private String url; -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java deleted file mode 100644 index c9f95174..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.seasky.core.ddd.base.BaseDataObject; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author xiaqihang - * @date 2021/9/18 16:43 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -@TableName(value = "tb_ocr_parameter",autoResultMap = true) -public class OcrParameterPO extends BaseDataObject { - - @TableField("id") - private Long id; - - @TableField("parameter_key") - private String parameterKey; - - @TableField("parameter_value") - private String parameterValue; -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java deleted file mode 100644 index a7604532..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.db.mapper.table; - -import com.seasky.core.base.BaseMapper; -import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -/** - * @author xiaqihang - * @date 2021/9/18 16:08 - */ -@Mapper -public interface ContractMapper extends BaseMapper<ContractPO> { - - /** - * 鏌ヨ閫氳繃鏁e垪id - * - * @param hashId 鏁e垪id - * @return {@link ContractPO} - */ - ContractPO queryByHashId(@Param("hashId") String hashId); -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java deleted file mode 100644 index f447152f..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.db.mapper.table; - -import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -/** - * @author xiaqihang - * @date 2021/9/18 17:03 - */ -@Mapper -public interface OcrMapper { - - /** - * 閫氳繃甯愭埛id鏌ヨocr id - * - * @param id id - * @return {@link Long} - */ - Long queryOcrIdByAccountId(@Param("id") Long id); - - /** - * 鏌ヨocr鐨刬d - * - * @param id id - * @return {@link OcrDo} - */ - OcrDo queryOcrDoById(@Param("id") Long id); -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml deleted file mode 100644 index 41e40dd6..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.seasky.seaskyocr.infrastructure.db.mapper.table.ContractMapper"> - - <select id="queryByHashId" resultType="com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO"> - select * from tb_contract - <where> - available = 'YES' - <if test="hashId != null and hashId != ''"> - and hash_id = #{hashId} - </if> - </where> - </select> -</mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml deleted file mode 100644 index 306cb2ba..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrMapper"> - - <resultMap id="OcrBodyHeaderParameter" type="com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo"> - <result column="id" property="id"/> - <result column="name" property="name"/> - <result column="app_key" property="appKey"/> - <result column="secret" property="secret"/> - <result column="url" property="url"/> - <result column="supplierEnum" property="supplierEnum"/> - <result column="methodEnum" property="methodEnum"/> - <collection property="bodyPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO"> - <id column="bodyId" property="id"/> - <result column="body_key" property="bodyKey"/> - <result column="body_value" property="bodyValue"/> - </collection> - <collection property="headerPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrHeaderPO"> - <id column="headerId" property="id"/> - <result column="header_key" property="headerKey"/> - <result column="header_value" property="headerValue"/> - </collection> - <collection property="parameterPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrParameterPO"> - <id column="parameterId" property="id"/> - <result column="parameter_key" property="parameterKey"/> - <result column="parameter_value" property="parameterValue"/> - </collection> - </resultMap> - - <select id="queryOcrIdByAccountId" resultType="java.lang.Long"> - select ocr_id from tb_account_ocr - <where> - available = 'YES' - <if test="id != null"> - and account_id = #{id} - </if> - </where> - </select> - - <select id="queryOcrDoById" resultMap="OcrBodyHeaderParameter"> - SELECT - o.id, - o.NAME, - o.app_key, - o.secret, - o.url, - o.supplierEnum, - o.methodEnum, - b.id AS bodyId, - b.body_key, - b.body_value, - h.id AS headId, - h.header_key, - h.header_value , - p.id as parameterId, - p.parameter_key, - p.parameter_value - FROM - tb_ocr AS o - LEFT JOIN tb_ocr_body AS b ON o.id = b.ocr_id - LEFT JOIN tb_ocr_header AS h ON o.id = h.ocr_id - LEFT JOIN tb_ocr_parameter AS p ON o.id = p.ocr_id - <where> - <if test="id != null"> - o.id = #{id} - </if> - </where> - </select> -</mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java deleted file mode 100644 index 3a218d5d..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.repository.contract; - -import com.seasky.core.ddd.utils.MapperUtils; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; -import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; - -/** - * @author xiaqihang - * @date 2021/9/18 16:14 - */ -public class ContractConvert { - - /** - * 鍚堝悓璁㈠崟gg - * - * @param contractPO 鍚堝悓璁㈠崟 - * @return {@link ContractAggregate} - */ - public static ContractAggregate contractPoToAgg(ContractPO contractPO){ - return MapperUtils.INSTANCE.map(ContractAggregate.class,contractPO); - } - - /** - * 鍚堝悓gg闃垮疂 - * - * @param contractAggregate 鍚堝悓鎬� - * @return {@link ContractPO} - */ - public static ContractPO contractAggToPo(ContractAggregate contractAggregate){ - return MapperUtils.INSTANCE.map(ContractPO.class,contractAggregate); - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java deleted file mode 100644 index 893ca016..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.repository.contract; - -import com.seasky.core.common.Error; -import com.seasky.core.common.ResponseCode; -import com.seasky.core.ddd.base.BaseRepository; -import com.seasky.core.ddd.base.DomainKeysMap; -import com.seasky.core.exception.DataAccessException; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; -import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; -import com.seasky.seaskyocr.infrastructure.db.mapper.table.ContractMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Repository; - -/** - * @author xiaqihang - * @date 2021/9/18 16:05 - */ -@Repository -public class ContractRepositoryImpl extends BaseRepository<ContractAggregate> implements ContractRepository { - - @Autowired - ContractMapper contractMapper; - - @Override - protected Long baseSave(ContractAggregate aggregate) { - ContractPO contractPO = ContractConvert.contractAggToPo(aggregate); - if (contractPO.getId() == null){ - contractPO.prepareBeforeInsert(); - if (contractMapper.insert(contractPO) != 1){ - throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅鏂板澶辫触", "")); - } - }else{ - contractPO.prepareBeforeUpdate(); - if (contractMapper.updateById(contractPO) != 1){ - throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅淇敼澶辫触", "")); - } - } - return 1L; - } - - @Override - protected void duplicateSaveViolationSift(ContractAggregate aggregate) { - - } - - @Override - protected void integritySaveViolationSift(ContractAggregate aggregate) { - - } - - @Override - protected void baseRemove(ContractAggregate aggregate) { - - } - - @Override - protected void integrityRemoveViolationSift(ContractAggregate aggregate) { - - } - - @Override - public ContractAggregate queryByHashId(String hashId) { - ContractPO contractPO = contractMapper.queryByHashId(hashId); - return ContractConvert.contractPoToAgg(contractPO); - } - - @Override - public ContractAggregate findByDomainKey(DomainKeysMap domainKeysMap) { - return null; - } - - @Override - public Boolean isExistsByDomainKey(DomainKeysMap domainKeysMap) { - return null; - } - - @Override - public ContractAggregate findByPersistentId(Long aLong) { - return null; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java deleted file mode 100644 index 559c294c..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.repository.ocr; - -import com.seasky.core.ddd.utils.MapperUtils; -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; -import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author xiaqihang - * @date 2021/9/22 9:04 - */ -public class OcrConvert { - - public static BaseOcrAggregate buildBaseOcrAgg(OcrDo ocrDo){ - BaseOcrAggregate baseOcrAggregate = MapperUtils.INSTANCE.map(BaseOcrAggregate.class, ocrDo); - Map<String,String> body = new HashMap<>(6); - Map<String,String> head = new HashMap<>(6); - Map<String,Object> parameter = new HashMap<>(6); - ocrDo.getBodyPOList().forEach(i -> body.put(i.getBodyKey(),i.getBodyValue())); - ocrDo.getHeaderPOList().forEach(i -> head.put(i.getHeaderKey(),i.getHeaderValue())); - ocrDo.getParameterPOList().forEach(i -> parameter.put(i.getParameterKey(),i.getParameterValue())); - baseOcrAggregate.setBody(body); - baseOcrAggregate.setHead(head); - baseOcrAggregate.setParameter(parameter); - return baseOcrAggregate; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java index 41168a8d..37ca738c 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java @@ -2,10 +2,6 @@ package com.seasky.seaskyocr.infrastructure.repository.ocr; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; -import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; -import com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Repository; /** * ocr搴搃mpl @@ -13,39 +9,15 @@ import org.springframework.stereotype.Repository; * @author bandi * @date 2021/09/17 */ -@Repository public class OcrRepositoryImpl implements BaseOcrRepository { - - @Autowired - OcrMapper ocrMapper; - @Override public void save(BaseOcrAggregate baseOcrAggregate) { } - /** - * 鏌ヨocr鐨刬d - * - * @param id id - * @return {@link OcrDo} - */ @Override - public BaseOcrAggregate queryOcrDoById(Long id) { - OcrDo ocrDo = ocrMapper.queryOcrDoById(id); - return OcrConvert.buildBaseOcrAgg(ocrDo); - } + public void remove(Long id) { - /** - * 閫氳繃甯愭埛id鏌ヨocr id - * - * @param id id - * @return {@link Long} - */ - @Override - public Long queryOcrIdByAccountId(Long id) { - return ocrMapper.queryOcrIdByAccountId(id); } - } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java new file mode 100644 index 00000000..db9e9e8d --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java @@ -0,0 +1,35 @@ +package com.seasky.seaskyocr.infrastructure.repository.test; + + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.seaskyocr.domain.aggregate.test.TestAggregate; +import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrInfoPO; + +import java.util.HashMap; +import java.util.Map; + +/** + * 绀轰緥杞崲 + * + * @author XueYawei + * @date 2020/12/08 + */ +public class TestConvert { + + + /** + * 绀轰緥鑱氬悎鏍硅浆涓虹ず渚婸o绫� + * + * @param testAggregate 绀轰緥鑱氬悎鏍� + * @return {@link OcrInfoPO} + */ + public static OcrInfoPO TestAggregateToTestPo(TestAggregate testAggregate){ + //杞崲瀵瑰簲閿€糾ap + Map<String, String> map = new HashMap<>(3); + OcrInfoPO testPo = MapperUtils.INSTANCE.map(OcrInfoPO.class, testAggregate); + + return testPo; + } + + +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java new file mode 100644 index 00000000..dd953009 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java @@ -0,0 +1,16 @@ +package com.seasky.seaskyocr.infrastructure.repository.test; + + +import org.springframework.stereotype.Repository; + +/** + * 绀轰緥impl + * + * @author XueYawei + * @date 2020/12/07 + */ +@Repository +public class TestRepositoryImpl{ + + +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java deleted file mode 100644 index cdd04d62..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.seasky.seaskyocr.interfaces.controller; - -import com.seasky.core.common.ResponseCode; -import com.seasky.core.common.Result; -import com.seasky.seaskyocr.api.IContractController; -import com.seasky.seaskyocr.application.command.contract.ContractCmdService; -import com.seasky.seaskyocr.dto.contract.CreateContractCmd; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -import static com.seasky.core.common.Response.ok; - -/** - * @author xiaqihang - * @date 2021/9/18 10:17 - */ -@Api(tags = "鍚堝悓绠$悊") -@RestController -@RequestMapping("contractCtrl") -public class ContractController extends BaseController implements IContractController { - @Autowired - ContractCmdService contractCmdService; - - /** - * 浠栫殑鍚堝悓 - * - * @param file 鏂囦欢 - * @param createContractCmd 鍒涘缓鍚堝悓cmd - * @return {@link Result<String>} - */ - @ApiOperation("鍒涘缓鍚堝悓") - @Override - public Result<String> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { - return ok(ResponseCode.SUCCESS, contractCmdService.createContract(file, createContractCmd)); - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java deleted file mode 100644 index 2510c193..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.seasky.seaskyocr.interfaces.controller; - -import com.seasky.seaskyocr.api.IOcrController; -import com.seasky.seaskyocr.application.command.ocr.OcrCmdService; -import io.swagger.annotations.Api; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author xiaqihang - * @date 2021/9/18 16:46 - */ -@Api(tags = "ocr绠$悊") -@RestController -@RequestMapping("ocrCtrl") -public class OcrController extends BaseController implements IOcrController { - - @Autowired - private OcrCmdService ocrCmdService; -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java new file mode 100644 index 00000000..63e6515b --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java @@ -0,0 +1,102 @@ +package com.seasky.seaskyocr.interfaces.controller; + + +import com.seasky.core.common.ResponseCode; +import com.seasky.core.common.Result; +import com.seasky.seaskyocr.api.ITestController; +import com.seasky.seaskyocr.application.command.ocr.TestCmdService; +import com.seasky.seaskyocr.application.query.TestQueryService; +import com.seasky.seaskyocr.dto.ocr.TestCmd; +import com.seasky.seaskyocr.dto.ocr.TestQueryOut; +import com.seasky.seaskyocr.dto.ocr.TestQueryQry; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.List; + +import static com.seasky.core.common.Response.ok; + +/** + * 绀轰緥API + * + * @author XueYawei + * @date 2020/12/07 + */ +@RestController +@RequestMapping("test") +public class TestController extends BaseController implements ITestController { + + @Autowired + private TestCmdService testApplicationCmdService; + @Autowired + private TestQueryService testQueryService; + + /** + * 鏌ヨ绀轰緥 + * + * @param testQry + * @return {@link Result<TestQueryOut>} + */ + @Override + public Result<TestQueryOut> testQ(@RequestBody TestQueryQry testQry){ + return ok(ResponseCode.SUCCESS, testQueryService.queryTestList(testQry)); + } + + /** + * 瀵煎嚭 + * 涓巘estQ鍚屾牱鑾峰彇鏁版嵁,浣嗚浆鎹㈡垚涓嶅悓鏁版嵁鏍煎紡杩斿洖 + * + * @param testQry + * @return {@link ResponseEntity<byte[]>} + */ + @Override + public ResponseEntity<byte[]> testExcelExport(@RequestBody TestQueryQry testQry) throws UnsupportedEncodingException { + List<TestQueryOut> list = testQueryService.queryTestList(testQry); + + byte[] excelbyte = null; // 姝ゅ璋冪敤excel宸ュ叿绫昏浆鎴恊xcel + HttpHeaders header = new HttpHeaders(); + header.add("Content-Length", "0"); + header.add("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + URLEncoder.encode("xxxnanme", "UTF-8")); + return new ResponseEntity<>(excelbyte, header, HttpStatus.OK); + } + + /** + * 淇濆瓨鑽夌ǹ + * + * @param testCmd + * @return {@link Result<Long>} + */ + @Override + public Result<Long> testSave(TestCmd testCmd) { + return ok(ResponseCode.SUCCESS, testApplicationCmdService.SaveTest(testCmd)); + } + + /** + * 鎻愪氦 + * + * @param testCmd + * @return {@link Result<Long>} + */ + @Override + public Result<Long> testSubmit(TestCmd testCmd) { + return ok(ResponseCode.SUCCESS, testApplicationCmdService.SubmitTest(testCmd)); + } + + /** + * 淇濆瓨骞舵彁浜� + * + * @param testCmd + * @return {@link Result<Long>} + */ + @Override + public Result<Long> testSaveAndSubmit(TestCmd testCmd) { + return ok(ResponseCode.SUCCESS, testApplicationCmdService.SavaAndSubmitTest(testCmd)); + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java new file mode 100644 index 00000000..a39c490c --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java @@ -0,0 +1,65 @@ +package com.seasky.seaskyocr.interfaces.soap; + +import com.seasky.seaskyocr.api.ITestWebService; +import org.apache.cxf.Bus; +import org.apache.cxf.bus.spring.SpringBus; +import org.apache.cxf.jaxws.EndpointImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.xml.ws.Endpoint; + + +@Configuration +public class SOAPConfig { + @Autowired + private ITestWebService testWebServiceImpl; + + @Autowired + private ITestWebService test2WebServiceImpl; + + /** + * Apache CXF 鏍稿績鏋舵瀯鏄互BUS涓烘牳蹇冿紝鏁村悎鍏朵粬缁勪欢銆� + * Bus鏄疌XF鐨勪富骞�, 涓哄叡浜祫婧愭彁渚涗竴涓彲閰嶇疆鐨勫満鎵€锛屼綔鐢ㄧ被浼间簬Spring鐨凙pplicationContext锛岃繖浜涘叡浜祫婧愬寘鎷� + * WSDl绠$悊鍣ㄣ€佺粦瀹氬伐鍘傜瓑銆傞€氳繃瀵笲US杩涜鎵╁睍锛屽彲浠ユ柟渚垮湴瀹圭撼鑷繁鐨勮祫婧愶紝鎴栬€呮浛鎹㈢幇鏈夌殑璧勬簮銆傞粯璁us瀹炵幇鍩轰簬Spring鏋舵瀯锛� + * 閫氳繃渚濊禆娉ㄥ叆锛屽湪杩愯鏃跺皢缁勪欢涓茶仈璧锋潵銆侭usFactory璐熻矗Bus鐨勫垱寤恒€傞粯璁ょ殑BusFactory鏄疭pringBusFactory锛屽搴斾簬榛樿 + * 鐨凚us瀹炵幇銆傚湪鏋勯€犺繃绋嬩腑锛孲pringBusFactory浼氭悳绱ETA-INF/cxf锛堝寘鍚湪 CXF 鐨刯ar涓級涓嬬殑鎵€鏈塨ean閰嶇疆鏂囦欢銆� + * 鏍规嵁杩欎簺閰嶇疆鏂囦欢鏋勫缓涓€涓狝pplicationContext銆傚紑鍙戣€呬篃鍙互鎻愪緵鑷繁鐨勯厤缃枃浠舵潵瀹氬埗Bus銆� + */ + @Bean(name = Bus.DEFAULT_BUS_ID) + public SpringBus springBus() { + return new SpringBus(); + } + + /** + * 姝ゆ柟娉曚綔鐢ㄦ槸鏀瑰彉椤圭洰涓湇鍔″悕鐨勫墠缂€鍚嶏紝姝ゅ127.0.0.1鎴栬€卨ocalhost涓嶈兘璁块棶鏃讹紝璇蜂娇鐢╥pconfig鏌ョ湅鏈満ip鏉ヨ闂� + * 姝ゆ柟娉曡娉ㄩ噴鍚�, 鍗充笉鏀瑰彉鍓嶇紑鍚�(榛樿鏄痵ervices), wsdl璁块棶鍦板潃涓� http://127.0.0.1:8080/services/ws/api?wsdl + * 鍘绘帀娉ㄩ噴鍚巜sdl璁块棶鍦板潃涓猴細http://127.0.0.1:8080/soap/ws/api?wsdl + * http://127.0.0.1:8080/soap/鍒楀嚭鏈嶅姟鍒楄〃 鎴� http://127.0.0.1:8080/soap/ws/api?wsdl 鏌ョ湅瀹為檯鐨勬湇鍔� + * 鏂板缓Servlet璁板緱闇€瑕佸湪鍚姩绫绘坊鍔犳敞瑙o細@ServletComponentScan + * + * 濡傛灉鍚姩鏃跺嚭鐜伴敊璇細not loaded because DispatcherServlet Registration found non dispatcher servlet dispatcherServlet + * 鍙兘鏄痵pringboot涓巆fx鐗堟湰涓嶅吋瀹广€� + * 鍚屾椂鍦╯pring boot2.0.6涔嬪悗鐨勭増鏈笌xcf闆嗘垚锛屼笉闇€瑕佸湪瀹氫箟浠ヤ笅鏂规硶锛岀洿鎺ュ湪application.properties閰嶇疆鏂囦欢涓坊鍔狅細 + * cxf.path=/service锛堥粯璁ゆ槸services锛� + */ + //@Bean + //public ServletRegistrationBean dispatcherServlet() { + // return new ServletRegistrationBean(new CXFServlet(), "/soap/*"); + //} + + @Bean + public Endpoint testendpoint() { + EndpointImpl endpoint = new EndpointImpl(springBus(), testWebServiceImpl); + endpoint.publish("/ws/api"); + return endpoint; + } + + @Bean + public Endpoint test2endpoint() { + EndpointImpl endpoint = new EndpointImpl(springBus(), test2WebServiceImpl); + endpoint.publish("/ws/api2"); + return endpoint; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java new file mode 100644 index 00000000..f784a9cf --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java @@ -0,0 +1,26 @@ +package com.seasky.seaskyocr.interfaces.soap; + +import com.seasky.core.common.ResponseCode; +import com.seasky.core.common.Result; +import com.seasky.seaskyocr.api.ITestWebService; +import com.seasky.seaskyocr.application.query.TestQueryService; +import com.seasky.seaskyocr.dto.ocr.TestQueryOut; +import com.seasky.seaskyocr.dto.ocr.TestQueryQry; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.jws.WebService; +import static com.seasky.core.common.Response.ok; + +@Component +@WebService(name = "TestService", targetNamespace = "http://www.seaskysh.com", + endpointInterface = "com.seasky.dddtemplate.api.ITestWebService") +public class TestWebService implements ITestWebService { + @Autowired + private TestQueryService testQueryService; + + @Override + public Result<TestQueryOut> testQ(TestQueryQry testQry) { + return ok(ResponseCode.SUCCESS, testQueryService.queryTestList(testQry)); + } +} diff --git a/ServiceSite/src/main/resources/application-dev.properties b/ServiceSite/src/main/resources/application-dev.properties index 33fd3233..d7c63f5c 100644 --- a/ServiceSite/src/main/resources/application-dev.properties +++ b/ServiceSite/src/main/resources/application-dev.properties @@ -1,40 +1,40 @@ -#spring.redis.host=47.110.127.118 -#spring.redis.port=6379 -#spring.redis.password=123456 -#spring.redis.database=0 -#spring.redis.lettuce.pool.max-active=50 -#spring.redis.lettuce.pool.max-idle=20 -#spring.redis.lettuce.pool.min-idle=10 -#spring.redis.lettuce.pool.max-wait=5000 -#spring.redis.lettuce.pool.time-between-eviction-runs=600000 -# -#spring.datasource.druid.write.name=write -#spring.datasource.druid.write.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT -#spring.datasource.druid.write.username=root -#spring.datasource.druid.write.password=12345678 -#spring.datasource.druid.write.driver-class-name=com.mysql.cj.jdbc.Driver -#spring.datasource.druid.write.initial-size=1 -#spring.datasource.druid.write.min-idle=1 -#spring.datasource.druid.write.max-active=5 -#spring.datasource.druid.write.validation-query=SELECT 1 -#spring.datasource.druid.write.validation-query-timeout=1 -#spring.datasource.druid.write.test-while-idle=true -#spring.datasource.druid.write.test-on-borrow=true -#spring.datasource.druid.write.test-on-return=false -#spring.datasource.druid.write.keep-alive=true -#spring.datasource.druid.read.name=read -#spring.datasource.druid.read.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT -#spring.datasource.druid.read.username=root -#spring.datasource.druid.read.password=12345678 -#spring.datasource.druid.read.driver-class-name=com.mysql.cj.jdbc.Driver -#spring.datasource.druid.read.initial-size=1 -#spring.datasource.druid.read.min-idle=1 -#spring.datasource.druid.read.max-active=5 -#spring.datasource.druid.read.validation-query=SELECT 1 -#spring.datasource.druid.read.validation-query-timeout=1 -#spring.datasource.druid.read.test-while-idle=true -#spring.datasource.druid.read.test-on-borrow=true -#spring.datasource.druid.read.test-on-return=false -#spring.datasource.druid.read.keep-alive=true -# -# +spring.redis.host=47.110.127.118 +spring.redis.port=6379 +spring.redis.password=123456 +spring.redis.database=0 +spring.redis.lettuce.pool.max-active=50 +spring.redis.lettuce.pool.max-idle=20 +spring.redis.lettuce.pool.min-idle=10 +spring.redis.lettuce.pool.max-wait=5000 +spring.redis.lettuce.pool.time-between-eviction-runs=600000 + +spring.datasource.druid.write.name=write +spring.datasource.druid.write.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT +spring.datasource.druid.write.username=root +spring.datasource.druid.write.password=12345678 +spring.datasource.druid.write.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.druid.write.initial-size=1 +spring.datasource.druid.write.min-idle=1 +spring.datasource.druid.write.max-active=5 +spring.datasource.druid.write.validation-query=SELECT 1 +spring.datasource.druid.write.validation-query-timeout=1 +spring.datasource.druid.write.test-while-idle=true +spring.datasource.druid.write.test-on-borrow=true +spring.datasource.druid.write.test-on-return=false +spring.datasource.druid.write.keep-alive=true +spring.datasource.druid.read.name=read +spring.datasource.druid.read.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT +spring.datasource.druid.read.username=root +spring.datasource.druid.read.password=12345678 +spring.datasource.druid.read.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.druid.read.initial-size=1 +spring.datasource.druid.read.min-idle=1 +spring.datasource.druid.read.max-active=5 +spring.datasource.druid.read.validation-query=SELECT 1 +spring.datasource.druid.read.validation-query-timeout=1 +spring.datasource.druid.read.test-while-idle=true +spring.datasource.druid.read.test-on-borrow=true +spring.datasource.druid.read.test-on-return=false +spring.datasource.druid.read.keep-alive=true + + diff --git a/ServiceSite/src/main/resources/application.properties b/ServiceSite/src/main/resources/application.properties index 5799a02e..42e86f8d 100644 --- a/ServiceSite/src/main/resources/application.properties +++ b/ServiceSite/src/main/resources/application.properties @@ -1,34 +1,34 @@ -#spring.application.name=dddtemplate-provider +spring.application.name=dddtemplate-provider spring.profiles.active=@env@ -#server.port=8009 -#swagger.enable=true -# -#mybatis-plus.global-config.db-config.db-type=mysql -#mybatis-plus.global-config.db-config.id-type=assign_id -#mybatis-plus.global-config.db-config.logic-delete-field=available -#mybatis-plus.global-config.db-config.logic-delete-value='NO' -#mybatis-plus.global-config.db-config.logic-not-delete-value='YES' -#mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl -#mybatis-plus.configuration.call-setters-on-nulls=true -#mybatis-plus.configuration.cache-enabled=false -#mybatis-plus.configuration.default-enum-type-handler=org.apache.ibatis.type.EnumTypeHandler -# -#seasky.sessionTimeout=1800 -#seasky.redislockExpire=300 -#seasky.projectVersion=1.0.0 -#seasky.cacheName=redis -# -# -## 配置 DruidStatViewServlet -#spring.datasource.druid.stat-view-servlet.enabled=true -#spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* -## IP白名单(没有配置默认为127.0.0.1) -#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 -## IP黑名单 (存在共同时,deny优先于allow) -## spring.datasource.druid.deny=192.168.1.73 -## 禁用HTML页面上的“Reset All”功能 -#spring.datasource.druid.stat-view-servlet.reset-enable=false -## druid 监控平台登录名 -#spring.datasource.druid.stat-view-servlet.login-username=druid -## druid 监控平台登录密码 -#spring.datasource.druid.stat-view-servlet.login-password=druid +server.port=8009 +swagger.enable=true + +mybatis-plus.global-config.db-config.db-type=mysql +mybatis-plus.global-config.db-config.id-type=assign_id +mybatis-plus.global-config.db-config.logic-delete-field=available +mybatis-plus.global-config.db-config.logic-delete-value='NO' +mybatis-plus.global-config.db-config.logic-not-delete-value='YES' +mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl +mybatis-plus.configuration.call-setters-on-nulls=true +mybatis-plus.configuration.cache-enabled=false +mybatis-plus.configuration.default-enum-type-handler=org.apache.ibatis.type.EnumTypeHandler + +seasky.sessionTimeout=1800 +seasky.redislockExpire=300 +seasky.projectVersion=1.0.0 +seasky.cacheName=redis + + +# 配置 DruidStatViewServlet +spring.datasource.druid.stat-view-servlet.enabled=true +spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* +# IP白名单(没有配置默认为127.0.0.1) +spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 +# IP黑名单 (存在共同时,deny优先于allow) +# spring.datasource.druid.deny=192.168.1.73 +# 禁用HTML页面上的“Reset All”功能 +spring.datasource.druid.stat-view-servlet.reset-enable=false +# druid 监控平台登录名 +spring.datasource.druid.stat-view-servlet.login-username=druid +# druid 监控平台登录密码 +spring.datasource.druid.stat-view-servlet.login-password=druid diff --git a/ServiceSite/src/main/resources/bootstrap.yml b/ServiceSite/src/main/resources/bootstrap.yml index 3db553a6..7fd252b9 100644 --- a/ServiceSite/src/main/resources/bootstrap.yml +++ b/ServiceSite/src/main/resources/bootstrap.yml @@ -1,20 +1,20 @@ seasky: version: @version@ server: - port: 8019 + port: 8009 spring: main: allow-bean-definition-overriding: true application: - name: ocr-manage + name: dddtemplate-provider profiles: active: dev cloud: nacos: discovery: - server-addr: 192.168.2.10:8848 + server-addr: 192.168.1.80:8848 config: - server-addr: 192.168.2.10:8848 + server-addr: 192.168.1.80:8848 file-extension: properties inetutils: preferred-networks: diff --git a/ServiceSite/src/test/java/com/seasky/seaskyocr/interfaces/controller/test/TestControllerTest.java b/ServiceSite/src/test/java/com/seasky/seaskyocr/interfaces/controller/test/TestControllerTest.java new file mode 100644 index 00000000..08ba8ec5 --- /dev/null +++ b/ServiceSite/src/test/java/com/seasky/seaskyocr/interfaces/controller/test/TestControllerTest.java @@ -0,0 +1,65 @@ +package com.seasky.seaskyocr.interfaces.controller.test; + +import com.seasky.core.ddd.test.PoAssertions; +import com.seasky.seaskyocr.application.command.ocr.TestCmdService; +import com.seasky.seaskyocr.application.query.TestQueryService; +import com.seasky.seaskyocr.dto.ocr.TestQueryOut; +import com.seasky.seaskyocr.infrastructure.db.mapper.table.AccountMapper; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.Rollback; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.*; + +@SpringBootTest +@Transactional +@Rollback +class TestControllerTest { + + @Autowired + private TestCmdService testCmdService; + @Autowired + private TestQueryService testQueryService; + + @Autowired + AccountMapper accountMapper; + + @ParameterizedTest + @MethodSource("getTCStream") + void testC(TestCmdTc testCase) { + if(testCase.getIsPositiveCase()){//鏄惁涓烘甯稿叆鍙傚璞� + testCmdService.SaveTest(testCase.getCmdParam()); + }else {//寮傚父鍏ュ弬瀵硅薄鎵ц + assertThrows(testCase.getExpectExceptionType().getClass(), + ()->testCmdService.SaveTest(testCase.getCmdParam()),testCase.getFlag()); + } + + //楠岃瘉 浠ヤ笂鎺ュ彛鏄惁鎵ц鎴愬姛 + System.out.println(testCase.getFlag()); + testCase.getExceptTestPoList().forEach((key,value)->{ + PoAssertions.assertRecordCount(key, accountMapper,value,testCase.getFlag()); + }); + + } + static Stream<TestCmdTc> getTCStream(){ + return TestCmdFactory.getTCStream(); + } + + + @ParameterizedTest + @MethodSource("getTCQryStream") + void testQ(TestQueryTc testCase) { + List<TestQueryOut> outList = testQueryService.queryTestList(testCase.getQryParam()); + System.out.println("----杩斿洖杈撳嚭-------------========>>>"+outList.size()+"========="+outList); + //楠岃瘉杩斿洖鏉℃暟涓庢湡鏈涜繑鍥炴潯鏁版槸鍚︿竴鑷� + System.out.println(testCase.getFlag()); + assertEquals(outList.size(),testCase.getExpectCount()); + } + static Stream<TestQueryTc> getTCQryStream(){return TestQueryTcFactory.getTCQryStream();} +} \ No newline at end of file -- GitLab From 448b0619f51255574695e163da87648616c44f58 Mon Sep 17 00:00:00 2001 From: xiaqihang <xiaqihang@seaskysh.com> Date: Thu, 23 Sep 2021 09:37:10 +0800 Subject: [PATCH 6/8] Revert "Revert "Merge branch 'xiaqihang' into 'master'"" This reverts commit 413ef4ed7cabdc6714dbb0a70577639a0e97d5f9. --- ServiceSite/facade/pom.xml | 6 +- .../seaskyocr/api/IContractController.java | 27 ++++ .../seasky/seaskyocr/api/IOcrController.java | 8 + .../seasky/seaskyocr/api/ITestController.java | 41 ----- .../dto/contract/ContractRequestCmd.java | 24 +++ .../dto/contract/CreateContractCmd.java | 29 ++++ .../seasky/seaskyocr/enums/MethodEnum.java | 26 +++- .../seasky/seaskyocr/enums/SupplierEnum.java | 24 +++ ServiceSite/pom.xml | 5 + .../src/main/java/com/seasky/Application.java | 6 +- .../{account => assembler}/TestAssembler.java | 2 +- .../contract/HeHeContractAssembler.java | 15 ++ .../command/contract/ContractCmdService.java | 20 +++ .../contract/ContractCmdServiceImpl.java | 55 +++++++ .../command/ocr/OcrCmdService.java | 8 + ...erviceImpl.java => OcrCmdServiceImpl.java} | 7 +- .../command/ocr/TestCmdService.java | 5 - .../aggregate/account/AccountRepository.java | 16 ++ .../aggregate/ocr/BaseOcrAggregate.java | 8 +- .../aggregate/ocr/BaseOcrRepository.java | 14 +- ...te.java => BaseOcrImplementAggregate.java} | 5 +- .../contract/ContractAggregate.java | 78 ++++++++++ .../contract/ContractRepository.java | 22 +++ .../ocrimplement/contract/ContractVO.java | 49 ++++++ .../domain/service/BaseOcrDomainSvr.java | 11 -- .../domain/service/FlowDomainServiceImpl.java | 17 -- .../OcrFactory/Product/IHeHeProduct.java | 33 ---- .../ProductImpl/AliProductImpl.java | 23 --- .../ProductImpl/HeHeProductImpl.java | 22 --- .../domain/service/ocr/OcrDomainService.java | 8 + .../service/ocr/OcrDomainServiceImpl.java | 11 ++ .../IOcrFactory.java | 6 +- .../OcrFactory.java | 8 +- .../Product/IAliProduct.java | 8 +- .../ocrFactory/Product/IHeHeProduct.java | 39 +++++ .../ProductImpl/AliProductImpl.java | 25 +++ .../ProductImpl/HeHeProductImpl.java | 145 ++++++++++++++++++ .../infrastructure/dataobject/co/OcrDo.java | 43 ++++++ .../infrastructure/dataobject/po/CardPO.java | 4 - .../dataobject/po/contract/ContractPO.java | 60 ++++++++ .../dataobject/po/ocr/OcrBodyPO.java | 30 ++++ .../dataobject/po/ocr/OcrHeaderPO.java | 30 ++++ .../dataobject/po/ocr/OcrPO.java | 36 +++++ .../dataobject/po/ocr/OcrParameterPO.java | 30 ++++ .../db/mapper/table/ContractMapper.java | 22 +++ .../db/mapper/table/OcrMapper.java | 29 ++++ .../db/mapper/xml/ContractMapper.xml | 14 ++ .../db/mapper/xml/OcrMapper.xml | 69 +++++++++ .../repository/contract/ContractConvert.java | 32 ++++ .../contract/ContractRepositoryImpl.java | 82 ++++++++++ .../repository/ocr/OcrConvert.java | 29 ++++ .../repository/ocr/OcrRepositoryImpl.java | 30 +++- .../repository/test/TestConvert.java | 35 ----- .../repository/test/TestRepositoryImpl.java | 16 -- .../controller/ContractController.java | 42 +++++ .../interfaces/controller/OcrController.java | 21 +++ .../interfaces/controller/TestController.java | 102 ------------ .../seaskyocr/interfaces/soap/SOAPConfig.java | 65 -------- .../interfaces/soap/TestWebService.java | 26 ---- .../main/resources/application-dev.properties | 80 +++++----- .../src/main/resources/application.properties | 66 ++++---- ServiceSite/src/main/resources/bootstrap.yml | 8 +- .../controller/test/TestControllerTest.java | 65 -------- 63 files changed, 1352 insertions(+), 570 deletions(-) create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java delete mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java create mode 100644 ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/{account => assembler}/TestAssembler.java (63%) create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/{TestCmdServiceImpl.java => OcrCmdServiceImpl.java} (50%) delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountRepository.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/{OcrImplementAggregate.java => BaseOcrImplementAggregate.java} (73%) create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/BaseOcrDomainSvr.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/FlowDomainServiceImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{OcrFactory => ocrFactory}/IOcrFactory.java (68%) rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{OcrFactory => ocrFactory}/OcrFactory.java (65%) rename ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/{OcrFactory => ocrFactory}/Product/IAliProduct.java (50%) create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/CardPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java delete mode 100644 ServiceSite/src/test/java/com/seasky/seaskyocr/interfaces/controller/test/TestControllerTest.java diff --git a/ServiceSite/facade/pom.xml b/ServiceSite/facade/pom.xml index f591031d..f0275bf6 100644 --- a/ServiceSite/facade/pom.xml +++ b/ServiceSite/facade/pom.xml @@ -3,10 +3,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.seasky</groupId> - <artifactId>dddtemplate-api</artifactId> + <artifactId>seasky-ocr-api</artifactId> <version>0.0.1-SNAPSHOT</version> - <name>dddtemplate-api</name> - <description>dddtemplate-api project for dddtemplate</description> + <name>seasky-ocr-api</name> + <description>seasky-ocr-api project for dddtemplate</description> <properties> <java.version>1.8</java.version> diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java new file mode 100644 index 00000000..aea52749 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java @@ -0,0 +1,27 @@ +package com.seasky.seaskyocr.api; + +import com.seasky.core.common.Result; +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartFile; + + +/** + * @author xiaqihang + * @date 2021/9/18 10:18 + */ +@RequestMapping("contract") +public interface IContractController { + + /** + * 浠栫殑鍚堝悓 + * 鍒涘缓浠栫殑鍚堝悓 + * + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @param file 鏂囦欢 + * @return {@link Result<String>} + */ + @PostMapping(path = "HeHeContract") + Result<String> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java new file mode 100644 index 00000000..0c726c50 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java @@ -0,0 +1,8 @@ +package com.seasky.seaskyocr.api; + +/** + * @author xiaqihang + * @date 2021/9/18 16:46 + */ +public interface IOcrController { +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java deleted file mode 100644 index c48edbf0..00000000 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/ITestController.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.seasky.seaskyocr.api; - -import com.seasky.core.common.Result; -import com.seasky.seaskyocr.dto.ocr.TestCmd; -import com.seasky.seaskyocr.dto.ocr.TestQueryOut; -import com.seasky.seaskyocr.dto.ocr.TestQueryQry; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; - -import java.io.UnsupportedEncodingException; - -@FeignClient("dddtemplate-provider") -@RequestMapping("test") -@Api("Test") -public interface ITestController { - - @ApiOperation("1.testQ") - @PostMapping(path = "/pc/v1/queryList") - Result<TestQueryOut> testQ(@RequestBody TestQueryQry testQry); - - @ApiOperation("2.testExport") - @PostMapping(path = "/pc/v1/export") - ResponseEntity<byte[]> testExcelExport(@RequestBody TestQueryQry testQry) throws UnsupportedEncodingException; - - @ApiOperation("3.testSave") - @PostMapping(path = "/pc/v1/save") - Result<Long> testSave(@RequestBody TestCmd testCmd); - - @ApiOperation("4.testSubmit") - @PostMapping(path = "/pc/v1/submit") - Result<Long> testSubmit(@RequestBody TestCmd testCmd); - - @ApiOperation("5.testSaveAndSubmit") - @PostMapping(path = "/pc/v1/saveandsubmit") - Result<Long> testSaveAndSubmit(@RequestBody TestCmd testCmd); -} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java new file mode 100644 index 00000000..6ec90672 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/ContractRequestCmd.java @@ -0,0 +1,24 @@ +package com.seasky.seaskyocr.dto.contract; + +import com.seasky.core.ddd.base.BaseDto; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 10:15 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ContractRequestCmd extends BaseDto { + + private String body; + + private String head; + + private String parameter; +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java new file mode 100644 index 00000000..8438eac0 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/contract/CreateContractCmd.java @@ -0,0 +1,29 @@ +package com.seasky.seaskyocr.dto.contract; + +import com.seasky.core.ddd.base.BaseDto; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * @author xiaqihang + * @date 2021/9/18 10:10 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CreateContractCmd extends BaseDto { + + private Long accountId; + + private String methodEnum; + + private String supplierEnum; + + private List<String> addField; +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java index 0d9172fe..de49ff6d 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/MethodEnum.java @@ -1,4 +1,28 @@ package com.seasky.seaskyocr.enums; -public class MethodEnum { +/** + * 鏂规硶鏋氫妇 + * + * @author xiaqihang + * @date 2021/09/18 + */ +public enum MethodEnum { + + 鍚堝悓("鍚堝悓","1"); + + final String k; + final String v; + + MethodEnum(final String k,final String v) { + this.k = k; + this.v = v; + } + + public String val() { + return v; + } + + public String key() { + return k; + } } diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java index 1538afed..1471d5db 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/enums/SupplierEnum.java @@ -1,4 +1,28 @@ package com.seasky.seaskyocr.enums; +/** + * 渚涘簲鍟嗘灇涓� + * + * @author xiaqihang + * @date 2021/09/18 + */ public enum SupplierEnum { + + 鍚堝悎("鍚堝悎","1"); + + final String k; + final String v; + + SupplierEnum(final String k,final String v) { + this.k = k; + this.v = v; + } + + public String val() { + return v; + } + + public String key() { + return k; + } } diff --git a/ServiceSite/pom.xml b/ServiceSite/pom.xml index 9de4d664..3ffac870 100644 --- a/ServiceSite/pom.xml +++ b/ServiceSite/pom.xml @@ -71,6 +71,11 @@ <artifactId>core</artifactId> <version>1.4.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>com.seasky</groupId> + <artifactId>seasky-ocr-api</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> <dependency> <groupId>com.seasky</groupId> <artifactId>dddtemplate-api</artifactId> diff --git a/ServiceSite/src/main/java/com/seasky/Application.java b/ServiceSite/src/main/java/com/seasky/Application.java index a3456b84..89aa62c5 100644 --- a/ServiceSite/src/main/java/com/seasky/Application.java +++ b/ServiceSite/src/main/java/com/seasky/Application.java @@ -10,13 +10,9 @@ import org.springframework.scheduling.annotation.EnableAsync; /*** * @author bandi * */ -@SpringBootApplication +@SpringBootApplication(exclude = {org.apache.shiro.spring.boot.autoconfigure.ShiroAnnotationProcessorAutoConfiguration.class}) @EnableAspectJAutoProxy(exposeProxy = true) @EnableDiscoveryClient -@EnableFeignClients(basePackages = { - "com.seasky.some-api" - ,"com.seasky.other-api" -}) @EnableAsync public class Application { diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java similarity index 63% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java index d5f1bfdb..9bb1db82 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/account/TestAssembler.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/TestAssembler.java @@ -1,4 +1,4 @@ -package com.seasky.seaskyocr.application.command.account; +package com.seasky.seaskyocr.application.command.assembler; /** diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java new file mode 100644 index 00000000..bcf498a1 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/contract/HeHeContractAssembler.java @@ -0,0 +1,15 @@ +package com.seasky.seaskyocr.application.command.assembler.contract; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractVO; +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; + +/** + * @author xiaqihang + * @date 2021/9/18 11:02 + */ +public class HeHeContractAssembler { + + public static ContractVO buildHeHeVo(CreateContractCmd heHeContractCmd){ + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java new file mode 100644 index 00000000..fab84bd3 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java @@ -0,0 +1,20 @@ +package com.seasky.seaskyocr.application.command.contract; + +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author xiaqihang + * @date 2021/9/18 10:32 + */ +public interface ContractCmdService { + + /** + * 鍒涘缓鍚堝悓 + * + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @param file 鏂囦欢 + * @return {@link String} + */ + String createContract(MultipartFile file, CreateContractCmd createContractCmd); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java new file mode 100644 index 00000000..1f710d9a --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java @@ -0,0 +1,55 @@ +package com.seasky.seaskyocr.application.command.contract; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; +import com.seasky.seaskyocr.domain.service.ocrFactory.IOcrFactory; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import com.seasky.seaskyocr.enums.SupplierEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import sun.misc.BASE64Encoder; + +import java.io.IOException; + +/** + * @author xiaqihang + * @date 2021/9/18 10:34 + */ +@Service +public class ContractCmdServiceImpl implements ContractCmdService { + + @Autowired + IOcrFactory iOcrFactory; + + /** + * 鍒涘缓鍚堝悓 + * + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @param file 鏂囦欢 + * @return {@link String} + */ + @Override + public String createContract(MultipartFile file, CreateContractCmd createContractCmd) { + try { + byte[] bytes = file.getBytes(); + String encode = new BASE64Encoder().encode(bytes); + String hashId = String.valueOf(encode.hashCode()); + if (createContractCmd.getSupplierEnum().equals(SupplierEnum.鍚堝悎.val())){ + IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); + //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId + ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); + if (contractAggregate != null){ + //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� contractAggregate杞琌ut + return null; + } + ContractAggregate aggregate = ContractAggregate.builder().build(); + aggregate.create(createContractCmd.getAccountId(),file,createContractCmd.getAddField()); + heHeProduct.getContract(aggregate); + } + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java new file mode 100644 index 00000000..20c3d3e3 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdService.java @@ -0,0 +1,8 @@ +package com.seasky.seaskyocr.application.command.ocr; + +/** + * @author xiaqihang + * @date 2021/9/18 16:48 + */ +public interface OcrCmdService { +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java similarity index 50% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java index 4a54650d..8199f11b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/OcrCmdServiceImpl.java @@ -2,7 +2,10 @@ package com.seasky.seaskyocr.application.command.ocr; import org.springframework.stereotype.Service; +/** + * @author xiaqihang + * @date 2021/9/18 16:48 + */ @Service -public class TestCmdServiceImpl implements TestCmdService { - +public class OcrCmdServiceImpl implements OcrCmdService{ } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java deleted file mode 100644 index 2d11dba0..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/ocr/TestCmdService.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.seasky.seaskyocr.application.command.ocr; - -public interface TestCmdService { - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountRepository.java new file mode 100644 index 00000000..db04fe62 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountRepository.java @@ -0,0 +1,16 @@ +package com.seasky.seaskyocr.domain.aggregate.account; + +/** + * 璐︽埛瀛樺偍搴� + * + * @author bandi + * @date 2021/09/17 + */ +public interface AccountRepository { + /** + * 淇濆瓨 + * + * @param accountAggregate 璐︽埛鎬� + */ + void save(AccountAggregate accountAggregate); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java index 639be2aa..36c7144b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java @@ -2,8 +2,10 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; import com.seasky.seaskyocr.enums.MethodEnum; import com.seasky.seaskyocr.enums.SupplierEnum; +import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; @@ -15,19 +17,21 @@ import java.util.Map; */ @Data @Builder +@AllArgsConstructor +@NoArgsConstructor public class BaseOcrAggregate { private Long id; private String name; private String appKey; private String secret; private String url; - private String contentType; +// private String contentType; private SupplierEnum supplierEnum; private MethodEnum methodEnum; private Map<String,String> body; private Map<String,String> head; - private Map<String,String> parameter; + private Map<String,Object> parameter; public void updateAgg(BaseOcrVO vo){ //todo 鎵€鏈夊睘鎬ц祴鍊� diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java index b00919c7..8b2e927b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java @@ -1,5 +1,7 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; + /** * 鍩虹ocr搴� * @@ -17,11 +19,19 @@ public interface BaseOcrRepository { void save(BaseOcrAggregate baseOcrAggregate); /** - * 鍒犻櫎 + * 鏌ヨocr鐨刬d * * @param id id + * @return {@link OcrDo} */ - void remove(Long id); + BaseOcrAggregate queryOcrDoById(Long id); + /** + * 閫氳繃甯愭埛id鏌ヨocr id + * + * @param id id + * @return {@link Long} + */ + Long queryOcrIdByAccountId(Long id); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/OcrImplementAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/BaseOcrImplementAggregate.java similarity index 73% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/OcrImplementAggregate.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/BaseOcrImplementAggregate.java index 1eae551e..489f67db 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/OcrImplementAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/BaseOcrImplementAggregate.java @@ -8,7 +8,10 @@ import com.seasky.core.ddd.base.BaseAggregate; * @author bandi * @date 2021/09/17 */ -public class OcrImplementAggregate extends BaseAggregate { +public class BaseOcrImplementAggregate extends BaseAggregate { + + public String hashId; + @Override protected String iniDescribeName() { return null; diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java new file mode 100644 index 00000000..595c8f0b --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java @@ -0,0 +1,78 @@ +package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; +import lombok.Builder; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * 鍚堝悓鎬� + * + * @author bandi + * @date 2021/09/17 + */ +@Builder +@Data +public class ContractAggregate extends BaseOcrImplementAggregate { + + /** + * 鍚堝悓id + */ + private Long id; + + /** + * 璐︽埛id + */ + private Long accountId; + + /** + * 鍚堝悓鍚嶇О + */ + private String contractName; + + /** + * 鍚堝悓缂栧彿 + */ + private String contractCode; + + /** + * 鍐呭 + */ + private String content; + + /** + * 鏂囦欢 + */ + private MultipartFile file; + + /** + * 瑕佹煡璇㈢殑瀛楁 + */ + private List<String> addField; + + /** + * 鍒涘缓鍚堝悓 + * + * @param accountId 甯愭埛id + */ + public void create(Long accountId, MultipartFile file, List<String> addField){ + this.accountId = accountId; + this.file = file; + this.addField = addField; + } + + /** + * 淇敼鍚堝悓 + * + * @param contractVO 鍚堝悓绛捐瘉瀹� + */ + public void modify(ContractVO contractVO){ + this.contractName = contractVO.getContractName(); + this.contractCode = contractVO.getContractCode(); + this.hashId = contractVO.getHashId(); + this.content = contractVO.getContent(); + } + +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java new file mode 100644 index 00000000..6aaa8022 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java @@ -0,0 +1,22 @@ +package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; + +import com.seasky.core.ddd.base.DddRepository; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; + +/** + * 鍩虹ocr搴� + * + * @author bandi + * @date 2021/09/14 + */ +public interface ContractRepository extends DddRepository<ContractAggregate> { + + /** + * 鏌ヨ閫氳繃鏁e垪id + * + * @param hashId 鏁e垪id + * @return {@link ContractAggregate} + */ + ContractAggregate queryByHashId(String hashId); + +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java new file mode 100644 index 00000000..e2f0d7a7 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java @@ -0,0 +1,49 @@ +package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 鍚堝悓绛捐瘉瀹� + * + * @author bandi + * @date 2021/09/17 + */ +@Builder +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ContractVO { + + /** + * 鍚堝悓id + */ + private Long id; + + /** + * 璐︽埛id + */ + private Long accountId; + + /** + * 鏁e垪id + */ + private String hashId; + + /** + * 鍚堝悓浠g爜 + */ + private String contractCode; + + /** + * 鍚堝悓鍚嶇О + */ + private String contractName; + + /** + * 鍐呭 + */ + private String content; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/BaseOcrDomainSvr.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/BaseOcrDomainSvr.java deleted file mode 100644 index 32ecdd85..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/BaseOcrDomainSvr.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.seasky.seaskyocr.domain.service; - -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; - -public interface BaseOcrDomainSvr<T extends BaseOcrAggregate> { - - String ocr(T agg); - - - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/FlowDomainServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/FlowDomainServiceImpl.java deleted file mode 100644 index 8c3d9136..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/FlowDomainServiceImpl.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.seasky.seaskyocr.domain.service; - -import com.seasky.seaskyocr.domain.event.DeleteTestEvent; -import org.springframework.context.event.EventListener; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Service; - -@Service -public class FlowDomainServiceImpl { - - @EventListener - @Order(0) - public void deleteTestVerify(DeleteTestEvent event) { - // 杩涜鍒犻櫎test鐨勬牎楠� - System.out.println("娴佺▼鏀跺埌鍒犻櫎浜嬩欢锛屽弬鏁�:" + event.getSource());//鑾峰彇鍙傛暟 - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java deleted file mode 100644 index 504dde3b..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IHeHeProduct.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory.Product; - -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.OcrImplementAggregate; -import lombok.Builder; -import lombok.Data; - -/** - * iocr宸ュ巶 - * - * @author bandi - * @date 2021/09/17 - */ - - public interface IHeHeProduct { - - /** - * 鑾峰緱浠ょ墝 - * - * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� - * @return {@link String} - */ - public String getToken(OcrImplementAggregate ocrImplementAggregate); - - - /** - * 鍏夊瀛楃璇嗗埆 - * - * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� - * @return {@link String} - */ - public String ocr(OcrImplementAggregate ocrImplementAggregate); -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java deleted file mode 100644 index 07651089..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/AliProductImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory.ProductImpl; - -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.OcrImplementAggregate; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; - - -/** - * 闃块噷浜у搧impl - * - * @author bandi - * @date 2021/09/17 - */ -class AliProductImpl implements IAliProduct { - @Override - public String getToken(OcrImplementAggregate ocrImplementAggregate) { - return null; - } - - @Override - public String ocr(OcrImplementAggregate ocrImplementAggregate) { - return null; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java deleted file mode 100644 index 69b16fad..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/ProductImpl/HeHeProductImpl.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory.ProductImpl; - -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.OcrImplementAggregate; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; - -/** - * 鍚堝悎浜у搧impl - * - * @author bandi - * @date 2021/09/17 - */ -class HeHeProductImpl implements IHeHeProduct { - @Override - public String getToken(OcrImplementAggregate ocrImplementAggregate) { - return null; - } - - @Override - public String ocr(OcrImplementAggregate ocrImplementAggregate) { - return null; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java new file mode 100644 index 00000000..c624918a --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainService.java @@ -0,0 +1,8 @@ +package com.seasky.seaskyocr.domain.service.ocr; + +/** + * @author xiaqihang + * @date 2021/9/18 16:56 + */ +public interface OcrDomainService { +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java new file mode 100644 index 00000000..49238c67 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocr/OcrDomainServiceImpl.java @@ -0,0 +1,11 @@ +package com.seasky.seaskyocr.domain.service.ocr; + +import org.springframework.stereotype.Service; + +/** + * @author xiaqihang + * @date 2021/9/18 16:57 + */ +@Service +public class OcrDomainServiceImpl implements OcrDomainService{ +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java similarity index 68% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java index af406b7b..e26e9f71 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/IOcrFactory.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/IOcrFactory.java @@ -1,7 +1,7 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory; +package com.seasky.seaskyocr.domain.service.ocrFactory; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; /** * iocr宸ュ巶 diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java similarity index 65% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java index fdd2e3c6..42324c2a 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/OcrFactory.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/OcrFactory.java @@ -1,7 +1,8 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory; +package com.seasky.seaskyocr.domain.service.ocrFactory; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IAliProduct; -import com.seasky.seaskyocr.domain.service.OcrFactory.Product.IHeHeProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; +import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -11,6 +12,7 @@ import javax.annotation.Resource; * @author bandi * @date 2021/09/17 */ +@Component public class OcrFactory implements IOcrFactory { @Resource diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java similarity index 50% rename from ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java rename to ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java index adbaeaaf..f3d5ea81 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/OcrFactory/Product/IAliProduct.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IAliProduct.java @@ -1,6 +1,6 @@ -package com.seasky.seaskyocr.domain.service.OcrFactory.Product; +package com.seasky.seaskyocr.domain.service.ocrFactory.Product; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.OcrImplementAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; public interface IAliProduct { /** @@ -9,7 +9,7 @@ public interface IAliProduct { * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� * @return {@link String} */ - public String getToken(OcrImplementAggregate ocrImplementAggregate); + public String getToken(BaseOcrImplementAggregate ocrImplementAggregate); /** @@ -18,5 +18,5 @@ public interface IAliProduct { * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� * @return {@link String} */ - public String ocr(OcrImplementAggregate ocrImplementAggregate); + public String ocr(BaseOcrImplementAggregate ocrImplementAggregate); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java new file mode 100644 index 00000000..00c0212f --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java @@ -0,0 +1,39 @@ +package com.seasky.seaskyocr.domain.service.ocrFactory.Product; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; + +/** + * iocr宸ュ巶 + * + * @author bandi + * @date 2021/09/17 + */ + + public interface IHeHeProduct { + + /** + * 鑾峰緱浠ょ墝 + * + * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� + * @return {@link String} + */ + String getToken(BaseOcrImplementAggregate ocrImplementAggregate); + + + /** + * 寰楀埌鍚堝悓 + * + * @param contractAggregate 鍚堝悓鎬� + * @return {@link String} + */ + String getContract(ContractAggregate contractAggregate); + + /** + * 鏌ヨ閫氳繃鏁e垪id + * + * @param hashId 鏁e垪id + * @return {@link ContractAggregate} + */ + ContractAggregate queryByHashId(String hashId); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java new file mode 100644 index 00000000..d2d94048 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/AliProductImpl.java @@ -0,0 +1,25 @@ +package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; + +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IAliProduct; +import org.springframework.stereotype.Service; + + +/** + * 闃块噷浜у搧impl + * + * @author bandi + * @date 2021/09/17 + */ +@Service +class AliProductImpl implements IAliProduct { + @Override + public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { + return null; + } + + @Override + public String ocr(BaseOcrImplementAggregate ocrImplementAggregate) { + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java new file mode 100644 index 00000000..df4fe760 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java @@ -0,0 +1,145 @@ +package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; +import com.seasky.core.exception.DataAccessException; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractVO; +import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.codec.binary.StringUtils; +import org.apache.http.HttpEntity; +import org.apache.http.HttpStatus; +import org.apache.http.StatusLine; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.omg.IOP.Encoding; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.Map; +import org.springframework.util.ObjectUtils; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +/** + * 鍚堝悎浜у搧impl + * + * @author bandi + * @date 2021/09/17 + */ +@Service +class HeHeProductImpl implements IHeHeProduct { + + @Autowired + ContractRepository contractRepository; + @Autowired + BaseOcrRepository ocrRepository; + + @Override + public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { + return null; + } + + @Override + public String getContract(ContractAggregate contractAggregate) { + byte[] bytes = new byte[0]; + try { + bytes = contractAggregate.getFile().getBytes(); + } catch (IOException e) { + e.printStackTrace(); + } + String encode = Base64.encodeBase64String(bytes); +// Long ocrId = ocrRepository.queryOcrIdByAccountId(contractAggregate.getAccountId()); +// if (ocrId == null){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "涓嶅瓨鍦ㄤ笌璇ョ敤鎴风浉鍏宠仈鐨凮cr", "")); +// } +// BaseOcrAggregate baseOcrAggregate = ocrRepository.queryOcrDoById(ocrId); +// if (baseOcrAggregate == null){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鏌ヨ涓嶅埌鐩稿叧Ocr淇℃伅", "")); +// } +// Map<String, String> head = baseOcrAggregate.getHead(); +// head.put("app-key","18de35986509e69f1a93f5907ecdac4f"); +// head.put("app-secret","36b0d46acf9dd9e18665a40438d6ce77"); +// Map<String, Object> parameter = new HashMap<>(); +// //TODO 淇敼鍙傛暟key +//// String configuredKeys = parameter.get("4").toString(); +//// contractAggregate.getAddField().add(configuredKeys); +// parameter.put("configuredKeys",contractAggregate.getAddField()); +// parameter.put("filedata",encode); +// parameter.put("filename",contractAggregate.getFile().getOriginalFilename()); +// String jsonString = JSON.toJSONString(parameter); +// String httpPost = sendPost(baseOcrAggregate.getUrl(), jsonString, head); +// if (ObjectUtils.isEmpty(httpPost)){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "OCR鍥剧墖璇嗗埆澶辫触", "")); +// } +// String jsonUrl = JSONObject.parseObject(httpPost).getJSONObject("result").get("json_url").toString(); + String jsonUrl = "https://doc-compare.intsig.com/doc_extraction/keyinfo/result?format=json&task_id=269e75f120b7ac27142456673978971a"; + String result = sendPost(jsonUrl, null, null); + String content = JSONObject.parseObject(result).getJSONObject("result").get("customize_keys").toString(); + System.out.println(JSONObject.parseObject(result).getJSONObject("result").get("stdandard_keys").toString()); + String contractCode = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓缂栧彿").toString(); + String contractName = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓鍚嶇О").toString(); + String hashId = String.valueOf(encode.hashCode()); + ContractVO contractVO = ContractVO.builder().accountId(contractAggregate.getAccountId()).content(content).contractCode(contractCode).contractName(contractName).hashId(hashId).build(); + contractAggregate.modify(contractVO); + contractRepository.save(contractAggregate); + return content; + } + + /** + * 鏌ヨ閫氳繃鏁e垪id + * + * @param hashId 鏁e垪id + * @return {@link ContractAggregate} + */ + @Override + public ContractAggregate queryByHashId(String hashId){ + return contractRepository.queryByHashId(hashId); + } + + /** + * get http post + * + * @param url url + * @param jsonData json鏁版嵁 + * @return {@link String} + */ + private String sendPost(String url, String jsonData, Map<String,String> header) { + String result =""; + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(url); + if (header != null){ + header.forEach((key,value) -> httpPost.setHeader(key, value)); + } + if (jsonData != null){ + StringEntity entity = new StringEntity(jsonData, "UTF-8"); + httpPost.setEntity(entity); + } + CloseableHttpResponse response = null; + try { + response = httpclient.execute(httpPost); + StatusLine status = response.getStatusLine(); + if (status.getStatusCode() == HttpStatus.SC_OK) { + HttpEntity responseEntity = response.getEntity(); + result = EntityUtils.toString(responseEntity); + } + } + catch (IOException e) { + e.printStackTrace(); + } + return result; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java new file mode 100644 index 00000000..b3c531b1 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java @@ -0,0 +1,43 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.co; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO; +import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrHeaderPO; +import com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrParameterPO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author xiaqihang + * @date 2021/9/18 17:00 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class OcrDo { + + private Long id; + + private String name; + + private String appKey; + + private String secret; + + private String url; + + private String supplierEnum; + + private String methodEnum; + + private List<OcrBodyPO> bodyPOList; + + private List<OcrHeaderPO> headerPOList; + + private List<OcrParameterPO> parameterPOList; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/CardPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/CardPO.java deleted file mode 100644 index c07b0be6..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/CardPO.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.dataobject.po; - -public class CardPO { -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java new file mode 100644 index 00000000..1dbcebe3 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/contract/ContractPO.java @@ -0,0 +1,60 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.contract; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 鍚堝悓璁㈠崟 + * + * @author xiaqihang + * @date 2021/09/18 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_contract",autoResultMap = true) +public class ContractPO extends BaseDataObject { + + /** + * 涓婚敭id + */ + @TableField("id") + private Long id; + + /** + * 甯愭埛id + */ + @TableField("account_id") + private Long accountId; + + /** + * 鏁e垪id + */ + @TableField("hash_id") + private String hashId; + + /** + * 鍚堝悓浠g爜 + */ + @TableField("contract_code") + private String contractCode; + + /** + * 鍚堝悓鍚嶇О + */ + @TableField("contract_name") + private String contractName; + + /** + * 鍐呭 + */ + @TableField("content") + private String content; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java new file mode 100644 index 00000000..7d3d6713 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrBodyPO.java @@ -0,0 +1,30 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 16:41 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_ocr_body",autoResultMap = true) +public class OcrBodyPO extends BaseDataObject { + + @TableField("id") + private Long id; + + @TableField("body_key") + private String bodyKey; + + @TableField("body_value") + private String bodyValue; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java new file mode 100644 index 00000000..c855e564 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrHeaderPO.java @@ -0,0 +1,30 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 16:42 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_ocr_header",autoResultMap = true) +public class OcrHeaderPO extends BaseDataObject { + + @TableField("id") + private Long id; + + @TableField("header_key") + private String headerKey; + + @TableField("header_value") + private String headerValue; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java new file mode 100644 index 00000000..e1f000a6 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrPO.java @@ -0,0 +1,36 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 16:38 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_ocr",autoResultMap = true) +public class OcrPO extends BaseDataObject { + + @TableField("id") + private Long id; + + @TableField("name") + private String name; + + @TableField("app_key") + private String appKey; + + @TableField("secret") + private String secret; + + @TableField("url") + private String url; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java new file mode 100644 index 00000000..c9f95174 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/ocr/OcrParameterPO.java @@ -0,0 +1,30 @@ +package com.seasky.seaskyocr.infrastructure.dataobject.po.ocr; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.ddd.base.BaseDataObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author xiaqihang + * @date 2021/9/18 16:43 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "tb_ocr_parameter",autoResultMap = true) +public class OcrParameterPO extends BaseDataObject { + + @TableField("id") + private Long id; + + @TableField("parameter_key") + private String parameterKey; + + @TableField("parameter_value") + private String parameterValue; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java new file mode 100644 index 00000000..a7604532 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/ContractMapper.java @@ -0,0 +1,22 @@ +package com.seasky.seaskyocr.infrastructure.db.mapper.table; + +import com.seasky.core.base.BaseMapper; +import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author xiaqihang + * @date 2021/9/18 16:08 + */ +@Mapper +public interface ContractMapper extends BaseMapper<ContractPO> { + + /** + * 鏌ヨ閫氳繃鏁e垪id + * + * @param hashId 鏁e垪id + * @return {@link ContractPO} + */ + ContractPO queryByHashId(@Param("hashId") String hashId); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java new file mode 100644 index 00000000..f447152f --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrMapper.java @@ -0,0 +1,29 @@ +package com.seasky.seaskyocr.infrastructure.db.mapper.table; + +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author xiaqihang + * @date 2021/9/18 17:03 + */ +@Mapper +public interface OcrMapper { + + /** + * 閫氳繃甯愭埛id鏌ヨocr id + * + * @param id id + * @return {@link Long} + */ + Long queryOcrIdByAccountId(@Param("id") Long id); + + /** + * 鏌ヨocr鐨刬d + * + * @param id id + * @return {@link OcrDo} + */ + OcrDo queryOcrDoById(@Param("id") Long id); +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml new file mode 100644 index 00000000..41e40dd6 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/ContractMapper.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.seasky.seaskyocr.infrastructure.db.mapper.table.ContractMapper"> + + <select id="queryByHashId" resultType="com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO"> + select * from tb_contract + <where> + available = 'YES' + <if test="hashId != null and hashId != ''"> + and hash_id = #{hashId} + </if> + </where> + </select> +</mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml new file mode 100644 index 00000000..306cb2ba --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrMapper"> + + <resultMap id="OcrBodyHeaderParameter" type="com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo"> + <result column="id" property="id"/> + <result column="name" property="name"/> + <result column="app_key" property="appKey"/> + <result column="secret" property="secret"/> + <result column="url" property="url"/> + <result column="supplierEnum" property="supplierEnum"/> + <result column="methodEnum" property="methodEnum"/> + <collection property="bodyPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO"> + <id column="bodyId" property="id"/> + <result column="body_key" property="bodyKey"/> + <result column="body_value" property="bodyValue"/> + </collection> + <collection property="headerPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrHeaderPO"> + <id column="headerId" property="id"/> + <result column="header_key" property="headerKey"/> + <result column="header_value" property="headerValue"/> + </collection> + <collection property="parameterPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrParameterPO"> + <id column="parameterId" property="id"/> + <result column="parameter_key" property="parameterKey"/> + <result column="parameter_value" property="parameterValue"/> + </collection> + </resultMap> + + <select id="queryOcrIdByAccountId" resultType="java.lang.Long"> + select ocr_id from tb_account_ocr + <where> + available = 'YES' + <if test="id != null"> + and account_id = #{id} + </if> + </where> + </select> + + <select id="queryOcrDoById" resultMap="OcrBodyHeaderParameter"> + SELECT + o.id, + o.NAME, + o.app_key, + o.secret, + o.url, + o.supplierEnum, + o.methodEnum, + b.id AS bodyId, + b.body_key, + b.body_value, + h.id AS headId, + h.header_key, + h.header_value , + p.id as parameterId, + p.parameter_key, + p.parameter_value + FROM + tb_ocr AS o + LEFT JOIN tb_ocr_body AS b ON o.id = b.ocr_id + LEFT JOIN tb_ocr_header AS h ON o.id = h.ocr_id + LEFT JOIN tb_ocr_parameter AS p ON o.id = p.ocr_id + <where> + <if test="id != null"> + o.id = #{id} + </if> + </where> + </select> +</mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java new file mode 100644 index 00000000..3a218d5d --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java @@ -0,0 +1,32 @@ +package com.seasky.seaskyocr.infrastructure.repository.contract; + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; +import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; + +/** + * @author xiaqihang + * @date 2021/9/18 16:14 + */ +public class ContractConvert { + + /** + * 鍚堝悓璁㈠崟gg + * + * @param contractPO 鍚堝悓璁㈠崟 + * @return {@link ContractAggregate} + */ + public static ContractAggregate contractPoToAgg(ContractPO contractPO){ + return MapperUtils.INSTANCE.map(ContractAggregate.class,contractPO); + } + + /** + * 鍚堝悓gg闃垮疂 + * + * @param contractAggregate 鍚堝悓鎬� + * @return {@link ContractPO} + */ + public static ContractPO contractAggToPo(ContractAggregate contractAggregate){ + return MapperUtils.INSTANCE.map(ContractPO.class,contractAggregate); + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java new file mode 100644 index 00000000..893ca016 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java @@ -0,0 +1,82 @@ +package com.seasky.seaskyocr.infrastructure.repository.contract; + +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; +import com.seasky.core.ddd.base.BaseRepository; +import com.seasky.core.ddd.base.DomainKeysMap; +import com.seasky.core.exception.DataAccessException; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; +import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; +import com.seasky.seaskyocr.infrastructure.db.mapper.table.ContractMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +/** + * @author xiaqihang + * @date 2021/9/18 16:05 + */ +@Repository +public class ContractRepositoryImpl extends BaseRepository<ContractAggregate> implements ContractRepository { + + @Autowired + ContractMapper contractMapper; + + @Override + protected Long baseSave(ContractAggregate aggregate) { + ContractPO contractPO = ContractConvert.contractAggToPo(aggregate); + if (contractPO.getId() == null){ + contractPO.prepareBeforeInsert(); + if (contractMapper.insert(contractPO) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅鏂板澶辫触", "")); + } + }else{ + contractPO.prepareBeforeUpdate(); + if (contractMapper.updateById(contractPO) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅淇敼澶辫触", "")); + } + } + return 1L; + } + + @Override + protected void duplicateSaveViolationSift(ContractAggregate aggregate) { + + } + + @Override + protected void integritySaveViolationSift(ContractAggregate aggregate) { + + } + + @Override + protected void baseRemove(ContractAggregate aggregate) { + + } + + @Override + protected void integrityRemoveViolationSift(ContractAggregate aggregate) { + + } + + @Override + public ContractAggregate queryByHashId(String hashId) { + ContractPO contractPO = contractMapper.queryByHashId(hashId); + return ContractConvert.contractPoToAgg(contractPO); + } + + @Override + public ContractAggregate findByDomainKey(DomainKeysMap domainKeysMap) { + return null; + } + + @Override + public Boolean isExistsByDomainKey(DomainKeysMap domainKeysMap) { + return null; + } + + @Override + public ContractAggregate findByPersistentId(Long aLong) { + return null; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java new file mode 100644 index 00000000..559c294c --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java @@ -0,0 +1,29 @@ +package com.seasky.seaskyocr.infrastructure.repository.ocr; + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author xiaqihang + * @date 2021/9/22 9:04 + */ +public class OcrConvert { + + public static BaseOcrAggregate buildBaseOcrAgg(OcrDo ocrDo){ + BaseOcrAggregate baseOcrAggregate = MapperUtils.INSTANCE.map(BaseOcrAggregate.class, ocrDo); + Map<String,String> body = new HashMap<>(6); + Map<String,String> head = new HashMap<>(6); + Map<String,Object> parameter = new HashMap<>(6); + ocrDo.getBodyPOList().forEach(i -> body.put(i.getBodyKey(),i.getBodyValue())); + ocrDo.getHeaderPOList().forEach(i -> head.put(i.getHeaderKey(),i.getHeaderValue())); + ocrDo.getParameterPOList().forEach(i -> parameter.put(i.getParameterKey(),i.getParameterValue())); + baseOcrAggregate.setBody(body); + baseOcrAggregate.setHead(head); + baseOcrAggregate.setParameter(parameter); + return baseOcrAggregate; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java index 37ca738c..41168a8d 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java @@ -2,6 +2,10 @@ package com.seasky.seaskyocr.infrastructure.repository.ocr; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; +import com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; /** * ocr搴搃mpl @@ -9,15 +13,39 @@ import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; * @author bandi * @date 2021/09/17 */ +@Repository public class OcrRepositoryImpl implements BaseOcrRepository { + + @Autowired + OcrMapper ocrMapper; + @Override public void save(BaseOcrAggregate baseOcrAggregate) { } + /** + * 鏌ヨocr鐨刬d + * + * @param id id + * @return {@link OcrDo} + */ @Override - public void remove(Long id) { + public BaseOcrAggregate queryOcrDoById(Long id) { + OcrDo ocrDo = ocrMapper.queryOcrDoById(id); + return OcrConvert.buildBaseOcrAgg(ocrDo); + } + /** + * 閫氳繃甯愭埛id鏌ヨocr id + * + * @param id id + * @return {@link Long} + */ + @Override + public Long queryOcrIdByAccountId(Long id) { + return ocrMapper.queryOcrIdByAccountId(id); } + } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java deleted file mode 100644 index db9e9e8d..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestConvert.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.repository.test; - - -import com.seasky.core.ddd.utils.MapperUtils; -import com.seasky.seaskyocr.domain.aggregate.test.TestAggregate; -import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrInfoPO; - -import java.util.HashMap; -import java.util.Map; - -/** - * 绀轰緥杞崲 - * - * @author XueYawei - * @date 2020/12/08 - */ -public class TestConvert { - - - /** - * 绀轰緥鑱氬悎鏍硅浆涓虹ず渚婸o绫� - * - * @param testAggregate 绀轰緥鑱氬悎鏍� - * @return {@link OcrInfoPO} - */ - public static OcrInfoPO TestAggregateToTestPo(TestAggregate testAggregate){ - //杞崲瀵瑰簲閿€糾ap - Map<String, String> map = new HashMap<>(3); - OcrInfoPO testPo = MapperUtils.INSTANCE.map(OcrInfoPO.class, testAggregate); - - return testPo; - } - - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java deleted file mode 100644 index dd953009..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/test/TestRepositoryImpl.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.repository.test; - - -import org.springframework.stereotype.Repository; - -/** - * 绀轰緥impl - * - * @author XueYawei - * @date 2020/12/07 - */ -@Repository -public class TestRepositoryImpl{ - - -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java new file mode 100644 index 00000000..cdd04d62 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java @@ -0,0 +1,42 @@ +package com.seasky.seaskyocr.interfaces.controller; + +import com.seasky.core.common.ResponseCode; +import com.seasky.core.common.Result; +import com.seasky.seaskyocr.api.IContractController; +import com.seasky.seaskyocr.application.command.contract.ContractCmdService; +import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import static com.seasky.core.common.Response.ok; + +/** + * @author xiaqihang + * @date 2021/9/18 10:17 + */ +@Api(tags = "鍚堝悓绠$悊") +@RestController +@RequestMapping("contractCtrl") +public class ContractController extends BaseController implements IContractController { + @Autowired + ContractCmdService contractCmdService; + + /** + * 浠栫殑鍚堝悓 + * + * @param file 鏂囦欢 + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @return {@link Result<String>} + */ + @ApiOperation("鍒涘缓鍚堝悓") + @Override + public Result<String> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { + return ok(ResponseCode.SUCCESS, contractCmdService.createContract(file, createContractCmd)); + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java new file mode 100644 index 00000000..2510c193 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java @@ -0,0 +1,21 @@ +package com.seasky.seaskyocr.interfaces.controller; + +import com.seasky.seaskyocr.api.IOcrController; +import com.seasky.seaskyocr.application.command.ocr.OcrCmdService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author xiaqihang + * @date 2021/9/18 16:46 + */ +@Api(tags = "ocr绠$悊") +@RestController +@RequestMapping("ocrCtrl") +public class OcrController extends BaseController implements IOcrController { + + @Autowired + private OcrCmdService ocrCmdService; +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java deleted file mode 100644 index 63e6515b..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/TestController.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.seasky.seaskyocr.interfaces.controller; - - -import com.seasky.core.common.ResponseCode; -import com.seasky.core.common.Result; -import com.seasky.seaskyocr.api.ITestController; -import com.seasky.seaskyocr.application.command.ocr.TestCmdService; -import com.seasky.seaskyocr.application.query.TestQueryService; -import com.seasky.seaskyocr.dto.ocr.TestCmd; -import com.seasky.seaskyocr.dto.ocr.TestQueryOut; -import com.seasky.seaskyocr.dto.ocr.TestQueryQry; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.util.List; - -import static com.seasky.core.common.Response.ok; - -/** - * 绀轰緥API - * - * @author XueYawei - * @date 2020/12/07 - */ -@RestController -@RequestMapping("test") -public class TestController extends BaseController implements ITestController { - - @Autowired - private TestCmdService testApplicationCmdService; - @Autowired - private TestQueryService testQueryService; - - /** - * 鏌ヨ绀轰緥 - * - * @param testQry - * @return {@link Result<TestQueryOut>} - */ - @Override - public Result<TestQueryOut> testQ(@RequestBody TestQueryQry testQry){ - return ok(ResponseCode.SUCCESS, testQueryService.queryTestList(testQry)); - } - - /** - * 瀵煎嚭 - * 涓巘estQ鍚屾牱鑾峰彇鏁版嵁,浣嗚浆鎹㈡垚涓嶅悓鏁版嵁鏍煎紡杩斿洖 - * - * @param testQry - * @return {@link ResponseEntity<byte[]>} - */ - @Override - public ResponseEntity<byte[]> testExcelExport(@RequestBody TestQueryQry testQry) throws UnsupportedEncodingException { - List<TestQueryOut> list = testQueryService.queryTestList(testQry); - - byte[] excelbyte = null; // 姝ゅ璋冪敤excel宸ュ叿绫昏浆鎴恊xcel - HttpHeaders header = new HttpHeaders(); - header.add("Content-Length", "0"); - header.add("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + URLEncoder.encode("xxxnanme", "UTF-8")); - return new ResponseEntity<>(excelbyte, header, HttpStatus.OK); - } - - /** - * 淇濆瓨鑽夌ǹ - * - * @param testCmd - * @return {@link Result<Long>} - */ - @Override - public Result<Long> testSave(TestCmd testCmd) { - return ok(ResponseCode.SUCCESS, testApplicationCmdService.SaveTest(testCmd)); - } - - /** - * 鎻愪氦 - * - * @param testCmd - * @return {@link Result<Long>} - */ - @Override - public Result<Long> testSubmit(TestCmd testCmd) { - return ok(ResponseCode.SUCCESS, testApplicationCmdService.SubmitTest(testCmd)); - } - - /** - * 淇濆瓨骞舵彁浜� - * - * @param testCmd - * @return {@link Result<Long>} - */ - @Override - public Result<Long> testSaveAndSubmit(TestCmd testCmd) { - return ok(ResponseCode.SUCCESS, testApplicationCmdService.SavaAndSubmitTest(testCmd)); - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java deleted file mode 100644 index a39c490c..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/SOAPConfig.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.seasky.seaskyocr.interfaces.soap; - -import com.seasky.seaskyocr.api.ITestWebService; -import org.apache.cxf.Bus; -import org.apache.cxf.bus.spring.SpringBus; -import org.apache.cxf.jaxws.EndpointImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import javax.xml.ws.Endpoint; - - -@Configuration -public class SOAPConfig { - @Autowired - private ITestWebService testWebServiceImpl; - - @Autowired - private ITestWebService test2WebServiceImpl; - - /** - * Apache CXF 鏍稿績鏋舵瀯鏄互BUS涓烘牳蹇冿紝鏁村悎鍏朵粬缁勪欢銆� - * Bus鏄疌XF鐨勪富骞�, 涓哄叡浜祫婧愭彁渚涗竴涓彲閰嶇疆鐨勫満鎵€锛屼綔鐢ㄧ被浼间簬Spring鐨凙pplicationContext锛岃繖浜涘叡浜祫婧愬寘鎷� - * WSDl绠$悊鍣ㄣ€佺粦瀹氬伐鍘傜瓑銆傞€氳繃瀵笲US杩涜鎵╁睍锛屽彲浠ユ柟渚垮湴瀹圭撼鑷繁鐨勮祫婧愶紝鎴栬€呮浛鎹㈢幇鏈夌殑璧勬簮銆傞粯璁us瀹炵幇鍩轰簬Spring鏋舵瀯锛� - * 閫氳繃渚濊禆娉ㄥ叆锛屽湪杩愯鏃跺皢缁勪欢涓茶仈璧锋潵銆侭usFactory璐熻矗Bus鐨勫垱寤恒€傞粯璁ょ殑BusFactory鏄疭pringBusFactory锛屽搴斾簬榛樿 - * 鐨凚us瀹炵幇銆傚湪鏋勯€犺繃绋嬩腑锛孲pringBusFactory浼氭悳绱ETA-INF/cxf锛堝寘鍚湪 CXF 鐨刯ar涓級涓嬬殑鎵€鏈塨ean閰嶇疆鏂囦欢銆� - * 鏍规嵁杩欎簺閰嶇疆鏂囦欢鏋勫缓涓€涓狝pplicationContext銆傚紑鍙戣€呬篃鍙互鎻愪緵鑷繁鐨勯厤缃枃浠舵潵瀹氬埗Bus銆� - */ - @Bean(name = Bus.DEFAULT_BUS_ID) - public SpringBus springBus() { - return new SpringBus(); - } - - /** - * 姝ゆ柟娉曚綔鐢ㄦ槸鏀瑰彉椤圭洰涓湇鍔″悕鐨勫墠缂€鍚嶏紝姝ゅ127.0.0.1鎴栬€卨ocalhost涓嶈兘璁块棶鏃讹紝璇蜂娇鐢╥pconfig鏌ョ湅鏈満ip鏉ヨ闂� - * 姝ゆ柟娉曡娉ㄩ噴鍚�, 鍗充笉鏀瑰彉鍓嶇紑鍚�(榛樿鏄痵ervices), wsdl璁块棶鍦板潃涓� http://127.0.0.1:8080/services/ws/api?wsdl - * 鍘绘帀娉ㄩ噴鍚巜sdl璁块棶鍦板潃涓猴細http://127.0.0.1:8080/soap/ws/api?wsdl - * http://127.0.0.1:8080/soap/鍒楀嚭鏈嶅姟鍒楄〃 鎴� http://127.0.0.1:8080/soap/ws/api?wsdl 鏌ョ湅瀹為檯鐨勬湇鍔� - * 鏂板缓Servlet璁板緱闇€瑕佸湪鍚姩绫绘坊鍔犳敞瑙o細@ServletComponentScan - * - * 濡傛灉鍚姩鏃跺嚭鐜伴敊璇細not loaded because DispatcherServlet Registration found non dispatcher servlet dispatcherServlet - * 鍙兘鏄痵pringboot涓巆fx鐗堟湰涓嶅吋瀹广€� - * 鍚屾椂鍦╯pring boot2.0.6涔嬪悗鐨勭増鏈笌xcf闆嗘垚锛屼笉闇€瑕佸湪瀹氫箟浠ヤ笅鏂规硶锛岀洿鎺ュ湪application.properties閰嶇疆鏂囦欢涓坊鍔狅細 - * cxf.path=/service锛堥粯璁ゆ槸services锛� - */ - //@Bean - //public ServletRegistrationBean dispatcherServlet() { - // return new ServletRegistrationBean(new CXFServlet(), "/soap/*"); - //} - - @Bean - public Endpoint testendpoint() { - EndpointImpl endpoint = new EndpointImpl(springBus(), testWebServiceImpl); - endpoint.publish("/ws/api"); - return endpoint; - } - - @Bean - public Endpoint test2endpoint() { - EndpointImpl endpoint = new EndpointImpl(springBus(), test2WebServiceImpl); - endpoint.publish("/ws/api2"); - return endpoint; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java deleted file mode 100644 index f784a9cf..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/soap/TestWebService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.seasky.seaskyocr.interfaces.soap; - -import com.seasky.core.common.ResponseCode; -import com.seasky.core.common.Result; -import com.seasky.seaskyocr.api.ITestWebService; -import com.seasky.seaskyocr.application.query.TestQueryService; -import com.seasky.seaskyocr.dto.ocr.TestQueryOut; -import com.seasky.seaskyocr.dto.ocr.TestQueryQry; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import javax.jws.WebService; -import static com.seasky.core.common.Response.ok; - -@Component -@WebService(name = "TestService", targetNamespace = "http://www.seaskysh.com", - endpointInterface = "com.seasky.dddtemplate.api.ITestWebService") -public class TestWebService implements ITestWebService { - @Autowired - private TestQueryService testQueryService; - - @Override - public Result<TestQueryOut> testQ(TestQueryQry testQry) { - return ok(ResponseCode.SUCCESS, testQueryService.queryTestList(testQry)); - } -} diff --git a/ServiceSite/src/main/resources/application-dev.properties b/ServiceSite/src/main/resources/application-dev.properties index d7c63f5c..33fd3233 100644 --- a/ServiceSite/src/main/resources/application-dev.properties +++ b/ServiceSite/src/main/resources/application-dev.properties @@ -1,40 +1,40 @@ -spring.redis.host=47.110.127.118 -spring.redis.port=6379 -spring.redis.password=123456 -spring.redis.database=0 -spring.redis.lettuce.pool.max-active=50 -spring.redis.lettuce.pool.max-idle=20 -spring.redis.lettuce.pool.min-idle=10 -spring.redis.lettuce.pool.max-wait=5000 -spring.redis.lettuce.pool.time-between-eviction-runs=600000 - -spring.datasource.druid.write.name=write -spring.datasource.druid.write.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT -spring.datasource.druid.write.username=root -spring.datasource.druid.write.password=12345678 -spring.datasource.druid.write.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.druid.write.initial-size=1 -spring.datasource.druid.write.min-idle=1 -spring.datasource.druid.write.max-active=5 -spring.datasource.druid.write.validation-query=SELECT 1 -spring.datasource.druid.write.validation-query-timeout=1 -spring.datasource.druid.write.test-while-idle=true -spring.datasource.druid.write.test-on-borrow=true -spring.datasource.druid.write.test-on-return=false -spring.datasource.druid.write.keep-alive=true -spring.datasource.druid.read.name=read -spring.datasource.druid.read.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT -spring.datasource.druid.read.username=root -spring.datasource.druid.read.password=12345678 -spring.datasource.druid.read.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.druid.read.initial-size=1 -spring.datasource.druid.read.min-idle=1 -spring.datasource.druid.read.max-active=5 -spring.datasource.druid.read.validation-query=SELECT 1 -spring.datasource.druid.read.validation-query-timeout=1 -spring.datasource.druid.read.test-while-idle=true -spring.datasource.druid.read.test-on-borrow=true -spring.datasource.druid.read.test-on-return=false -spring.datasource.druid.read.keep-alive=true - - +#spring.redis.host=47.110.127.118 +#spring.redis.port=6379 +#spring.redis.password=123456 +#spring.redis.database=0 +#spring.redis.lettuce.pool.max-active=50 +#spring.redis.lettuce.pool.max-idle=20 +#spring.redis.lettuce.pool.min-idle=10 +#spring.redis.lettuce.pool.max-wait=5000 +#spring.redis.lettuce.pool.time-between-eviction-runs=600000 +# +#spring.datasource.druid.write.name=write +#spring.datasource.druid.write.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT +#spring.datasource.druid.write.username=root +#spring.datasource.druid.write.password=12345678 +#spring.datasource.druid.write.driver-class-name=com.mysql.cj.jdbc.Driver +#spring.datasource.druid.write.initial-size=1 +#spring.datasource.druid.write.min-idle=1 +#spring.datasource.druid.write.max-active=5 +#spring.datasource.druid.write.validation-query=SELECT 1 +#spring.datasource.druid.write.validation-query-timeout=1 +#spring.datasource.druid.write.test-while-idle=true +#spring.datasource.druid.write.test-on-borrow=true +#spring.datasource.druid.write.test-on-return=false +#spring.datasource.druid.write.keep-alive=true +#spring.datasource.druid.read.name=read +#spring.datasource.druid.read.url=jdbc:mysql://47.111.224.180:8306/DDDTest?characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT +#spring.datasource.druid.read.username=root +#spring.datasource.druid.read.password=12345678 +#spring.datasource.druid.read.driver-class-name=com.mysql.cj.jdbc.Driver +#spring.datasource.druid.read.initial-size=1 +#spring.datasource.druid.read.min-idle=1 +#spring.datasource.druid.read.max-active=5 +#spring.datasource.druid.read.validation-query=SELECT 1 +#spring.datasource.druid.read.validation-query-timeout=1 +#spring.datasource.druid.read.test-while-idle=true +#spring.datasource.druid.read.test-on-borrow=true +#spring.datasource.druid.read.test-on-return=false +#spring.datasource.druid.read.keep-alive=true +# +# diff --git a/ServiceSite/src/main/resources/application.properties b/ServiceSite/src/main/resources/application.properties index 42e86f8d..5799a02e 100644 --- a/ServiceSite/src/main/resources/application.properties +++ b/ServiceSite/src/main/resources/application.properties @@ -1,34 +1,34 @@ -spring.application.name=dddtemplate-provider +#spring.application.name=dddtemplate-provider spring.profiles.active=@env@ -server.port=8009 -swagger.enable=true - -mybatis-plus.global-config.db-config.db-type=mysql -mybatis-plus.global-config.db-config.id-type=assign_id -mybatis-plus.global-config.db-config.logic-delete-field=available -mybatis-plus.global-config.db-config.logic-delete-value='NO' -mybatis-plus.global-config.db-config.logic-not-delete-value='YES' -mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl -mybatis-plus.configuration.call-setters-on-nulls=true -mybatis-plus.configuration.cache-enabled=false -mybatis-plus.configuration.default-enum-type-handler=org.apache.ibatis.type.EnumTypeHandler - -seasky.sessionTimeout=1800 -seasky.redislockExpire=300 -seasky.projectVersion=1.0.0 -seasky.cacheName=redis - - -# 配置 DruidStatViewServlet -spring.datasource.druid.stat-view-servlet.enabled=true -spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* -# IP白名单(没有配置默认为127.0.0.1) -spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 -# IP黑名单 (存在共同时,deny优先于allow) -# spring.datasource.druid.deny=192.168.1.73 -# 禁用HTML页面上的“Reset All”功能 -spring.datasource.druid.stat-view-servlet.reset-enable=false -# druid 监控平台登录名 -spring.datasource.druid.stat-view-servlet.login-username=druid -# druid 监控平台登录密码 -spring.datasource.druid.stat-view-servlet.login-password=druid +#server.port=8009 +#swagger.enable=true +# +#mybatis-plus.global-config.db-config.db-type=mysql +#mybatis-plus.global-config.db-config.id-type=assign_id +#mybatis-plus.global-config.db-config.logic-delete-field=available +#mybatis-plus.global-config.db-config.logic-delete-value='NO' +#mybatis-plus.global-config.db-config.logic-not-delete-value='YES' +#mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl +#mybatis-plus.configuration.call-setters-on-nulls=true +#mybatis-plus.configuration.cache-enabled=false +#mybatis-plus.configuration.default-enum-type-handler=org.apache.ibatis.type.EnumTypeHandler +# +#seasky.sessionTimeout=1800 +#seasky.redislockExpire=300 +#seasky.projectVersion=1.0.0 +#seasky.cacheName=redis +# +# +## 配置 DruidStatViewServlet +#spring.datasource.druid.stat-view-servlet.enabled=true +#spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* +## IP白名单(没有配置默认为127.0.0.1) +#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 +## IP黑名单 (存在共同时,deny优先于allow) +## spring.datasource.druid.deny=192.168.1.73 +## 禁用HTML页面上的“Reset All”功能 +#spring.datasource.druid.stat-view-servlet.reset-enable=false +## druid 监控平台登录名 +#spring.datasource.druid.stat-view-servlet.login-username=druid +## druid 监控平台登录密码 +#spring.datasource.druid.stat-view-servlet.login-password=druid diff --git a/ServiceSite/src/main/resources/bootstrap.yml b/ServiceSite/src/main/resources/bootstrap.yml index 7fd252b9..3db553a6 100644 --- a/ServiceSite/src/main/resources/bootstrap.yml +++ b/ServiceSite/src/main/resources/bootstrap.yml @@ -1,20 +1,20 @@ seasky: version: @version@ server: - port: 8009 + port: 8019 spring: main: allow-bean-definition-overriding: true application: - name: dddtemplate-provider + name: ocr-manage profiles: active: dev cloud: nacos: discovery: - server-addr: 192.168.1.80:8848 + server-addr: 192.168.2.10:8848 config: - server-addr: 192.168.1.80:8848 + server-addr: 192.168.2.10:8848 file-extension: properties inetutils: preferred-networks: diff --git a/ServiceSite/src/test/java/com/seasky/seaskyocr/interfaces/controller/test/TestControllerTest.java b/ServiceSite/src/test/java/com/seasky/seaskyocr/interfaces/controller/test/TestControllerTest.java deleted file mode 100644 index 08ba8ec5..00000000 --- a/ServiceSite/src/test/java/com/seasky/seaskyocr/interfaces/controller/test/TestControllerTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.seasky.seaskyocr.interfaces.controller.test; - -import com.seasky.core.ddd.test.PoAssertions; -import com.seasky.seaskyocr.application.command.ocr.TestCmdService; -import com.seasky.seaskyocr.application.query.TestQueryService; -import com.seasky.seaskyocr.dto.ocr.TestQueryOut; -import com.seasky.seaskyocr.infrastructure.db.mapper.table.AccountMapper; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.annotation.Rollback; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.stream.Stream; - -import static org.junit.jupiter.api.Assertions.*; - -@SpringBootTest -@Transactional -@Rollback -class TestControllerTest { - - @Autowired - private TestCmdService testCmdService; - @Autowired - private TestQueryService testQueryService; - - @Autowired - AccountMapper accountMapper; - - @ParameterizedTest - @MethodSource("getTCStream") - void testC(TestCmdTc testCase) { - if(testCase.getIsPositiveCase()){//鏄惁涓烘甯稿叆鍙傚璞� - testCmdService.SaveTest(testCase.getCmdParam()); - }else {//寮傚父鍏ュ弬瀵硅薄鎵ц - assertThrows(testCase.getExpectExceptionType().getClass(), - ()->testCmdService.SaveTest(testCase.getCmdParam()),testCase.getFlag()); - } - - //楠岃瘉 浠ヤ笂鎺ュ彛鏄惁鎵ц鎴愬姛 - System.out.println(testCase.getFlag()); - testCase.getExceptTestPoList().forEach((key,value)->{ - PoAssertions.assertRecordCount(key, accountMapper,value,testCase.getFlag()); - }); - - } - static Stream<TestCmdTc> getTCStream(){ - return TestCmdFactory.getTCStream(); - } - - - @ParameterizedTest - @MethodSource("getTCQryStream") - void testQ(TestQueryTc testCase) { - List<TestQueryOut> outList = testQueryService.queryTestList(testCase.getQryParam()); - System.out.println("----杩斿洖杈撳嚭-------------========>>>"+outList.size()+"========="+outList); - //楠岃瘉杩斿洖鏉℃暟涓庢湡鏈涜繑鍥炴潯鏁版槸鍚︿竴鑷� - System.out.println(testCase.getFlag()); - assertEquals(outList.size(),testCase.getExpectCount()); - } - static Stream<TestQueryTc> getTCQryStream(){return TestQueryTcFactory.getTCQryStream();} -} \ No newline at end of file -- GitLab From a54dd12e81a2a0b96aa48a953072d7f6e08ed231 Mon Sep 17 00:00:00 2001 From: xiaqihang <xiaqihang@seaskysh.com> Date: Thu, 23 Sep 2021 09:39:27 +0800 Subject: [PATCH 7/8] =?UTF-8?q?Revert=20"fix=EF=BC=9A=E7=BC=96=E5=86=99ocr?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E6=8E=A5=E5=8F=A3=EF=BC=8Cdomain=E5=B1=82"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit df1961d1ae291e3ee93ede7ceaf1e634553f0632. --- .../seaskyocr/api/IContractController.java | 4 +- .../command/contract/ContractCmdService.java | 4 +- .../contract/ContractCmdServiceImpl.java | 23 ++-- .../aggregate/ocr/BaseOcrAggregate.java | 8 +- .../aggregate/ocr/BaseOcrRepository.java | 16 --- .../contract/ContractAggregate.java | 37 ++---- .../contract/ContractRepository.java | 1 + .../ocrimplement/contract/ContractVO.java | 9 -- .../ocrFactory/Product/IHeHeProduct.java | 14 +-- .../ProductImpl/HeHeProductImpl.java | 108 +----------------- .../infrastructure/dataobject/co/OcrDo.java | 4 - .../db/mapper/xml/OcrMapper.xml | 30 +---- .../repository/contract/ContractConvert.java | 16 --- .../contract/ContractRepositoryImpl.java | 17 +-- .../repository/ocr/OcrConvert.java | 29 ----- .../repository/ocr/OcrRepositoryImpl.java | 33 ------ .../controller/ContractController.java | 9 +- 17 files changed, 39 insertions(+), 323 deletions(-) delete mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java index aea52749..92b8adeb 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java @@ -20,8 +20,8 @@ public interface IContractController { * * @param createContractCmd 鍒涘缓鍚堝悓cmd * @param file 鏂囦欢 - * @return {@link Result<String>} + * @return {@link Result<Long>} */ @PostMapping(path = "HeHeContract") - Result<String> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); + Result<Long> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java index fab84bd3..657d0b67 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java @@ -14,7 +14,7 @@ public interface ContractCmdService { * * @param createContractCmd 鍒涘缓鍚堝悓cmd * @param file 鏂囦欢 - * @return {@link String} + * @return {@link Long} */ - String createContract(MultipartFile file, CreateContractCmd createContractCmd); + Long createContract(MultipartFile file, CreateContractCmd createContractCmd); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java index 1f710d9a..ccf028ca 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java @@ -4,7 +4,6 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggre import com.seasky.seaskyocr.domain.service.ocrFactory.IOcrFactory; import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; import com.seasky.seaskyocr.dto.contract.CreateContractCmd; -import com.seasky.seaskyocr.enums.SupplierEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -26,26 +25,20 @@ public class ContractCmdServiceImpl implements ContractCmdService { * 鍒涘缓鍚堝悓 * * @param createContractCmd 鍒涘缓鍚堝悓cmd - * @param file 鏂囦欢 - * @return {@link String} + * @return {@link Long} */ @Override - public String createContract(MultipartFile file, CreateContractCmd createContractCmd) { + public Long createContract(MultipartFile file, CreateContractCmd createContractCmd) { + IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); try { byte[] bytes = file.getBytes(); String encode = new BASE64Encoder().encode(bytes); String hashId = String.valueOf(encode.hashCode()); - if (createContractCmd.getSupplierEnum().equals(SupplierEnum.鍚堝悎.val())){ - IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); - //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId - ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); - if (contractAggregate != null){ - //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� contractAggregate杞琌ut - return null; - } - ContractAggregate aggregate = ContractAggregate.builder().build(); - aggregate.create(createContractCmd.getAccountId(),file,createContractCmd.getAddField()); - heHeProduct.getContract(aggregate); + //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId + ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); + if (contractAggregate != null){ + //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� + return null; } } catch (IOException e) { e.printStackTrace(); diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java index 36c7144b..639be2aa 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java @@ -2,10 +2,8 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; import com.seasky.seaskyocr.enums.MethodEnum; import com.seasky.seaskyocr.enums.SupplierEnum; -import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; -import lombok.NoArgsConstructor; import java.util.Map; @@ -17,21 +15,19 @@ import java.util.Map; */ @Data @Builder -@AllArgsConstructor -@NoArgsConstructor public class BaseOcrAggregate { private Long id; private String name; private String appKey; private String secret; private String url; -// private String contentType; + private String contentType; private SupplierEnum supplierEnum; private MethodEnum methodEnum; private Map<String,String> body; private Map<String,String> head; - private Map<String,Object> parameter; + private Map<String,String> parameter; public void updateAgg(BaseOcrVO vo){ //todo 鎵€鏈夊睘鎬ц祴鍊� diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java index 8b2e927b..1dd0dd6c 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java @@ -1,7 +1,5 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; -import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; - /** * 鍩虹ocr搴� * @@ -18,20 +16,6 @@ public interface BaseOcrRepository { */ void save(BaseOcrAggregate baseOcrAggregate); - /** - * 鏌ヨocr鐨刬d - * - * @param id id - * @return {@link OcrDo} - */ - BaseOcrAggregate queryOcrDoById(Long id); - /** - * 閫氳繃甯愭埛id鏌ヨocr id - * - * @param id id - * @return {@link Long} - */ - Long queryOcrIdByAccountId(Long id); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java index 595c8f0b..ce70ec35 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java @@ -3,9 +3,6 @@ package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; import lombok.Builder; import lombok.Data; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; /** * 鍚堝悓鎬� @@ -28,51 +25,39 @@ public class ContractAggregate extends BaseOcrImplementAggregate { private Long accountId; /** - * 鍚堝悓鍚嶇О + * 鍚堝悓浠g爜 */ - private String contractName; + private String contractCode; /** - * 鍚堝悓缂栧彿 + * 鍚堝悓鍚嶇О */ - private String contractCode; + private String contractName; /** * 鍐呭 */ private String content; - /** - * 鏂囦欢 - */ - private MultipartFile file; - - /** - * 瑕佹煡璇㈢殑瀛楁 - */ - private List<String> addField; - /** * 鍒涘缓鍚堝悓 * * @param accountId 甯愭埛id */ - public void create(Long accountId, MultipartFile file, List<String> addField){ + public void create(Long accountId){ this.accountId = accountId; - this.file = file; - this.addField = addField; } /** * 淇敼鍚堝悓 * - * @param contractVO 鍚堝悓绛捐瘉瀹� + * @param contractCode 鍚堝悓浠g爜 + * @param contractName 鍚堝悓鍚嶇О */ - public void modify(ContractVO contractVO){ - this.contractName = contractVO.getContractName(); - this.contractCode = contractVO.getContractCode(); - this.hashId = contractVO.getHashId(); - this.content = contractVO.getContent(); + public void modify(String contractCode, String contractName, String hashId){ + this.contractCode = contractCode; + this.contractName = contractName; + this.hashId = hashId; } } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java index 6aaa8022..22ad8ee7 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java @@ -19,4 +19,5 @@ public interface ContractRepository extends DddRepository<ContractAggregate> { */ ContractAggregate queryByHashId(String hashId); + } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java index e2f0d7a7..1249f482 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java @@ -1,20 +1,11 @@ package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - /** * 鍚堝悓绛捐瘉瀹� * * @author bandi * @date 2021/09/17 */ -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor public class ContractVO { /** diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java index 00c0212f..1a2f976b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java @@ -21,13 +21,13 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggre String getToken(BaseOcrImplementAggregate ocrImplementAggregate); - /** - * 寰楀埌鍚堝悓 - * - * @param contractAggregate 鍚堝悓鎬� - * @return {@link String} - */ - String getContract(ContractAggregate contractAggregate); + /** + * 鍏夊瀛楃璇嗗埆 + * + * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� + * @return {@link String} + */ + String getContract(BaseOcrImplementAggregate ocrImplementAggregate); /** * 鏌ヨ閫氳繃鏁e垪id diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java index df4fe760..0786a9ca 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java @@ -1,38 +1,11 @@ package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.seasky.core.common.Error; -import com.seasky.core.common.ResponseCode; -import com.seasky.core.exception.DataAccessException; -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; -import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractVO; import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.codec.binary.StringUtils; -import org.apache.http.HttpEntity; -import org.apache.http.HttpStatus; -import org.apache.http.StatusLine; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.omg.IOP.Encoding; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Map; -import org.springframework.util.ObjectUtils; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; /** * 鍚堝悎浜у搧impl @@ -45,8 +18,6 @@ class HeHeProductImpl implements IHeHeProduct { @Autowired ContractRepository contractRepository; - @Autowired - BaseOcrRepository ocrRepository; @Override public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { @@ -54,49 +25,8 @@ class HeHeProductImpl implements IHeHeProduct { } @Override - public String getContract(ContractAggregate contractAggregate) { - byte[] bytes = new byte[0]; - try { - bytes = contractAggregate.getFile().getBytes(); - } catch (IOException e) { - e.printStackTrace(); - } - String encode = Base64.encodeBase64String(bytes); -// Long ocrId = ocrRepository.queryOcrIdByAccountId(contractAggregate.getAccountId()); -// if (ocrId == null){ -// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "涓嶅瓨鍦ㄤ笌璇ョ敤鎴风浉鍏宠仈鐨凮cr", "")); -// } -// BaseOcrAggregate baseOcrAggregate = ocrRepository.queryOcrDoById(ocrId); -// if (baseOcrAggregate == null){ -// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鏌ヨ涓嶅埌鐩稿叧Ocr淇℃伅", "")); -// } -// Map<String, String> head = baseOcrAggregate.getHead(); -// head.put("app-key","18de35986509e69f1a93f5907ecdac4f"); -// head.put("app-secret","36b0d46acf9dd9e18665a40438d6ce77"); -// Map<String, Object> parameter = new HashMap<>(); -// //TODO 淇敼鍙傛暟key -//// String configuredKeys = parameter.get("4").toString(); -//// contractAggregate.getAddField().add(configuredKeys); -// parameter.put("configuredKeys",contractAggregate.getAddField()); -// parameter.put("filedata",encode); -// parameter.put("filename",contractAggregate.getFile().getOriginalFilename()); -// String jsonString = JSON.toJSONString(parameter); -// String httpPost = sendPost(baseOcrAggregate.getUrl(), jsonString, head); -// if (ObjectUtils.isEmpty(httpPost)){ -// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "OCR鍥剧墖璇嗗埆澶辫触", "")); -// } -// String jsonUrl = JSONObject.parseObject(httpPost).getJSONObject("result").get("json_url").toString(); - String jsonUrl = "https://doc-compare.intsig.com/doc_extraction/keyinfo/result?format=json&task_id=269e75f120b7ac27142456673978971a"; - String result = sendPost(jsonUrl, null, null); - String content = JSONObject.parseObject(result).getJSONObject("result").get("customize_keys").toString(); - System.out.println(JSONObject.parseObject(result).getJSONObject("result").get("stdandard_keys").toString()); - String contractCode = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓缂栧彿").toString(); - String contractName = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓鍚嶇О").toString(); - String hashId = String.valueOf(encode.hashCode()); - ContractVO contractVO = ContractVO.builder().accountId(contractAggregate.getAccountId()).content(content).contractCode(contractCode).contractName(contractName).hashId(hashId).build(); - contractAggregate.modify(contractVO); - contractRepository.save(contractAggregate); - return content; + public String getContract(BaseOcrImplementAggregate ocrImplementAggregate) { + return null; } /** @@ -109,37 +39,5 @@ class HeHeProductImpl implements IHeHeProduct { public ContractAggregate queryByHashId(String hashId){ return contractRepository.queryByHashId(hashId); } - - /** - * get http post - * - * @param url url - * @param jsonData json鏁版嵁 - * @return {@link String} - */ - private String sendPost(String url, String jsonData, Map<String,String> header) { - String result =""; - CloseableHttpClient httpclient = HttpClients.createDefault(); - HttpPost httpPost = new HttpPost(url); - if (header != null){ - header.forEach((key,value) -> httpPost.setHeader(key, value)); - } - if (jsonData != null){ - StringEntity entity = new StringEntity(jsonData, "UTF-8"); - httpPost.setEntity(entity); - } - CloseableHttpResponse response = null; - try { - response = httpclient.execute(httpPost); - StatusLine status = response.getStatusLine(); - if (status.getStatusCode() == HttpStatus.SC_OK) { - HttpEntity responseEntity = response.getEntity(); - result = EntityUtils.toString(responseEntity); - } - } - catch (IOException e) { - e.printStackTrace(); - } - return result; - } + } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java index b3c531b1..7506b41b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java @@ -31,10 +31,6 @@ public class OcrDo { private String url; - private String supplierEnum; - - private String methodEnum; - private List<OcrBodyPO> bodyPOList; private List<OcrHeaderPO> headerPOList; diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml index 306cb2ba..c812f319 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml @@ -8,8 +8,6 @@ <result column="app_key" property="appKey"/> <result column="secret" property="secret"/> <result column="url" property="url"/> - <result column="supplierEnum" property="supplierEnum"/> - <result column="methodEnum" property="methodEnum"/> <collection property="bodyPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO"> <id column="bodyId" property="id"/> <result column="body_key" property="bodyKey"/> @@ -38,32 +36,6 @@ </select> <select id="queryOcrDoById" resultMap="OcrBodyHeaderParameter"> - SELECT - o.id, - o.NAME, - o.app_key, - o.secret, - o.url, - o.supplierEnum, - o.methodEnum, - b.id AS bodyId, - b.body_key, - b.body_value, - h.id AS headId, - h.header_key, - h.header_value , - p.id as parameterId, - p.parameter_key, - p.parameter_value - FROM - tb_ocr AS o - LEFT JOIN tb_ocr_body AS b ON o.id = b.ocr_id - LEFT JOIN tb_ocr_header AS h ON o.id = h.ocr_id - LEFT JOIN tb_ocr_parameter AS p ON o.id = p.ocr_id - <where> - <if test="id != null"> - o.id = #{id} - </if> - </where> + </select> </mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java index 3a218d5d..44463ee7 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java @@ -10,23 +10,7 @@ import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; */ public class ContractConvert { - /** - * 鍚堝悓璁㈠崟gg - * - * @param contractPO 鍚堝悓璁㈠崟 - * @return {@link ContractAggregate} - */ public static ContractAggregate contractPoToAgg(ContractPO contractPO){ return MapperUtils.INSTANCE.map(ContractAggregate.class,contractPO); } - - /** - * 鍚堝悓gg闃垮疂 - * - * @param contractAggregate 鍚堝悓鎬� - * @return {@link ContractPO} - */ - public static ContractPO contractAggToPo(ContractAggregate contractAggregate){ - return MapperUtils.INSTANCE.map(ContractPO.class,contractAggregate); - } } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java index 893ca016..dae2fc57 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java @@ -1,10 +1,7 @@ package com.seasky.seaskyocr.infrastructure.repository.contract; -import com.seasky.core.common.Error; -import com.seasky.core.common.ResponseCode; import com.seasky.core.ddd.base.BaseRepository; import com.seasky.core.ddd.base.DomainKeysMap; -import com.seasky.core.exception.DataAccessException; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; @@ -24,19 +21,7 @@ public class ContractRepositoryImpl extends BaseRepository<ContractAggregate> im @Override protected Long baseSave(ContractAggregate aggregate) { - ContractPO contractPO = ContractConvert.contractAggToPo(aggregate); - if (contractPO.getId() == null){ - contractPO.prepareBeforeInsert(); - if (contractMapper.insert(contractPO) != 1){ - throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅鏂板澶辫触", "")); - } - }else{ - contractPO.prepareBeforeUpdate(); - if (contractMapper.updateById(contractPO) != 1){ - throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅淇敼澶辫触", "")); - } - } - return 1L; + return null; } @Override diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java deleted file mode 100644 index 559c294c..00000000 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.seasky.seaskyocr.infrastructure.repository.ocr; - -import com.seasky.core.ddd.utils.MapperUtils; -import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; -import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author xiaqihang - * @date 2021/9/22 9:04 - */ -public class OcrConvert { - - public static BaseOcrAggregate buildBaseOcrAgg(OcrDo ocrDo){ - BaseOcrAggregate baseOcrAggregate = MapperUtils.INSTANCE.map(BaseOcrAggregate.class, ocrDo); - Map<String,String> body = new HashMap<>(6); - Map<String,String> head = new HashMap<>(6); - Map<String,Object> parameter = new HashMap<>(6); - ocrDo.getBodyPOList().forEach(i -> body.put(i.getBodyKey(),i.getBodyValue())); - ocrDo.getHeaderPOList().forEach(i -> head.put(i.getHeaderKey(),i.getHeaderValue())); - ocrDo.getParameterPOList().forEach(i -> parameter.put(i.getParameterKey(),i.getParameterValue())); - baseOcrAggregate.setBody(body); - baseOcrAggregate.setHead(head); - baseOcrAggregate.setParameter(parameter); - return baseOcrAggregate; - } -} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java index 41168a8d..c5aac1f9 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java @@ -2,10 +2,6 @@ package com.seasky.seaskyocr.infrastructure.repository.ocr; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; -import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; -import com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Repository; /** * ocr搴搃mpl @@ -13,39 +9,10 @@ import org.springframework.stereotype.Repository; * @author bandi * @date 2021/09/17 */ -@Repository public class OcrRepositoryImpl implements BaseOcrRepository { - - @Autowired - OcrMapper ocrMapper; - @Override public void save(BaseOcrAggregate baseOcrAggregate) { } - /** - * 鏌ヨocr鐨刬d - * - * @param id id - * @return {@link OcrDo} - */ - @Override - public BaseOcrAggregate queryOcrDoById(Long id) { - OcrDo ocrDo = ocrMapper.queryOcrDoById(id); - return OcrConvert.buildBaseOcrAgg(ocrDo); - } - - /** - * 閫氳繃甯愭埛id鏌ヨocr id - * - * @param id id - * @return {@link Long} - */ - @Override - public Long queryOcrIdByAccountId(Long id) { - return ocrMapper.queryOcrIdByAccountId(id); - } - - } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java index cdd04d62..0cc821ae 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java @@ -27,16 +27,9 @@ public class ContractController extends BaseController implements IContractContr @Autowired ContractCmdService contractCmdService; - /** - * 浠栫殑鍚堝悓 - * - * @param file 鏂囦欢 - * @param createContractCmd 鍒涘缓鍚堝悓cmd - * @return {@link Result<String>} - */ @ApiOperation("鍒涘缓鍚堝悓") @Override - public Result<String> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { + public Result<Long> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { return ok(ResponseCode.SUCCESS, contractCmdService.createContract(file, createContractCmd)); } } -- GitLab From 6e18e2bc9afb7525e0fb7fa042f7b1d431feb166 Mon Sep 17 00:00:00 2001 From: xiaqihang <xiaqihang@seaskysh.com> Date: Thu, 23 Sep 2021 09:43:48 +0800 Subject: [PATCH 8/8] =?UTF-8?q?Revert=20"Revert=20"fix=EF=BC=9A=E7=BC=96?= =?UTF-8?q?=E5=86=99ocr=E8=AF=86=E5=88=AB=E6=8E=A5=E5=8F=A3=EF=BC=8Cdomain?= =?UTF-8?q?=E5=B1=82""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit a54dd12e81a2a0b96aa48a953072d7f6e08ed231. --- .../seaskyocr/api/IContractController.java | 4 +- .../command/contract/ContractCmdService.java | 4 +- .../contract/ContractCmdServiceImpl.java | 23 ++-- .../aggregate/ocr/BaseOcrAggregate.java | 8 +- .../aggregate/ocr/BaseOcrRepository.java | 16 +++ .../contract/ContractAggregate.java | 37 ++++-- .../contract/ContractRepository.java | 1 - .../ocrimplement/contract/ContractVO.java | 9 ++ .../ocrFactory/Product/IHeHeProduct.java | 14 +-- .../ProductImpl/HeHeProductImpl.java | 108 +++++++++++++++++- .../infrastructure/dataobject/co/OcrDo.java | 4 + .../db/mapper/xml/OcrMapper.xml | 30 ++++- .../repository/contract/ContractConvert.java | 16 +++ .../contract/ContractRepositoryImpl.java | 17 ++- .../repository/ocr/OcrConvert.java | 29 +++++ .../repository/ocr/OcrRepositoryImpl.java | 33 ++++++ .../controller/ContractController.java | 9 +- 17 files changed, 323 insertions(+), 39 deletions(-) create mode 100644 ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java index 92b8adeb..aea52749 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java +++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IContractController.java @@ -20,8 +20,8 @@ public interface IContractController { * * @param createContractCmd 鍒涘缓鍚堝悓cmd * @param file 鏂囦欢 - * @return {@link Result<Long>} + * @return {@link Result<String>} */ @PostMapping(path = "HeHeContract") - Result<Long> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); + Result<String> HeHeContract(MultipartFile file ,CreateContractCmd createContractCmd); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java index 657d0b67..fab84bd3 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdService.java @@ -14,7 +14,7 @@ public interface ContractCmdService { * * @param createContractCmd 鍒涘缓鍚堝悓cmd * @param file 鏂囦欢 - * @return {@link Long} + * @return {@link String} */ - Long createContract(MultipartFile file, CreateContractCmd createContractCmd); + String createContract(MultipartFile file, CreateContractCmd createContractCmd); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java index ccf028ca..1f710d9a 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/contract/ContractCmdServiceImpl.java @@ -4,6 +4,7 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggre import com.seasky.seaskyocr.domain.service.ocrFactory.IOcrFactory; import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; import com.seasky.seaskyocr.dto.contract.CreateContractCmd; +import com.seasky.seaskyocr.enums.SupplierEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -25,20 +26,26 @@ public class ContractCmdServiceImpl implements ContractCmdService { * 鍒涘缓鍚堝悓 * * @param createContractCmd 鍒涘缓鍚堝悓cmd - * @return {@link Long} + * @param file 鏂囦欢 + * @return {@link String} */ @Override - public Long createContract(MultipartFile file, CreateContractCmd createContractCmd) { - IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); + public String createContract(MultipartFile file, CreateContractCmd createContractCmd) { try { byte[] bytes = file.getBytes(); String encode = new BASE64Encoder().encode(bytes); String hashId = String.valueOf(encode.hashCode()); - //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId - ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); - if (contractAggregate != null){ - //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� - return null; + if (createContractCmd.getSupplierEnum().equals(SupplierEnum.鍚堝悎.val())){ + IHeHeProduct heHeProduct = iOcrFactory.createHeHeProduct(); + //鏌ヨ涓€涓嬫暟鎹簱涓槸鍚︽湁杩欎釜hashId + ContractAggregate contractAggregate = heHeProduct.queryByHashId(hashId); + if (contractAggregate != null){ + //鐩存帴灏嗘煡璇㈢粨鏋滆繑鍥� contractAggregate杞琌ut + return null; + } + ContractAggregate aggregate = ContractAggregate.builder().build(); + aggregate.create(createContractCmd.getAccountId(),file,createContractCmd.getAddField()); + heHeProduct.getContract(aggregate); } } catch (IOException e) { e.printStackTrace(); diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java index 639be2aa..36c7144b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrAggregate.java @@ -2,8 +2,10 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; import com.seasky.seaskyocr.enums.MethodEnum; import com.seasky.seaskyocr.enums.SupplierEnum; +import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; @@ -15,19 +17,21 @@ import java.util.Map; */ @Data @Builder +@AllArgsConstructor +@NoArgsConstructor public class BaseOcrAggregate { private Long id; private String name; private String appKey; private String secret; private String url; - private String contentType; +// private String contentType; private SupplierEnum supplierEnum; private MethodEnum methodEnum; private Map<String,String> body; private Map<String,String> head; - private Map<String,String> parameter; + private Map<String,Object> parameter; public void updateAgg(BaseOcrVO vo){ //todo 鎵€鏈夊睘鎬ц祴鍊� diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java index 1dd0dd6c..8b2e927b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/BaseOcrRepository.java @@ -1,5 +1,7 @@ package com.seasky.seaskyocr.domain.aggregate.ocr; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; + /** * 鍩虹ocr搴� * @@ -16,6 +18,20 @@ public interface BaseOcrRepository { */ void save(BaseOcrAggregate baseOcrAggregate); + /** + * 鏌ヨocr鐨刬d + * + * @param id id + * @return {@link OcrDo} + */ + BaseOcrAggregate queryOcrDoById(Long id); + /** + * 閫氳繃甯愭埛id鏌ヨocr id + * + * @param id id + * @return {@link Long} + */ + Long queryOcrIdByAccountId(Long id); } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java index ce70ec35..595c8f0b 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractAggregate.java @@ -3,6 +3,9 @@ package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; import lombok.Builder; import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; /** * 鍚堝悓鎬� @@ -25,39 +28,51 @@ public class ContractAggregate extends BaseOcrImplementAggregate { private Long accountId; /** - * 鍚堝悓浠g爜 + * 鍚堝悓鍚嶇О */ - private String contractCode; + private String contractName; /** - * 鍚堝悓鍚嶇О + * 鍚堝悓缂栧彿 */ - private String contractName; + private String contractCode; /** * 鍐呭 */ private String content; + /** + * 鏂囦欢 + */ + private MultipartFile file; + + /** + * 瑕佹煡璇㈢殑瀛楁 + */ + private List<String> addField; + /** * 鍒涘缓鍚堝悓 * * @param accountId 甯愭埛id */ - public void create(Long accountId){ + public void create(Long accountId, MultipartFile file, List<String> addField){ this.accountId = accountId; + this.file = file; + this.addField = addField; } /** * 淇敼鍚堝悓 * - * @param contractCode 鍚堝悓浠g爜 - * @param contractName 鍚堝悓鍚嶇О + * @param contractVO 鍚堝悓绛捐瘉瀹� */ - public void modify(String contractCode, String contractName, String hashId){ - this.contractCode = contractCode; - this.contractName = contractName; - this.hashId = hashId; + public void modify(ContractVO contractVO){ + this.contractName = contractVO.getContractName(); + this.contractCode = contractVO.getContractCode(); + this.hashId = contractVO.getHashId(); + this.content = contractVO.getContent(); } } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java index 22ad8ee7..6aaa8022 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractRepository.java @@ -19,5 +19,4 @@ public interface ContractRepository extends DddRepository<ContractAggregate> { */ ContractAggregate queryByHashId(String hashId); - } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java index 1249f482..e2f0d7a7 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocrimplement/contract/ContractVO.java @@ -1,11 +1,20 @@ package com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + /** * 鍚堝悓绛捐瘉瀹� * * @author bandi * @date 2021/09/17 */ +@Builder +@Data +@AllArgsConstructor +@NoArgsConstructor public class ContractVO { /** diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java index 1a2f976b..00c0212f 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/Product/IHeHeProduct.java @@ -21,13 +21,13 @@ import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggre String getToken(BaseOcrImplementAggregate ocrImplementAggregate); - /** - * 鍏夊瀛楃璇嗗埆 - * - * @param ocrImplementAggregate 鍚堝悎ocr鑱氬悎鏍� - * @return {@link String} - */ - String getContract(BaseOcrImplementAggregate ocrImplementAggregate); + /** + * 寰楀埌鍚堝悓 + * + * @param contractAggregate 鍚堝悓鎬� + * @return {@link String} + */ + String getContract(ContractAggregate contractAggregate); /** * 鏌ヨ閫氳繃鏁e垪id diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java index 0786a9ca..df4fe760 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/ocrFactory/ProductImpl/HeHeProductImpl.java @@ -1,11 +1,38 @@ package com.seasky.seaskyocr.domain.service.ocrFactory.ProductImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; +import com.seasky.core.exception.DataAccessException; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.BaseOcrImplementAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; +import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractVO; import com.seasky.seaskyocr.domain.service.ocrFactory.Product.IHeHeProduct; +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.codec.binary.StringUtils; +import org.apache.http.HttpEntity; +import org.apache.http.HttpStatus; +import org.apache.http.StatusLine; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.omg.IOP.Encoding; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Map; +import org.springframework.util.ObjectUtils; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; /** * 鍚堝悎浜у搧impl @@ -18,6 +45,8 @@ class HeHeProductImpl implements IHeHeProduct { @Autowired ContractRepository contractRepository; + @Autowired + BaseOcrRepository ocrRepository; @Override public String getToken(BaseOcrImplementAggregate ocrImplementAggregate) { @@ -25,8 +54,49 @@ class HeHeProductImpl implements IHeHeProduct { } @Override - public String getContract(BaseOcrImplementAggregate ocrImplementAggregate) { - return null; + public String getContract(ContractAggregate contractAggregate) { + byte[] bytes = new byte[0]; + try { + bytes = contractAggregate.getFile().getBytes(); + } catch (IOException e) { + e.printStackTrace(); + } + String encode = Base64.encodeBase64String(bytes); +// Long ocrId = ocrRepository.queryOcrIdByAccountId(contractAggregate.getAccountId()); +// if (ocrId == null){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "涓嶅瓨鍦ㄤ笌璇ョ敤鎴风浉鍏宠仈鐨凮cr", "")); +// } +// BaseOcrAggregate baseOcrAggregate = ocrRepository.queryOcrDoById(ocrId); +// if (baseOcrAggregate == null){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鏌ヨ涓嶅埌鐩稿叧Ocr淇℃伅", "")); +// } +// Map<String, String> head = baseOcrAggregate.getHead(); +// head.put("app-key","18de35986509e69f1a93f5907ecdac4f"); +// head.put("app-secret","36b0d46acf9dd9e18665a40438d6ce77"); +// Map<String, Object> parameter = new HashMap<>(); +// //TODO 淇敼鍙傛暟key +//// String configuredKeys = parameter.get("4").toString(); +//// contractAggregate.getAddField().add(configuredKeys); +// parameter.put("configuredKeys",contractAggregate.getAddField()); +// parameter.put("filedata",encode); +// parameter.put("filename",contractAggregate.getFile().getOriginalFilename()); +// String jsonString = JSON.toJSONString(parameter); +// String httpPost = sendPost(baseOcrAggregate.getUrl(), jsonString, head); +// if (ObjectUtils.isEmpty(httpPost)){ +// throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "OCR鍥剧墖璇嗗埆澶辫触", "")); +// } +// String jsonUrl = JSONObject.parseObject(httpPost).getJSONObject("result").get("json_url").toString(); + String jsonUrl = "https://doc-compare.intsig.com/doc_extraction/keyinfo/result?format=json&task_id=269e75f120b7ac27142456673978971a"; + String result = sendPost(jsonUrl, null, null); + String content = JSONObject.parseObject(result).getJSONObject("result").get("customize_keys").toString(); + System.out.println(JSONObject.parseObject(result).getJSONObject("result").get("stdandard_keys").toString()); + String contractCode = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓缂栧彿").toString(); + String contractName = JSONObject.parseObject(result).getJSONObject("result").getJSONObject("stdandard_keys").get("鍚堝悓鍚嶇О").toString(); + String hashId = String.valueOf(encode.hashCode()); + ContractVO contractVO = ContractVO.builder().accountId(contractAggregate.getAccountId()).content(content).contractCode(contractCode).contractName(contractName).hashId(hashId).build(); + contractAggregate.modify(contractVO); + contractRepository.save(contractAggregate); + return content; } /** @@ -39,5 +109,37 @@ class HeHeProductImpl implements IHeHeProduct { public ContractAggregate queryByHashId(String hashId){ return contractRepository.queryByHashId(hashId); } - + + /** + * get http post + * + * @param url url + * @param jsonData json鏁版嵁 + * @return {@link String} + */ + private String sendPost(String url, String jsonData, Map<String,String> header) { + String result =""; + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(url); + if (header != null){ + header.forEach((key,value) -> httpPost.setHeader(key, value)); + } + if (jsonData != null){ + StringEntity entity = new StringEntity(jsonData, "UTF-8"); + httpPost.setEntity(entity); + } + CloseableHttpResponse response = null; + try { + response = httpclient.execute(httpPost); + StatusLine status = response.getStatusLine(); + if (status.getStatusCode() == HttpStatus.SC_OK) { + HttpEntity responseEntity = response.getEntity(); + result = EntityUtils.toString(responseEntity); + } + } + catch (IOException e) { + e.printStackTrace(); + } + return result; + } } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java index 7506b41b..b3c531b1 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/co/OcrDo.java @@ -31,6 +31,10 @@ public class OcrDo { private String url; + private String supplierEnum; + + private String methodEnum; + private List<OcrBodyPO> bodyPOList; private List<OcrHeaderPO> headerPOList; diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml index c812f319..306cb2ba 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/xml/OcrMapper.xml @@ -8,6 +8,8 @@ <result column="app_key" property="appKey"/> <result column="secret" property="secret"/> <result column="url" property="url"/> + <result column="supplierEnum" property="supplierEnum"/> + <result column="methodEnum" property="methodEnum"/> <collection property="bodyPOList" ofType="com.seasky.seaskyocr.infrastructure.dataobject.po.ocr.OcrBodyPO"> <id column="bodyId" property="id"/> <result column="body_key" property="bodyKey"/> @@ -36,6 +38,32 @@ </select> <select id="queryOcrDoById" resultMap="OcrBodyHeaderParameter"> - + SELECT + o.id, + o.NAME, + o.app_key, + o.secret, + o.url, + o.supplierEnum, + o.methodEnum, + b.id AS bodyId, + b.body_key, + b.body_value, + h.id AS headId, + h.header_key, + h.header_value , + p.id as parameterId, + p.parameter_key, + p.parameter_value + FROM + tb_ocr AS o + LEFT JOIN tb_ocr_body AS b ON o.id = b.ocr_id + LEFT JOIN tb_ocr_header AS h ON o.id = h.ocr_id + LEFT JOIN tb_ocr_parameter AS p ON o.id = p.ocr_id + <where> + <if test="id != null"> + o.id = #{id} + </if> + </where> </select> </mapper> \ No newline at end of file diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java index 44463ee7..3a218d5d 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractConvert.java @@ -10,7 +10,23 @@ import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; */ public class ContractConvert { + /** + * 鍚堝悓璁㈠崟gg + * + * @param contractPO 鍚堝悓璁㈠崟 + * @return {@link ContractAggregate} + */ public static ContractAggregate contractPoToAgg(ContractPO contractPO){ return MapperUtils.INSTANCE.map(ContractAggregate.class,contractPO); } + + /** + * 鍚堝悓gg闃垮疂 + * + * @param contractAggregate 鍚堝悓鎬� + * @return {@link ContractPO} + */ + public static ContractPO contractAggToPo(ContractAggregate contractAggregate){ + return MapperUtils.INSTANCE.map(ContractPO.class,contractAggregate); + } } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java index dae2fc57..893ca016 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/contract/ContractRepositoryImpl.java @@ -1,7 +1,10 @@ package com.seasky.seaskyocr.infrastructure.repository.contract; +import com.seasky.core.common.Error; +import com.seasky.core.common.ResponseCode; import com.seasky.core.ddd.base.BaseRepository; import com.seasky.core.ddd.base.DomainKeysMap; +import com.seasky.core.exception.DataAccessException; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractAggregate; import com.seasky.seaskyocr.domain.aggregate.ocrimplement.contract.ContractRepository; import com.seasky.seaskyocr.infrastructure.dataobject.po.contract.ContractPO; @@ -21,7 +24,19 @@ public class ContractRepositoryImpl extends BaseRepository<ContractAggregate> im @Override protected Long baseSave(ContractAggregate aggregate) { - return null; + ContractPO contractPO = ContractConvert.contractAggToPo(aggregate); + if (contractPO.getId() == null){ + contractPO.prepareBeforeInsert(); + if (contractMapper.insert(contractPO) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅鏂板澶辫触", "")); + } + }else{ + contractPO.prepareBeforeUpdate(); + if (contractMapper.updateById(contractPO) != 1){ + throw new DataAccessException(new Error(ResponseCode.SERVER_INTERNAL_EXCEPTION, null, "鍚堝悓淇℃伅淇敼澶辫触", "")); + } + } + return 1L; } @Override diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java new file mode 100644 index 00000000..559c294c --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvert.java @@ -0,0 +1,29 @@ +package com.seasky.seaskyocr.infrastructure.repository.ocr; + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author xiaqihang + * @date 2021/9/22 9:04 + */ +public class OcrConvert { + + public static BaseOcrAggregate buildBaseOcrAgg(OcrDo ocrDo){ + BaseOcrAggregate baseOcrAggregate = MapperUtils.INSTANCE.map(BaseOcrAggregate.class, ocrDo); + Map<String,String> body = new HashMap<>(6); + Map<String,String> head = new HashMap<>(6); + Map<String,Object> parameter = new HashMap<>(6); + ocrDo.getBodyPOList().forEach(i -> body.put(i.getBodyKey(),i.getBodyValue())); + ocrDo.getHeaderPOList().forEach(i -> head.put(i.getHeaderKey(),i.getHeaderValue())); + ocrDo.getParameterPOList().forEach(i -> parameter.put(i.getParameterKey(),i.getParameterValue())); + baseOcrAggregate.setBody(body); + baseOcrAggregate.setHead(head); + baseOcrAggregate.setParameter(parameter); + return baseOcrAggregate; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java index c5aac1f9..41168a8d 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrRepositoryImpl.java @@ -2,6 +2,10 @@ package com.seasky.seaskyocr.infrastructure.repository.ocr; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrAggregate; import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; +import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo; +import com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; /** * ocr搴搃mpl @@ -9,10 +13,39 @@ import com.seasky.seaskyocr.domain.aggregate.ocr.BaseOcrRepository; * @author bandi * @date 2021/09/17 */ +@Repository public class OcrRepositoryImpl implements BaseOcrRepository { + + @Autowired + OcrMapper ocrMapper; + @Override public void save(BaseOcrAggregate baseOcrAggregate) { } + /** + * 鏌ヨocr鐨刬d + * + * @param id id + * @return {@link OcrDo} + */ + @Override + public BaseOcrAggregate queryOcrDoById(Long id) { + OcrDo ocrDo = ocrMapper.queryOcrDoById(id); + return OcrConvert.buildBaseOcrAgg(ocrDo); + } + + /** + * 閫氳繃甯愭埛id鏌ヨocr id + * + * @param id id + * @return {@link Long} + */ + @Override + public Long queryOcrIdByAccountId(Long id) { + return ocrMapper.queryOcrIdByAccountId(id); + } + + } diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java index 0cc821ae..cdd04d62 100644 --- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java +++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/ContractController.java @@ -27,9 +27,16 @@ public class ContractController extends BaseController implements IContractContr @Autowired ContractCmdService contractCmdService; + /** + * 浠栫殑鍚堝悓 + * + * @param file 鏂囦欢 + * @param createContractCmd 鍒涘缓鍚堝悓cmd + * @return {@link Result<String>} + */ @ApiOperation("鍒涘缓鍚堝悓") @Override - public Result<Long> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { + public Result<String> HeHeContract(@RequestParam("file") MultipartFile file, CreateContractCmd createContractCmd) { return ok(ResponseCode.SUCCESS, contractCmdService.createContract(file, createContractCmd)); } } -- GitLab