diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IAccount.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IAccountController.java
similarity index 97%
rename from ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IAccount.java
rename to ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IAccountController.java
index 9438ad67454ae064a9e8deea44a1c9426b55f873..f90c9101b4a46ab068af717744ff6273d002772e 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IAccount.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IAccountController.java
@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 @FeignClient("account-provider")
 @RequestMapping("account")
 @Api("account鐢ㄦ埛妯″潡")
-public interface IAccount {
+public interface IAccountController {
     //todo:save鍏宠仈鐨刟ccount璁板緱澶勭悊鎺�
     @PostMapping(path = "/saveAccount")
     Result<Long> saveAccount(@RequestBody AccountCmd accountCmd);
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcr.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java
similarity index 67%
rename from ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcr.java
rename to ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java
index 6487c6fe67db45eaaab85600e1586806ea59fb41..1e694f59a99f01d86d6c39705c69f48c87bf8d01 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcr.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/api/IOcrController.java
@@ -19,30 +19,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
  */
 @FeignClient("ocr-provider")
 @RequestMapping("ocr")
-public interface IOcr {
+public interface IOcrController {
     /**
      * 娣诲姞ocr鍙婂叾鍏宠仈淇℃伅,鍙洿鏂皁cr鐨勬櫘閫氫俊鎭�(涓嶆洿鏂板叧鑱斾俊鎭�,鏅€氫俊鎭寚涓嶅寘鎷瘑鐮�)
      */
-    //todo:杩欓噷杩樻槸鏈変釜璁捐缂洪櫡,鎴戠殑鎯虫硶鏄痗md閲岄潰鍙傛暟涓€瀹氭槸鐗╁敖鍏剁敤鐨�,杩欓噷鏇存柊淇℃伅涓巓crCmd鏄笉鍖归厤鐨�
     @PostMapping("/saveOcr")
     Result<Long> saveOcr(@RequestBody OcrCmd ocrCmd);
 
     @PostMapping("/modifySecret")
     Result<Long> saveOcrSecret(@RequestBody OcrSecretCmd ocrSecretCmd);
 
-    @PostMapping("/saveOcrHeader")
-    Result<Long> saveOcrHeader(@RequestBody OcrHeaderCmd ocrHeaderCmd);
-
-
-    @PostMapping("/saveOcrParameter")
-    Result<Long> saveOcrParameter(@RequestBody OcrParameterCmd ocrParameterCmd);
-
-    @PostMapping("/saveOcrBody")
-    Result<Long> saveOcrBody(@RequestBody OcrBodyCmd ocrBodyCmd);
-
-    @PostMapping("/saveOcrAccountIds")
-    Result<Object> saveOcrAccount(@RequestBody OcrAccountsCmd ocrAccountsCmd);
-
     @PostMapping("/removeOcr")
     Result<Object> removeOcr(@RequestBody TableKeys tableKeys);
 
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrBodyDto.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrBodyDto.java
deleted file mode 100644
index 60695d81d6ff8bbc5284f38ce8be15a3eb959033..0000000000000000000000000000000000000000
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrBodyDto.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.seasky.seaskyocr.dto.entity.ocr;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-/**
- * DESC:
- *
- * @author vhwfif
- * @date 2021.09.21 09:47 鏄熸湡浜�
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Accessors(chain = true)
-@ApiModel("ocr鍏宠仈鐨刡ody淇℃伅")
-public class OcrBodyDto {
-    @ApiModelProperty("bodyKey")
-    private String bodyKey;
-    @ApiModelProperty("bodyValue")
-    private String bodyValue;
-    //todo:杩欓噷閫昏緫寰堢粏鍟�,鎸変笟鍔¢€昏緫,灏ゅ叾杩欑涓€瀵瑰鐨�,涔熷簲璇ユ湁vo,鍋氬厓绱犵瓫閫�;
-    @ApiModelProperty("corId")
-    private Long ocrId;
-}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrHeaderDto.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrHeaderDto.java
deleted file mode 100644
index a3bcb1e834713443cef6c12d50b810846614cea9..0000000000000000000000000000000000000000
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrHeaderDto.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.seasky.seaskyocr.dto.entity.ocr;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-/**
- * DESC:
- *
- * @author vhwfif
- * @date 2021.09.21 09:46 鏄熸湡浜�
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Accessors(chain = true)
-public class OcrHeaderDto {
-    private String headerKey;
-    private String headerValue;
-    private Long ocrId;
-}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrParameterDto.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrParameterDto.java
deleted file mode 100644
index b76af301a70f145d0944131bd870e9be21674c47..0000000000000000000000000000000000000000
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/entity/ocr/OcrParameterDto.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.seasky.seaskyocr.dto.entity.ocr;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-/**
- * DESC:
- *
- * @author vhwfif
- * @date 2021.09.21 09:46 鏄熸湡浜�
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Accessors(chain = true)
-@ApiModel("ocr鍏宠仈鐨刾arameter瀹炰綋")
-public class OcrParameterDto {
-    @ApiModelProperty("parameterKey")
-    private String parameterKey;
-    @ApiModelProperty("parameterValue")
-    private String parameterValue;
-    @ApiModelProperty("ocr鐨勪富閿�")
-    private Long ocrId;
-}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrAccountsCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrAccountsCmd.java
deleted file mode 100644
index dbb99f47b2fa9baf21a1e0c8ec34b44ad7ea78dd..0000000000000000000000000000000000000000
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrAccountsCmd.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.seasky.seaskyocr.dto.ocr;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.List;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-public class OcrAccountsCmd {
-    Long id;
-    List<Long> accountIds;
-}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrBodyCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrBodyCmd.java
deleted file mode 100644
index 8d092009f6b856b865d603b7802e5859eee8c8ed..0000000000000000000000000000000000000000
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrBodyCmd.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.seasky.seaskyocr.dto.ocr;
-
-import com.seasky.seaskyocr.dto.entity.ocr.OcrBodyDto;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.List;
-
-/**
- * DESC:
- *
- * @author vhwfif
- * @date 2021.09.21 09:47 鏄熸湡浜�
- */
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-public class OcrBodyCmd {
-
-    List<OcrBodyDto> ocrBodyList;
-    /**
-     * 杩欐槸ocr瀵瑰簲鐨勪富閿甶d,涓嶆槸ocr_parameter琛ㄧ殑;
-     */
-    private Long ocrId;
-}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrCmd.java
index 4592f1362c7a123c7ba2ae9b3cb87a315aadd4be..03cca220d9d4ac69808e49e200808ec54dc14e77 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrCmd.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrCmd.java
@@ -1,16 +1,19 @@
 package com.seasky.seaskyocr.dto.ocr;
 
 import com.seasky.core.ddd.base.BaseDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrBodyDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrHeaderDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrParameterDto;
+import com.seasky.core.validate.Update;
+import com.seasky.seaskyocr.enums.MethodEnum;
+import com.seasky.seaskyocr.enums.SupplierEnum;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-import java.util.Date;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 /**
  * DESC:
@@ -24,28 +27,37 @@ import java.util.List;
 @Builder
 public class OcrCmd extends BaseDto {
     private Long id;
+    @ApiModelProperty("ocr鍚嶇О")
     private String name;
+    @ApiModelProperty("appKey")
     private String appKey;
+    @ApiModelProperty("ocr鐨剈rl")
     private String url;
+    @ApiModelProperty("瀵嗙爜")
     private String secret;
-    //--preset
-    // private Date versionDate;
-    //todo:鍋氬畬鍏ㄩ儴鏇存柊閫昏緫涔嬪悗,澶勭悊杩欎釜filed,娌$敤鍒�,ctrl+shift+f:鎼滄墍鏈夊垹闄ゆ帀;
-    private String ocrUpdateType;
+    @ApiModelProperty("ocr鐨勪环鏍�")
+    private BigDecimal price;
+
+    @ApiModelProperty("ocr鐨勫巶瀹�")
+    private SupplierEnum supplierEnum;
+
+    @ApiModelProperty("鍔熻兘鏂规硶")
+    private MethodEnum methodEnum;
     /**
      * 鍏宠仈璐﹀彿淇℃伅
      */
-    private List<Long> accountIds;
+    @NotNull()
+    private List<MethodEnum> header;
     /**
      * 鍏宠仈header閿€煎
      */
-    private List<OcrHeaderDto> ocrHeaderList;
+    private Map<String, String> parameter;
     /**
      * 鍏宠仈parameter閿€煎
      */
-    private List<OcrParameterDto> ocrParameterList;
+    private Map<String, String> body;
     /**
      * 鍏宠仈body閿€煎
      */
-    private List<OcrBodyDto> ocrBodyList;
+    private Map<String, String> ocrBodyList;
 }
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrHeaderCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrHeaderCmd.java
deleted file mode 100644
index 865c6a69c810d1ec2c99c150865a353394d7e43c..0000000000000000000000000000000000000000
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrHeaderCmd.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.seasky.seaskyocr.dto.ocr;
-
-import com.seasky.seaskyocr.dto.entity.ocr.OcrHeaderDto;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-import java.util.List;
-
-/**
- * DESC:
- *
- * @author vhwfif
- * @date 2021.09.21 09:46 鏄熸湡浜�
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-@Builder
-@Accessors(chain = true)
-public class OcrHeaderCmd {
-
-    private List<OcrHeaderDto> ocrHeaderList;
-    /**
-     * 杩欐槸ocr瀵瑰簲鐨勪富閿甶d,涓嶆槸ocr_parameter琛ㄧ殑;
-     */
-    private Long ocrId;
-}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrOut.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrOut.java
index 78752a077b4388b0c6887da0c6b501d2dd5eb51d..36c9690ed47db97f85c9c62f9f3fa1eac0ff2cb4 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrOut.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrOut.java
@@ -2,16 +2,17 @@ package com.seasky.seaskyocr.dto.ocr;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.seasky.core.ddd.base.BaseDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrBodyDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrHeaderDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrParameterDto;
+import com.seasky.seaskyocr.enums.MethodEnum;
+import com.seasky.seaskyocr.enums.SupplierEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 @Data
 @AllArgsConstructor
@@ -28,24 +29,27 @@ public class OcrOut extends BaseDto implements Serializable {
     private String appKey;
     @ApiModelProperty("ocr鐨剈rl")
     private String url;
-    /**
-     * 鍏宠仈璐﹀彿淇℃伅
-     */
-    @ApiModelProperty("ocr鍏宠仈鐨勮处鎴穒d闆嗗悎")
-    private List<Long> accountIds;
+    @ApiModelProperty("ocr鐨勪环鏍�")
+    private BigDecimal price;
+
+    @ApiModelProperty("ocr鐨勫巶瀹�")
+    private SupplierEnum supplierEnum;
+
+    @ApiModelProperty("鍔熻兘鏂规硶")
+    private MethodEnum methodEnum;
     /**
      * 鍏宠仈header閿€煎
      */
     @ApiModelProperty("cor鍏宠仈鐨刪eader淇℃伅闆嗗悎")
-    private List<OcrHeaderDto> ocrHeaderDtoList;
+    private Map<String, String> header;
     /**
      * 鍏宠仈parameter閿€煎
      */
-    @ApiModelProperty("ocr鍏宠仈鐨刾roperty淇℃伅闆嗗悎")
-    private List<OcrParameterDto> ocrParameterDtoList;
+    @ApiModelProperty("ocr鍏宠仈鐨刾arameter淇℃伅闆嗗悎")
+    private Map<String, String> parameter;
     /**
      * 鍏宠仈body閿€煎
      */
     @ApiModelProperty("ocr鍏宠仈鐨刡ody淇℃伅闆嗗悎")
-    private List<OcrBodyDto> ocrBodyDtoList;
+    private Map<String, String> body;
 }
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrParameterCmd.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrParameterCmd.java
deleted file mode 100644
index 36ab10268e831435ba4f78d836dd55c9e7157198..0000000000000000000000000000000000000000
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrParameterCmd.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.seasky.seaskyocr.dto.ocr;
-
-import com.seasky.seaskyocr.dto.entity.ocr.OcrParameterDto;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-import java.io.PipedReader;
-import java.util.List;
-
-/**
- * DESC:
- *
- * @author vhwfif
- * @date 2021.09.21 09:46 鏄熸湡浜�
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-@Builder
-@Accessors(chain = true)
-//todo:鎺ュ彛鐩稿叧鐨剆wagger娉ㄨВ杩樻病鏈夋敞瑙�,ocr鎵€鏈夌殑鎺ュ彛鍙傛暟閮借繕娌″姞swagger娉ㄨВ,杩樻湁Controller鐨�,涔熻娉ㄦ剰
-public class OcrParameterCmd {
-
-
-    private List<OcrParameterDto> ocrParameterList;
-    /**
-     * 杩欐槸ocr瀵瑰簲鐨勪富閿甶d,涓嶆槸ocr_parameter琛ㄧ殑;
-     */
-    private Long ocrId;
-}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrQry.java b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrQry.java
index 3b3dcf7688c3b35eaaee1ae60e065fcae0f3803f..39705bf1e9c6c2fdf2a177afcdfdd4c961cb8a97 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrQry.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/seaskyocr/dto/ocr/OcrQry.java
@@ -2,9 +2,8 @@ package com.seasky.seaskyocr.dto.ocr;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.seasky.core.ddd.base.BaseDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrBodyDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrHeaderDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrParameterDto;
+import com.seasky.seaskyocr.enums.MethodEnum;
+import com.seasky.seaskyocr.enums.SupplierEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -14,7 +13,7 @@ import lombok.NoArgsConstructor;
 
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
-import java.util.List;
+import java.math.BigDecimal;
 
 @Data
 @NoArgsConstructor
@@ -30,26 +29,15 @@ public class OcrQry extends BaseDto implements Serializable {
     private String appKey;
     @ApiModelProperty("ocr鐨剈rl")
     private String url;
-    /**
-     * 鍏宠仈璐﹀彿淇℃伅
-     */
-    @ApiModelProperty("ocr鍏宠仈鐨勮处鎴穒d闆嗗悎")
-    private List<Long> accountIds;
-    /**
-     * 鍏宠仈header閿€煎
-     */
-    @ApiModelProperty("cor鍏宠仈鐨刪eader淇℃伅闆嗗悎")
-    private List<OcrHeaderDto> ocrHeaderDtoList;
-    /**
-     * 鍏宠仈parameter閿€煎
-     */
-    @ApiModelProperty("ocr鍏宠仈鐨刾roperty淇℃伅闆嗗悎")
-    private List<OcrParameterDto> ocrParameterDtoList;
-    /**
-     * 鍏宠仈body閿€煎
-     */
-    @ApiModelProperty("ocr鍏宠仈鐨刡ody淇℃伅闆嗗悎")
-    private List<OcrBodyDto> ocrBodyDtoList;
+
+    @ApiModelProperty("ocr鐨勪环鏍�")
+    private BigDecimal price;
+
+    @ApiModelProperty("ocr鐨勫巶瀹�")
+    private SupplierEnum supplierEnum;
+
+    @ApiModelProperty("鍔熻兘鏂规硶")
+    private MethodEnum methodEnum;
 
     @NotNull(message = "椤电爜涓嶈兘涓虹┖")
     @ApiModelProperty(value = "椤电爜", example = "1")
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 a9729e4b9b96ec202b29f5984c8fe6aa91b36eba..c7b35e861b7774406cbf740844e553f0b08f6477 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
@@ -8,12 +8,12 @@ package com.seasky.seaskyocr.enums;
  */
 public enum MethodEnum {
 
-    鍚堝悓("鍚堝悓","1");
+    鍚堝悓("鍚堝悓", "1");
 
     final String k;
     final String v;
 
-    MethodEnum(final String k,final String v) {
+    MethodEnum(final String k, final String v) {
         this.k = k;
         this.v = v;
     }
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 1471d5db9d1ff7a965c930017423b48d6c569b4f..be7569d5372a58d128410c85678596763fe3c5ea 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
@@ -8,16 +8,25 @@ package com.seasky.seaskyocr.enums;
  */
 public enum SupplierEnum {
 
-    鍚堝悎("鍚堝悎","1");
+    鍚堝悎("鍚堝悎", "1");
 
     final String k;
     final String v;
 
-    SupplierEnum(final String k,final String v) {
+    SupplierEnum(final String k, final String v) {
         this.k = k;
         this.v = v;
     }
 
+    public static SupplierEnum getEnumValue(String v) {
+        for (SupplierEnum e : values()) {
+            if (e.val().equals(v)) {
+                return e;
+            }
+        }
+        return null;
+    }
+
     public String val() {
         return v;
     }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/OcrConvertForApp.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/OcrConvertForApp.java
index 5c71f6931c7bb1877a122b55cf60054b920863dd..9798d40634916b081cfd2e6c3a639baca22e2972 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/OcrConvertForApp.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/assembler/OcrConvertForApp.java
@@ -1,20 +1,14 @@
 package com.seasky.seaskyocr.application.command.assembler;
 
 import cn.hutool.core.util.ObjectUtil;
-import com.google.common.base.Objects;
 import com.seasky.core.ddd.utils.MapperUtils;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrAggregate;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrBodyEntity;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrHeaderEntity;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrParameterEntity;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrBodyDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrHeaderDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrParameterDto;
 import com.seasky.seaskyocr.dto.ocr.*;
 
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -27,80 +21,7 @@ public class OcrConvertForApp {
 
     public static OcrAggregate cmdToAgg(OcrCmd ocrCmd) {
         OcrAggregate ocrAggregate = MapperUtils.INSTANCE.map(OcrAggregate.class, ocrCmd);
-        //灏哻md涓殑List<OcrHeaderDto> 杞崲鎴怉gg涓殑List<OcrHeaderEntity>
-        if (ObjectUtil.isNotNull(ocrCmd.getOcrHeaderList())) {
-            OcrHeaderCmd ocrHeaderCmd = MapperUtils.INSTANCE.map(OcrHeaderCmd.class, ocrCmd);
-            Map<String, String> header = cmdToAgg(ocrHeaderCmd).getHeader();
-            ocrAggregate.setHeader(header);
-            //灏哻md涓殑List<OcrParameterDto> 杞崲鎴怉gg涓殑List<OcrParameterEntity>
-        }
-        if (ObjectUtil.isNotNull(ocrCmd.getOcrParameterList())) {
-            OcrParameterCmd ocrParameterCmd = MapperUtils.INSTANCE.map(OcrParameterCmd.class, ocrCmd);
-            Map<String, String> parameter = cmdToAgg(ocrParameterCmd).getParameter();
-            ocrAggregate.setParameter(parameter);
-        }
-        if (ObjectUtil.isNotNull(ocrCmd.getOcrBodyList())) {
-            OcrBodyCmd ocrBodyCmd = MapperUtils.INSTANCE.map(OcrBodyCmd.class, ocrCmd);
-            Map<String, String> body = comToAgg(ocrBodyCmd).getBody();
-            ocrAggregate.setBody(body);
-        }
-        //灏嗗叧鑱旂殑corId杞崲鍒癮gg涓�
-        ocrAggregate.setAccountIds(ocrCmd.getAccountIds());
         return ocrAggregate;
 
     }
-
-
-    /**
-     * 鎵嬪姩澶勭悊,灏唎crHeader杞垚agg涓殑 List<OcrHeaderEntity> ocrHeaderEntityList;灞炴€�,涓嬩簩鍚岀悊
-     *
-     * @param ocrHeaderCmd
-     * @return
-     */
-    public static OcrAggregate cmdToAgg(OcrHeaderCmd ocrHeaderCmd) {
-        Long id = ocrHeaderCmd.getOcrId();
-        OcrAggregate ocrAggregate = OcrAggregate.builder().build();
-        Map<String,String> ocrHeaderEntityList = new HashMap<String,String>();
-        for (OcrHeaderDto ocrHeaderDto : ocrHeaderCmd.getOcrHeaderList()) {
-            OcrHeaderEntity ocrHeaderEntity = MapperUtils.INSTANCE.map(OcrHeaderEntity.class, ocrHeaderDto);
-            ocrHeaderEntity.setOcrId(ocrHeaderCmd.getOcrId());
-            ocrHeaderEntityList.put(ocrHeaderEntity.getHeaderKey(),ocrHeaderEntity.getHeaderValue());
-        }
-        ocrAggregate.setHeader(ocrHeaderEntityList);
-        ocrAggregate.setId(id);
-        return ocrAggregate;
-    }
-
-    public static OcrAggregate cmdToAgg(OcrParameterCmd ocrParameterCmd) {
-        Long id = ocrParameterCmd.getOcrId();
-        OcrAggregate ocrAggregate = OcrAggregate.builder().build();
-        Map<String,String> ocrParameterEntityList = new HashMap<String,String>();
-        for (OcrParameterDto ocrParameterDto : ocrParameterCmd.getOcrParameterList()) {
-            OcrParameterEntity ocrParameterEntity1 = MapperUtils.INSTANCE.map(OcrParameterEntity.class, ocrParameterDto);
-            ocrParameterEntity1.setOcrId(ocrParameterCmd.getOcrId());
-            ocrParameterEntityList.put(ocrParameterEntity1.getParameterKey(),ocrParameterEntity1.getParameterValue());
-        }
-        ocrAggregate.setParameter(ocrParameterEntityList);
-        ocrAggregate.setId(id);
-        return ocrAggregate;
-    }
-
-    public static OcrAggregate comToAgg(OcrBodyCmd ocrBodyCmd) {
-        Long id = ocrBodyCmd.getOcrId();
-        OcrAggregate ocrAggregate = OcrAggregate.builder().build();
-        Map<String,String> ocrBodyEntityList = new HashMap<String,String>();
-        for (OcrBodyDto ocrBodyDto : ocrBodyCmd.getOcrBodyList()) {
-            OcrBodyEntity ocrBodyEntity = MapperUtils.INSTANCE.map(OcrBodyEntity.class, ocrBodyDto);
-            ocrBodyEntity.setOcrId(ocrBodyCmd.getOcrId());
-            ocrBodyEntityList.put(ocrBodyEntity.getBodyKey(),ocrBodyEntity.getBodyValue());
-        }
-        ocrAggregate.setBody(ocrBodyEntityList);
-        ocrAggregate.setId(id);
-        return ocrAggregate;
-    }
-
-    public static OcrAggregate cmdToAgg(OcrAccountsCmd ocrAccountsCmd) {
-        OcrAggregate ocrAggregate = MapperUtils.INSTANCE.map(OcrAggregate.class, ocrAccountsCmd);
-        return ocrAggregate;
-    }
 }
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
index 799590875862ab2f068e4ea02e1fe41e03d55ed8..e9f0a5d8aa6d451bcac211820fb7955c9a06282b 100644
--- 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
@@ -13,30 +13,6 @@ import java.util.List;
 public interface OcrCmdService {
     Long saveOcr(OcrCmd ocrCmd);
 
-    /**
-     * 鏇存柊ocr鍏宠仈鐨刪eader淇℃伅
-     *
-     * @param ocrHeaderCmd cmd
-     * @return ocr鐨刬d
-     */
-    Long saveOcrHeader(OcrHeaderCmd ocrHeaderCmd);
-
-    /**
-     * 鏇存柊ocr鍏宠仈鐨刾arameter淇℃伅
-     *
-     * @param ocrParameterCmd cmd
-     * @return ocr鐨刬d
-     */
-    Long saveOcrParameter(OcrParameterCmd ocrParameterCmd);
-
-    /**
-     * 鏇存柊ocr鍏宠仈鐨刡ody淇℃伅
-     *
-     * @param ocrBodyCmd cmd
-     * @return ocr鐨刬d
-     */
-    Long saveOcrBody(OcrBodyCmd ocrBodyCmd);
-
     /**
      * 鍗曠嫭鏇存柊ocr鐨勫瘑鐮�
      *
@@ -45,12 +21,6 @@ public interface OcrCmdService {
      */
     Long saveOcrSecret(OcrSecretCmd ocrSecretCmd);
 
-    /**
-     * 鏇存柊鐢ㄦ埛涓巓cr鍏宠仈琛�
-     *
-     * @param ocrAccountsCmd accountId闆嗗悎
-     */
-    void saveOcrAccount(OcrAccountsCmd ocrAccountsCmd);
 
     void removeOcrs(List<Long> ids);
 }
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/OcrCmdServiceImpl.java
index fcd6812e799bd50c2d3d13954ce0ef012f47758b..0837038692728fcfb02d6bc188f74e0c71bf865e 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/OcrCmdServiceImpl.java
@@ -28,29 +28,6 @@ public class OcrCmdServiceImpl implements OcrCmdService {
         return ocrDomainService.saveOcr(ocrAggregate);
     }
 
-    @Override
-    @Transactional
-    public Long saveOcrHeader(OcrHeaderCmd ocrHeaderCmd) {
-        OcrAggregate ocrAggregate = OcrConvertForApp.cmdToAgg(ocrHeaderCmd);
-        Long id = ocrDomainService.modifyOcrHeader(ocrAggregate);
-        return id;
-    }
-
-    @Override
-    @Transactional
-    public Long saveOcrParameter(OcrParameterCmd ocrParameterCmd) {
-        OcrAggregate ocrAggregate = OcrConvertForApp.cmdToAgg(ocrParameterCmd);
-        Long id = ocrDomainService.modifyOcrParameter(ocrAggregate);
-        return id;
-    }
-
-    @Override
-    @Transactional
-    public Long saveOcrBody(OcrBodyCmd ocrBodyCmd) {
-        OcrAggregate ocrAggregate = OcrConvertForApp.comToAgg(ocrBodyCmd);
-        Long id = ocrDomainService.modifyOcrBody(ocrAggregate);
-        return id;
-    }
 
     @Override
     @Transactional
@@ -65,12 +42,6 @@ public class OcrCmdServiceImpl implements OcrCmdService {
         return id;
     }
 
-    @Override
-    @Transactional
-    public void saveOcrAccount(OcrAccountsCmd ocrAccountsCmd) {
-        OcrAggregate ocrAggregate = OcrConvertForApp.cmdToAgg(ocrAccountsCmd);
-        ocrDomainService.modifyOcrAccounts(ocrAggregate);
-    }
 
     @Override
     @Transactional
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountAggregate.java
index e0351c5ec60e439b154718cedf4f5a70414d4df2..a1c58896c096e87fd5bac870846498abcb7622e4 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountAggregate.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountAggregate.java
@@ -2,6 +2,7 @@ package com.seasky.seaskyocr.domain.aggregate.account;
 
 import com.seasky.core.ddd.base.BaseAggregate;
 import com.seasky.core.ddd.utils.MapperUtils;
+import com.seasky.seaskyocr.enums.MethodEnum;
 import lombok.*;
 import lombok.experimental.Accessors;
 
@@ -30,12 +31,11 @@ public class AccountAggregate extends BaseAggregate {
 
     private String accountName;
 
-    private Date versionDate;
     //鏇存柊鐢ㄦ埛瑙嗗浘
     private AccountVO accountVO;
 
     //鍏宠仈鏈嶅姟闆嗗悎
-    private List<Long> ocrIds;
+    private List<MethodEnum> methodEnumList;
 
     public AccountAggregate updateAccountVo(AccountAggregate accountAggregate) {
         AccountVO accountVO = MapperUtils.INSTANCE.map(AccountVO.class, accountAggregate);
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
index bfb1aadaf427b3fee252e74810ba72f3afab9a98..68b4bedc72dd04487ab13c16defeb607d1e6579a 100644
--- 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
@@ -1,6 +1,7 @@
 package com.seasky.seaskyocr.domain.aggregate.account;
 
 import com.seasky.core.ddd.base.DddRepository;
+import com.seasky.seaskyocr.domain.aggregate.ocr.OcrAggregate;
 
 
 /**
@@ -20,4 +21,5 @@ public interface AccountRepository extends DddRepository<AccountAggregate> {
 
     AccountAggregate buildAggById(Long id);
 
+    OcrAggregate getOcrAccountByMethodEnumAndAccountId(OcrAggregate ocrAggregate);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountVO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountVO.java
index c497a4db3febe9d60113a1040c999ff1e780198e..b9a72ed7e28f6c6d6c615ef88bfbbdbb928c83ef 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountVO.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/account/AccountVO.java
@@ -1,5 +1,6 @@
 package com.seasky.seaskyocr.domain.aggregate.account;
 
+import com.seasky.seaskyocr.enums.MethodEnum;
 import io.swagger.models.auth.In;
 import lombok.*;
 
@@ -24,5 +25,5 @@ public class AccountVO {
 
     private String accountName;
 
-    private List<Long> ocrIds;
+    private List<MethodEnum> methodEnumList;
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/common/ocr/OcrUpdateType.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/common/ocr/OcrUpdateType.java
deleted file mode 100644
index bd914ae6ba1eb94b58b4aed9cc6bcb144788feec..0000000000000000000000000000000000000000
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/common/ocr/OcrUpdateType.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.seasky.seaskyocr.domain.aggregate.common.ocr;
-
-/**
- * DESC:
- *
- * @author vhwfif
- * @date 2021.09.21 09:56 鏄熸湡浜�
- */
-public enum OcrUpdateType {
-    /**
-     * 鏇存柊ocr淇℃伅,涓嶅寘鍚瘑鐮佷俊鎭�
-     */
-    Common,
-    /**
-     * 鏇存柊ocr淇℃伅:鍙洿鏂板瘑鐮�
-     */
-    Secret,
-    /**
-     * 鏇存柊ocr鍏宠仈鐨刡ody淇℃伅
-     */
-    OcrBody,
-    /**
-     * 鏇存柊ocr鍏宠仈鐨刪eader淇℃伅
-     */
-    OcrHeader,
-    /**
-     * 鏇存柊ocr鍏宠仈鐨刾arameter淇℃伅
-     */
-    OcrParameter,
-    /**
-     * 鏇存柊ocr涓庡叧鑱旂殑account鐨勫叧鑱斾俊鎭�
-     */
-    RelatedAccount;
-}
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrAccountsVo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrAccountsVo.java
index 7a4130b1e5f81aa0f7aabd42f9d4f5bf9079336a..0447e97d25ca3d000fb67f308d4029efaa42d9da 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrAccountsVo.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrAccountsVo.java
@@ -1,5 +1,6 @@
 package com.seasky.seaskyocr.domain.aggregate.ocr;
 
+import com.seasky.seaskyocr.enums.MethodEnum;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -7,11 +8,11 @@ import lombok.NoArgsConstructor;
 
 import java.util.List;
 
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-public class OcrAccountsVo {
-    private Long id;
-    private List<Long> accountIds;
-}
+// @Data
+// @NoArgsConstructor
+// @AllArgsConstructor
+// @Builder
+// public class OcrAccountsVo {
+//     private Long id;
+//     private List<MethodEnum> methodEnums;
+// }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrAggregate.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrAggregate.java
index 805f2bdc850c5321fe235a24615da43d24262d96..523ee2c0de961a009a272af72c4df6e47dede046 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrAggregate.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrAggregate.java
@@ -5,6 +5,7 @@ import com.seasky.core.ddd.base.BaseAggregate;
 import com.seasky.core.ddd.utils.MapperUtils;
 import lombok.*;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -28,29 +29,20 @@ public class OcrAggregate extends BaseAggregate {
     private String appKey;
     private String url;
     private String secret;
-
-    // private Date versionDate;
-    /**
-     * 鍏宠仈璐﹀彿淇℃伅
-     */
-    private List<Long> accountIds;
+    private BigDecimal price;
     /**
      * 鍏宠仈header閿€煎
      */
-    private Map<String,String> header;
+    private Map<String, String> header;
     /**
      * 鍏宠仈parameter閿€煎
      */
-    private Map<String,String> parameter;
+    private Map<String, String> parameter;
     /**
      * 鍏宠仈body閿€煎
      */
-    private Map<String,String> body;
+    private Map<String, String> body;
 
-    /**
-     * 鏇存柊绫诲瀷
-     */
-    // private String ocrUpdateType;
     /**
      * 鏅€氬睘鎬у煙闄愬畾
      */
@@ -82,10 +74,6 @@ public class OcrAggregate extends BaseAggregate {
         return MapperUtils.INSTANCE.map(OcrSecretVo.class, this);
     }
 
-    public OcrAccountsVo setOcrAccountsVo() {
-        return MapperUtils.INSTANCE.map(OcrAccountsVo.class, this);
-    }
-
 
     public OcrParametersVo setOcrParametersVo() {
         return this.ocrParametersVo = MapperUtils.INSTANCE.map(OcrParametersVo.class, this);
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrCommonVo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrCommonVo.java
index 8a460cd831c9a1055215140d22f1ec88259a370d..a1e4bdc8fc7d2c205ce379c12097bba299b08233 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrCommonVo.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrCommonVo.java
@@ -6,6 +6,8 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
+import java.math.BigDecimal;
+
 /**
  * DESC:
  *
@@ -22,4 +24,5 @@ public class OcrCommonVo {
     private String name;
     private String appKey;
     private String url;
+    private BigDecimal price;
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrRepository.java
index 881d938a21c0e90bfac25997d8d2ec65fadd1260..a0a50ae96669dc3ea8eb07e43e95cc59a8932174 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrRepository.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/aggregate/ocr/OcrRepository.java
@@ -1,6 +1,7 @@
 package com.seasky.seaskyocr.domain.aggregate.ocr;
 
 import com.seasky.core.ddd.base.DddRepository;
+import org.springframework.data.redis.connection.RedisZSetCommands;
 
 import java.util.List;
 
@@ -22,7 +23,6 @@ public interface OcrRepository extends DddRepository<OcrAggregate> {
 
     OcrAggregate getAggById(OcrAggregate oldOcrAggregate);
 
-    void modifyOcrAccounts(OcrAggregate ocrAggregate);
 
     void remove(List<Long> ids);
 
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/account/AccountDomainServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/account/AccountDomainServiceImpl.java
index 08fae01f16fc9446d44bdebe1c009c813a71e933..b1e6d48c86d36ebc631e44aa3f140c33225d3c53 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/account/AccountDomainServiceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/domain/service/account/AccountDomainServiceImpl.java
@@ -1,13 +1,16 @@
 package com.seasky.seaskyocr.domain.service.account;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.seasky.core.common.Error;
 import com.seasky.core.common.ResponseCode;
 import com.seasky.core.ddd.base.enums.LogicStampEnum;
+import com.seasky.core.exception.DataBusinessException;
 import com.seasky.core.exception.DataVerifyException;
 import com.seasky.seaskyocr.domain.aggregate.account.AccountAggregate;
 import com.seasky.seaskyocr.domain.aggregate.account.AccountRepository;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrAggregate;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrRepository;
+import com.seasky.seaskyocr.enums.MethodEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -29,22 +32,15 @@ public class AccountDomainServiceImpl implements AccountDomainService {
     public Long saveAccountInfo(AccountAggregate accountAggregate) {
         Long account;
         if (accountAggregate.getId() == null) {
-            //todo:杩欓噷鐢ㄤ笉鐢ㄥ仛鏁版嵁鏍¢獙?鑰冭檻accountCode鐨勯噸澶�,鍋�,涓嬮潰else涔熻鍋�
-            for (Long ocrId : accountAggregate.getOcrIds()) {
-                OcrAggregate ocrAggregate = OcrAggregate.builder().build();
-                ocrAggregate.setId(ocrId);
-                if (ocrRepository.getAggById(ocrAggregate) == null)
-                    throw new DataVerifyException(Error.builder().message("account鍏宠仈鐨刼cr涓嶅瓨鍦�").responseCode(ResponseCode.DATA_VERIFY_EXCEPTION).build());
-            }
             account = accountRepository.createAccount(accountAggregate);
             ArrayList<Object> objects = new ArrayList<>();
         } else {
+            for (MethodEnum methodEnum : accountAggregate.getMethodEnumList()) {
+                OcrAggregate ocrAggregate = OcrAggregate.builder().build();
+                if (ObjectUtil.isNotNull(accountRepository.getOcrAccountByMethodEnumAndAccountId(ocrAggregate)))
+                    throw new DataBusinessException(Error.builder().message("account涓庤鏂规硶宸插叧鑱�").responseCode(ResponseCode.DATA_VERIFY_EXCEPTION).build());
+            }
             accountAggregate.updateAccountVo(accountAggregate).setLogicStamp(LogicStampEnum.UPDATE);
-            //--preset:鍏堥€夋嫨鍋氭墜鍔ㄦ牎楠�
-            //todo:versionDate鍒ょ┖鏍¢獙(濡傛灉涓嶇敤versionDate璁板緱鍒犳帀)
-            // if (Objects.isNull(accountAggregate.getAccountVO().getVersionDate()))
-            //     throw new DataVerifyException(Error.builder().message("鏇存柊鏃�,versionDate瀛楁鍊间负绌�!!!")
-            //             .responseCode(ResponseCode.DATA_VERIFY_EXCEPTION).build());
             accountRepository.modifyAccount(accountAggregate);
             account = accountAggregate.getId();
         }
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
index 1067721a9504437332e0f23e8dcd64f831d70f87..e32cf9f0b8b6a5fe8e508be91b92e6fc088717df 100644
--- 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
@@ -14,6 +14,12 @@ public interface OcrDomainService {
 
     Long saveOcr(OcrAggregate ocrAggregate);
 
+    /**
+     * 鏆傛椂娌$敤,鍗曠嫭鏇存柊ocr鍏宠仈header淇℃伅
+     *
+     * @param ocrAggregate
+     * @return
+     */
     Long modifyOcrHeader(OcrAggregate ocrAggregate);
 
     Long modifyOcrParameter(OcrAggregate ocrAggregate);
@@ -22,7 +28,5 @@ public interface OcrDomainService {
 
     Long modifyOcrSecret(OcrAggregate oldOcrAggregate, OcrAggregate newOcrAggregate);
 
-    void modifyOcrAccounts(OcrAggregate ocrAggregate);
-
     void removeOcrs(List<Long> ids);
 }
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
index 9ab42cc908e08c62811361650b5fa91a2e6b898f..7a8251b0aedbb04eee27a8418b6e8e5a665f4cef 100644
--- 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
@@ -2,21 +2,13 @@ package com.seasky.seaskyocr.domain.service.ocr;
 
 import com.seasky.core.common.Error;
 import com.seasky.core.common.ResponseCode;
-import com.seasky.core.exception.DataAccessException;
 import com.seasky.core.exception.DataVerifyException;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrAggregate;
-import com.seasky.seaskyocr.domain.aggregate.ocr.OcrBodyEntity;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrRepository;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrPojo;
-import com.seasky.seaskyocr.infrastructure.repository.ocr.OcrConvertForRepository;
-import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
-import javax.print.PrintService;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * DESC:
@@ -59,11 +51,6 @@ public class OcrDomainServiceImpl implements OcrDomainService {
         return aLong;
     }
 
-    @Override
-    public void modifyOcrAccounts(OcrAggregate ocrAggregate) {
-        ocrRepository.modifyOcrAccounts(ocrAggregate);
-    }
-
     @Override
     public void removeOcrs(List<Long> ids) {
         ocrRepository.remove(ids);
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/AccountPO.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/AccountPO.java
index 97e8e5df50c124f0989d738ffb12fd913d1feac0..54fc8f2d8200a9a7f8659b10f2e7d1b031ccff0d 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/AccountPO.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/AccountPO.java
@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.seasky.core.ddd.base.BaseDataObject;
 import com.seasky.core.validate.Insert;
+import com.seasky.seaskyocr.enums.MethodEnum;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import javax.validation.constraints.NotNull;
+import java.lang.reflect.Method;
 import java.util.List;
 
 /**
@@ -31,5 +33,5 @@ public class AccountPO extends BaseDataObject {
     @NotNull(groups = Insert.class)
     String accountName;
     @TableField(exist = false)
-    List<Long> ocrIds;
+    List<MethodEnum> methodEnumList;
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrAccountPojo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrAccountPO.java
similarity index 87%
rename from ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrAccountPojo.java
rename to ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrAccountPO.java
index 5d79feb13effbc50a54653c92532f9d84ad73fb8..36f57e49edfaf6804a340400aba234e6a57d8b2f 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrAccountPojo.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrAccountPO.java
@@ -21,9 +21,7 @@ import lombok.experimental.Accessors;
 @Builder
 @TableName(value = "tb_account_ocr", autoResultMap = true)
 @Accessors(chain = true)
-public class OcrAccountPojo extends BaseDataObject {
-    @TableField("ocr_id")
-    Long ocrId;
+public class OcrAccountPO extends BaseDataObject {
     @TableField("account_id")
     Long accountId;
     @TableField("method_enum")
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrBodyPojo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrBodyPO.java
similarity index 93%
rename from ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrBodyPojo.java
rename to ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrBodyPO.java
index a328864f471f643466212523e0924ac88551b2eb..c5dac426c95cb1c927e7f6ef9602970eebdec7b6 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrBodyPojo.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrBodyPO.java
@@ -21,7 +21,7 @@ import lombok.experimental.Accessors;
 @Builder
 @TableName(value = "tb_ocr_body", autoResultMap = true)
 @Accessors(chain = true)
-public class OcrBodyPojo extends BaseDataObject {
+public class OcrBodyPO extends BaseDataObject {
     @TableField("body_key")
     private String bodyKey;
     @TableField("body_value")
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrHeaderPojo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrHeaderPO.java
similarity index 93%
rename from ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrHeaderPojo.java
rename to ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrHeaderPO.java
index 80228d8b836dd2da98c5c8699a4657c74a829f8b..fe12b8cbf5666c38eeef470757f21feb731e9411 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrHeaderPojo.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrHeaderPO.java
@@ -21,7 +21,7 @@ import lombok.experimental.Accessors;
 @Builder
 @TableName(value = "tb_ocr_header", autoResultMap = true)
 @Accessors(chain = true)
-public class OcrHeaderPojo extends BaseDataObject {
+public class OcrHeaderPO extends BaseDataObject {
     @TableField("header_key")
     String headerKey;
     @TableField("header_value")
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrPojo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrPO.java
similarity index 69%
rename from ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrPojo.java
rename to ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrPO.java
index ef416cd1d4a64a5c2543317e0df5bd8f28c92cc1..7a2f0406e18345d3b684a38527eb853c3be45fa1 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrPojo.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrPO.java
@@ -3,12 +3,14 @@ package com.seasky.seaskyocr.infrastructure.dataobject.po;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.seasky.core.ddd.base.BaseDataObject;
+import com.seasky.seaskyocr.enums.SupplierEnum;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -23,7 +25,7 @@ import java.util.List;
 @Builder
 @TableName(value = "tb_ocr", autoResultMap = true)
 @Accessors(chain = true)
-public class OcrPojo extends BaseDataObject {
+public class OcrPO extends BaseDataObject {
     @TableField("name")
     private String name;
     @TableField("app_key")
@@ -32,24 +34,27 @@ public class OcrPojo extends BaseDataObject {
     private String url;
     @TableField("secret")
     private String secret;
-    /**
-     * 鍏宠仈璐﹀彿淇℃伅
-     */
-    @TableField(exist = false)
-    private List<Long> accountIds;
+    @TableField("supplier_enum")
+    private String supplierEnum;
+    @TableField("method_enum")
+    private String methodEnum;
+
+    @TableField("price")
+    private BigDecimal price;
+
     /**
      * 鍏宠仈header閿€煎
      */
     @TableField(exist = false)
-    private List<OcrHeaderPojo> ocrHeaderPojoList;
+    private List<OcrHeaderPO> ocrHeaderPOList;
     /**
      * 鍏宠仈parameter閿€煎
      */
     @TableField(exist = false)
-    private List<OcrParameterPojo> ocrParameterPojoList;
+    private List<OcrParameterPO> ocrParameterPOList;
     /**
      * 鍏宠仈body閿€煎
      */
     @TableField(exist = false)
-    private List<OcrBodyPojo> ocrBodyPojoList;
+    private List<OcrBodyPO> ocrBodyPOList;
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrParameterPojo.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrParameterPO.java
similarity index 93%
rename from ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrParameterPojo.java
rename to ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrParameterPO.java
index 3e1139502d2b5e214fd2f717d920b25093e5f52a..a992d3efba866b4d2ced8f6db4171be57a447dc5 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrParameterPojo.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/dataobject/po/OcrParameterPO.java
@@ -21,7 +21,7 @@ import lombok.experimental.Accessors;
 @Builder
 @TableName(value = "tb_ocr_parameter", autoResultMap = true)
 @Accessors(chain = true)
-public class OcrParameterPojo extends BaseDataObject {
+public class OcrParameterPO extends BaseDataObject {
     @TableField("parameter_key")
     private String parameterKey;
     @TableField("parameter_value")
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrAccountMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrAccountMapper.java
index 1f07682bf3a4ea223ce6c0748a86cab21db58cf4..cf5d7e0a0d0457f02aff2b7fa930414cd3b9d892 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrAccountMapper.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrAccountMapper.java
@@ -1,7 +1,7 @@
 package com.seasky.seaskyocr.infrastructure.db.mapper.table;
 
 import com.seasky.core.base.BaseMapper;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrAccountPojo;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrAccountPO;
 import com.seasky.seaskyocr.infrastructure.dataobject.qo.AccountMethodQo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Param;
  * @date 2021.09.21 20:15 鏄熸湡浜�
  */
 @Mapper
-public interface OcrAccountMapper extends BaseMapper<OcrAccountPojo> {
+public interface OcrAccountMapper extends BaseMapper<OcrAccountPO> {
 
     /**
      * 闂�:鏌ヨocr甯愭埛
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrBodyMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrBodyMapper.java
index cf2309401cd40c884e989574b739ec8e8392f70e..d3b64078435b35b2d8afcd22e0ae95e1c7cf20d6 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrBodyMapper.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrBodyMapper.java
@@ -1,7 +1,7 @@
 package com.seasky.seaskyocr.infrastructure.db.mapper.table;
 
 import com.seasky.core.base.BaseMapper;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrBodyPojo;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrBodyPO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -11,5 +11,5 @@ import org.apache.ibatis.annotations.Mapper;
  * @date 2021.09.21 20:10 鏄熸湡浜�
  */
 @Mapper
-public interface OcrBodyMapper extends BaseMapper<OcrBodyPojo> {
+public interface OcrBodyMapper extends BaseMapper<OcrBodyPO> {
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrHeaderMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrHeaderMapper.java
index ac1c0d628ee8e188a7db63d9c2c5b224d4bfbbdf..4e75f0cc1d1cf7ed366729726b9a1378f994a9dd 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrHeaderMapper.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrHeaderMapper.java
@@ -1,7 +1,7 @@
 package com.seasky.seaskyocr.infrastructure.db.mapper.table;
 
 import com.seasky.core.base.BaseMapper;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrHeaderPojo;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrHeaderPO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @date 2021.09.21 20:00 鏄熸湡浜�
  */
 @Mapper
-public interface OcrHeaderMapper extends BaseMapper<OcrHeaderPojo> {
+public interface OcrHeaderMapper extends BaseMapper<OcrHeaderPO> {
 
 }
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
index 0ff710a60953031271f75ed062c52bc113118ba4..81f6ed3697f5109aaf21a9d7d6ef8dfc8a7727dc 100644
--- 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
@@ -2,7 +2,7 @@ package com.seasky.seaskyocr.infrastructure.db.mapper.table;
 
 import com.seasky.core.base.BaseMapper;
 import com.seasky.seaskyocr.infrastructure.dataobject.co.OcrDo;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrPojo;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrPO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -11,7 +11,7 @@ import org.apache.ibatis.annotations.Param;
  * @date 2021/9/18 17:03
  */
 @Mapper
-public interface OcrMapper extends BaseMapper<OcrPojo> {
+public interface OcrMapper extends BaseMapper<OcrPO> {
 
     /**
      * 鏌ヨocr鐨勫簳浠�
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrParametersMapper.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrParametersMapper.java
index 8570db6c065ffe7396d7e2029352de90684f2da1..6234313d1ffa3179a5c41a7eae989198a78683de 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrParametersMapper.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/db/mapper/table/OcrParametersMapper.java
@@ -1,7 +1,7 @@
 package com.seasky.seaskyocr.infrastructure.db.mapper.table;
 
 import com.seasky.core.base.BaseMapper;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrParameterPojo;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrParameterPO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @date 2021.09.21 20:06 鏄熸湡浜�
  */
 @Mapper
-public interface OcrParametersMapper extends BaseMapper<OcrParameterPojo> {
+public interface OcrParametersMapper extends BaseMapper<OcrParameterPO> {
 
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/account/AccountQueryServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/account/AccountQueryServiceImpl.java
index 1180d39ec5a9b9e5fdfd06976af6157173be9d49..57f85594a6a853c75558e9cbf0e5edf4790c5e6f 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/account/AccountQueryServiceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/account/AccountQueryServiceImpl.java
@@ -1,26 +1,22 @@
 package com.seasky.seaskyocr.infrastructure.reader.account;
 
 import cn.hutool.core.util.ObjectUtil;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.seasky.core.base.AbstractService;
 import com.seasky.core.common.Pagination;
 import com.seasky.core.ddd.utils.MapperUtils;
 import com.seasky.seaskyocr.application.query.account.AccountQueryService;
-import com.seasky.seaskyocr.dto.TableKey;
-import com.seasky.seaskyocr.dto.account.AccountByAccountCodeQry;
 import com.seasky.seaskyocr.dto.account.AccountOut;
 import com.seasky.seaskyocr.dto.account.AccountQry;
 import com.seasky.seaskyocr.dto.account.VersionDateOut;
 import com.seasky.seaskyocr.infrastructure.dataobject.po.AccountPO;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrAccountPojo;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrAccountPO;
 import com.seasky.seaskyocr.infrastructure.db.mapper.table.AccountMapper;
 import com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrAccountMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.awt.image.SampleModel;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -56,9 +52,9 @@ public class AccountQueryServiceImpl extends AbstractService<AccountPO, AccountM
         for (AccountPO po : accountPOList) {
             if (Objects.isNull(po.getOcrIds()))
                 po.setOcrIds(new ArrayList<>());
-            List<OcrAccountPojo> ocrAccountPojoList = ocrAccountMapper.selectList(new QueryWrapper<>(OcrAccountPojo.builder().accountId(po.getId()).build()));
-            for (OcrAccountPojo ocrAccountPojo : ocrAccountPojoList)
-                po.getOcrIds().add(ocrAccountPojo.getOcrId());
+            List<OcrAccountPO> ocrAccountPOList = ocrAccountMapper.selectList(new QueryWrapper<>(OcrAccountPO.builder().accountId(po.getId()).build()));
+            for (OcrAccountPO ocrAccountPO : ocrAccountPOList)
+                po.getOcrIds().add(ocrAccountPO.getOcrId());
         }
         pageOut.setRecords(AccountConvertForReader.poToAccountOutList(accountPOList));
         pageOut.setTotal(page.getTotal());
@@ -68,9 +64,9 @@ public class AccountQueryServiceImpl extends AbstractService<AccountPO, AccountM
     @Override
     public AccountOut queryAccountById(Long id) {
         AccountPO accountPO = mapper.selectById(id);
-        List<OcrAccountPojo> ocrAccountPojoList = ocrAccountMapper.selectList(new QueryWrapper<>(OcrAccountPojo.builder().accountId(id).build()));
+        List<OcrAccountPO> ocrAccountPOList = ocrAccountMapper.selectList(new QueryWrapper<>(OcrAccountPO.builder().accountId(id).build()));
         accountPO.setOcrIds(new ArrayList<>());
-        List<Long> ocrIds = ocrAccountPojoList.stream().map(OcrAccountPojo::getOcrId).collect(Collectors.toList());
+        List<Long> ocrIds = ocrAccountPOList.stream().map(OcrAccountPO::getOcrId).collect(Collectors.toList());
         accountPO.getOcrIds().addAll(ocrIds);
         // for (OcrAccountPojo ocrAccountPojo : ocrAccountPojoList) {
         //     accountPO.getOcrIds().add(ocrAccountPojo.getOcrId());
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrConvertForReader.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrConvertForReader.java
deleted file mode 100644
index 1c6bfbccdf66a98564dbb2bedddbdab3000428c4..0000000000000000000000000000000000000000
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrConvertForReader.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.seasky.seaskyocr.infrastructure.reader.ocr;
-
-import com.seasky.core.ddd.utils.MapperUtils;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrBodyDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrHeaderDto;
-import com.seasky.seaskyocr.dto.entity.ocr.OcrParameterDto;
-import com.seasky.seaskyocr.dto.ocr.OcrOut;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrPojo;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * DESC:
- *
- * @author vhwfif
- * @date 2021.09.21 11:34 鏄熸湡浜�
- */
-public class OcrConvertForReader {
-    public static List<OcrOut> PojoListToOcrOUtList(List<OcrPojo> ocrPojoList) {
-        List<OcrOut> ocrOutList = new ArrayList<>();
-        for (OcrPojo ocrPojo : ocrPojoList) {
-            OcrOut ocrOut = pojoToOCrOut(ocrPojo);
-            ocrOutList.add(ocrOut);
-        }
-        return ocrOutList;
-    }
-
-    public static OcrOut pojoToOCrOut(OcrPojo ocrPojo) {
-        OcrOut ocrOut = OcrOut.builder().accountIds(ocrPojo.getAccountIds()).name(ocrPojo.getName()).appKey(ocrPojo.getName()).url(ocrPojo.getUrl()).build();
-        ocrOut.setOcrHeaderDtoList(MapperUtils.INSTANCE.mapAsList(OcrHeaderDto.class, ocrPojo.getOcrHeaderPojoList()));
-        ocrOut.setOcrBodyDtoList(MapperUtils.INSTANCE.mapAsList(OcrBodyDto.class, ocrPojo.getOcrBodyPojoList()));
-        ocrOut.setOcrParameterDtoList(MapperUtils.INSTANCE.mapAsList(OcrParameterDto.class, ocrPojo.getOcrParameterPojoList()));
-        return ocrOut;
-    }
-}
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrQueryConvert.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrQueryConvert.java
new file mode 100644
index 0000000000000000000000000000000000000000..4259438f5891c2edcbbca31f5647e06482a23f25
--- /dev/null
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrQueryConvert.java
@@ -0,0 +1,46 @@
+package com.seasky.seaskyocr.infrastructure.reader.ocr;
+
+import com.seasky.core.ddd.utils.MapperUtils;
+import com.seasky.seaskyocr.dto.ocr.OcrOut;
+import com.seasky.seaskyocr.enums.MethodEnum;
+import com.seasky.seaskyocr.enums.SupplierEnum;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrPO;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * DESC:
+ *
+ * @author vhwfif
+ * @date 2021.09.21 11:34 鏄熸湡浜�
+ */
+public class OcrQueryConvert {
+    public static List<OcrOut> PojoListToOcrOUtList(List<OcrPO> ocrPOList) {
+        List<OcrOut> ocrOutList = new ArrayList<>();
+        for (OcrPO ocrPO : ocrPOList) {
+            OcrOut ocrOut = pojoToOCrOut(ocrPO);
+            ocrOutList.add(ocrOut);
+        }
+        return ocrOutList;
+    }
+
+    public static OcrOut pojoToOCrOut(OcrPO ocrPO) {
+        OcrOut ocrOut = OcrOut.builder()
+                .name(ocrPO.getName()).appKey(ocrPO.getName()).url(ocrPO.getUrl())
+                .methodEnum(MethodEnum.getEnumValue(ocrPO.getMethodEnum()))
+                .supplierEnum(SupplierEnum.getEnumValue(ocrPO.getSupplierEnum())).build();
+        Map<String, String> headerMap = new HashMap<>();
+        ocrPO.getOcrHeaderPOList().forEach(ocrHeaderPO -> headerMap.put(ocrHeaderPO.getHeaderKey(), ocrHeaderPO.getHeaderValue()));
+        ocrOut.setHeader(headerMap);
+        Map<String, String> bodyMap = new HashMap<>();
+        ocrPO.getOcrBodyPOList().forEach(ocrBodyPO -> bodyMap.put(ocrBodyPO.getBodyKey(), ocrBodyPO.getBodyValue()));
+        ocrOut.setHeader(bodyMap);
+        HashMap<String, String> parameterMap = new HashMap<>();
+        ocrPO.getOcrParameterPOList().forEach(ocrParameterPO -> parameterMap.put(ocrParameterPO.getParameterKey(), ocrParameterPO.getParameterValue()));
+        ocrOut.setParameter(parameterMap);
+        return ocrOut;
+    }
+}
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrReaderServiceImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrReaderServiceImpl.java
index e84d7ecf7a096e40cb25e90ee07bd123593c5856..f9f0c325b3b672344acb8b2826d5769007768ea6 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrReaderServiceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/reader/ocr/OcrReaderServiceImpl.java
@@ -9,15 +9,11 @@ import com.seasky.seaskyocr.dto.ocr.OcrOut;
 import com.seasky.seaskyocr.dto.ocr.OcrQry;
 import com.seasky.seaskyocr.infrastructure.dataobject.po.*;
 import com.seasky.seaskyocr.infrastructure.db.mapper.table.*;
-import jxl.format.PageOrder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.lang.management.MemoryUsage;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
  * DESC:
@@ -28,7 +24,6 @@ import java.util.stream.Collectors;
 @Service
 public class OcrReaderServiceImpl implements OcrQueryService {
     @Autowired
-    //--preset 鏌ヨ鏈嶅姟灞傛厧鐩存帴鐢╩apper,杩欎釜涓嶈蛋缂撳瓨!!!
     OcrMapper ocrMapper;
     @Autowired
     OcrHeaderMapper ocrHeaderMapper;
@@ -37,9 +32,6 @@ public class OcrReaderServiceImpl implements OcrQueryService {
     @Autowired
     OcrBodyMapper ocrBodyMapper;
 
-    @Autowired
-    OcrAccountMapper ocrAccountMapper;
-
     @Override
     public Pagination<OcrOut> queryOcrsPage(OcrQry ocrQry) {
         Page<OcrOut> ocrOutPage;
@@ -49,16 +41,15 @@ public class OcrReaderServiceImpl implements OcrQueryService {
             ocrOutPage = new Page<>(1, 10);
         } else
             ocrOutPage = new Page<>(ocrQry.getPageIndex(), ocrQry.getPageSize());
-        OcrPojo wrapperPojo = MapperUtils.INSTANCE.map(OcrPojo.class, ocrQry);
+        OcrPO wrapperPojo = MapperUtils.INSTANCE.map(OcrPO.class, ocrQry);
         //杩欓噷閫昏緫瑕佷弗璋�,涓嶈兘鏆撮湶瀵嗙爜淇℃伅
         wrapperPojo.setSecret(null);
-        QueryWrapper<OcrPojo> wrapper = new QueryWrapper<>(wrapperPojo);
-        Page<OcrPojo> ocrPojoPage = ocrMapper.selectPage(new Page<>(ocrOutPage.getPages(), ocrOutPage.getSize()), wrapper);
-        List<OcrPojo> ocrPojoList = ocrPojoPage.getRecords();
-        for (OcrPojo ocrPojo : ocrPojoList)
-            queryOcrRelationMessage(ocrPojo);
-        //--preset:杩欎釜鍔熻兘鍏堜笉瑕佷簡;瀵规瘡涓处鎴峰叧鑱旂殑鍦ㄨ€冭檻杩涜妯$硦鏌ヨ
-        List<OcrOut> ocrOutList = OcrConvertForReader.PojoListToOcrOUtList(ocrPojoList);
+        QueryWrapper<OcrPO> wrapper = new QueryWrapper<>(wrapperPojo);
+        Page<OcrPO> ocrPojoPage = ocrMapper.selectPage(new Page<>(ocrOutPage.getPages(), ocrOutPage.getSize()), wrapper);
+        List<OcrPO> ocrPOList = ocrPojoPage.getRecords();
+        for (OcrPO ocrPO : ocrPOList)
+            queryOcrRelationMessage(ocrPO);
+        List<OcrOut> ocrOutList = OcrQueryConvert.PojoListToOcrOUtList(ocrPOList);
         ocrOutPage.setRecords(ocrOutList);
         ocrOutPage.setTotal(ocrPojoPage.getTotal());
         return Pagination.fromPage(ocrOutPage);
@@ -66,29 +57,23 @@ public class OcrReaderServiceImpl implements OcrQueryService {
 
     @Override
     public OcrOut queryOcr(Long id) {
-        OcrPojo ocrPojo = ocrMapper.selectById(id);
-        queryOcrRelationMessage(ocrPojo);
-        OcrOut ocrOut = OcrConvertForReader.pojoToOCrOut(ocrPojo);
+        OcrPO ocrPO = ocrMapper.selectById(id);
+        queryOcrRelationMessage(ocrPO);
+        OcrOut ocrOut = OcrQueryConvert.pojoToOCrOut(ocrPO);
         return ocrOut;
     }
 
-    private void queryOcrRelationMessage(OcrPojo ocrPojo) {
-        //todo:鐜板湪鐨勬潯浠惰寖鍥村彧鍒皁cr,ocr鍏宠仈鐨刪eader,body,parameter鍙傛暟淇℃伅杩樹笉鍏峰鏉′欢鏌ヨ鑳藉姏
-        Long id = ocrPojo.getId();
-        //鏌ヨocr鍏宠仈鐨刟ccountId闆嗗悎
-        ocrPojo.setAccountIds(new ArrayList<>());
-        List<OcrAccountPojo> ocrAccountPojoList = ocrAccountMapper.selectList(new QueryWrapper<>(OcrAccountPojo.builder().ocrId(id).build()));
-        List<Long> accountIds = ocrAccountPojoList.stream().map(OcrAccountPojo::getAccountId).collect(Collectors.toList());
-        ocrPojo.getAccountIds().addAll(accountIds);
+    private void queryOcrRelationMessage(OcrPO ocrPO) {
+        Long id = ocrPO.getId();
         //鏌ヨocr鍏宠仈鐨刪eader
-        List<OcrHeaderPojo> ocrHeaderPojoList = ocrHeaderMapper.selectList(new QueryWrapper<>(OcrHeaderPojo.builder().ocrId(id).build()));
-        ocrPojo.setOcrHeaderPojoList(ocrHeaderPojoList);
+        List<OcrHeaderPO> ocrHeaderPOList = ocrHeaderMapper.selectList(new QueryWrapper<>(OcrHeaderPO.builder().ocrId(id).build()));
+        ocrPO.setOcrHeaderPOList(ocrHeaderPOList);
         //鏌ヨocr鍏宠仈鐨刾arameter
-        List<OcrParameterPojo> ocrParameterPojoList = ocrParametersMapper.selectList(new QueryWrapper<>(OcrParameterPojo.builder().ocrId(id).build()));
-        ocrPojo.setOcrParameterPojoList(ocrParameterPojoList);
+        List<OcrParameterPO> ocrParameterPOList = ocrParametersMapper.selectList(new QueryWrapper<>(OcrParameterPO.builder().ocrId(id).build()));
+        ocrPO.setOcrParameterPOList(ocrParameterPOList);
         //鏌ヨocr鍏宠仈鐨刡ody
-        List<OcrBodyPojo> ocrBodyPojoList = ocrBodyMapper.selectList(new QueryWrapper<>(OcrBodyPojo.builder().ocrId(id).build()));
-        ocrPojo.setOcrBodyPojoList(ocrBodyPojoList);
+        List<OcrBodyPO> ocrBodyPOList = ocrBodyMapper.selectList(new QueryWrapper<>(OcrBodyPO.builder().ocrId(id).build()));
+        ocrPO.setOcrBodyPOList(ocrBodyPOList);
 
     }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/account/AccountConvertForRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/account/AccountConvertForRepository.java
index 247e2abc5c3cd8638c526a35350066ac2896f4b1..d1a0f64af79880f59939dcf582a6d388f5720037 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/account/AccountConvertForRepository.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/account/AccountConvertForRepository.java
@@ -1,13 +1,16 @@
 package com.seasky.seaskyocr.infrastructure.repository.account;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.seasky.core.ddd.utils.MapperUtils;
 import com.seasky.seaskyocr.domain.aggregate.account.AccountAggregate;
 import com.seasky.seaskyocr.domain.aggregate.account.AccountVO;
+import com.seasky.seaskyocr.enums.MethodEnum;
 import com.seasky.seaskyocr.infrastructure.dataobject.po.AccountPO;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrAccountPojo;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrAccountPO;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 public class AccountConvertForRepository {
     public static void main(String[] args) {
@@ -42,8 +45,11 @@ public class AccountConvertForRepository {
      * @param accountPO po绫�
      * @return {@link AccountAggregate}
      */
-    public static AccountAggregate pojoToAggregate(AccountPO accountPO) {
-        return MapperUtils.INSTANCE.map(AccountAggregate.class, accountPO);
+    public static AccountAggregate pojoToAggregate(AccountPO accountPO, List<OcrAccountPO> ocrAccountPO) {
+        AccountAggregate accountAggregate = MapperUtils.INSTANCE.map(AccountAggregate.class, accountPO);
+        if (ObjectUtil.isNotNull(ocrAccountPO))
+            accountAggregate.setMethodEnumList(ocrAccountPO.stream().map(ocrAccountPO1 -> MethodEnum.getEnumValue(ocrAccountPO1.getMethodEnum())).collect(Collectors.toList()));
+        return accountAggregate;
     }
 
 
@@ -58,27 +64,24 @@ public class AccountConvertForRepository {
     }
 
 
-    public static List<OcrAccountPojo> aggregateToOcrAccountPojoList(AccountAggregate accountAggregate) {
-        List<OcrAccountPojo> ocrAccountPojoList = new ArrayList<>();
-        Long id = accountAggregate.getId();
-        for (Long ocrId : accountAggregate.getOcrIds()) {
-            OcrAccountPojo ocrAccountPojo = OcrAccountPojo.builder().accountId(id).ocrId(ocrId).build();
-            ocrAccountPojoList.add(ocrAccountPojo);
-        }
-        return ocrAccountPojoList;
+    public static List<OcrAccountPO> aggregateToOcrAccountPojoList(AccountAggregate accountAggregate) {
+        return getOcrAccountPOS(accountAggregate);
 
     }
 
-    public static List<OcrAccountPojo> accountVoToOcrAccountPojoList(AccountAggregate accountAggregate) {
+    public static List<OcrAccountPO> accountVoToOcrAccountPojoList(AccountAggregate accountAggregate) {
         //涓庝笂闈㈢敤agg杞氨鏌ヨ繖涓€琛�
-        AccountVO accountVO = accountAggregate.getAccountVO();
-        List<OcrAccountPojo> ocrAccountPojoList = new ArrayList<>();
+        return getOcrAccountPOS(accountAggregate);
+
+    }
+
+    private static List<OcrAccountPO> getOcrAccountPOS(AccountAggregate accountAggregate) {
+        List<OcrAccountPO> ocrAccountPOList = new ArrayList<>();
         Long id = accountAggregate.getId();
-        for (Long ocrId : accountVO.getOcrIds()) {
-            OcrAccountPojo ocrAccountPojo = OcrAccountPojo.builder().accountId(id).ocrId(ocrId).build();
-            ocrAccountPojoList.add(ocrAccountPojo);
+        for (MethodEnum methodEnum : accountAggregate.getMethodEnumList()) {
+            OcrAccountPO ocrAccountPO = OcrAccountPO.builder().methodEnum(methodEnum.val()).accountId(id).build();
+            ocrAccountPOList.add(ocrAccountPO);
         }
-        return ocrAccountPojoList;
-
+        return ocrAccountPOList;
     }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/account/AccountRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/account/AccountRepositoryImpl.java
index 6245a61303fe754fb10f61aaa8c025e0b466ab25..3bd848af02076bb02becf50ce79e6b64e4c70949 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/account/AccountRepositoryImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/account/AccountRepositoryImpl.java
@@ -8,8 +8,10 @@ import com.seasky.core.ddd.base.enums.LogicStampEnum;
 import com.seasky.core.util.ExceptionUtil;
 import com.seasky.seaskyocr.domain.aggregate.account.AccountAggregate;
 import com.seasky.seaskyocr.domain.aggregate.account.AccountRepository;
+import com.seasky.seaskyocr.domain.aggregate.ocr.OcrAggregate;
+import com.seasky.seaskyocr.enums.MethodEnum;
 import com.seasky.seaskyocr.infrastructure.dataobject.po.AccountPO;
-import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrAccountPojo;
+import com.seasky.seaskyocr.infrastructure.dataobject.po.OcrAccountPO;
 import com.seasky.seaskyocr.infrastructure.db.mapper.table.AccountMapper;
 import com.seasky.seaskyocr.infrastructure.db.mapper.table.OcrAccountMapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,9 +31,7 @@ public class AccountRepositoryImpl extends AbstractService<AccountPO, AccountMap
 
     @Override
     public Long save(AccountAggregate aggregate) {
-        AccountPO accountPO = AccountConvertForRepository.aggregateToPojo(aggregate);
-        int insert = accountMapper.insert(accountPO);
-        return Integer.toUnsignedLong(insert);
+        return null;
     }
 
     @Override
@@ -49,60 +49,56 @@ public class AccountRepositoryImpl extends AbstractService<AccountPO, AccountMap
     @Override
     public AccountAggregate findByPersistentId(Long aLong) {
         AccountPO accountPO = accountMapper.selectById(aLong);
-        //preset
-        AccountAggregate accountAggregate = AccountConvertForRepository.pojoToAggregate(accountPO);
+        List<OcrAccountPO> ocrAccountPOList = ocrAccountMapper.selectList(new QueryWrapper<>(OcrAccountPO.builder().accountId(aLong).build()));
+        AccountAggregate accountAggregate = AccountConvertForRepository.pojoToAggregate(accountPO, ocrAccountPOList);
         return accountAggregate;
     }
 
     @Override
     public Long createAccount(AccountAggregate accountAggregate) {
-        //todo:闆姳绠楁硶涓や釜鍒濆鍙傛暟閮芥槸0,纭畾鍙互鍚�.
         accountAggregate.setAccountCode(Long.toString(IdUtil.createSnowflake(0L, 0L).nextId()));
         AccountPO accountPO = AccountConvertForRepository.aggregateToPojo(accountAggregate);
         mapper.insert(accountPO);
         //娣诲姞account涓巓cr鐨勫叧鑱斾俊鎭�
-        List<OcrAccountPojo> ocrAccountPojoList = AccountConvertForRepository.aggregateToOcrAccountPojoList(accountAggregate);
-        for (OcrAccountPojo ocrAccountPojo : ocrAccountPojoList){
-
-            ocrAccountMapper.insert(ocrAccountPojo);
-        }
-        //todo:杩欎釜浼氳蛋shiro鑾峰彇creator,鐢ㄥ摢涓�?
-        // this.insert(accountPO);
-        //--preset:纭杩欓噷纭疄鍙互寰楀埌id?纭,纭疄鍙互
+        List<OcrAccountPO> ocrAccountPOList = AccountConvertForRepository.aggregateToOcrAccountPojoList(accountAggregate);
+        for (OcrAccountPO ocrAccountPO : ocrAccountPOList)
+            ocrAccountMapper.insert(ocrAccountPO);
         return accountPO.getId();
     }
 
+    @Override
+    public OcrAggregate getOcrAccountByMethodEnumAndAccountId(OcrAggregate ocrAggregate) {
+        return null;
+    }
+
     @Override
     public void modifyAccount(AccountAggregate accountAggregate) {
         assert accountAggregate.getLogicStamp() == LogicStampEnum.UPDATE;
-        //todoEnd:vo鍦ㄥ摢閲屽仛姣旇緝鍚堥€�:閮藉彲浠�
         AccountPO accountPO = AccountConvertForRepository.accountVoToPojo(accountAggregate);
-        //鏇存柊涓嶈蛋versionDate
         mapper.updateById(accountPO);
-        // todo:鏇存柊璧皏ersionDate
-        // this.update(accountPO);
         //鏇存柊涓巓cr鐨勫叧鑱斿叧绯�
-        //todo:渚濈劧閲囩敤鍏堝垹鍚庡姞鐨勬洿鏂伴€昏緫
-        ocrAccountMapper.delete(new QueryWrapper<>(OcrAccountPojo.builder().accountId(accountAggregate.getId()).build()));
-        List<OcrAccountPojo> ocrAccountPojoList = AccountConvertForRepository.accountVoToOcrAccountPojoList(accountAggregate);
-        for (OcrAccountPojo ocrAccountPojo : ocrAccountPojoList)
-            ocrAccountMapper.insert(ocrAccountPojo);
+        //閲囩敤鍏堝垹鍚庡姞鐨勬洿鏂伴€昏緫
+        ocrAccountMapper.delete(new QueryWrapper<>(OcrAccountPO.builder().accountId(accountAggregate.getId()).build()));
+        List<OcrAccountPO> ocrAccountPOList = AccountConvertForRepository.accountVoToOcrAccountPojoList(accountAggregate);
+        for (OcrAccountPO ocrAccountPO : ocrAccountPOList)
+            ocrAccountMapper.insert(ocrAccountPO);
     }
 
     @Override
     public void removeAccount(Long id) {
-        // this.logicDelete(id);
         mapper.deleteById(id);
-        ocrAccountMapper.delete(new QueryWrapper<>(OcrAccountPojo.builder().accountId(id).build()));
+        ocrAccountMapper.delete(new QueryWrapper<>(OcrAccountPO.builder().accountId(id).build()));
     }
 
     @Override
     public AccountAggregate buildAggById(Long id) {
         AccountPO accountPO = mapper.selectById(id);
+
         if (ObjectUtils.isEmpty(accountPO)) {
             throw ExceptionUtil.getException(null, "娌℃湁姝ゆ暟鎹�");
         }
-        return AccountConvertForRepository.pojoToAggregate(accountPO);
+        List<OcrAccountPO> ocrAccountPOList = ocrAccountMapper.selectList(new QueryWrapper<>(OcrAccountPO.builder().accountId(id).build()));
+        return AccountConvertForRepository.pojoToAggregate(accountPO, ocrAccountPOList);
     }
 
     @Override
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvertForRepository.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvertForRepository.java
index 31cec2fc552f517cf1c3aded86f8fe21b38092a2..cde1301937f4811ee669e927ab336ead37adf4f2 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvertForRepository.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/infrastructure/repository/ocr/OcrConvertForRepository.java
@@ -2,7 +2,6 @@ package com.seasky.seaskyocr.infrastructure.repository.ocr;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.seasky.core.ddd.utils.MapperUtils;
-import com.seasky.seaskyocr.domain.aggregate.ocr.OcrAccountsVo;
 import com.seasky.seaskyocr.domain.aggregate.ocr.OcrAggregate;
 import com.seasky.seaskyocr.infrastructure.dataobject.po.*;
 
@@ -15,59 +14,50 @@ import java.util.List;
  * @author vhwfif
  * @date 2021.09.21 11:36 鏄熸湡浜�
  */
+ //todo:闇€瑕佸拰鎺�
 public class OcrConvertForRepository {
-    public static OcrPojo aggToOcrPojo(OcrAggregate aggregate) {
-        OcrPojo ocrPojo = MapperUtils.INSTANCE.map(OcrPojo.class, aggregate);
+    public static OcrPO aggToOcrPojo(OcrAggregate aggregate) {
+        OcrPO ocrPO = MapperUtils.INSTANCE.map(OcrPO.class, aggregate);
         if (ObjectUtil.isNotNull(aggregate.getHeader())) {
-            List<OcrHeaderPojo> ocrHeaderPojoList = new ArrayList<>();
-            aggregate.getHeader().forEach((key, value) -> ocrHeaderPojoList.add(OcrHeaderPojo.builder().headerKey(key).headerValue(value).ocrId(aggregate.getId()).build()));
-            ocrPojo.setOcrHeaderPojoList(ocrHeaderPojoList);
+            List<OcrHeaderPO> ocrHeaderPOList = new ArrayList<>();
+            aggregate.getHeader().forEach((key, value) -> ocrHeaderPOList.add(OcrHeaderPO.builder().headerKey(key).headerValue(value).ocrId(aggregate.getId()).build()));
+            ocrPO.setOcrHeaderPOList(ocrHeaderPOList);
         }
         if (ObjectUtil.isNotNull(aggregate.getBody())) {
-            List<OcrBodyPojo> ocrBodyPojoList = new ArrayList<>();
-            aggregate.getHeader().forEach((key, value) -> ocrBodyPojoList.add(OcrBodyPojo.builder().bodyKey(key).bodyValue(value).ocrId(aggregate.getId()).build()));
-            ocrPojo.setOcrBodyPojoList(ocrBodyPojoList);
+            List<OcrBodyPO> ocrBodyPOList = new ArrayList<>();
+            aggregate.getHeader().forEach((key, value) -> ocrBodyPOList.add(OcrBodyPO.builder().bodyKey(key).bodyValue(value).ocrId(aggregate.getId()).build()));
+            ocrPO.setOcrBodyPOList(ocrBodyPOList);
         }
         if (ObjectUtil.isNotNull(aggregate.getParameter())) {
-            List<OcrParameterPojo> ocrParameterPojoList = new ArrayList<>();
-            aggregate.getHeader().forEach((key, value) -> ocrParameterPojoList.add(OcrParameterPojo.builder().parameterKey(key).parameterValue(value).ocrId(aggregate.getId()).build()));
-            ocrPojo.setOcrParameterPojoList(ocrParameterPojoList);
+            List<OcrParameterPO> ocrParameterPOList = new ArrayList<>();
+            aggregate.getHeader().forEach((key, value) -> ocrParameterPOList.add(OcrParameterPO.builder().parameterKey(key).parameterValue(value).ocrId(aggregate.getId()).build()));
+            ocrPO.setOcrParameterPOList(ocrParameterPOList);
         }
-        return ocrPojo;
+        return ocrPO;
     }
 
-    public static OcrPojo commonVoToPojo(OcrAggregate aggregate) {
-        return MapperUtils.INSTANCE.map(OcrPojo.class, aggregate.setOcrCommonVo());
+    public static OcrPO commonVoToPojo(OcrAggregate aggregate) {
+        return MapperUtils.INSTANCE.map(OcrPO.class, aggregate.setOcrCommonVo());
     }
 
-    public static OcrPojo secretVoToPojo(OcrAggregate ocrAggregate) {
-        return MapperUtils.INSTANCE.map(OcrPojo.class, ocrAggregate.setOcrSecretVo());
+    public static OcrPO secretVoToPojo(OcrAggregate ocrAggregate) {
+        return MapperUtils.INSTANCE.map(OcrPO.class, ocrAggregate.setOcrSecretVo());
     }
 
-    public static List<OcrHeaderPojo> OcrHeadersVoToPojo(OcrAggregate ocrAggregate) {
-        return MapperUtils.INSTANCE.mapAsList(OcrHeaderPojo.class, ocrAggregate.setOcrHeadersVo().getOcrHeaderEntityList());
+    public static List<OcrHeaderPO> OcrHeadersVoToPojo(OcrAggregate ocrAggregate) {
+        return MapperUtils.INSTANCE.mapAsList(OcrHeaderPO.class, ocrAggregate.setOcrHeadersVo().getOcrHeaderEntityList());
     }
 
-    public static List<OcrParameterPojo> OcrParametersVoToPojo(OcrAggregate ocrAggregate) {
-        return MapperUtils.INSTANCE.mapAsList(OcrParameterPojo.class, ocrAggregate.setOcrParametersVo().getOcrParameterEntityList());
+    public static List<OcrParameterPO> OcrParametersVoToPojo(OcrAggregate ocrAggregate) {
+        return MapperUtils.INSTANCE.mapAsList(OcrParameterPO.class, ocrAggregate.setOcrParametersVo().getOcrParameterEntityList());
     }
 
-    public static List<OcrBodyPojo> OcrBodiesVoToPojo(OcrAggregate ocrAggregate) {
-        return MapperUtils.INSTANCE.mapAsList(OcrBodyPojo.class, ocrAggregate.setOcrBodiesVo().getOcrBodyEntityList());
+    public static List<OcrBodyPO> OcrBodiesVoToPojo(OcrAggregate ocrAggregate) {
+        return MapperUtils.INSTANCE.mapAsList(OcrBodyPO.class, ocrAggregate.setOcrBodiesVo().getOcrBodyEntityList());
     }
 
-    public static OcrAggregate pojoToAgg(OcrPojo ocrPojo) {
-        return MapperUtils.INSTANCE.map(OcrAggregate.class, ocrPojo);
+    public static OcrAggregate pojoToAgg(OcrPO ocrPO) {
+        return MapperUtils.INSTANCE.map(OcrAggregate.class, ocrPO);
     }
 
-    public static List<OcrAccountPojo> ocrAccountsVoToOcrAccountPojoList(OcrAggregate ocrAggregate) {
-        OcrAccountsVo ocrAccountsVo = ocrAggregate.setOcrAccountsVo();
-        List<OcrAccountPojo> ocrAccountPojoList = new ArrayList<>();
-        Long id = ocrAccountsVo.getId();
-        for (Long accountId : ocrAccountsVo.getAccountIds()) {
-            OcrAccountPojo ocrAccountPojo = OcrAccountPojo.builder().accountId(accountId).ocrId(id).build();
-            ocrAccountPojoList.add(ocrAccountPojo);
-        }
-        return ocrAccountPojoList;
-    }
 }
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 a2bae71ae139a4770d30379cc3bdbf460599ed05..c9b3acd759b1580e750db04bd59cf806be41088a 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
@@ -37,85 +37,94 @@ public class OcrRepositoryImpl implements OcrRepository {
     @Override
     public Long save(OcrAggregate aggregate) {
         if (Objects.isNull(aggregate.getId())) {
-            OcrPojo ocrPojo = OcrConvertForRepository.aggToOcrPojo(aggregate);
-            //todo:杩欓噷榛樿涓嶅瀵嗙爜鍋歨ash澶勭悊
-
+            OcrPO ocrPO = OcrConvertForRepository.aggToOcrPojo(aggregate);
             // 娣诲姞ocr璁板綍
-            ocrMapper.insert(ocrPojo);
-            Long id = ocrPojo.getId();
-            //娣诲姞ocr鐨勫叧鑱攈eader淇℃伅
-            List<OcrHeaderPojo> ocrHeaderPojoList = ocrPojo.getOcrHeaderPojoList();
-            if (ObjectUtil.isNotNull(ocrHeaderPojoList))
-                for (OcrHeaderPojo ocrHeaderPojo : ocrHeaderPojoList) {
-                    ocrHeaderPojo.setOcrId(id);
-                    ocrHeaderMapper.insert(ocrHeaderPojo);
-                }
-            //娣诲姞ocr鍏宠仈鐨刾arameter淇℃伅
-            List<OcrParameterPojo> ocrParameterPojoList = ocrPojo.getOcrParameterPojoList();
-            if (ObjectUtil.isNotNull(ocrParameterPojoList))
-                for (OcrParameterPojo ocrParameterPojo : ocrParameterPojoList) {
-                    ocrParameterPojo.setOcrId(id);
-                    ocrParametersMapper.insert(ocrParameterPojo);
-                }
-            //娣诲姞ocr鍏宠仈鐨刡ody淇℃伅
-            List<OcrBodyPojo> ocrBodyPojoList = ocrPojo.getOcrBodyPojoList();
-            if (ObjectUtil.isNotNull(ocrBodyPojoList))
-                for (OcrBodyPojo ocrBodyPojo : ocrBodyPojoList) {
-                    ocrBodyPojo.setOcrId(id);
-                    ocrBodyMapper.insert(ocrBodyPojo);
-                }
-            //娣诲姞鐢ㄦ埛涓巓cr鐨勫叧鑱斾俊鎭�
-            if (ObjectUtil.isNotNull(aggregate.getAccountIds()))
-                for (Long accountId : aggregate.getAccountIds()) {
-                    OcrAccountPojo ocrAccountPojo = OcrAccountPojo.builder().ocrId(id).accountId(accountId).build();
-                    ocrAccountMapper.insert(ocrAccountPojo);
-                }
-            return ocrPojo.getId();
+            ocrMapper.insert(ocrPO);
+            Long id = ocrPO.getId();
+            insertOrUpdateRelationMessage(id, false, ocrPO);
+            return ocrPO.getId();
         } else {
-            //todo:杩欓噷鏇存柊娌℃湁鍋歷ersionDate鏍¢獙
-            OcrPojo ocrPojo = OcrConvertForRepository.commonVoToPojo(aggregate);
-            ocrMapper.updateById(ocrPojo);
-            return ocrPojo.getId();
+            OcrPO ocrPO = OcrConvertForRepository.commonVoToPojo(aggregate);
+            ocrMapper.updateById(ocrPO);
+            Long id = ocrPO.getId();
+            insertOrUpdateRelationMessage(id, true, ocrPO);
+            return ocrPO.getId();
+        }
+    }
+
+    /**
+     * @param id
+     * @param flag true涓烘洿鏂�,false涓哄鍔�
+     */
+    public void insertOrUpdateRelationMessage(Long id, boolean flag, OcrPO ocrPO) {
+        if (flag) {
+            ocrBodyMapper.delete(new QueryWrapper<>(OcrBodyPO.builder().ocrId(id).build()));
+            ocrHeaderMapper.delete(new QueryWrapper<>(OcrHeaderPO.builder().ocrId(id).build()));
+            ocrParametersMapper.delete(new QueryWrapper<>(OcrParameterPO.builder().ocrId(id).build()));
+        }
+        //娣诲姞ocr鐨勫叧鑱攈eader淇℃伅
+        List<OcrHeaderPO> ocrHeaderPOList = ocrPO.getOcrHeaderPOList();
+        if (ObjectUtil.isNotNull(ocrHeaderPOList)) {
+            for (OcrHeaderPO ocrHeaderPO : ocrHeaderPOList) {
+                ocrHeaderPO.setOcrId(id);
+                ocrHeaderMapper.insert(ocrHeaderPO);
+            }
+        }
+        //娣诲姞ocr鍏宠仈鐨刾arameter淇℃伅
+        List<OcrParameterPO> ocrParameterPOList = ocrPO.getOcrParameterPOList();
+        if (ObjectUtil.isNotNull(ocrParameterPOList)) {
+            for (OcrParameterPO ocrParameterPO : ocrParameterPOList) {
+                ocrParameterPO.setOcrId(id);
+                ocrParametersMapper.insert(ocrParameterPO);
+            }
+        }
+        //娣诲姞ocr鍏宠仈鐨刡ody淇℃伅
+        List<OcrBodyPO> ocrBodyPOList = ocrPO.getOcrBodyPOList();
+        if (ObjectUtil.isNotNull(ocrBodyPOList)) {
+            for (OcrBodyPO ocrBodyPO : ocrBodyPOList) {
+                ocrBodyPO.setOcrId(id);
+                ocrBodyMapper.insert(ocrBodyPO);
+            }
         }
     }
 
     @Override
     public Long modifySecret(OcrAggregate ocrAggregate) {
-        OcrPojo ocrPojo = OcrConvertForRepository.secretVoToPojo(ocrAggregate);
-        ocrMapper.updateById(ocrPojo);
-        return ocrPojo.getId();
+        OcrPO ocrPO = OcrConvertForRepository.secretVoToPojo(ocrAggregate);
+        ocrMapper.updateById(ocrPO);
+        return ocrPO.getId();
     }
 
     @Override
     public Long modifyOcrHeader(OcrAggregate ocrAggregate) {
         //todo:杩欓噷鏇存柊娌℃湁鍋歷ersionDate鏍¢獙
-        List<OcrHeaderPojo> ocrHeaderPojoList = OcrConvertForRepository.OcrHeadersVoToPojo(ocrAggregate);
-        OcrHeaderPojo wrapperPojo = OcrHeaderPojo.builder().ocrId(ocrAggregate.getId()).build();
+        List<OcrHeaderPO> ocrHeaderPOList = OcrConvertForRepository.OcrHeadersVoToPojo(ocrAggregate);
+        OcrHeaderPO wrapperPojo = OcrHeaderPO.builder().ocrId(ocrAggregate.getId()).build();
         ocrHeaderMapper.delete(new QueryWrapper<>(wrapperPojo));
-        for (OcrHeaderPojo ocrHeaderPojo : ocrHeaderPojoList)
-            ocrHeaderMapper.insert(ocrHeaderPojo);
+        for (OcrHeaderPO ocrHeaderPO : ocrHeaderPOList)
+            ocrHeaderMapper.insert(ocrHeaderPO);
         return ocrAggregate.getId();
     }
 
     @Override
     public Long modifyOcrParameter(OcrAggregate ocrAggregate) {
         //todo:杩欓噷娌℃湁鍋歷ersionDate鏍¢獙
-        List<OcrParameterPojo> ocrParameterPojoList = OcrConvertForRepository.OcrParametersVoToPojo(ocrAggregate);
-        OcrParameterPojo wrapperPojo = OcrParameterPojo.builder().ocrId(ocrAggregate.getId()).build();
+        List<OcrParameterPO> ocrParameterPOList = OcrConvertForRepository.OcrParametersVoToPojo(ocrAggregate);
+        OcrParameterPO wrapperPojo = OcrParameterPO.builder().ocrId(ocrAggregate.getId()).build();
         ocrParametersMapper.delete(new QueryWrapper<>(wrapperPojo));
-        for (OcrParameterPojo ocrParameterPojo : ocrParameterPojoList)
-            ocrParametersMapper.insert(ocrParameterPojo);
+        for (OcrParameterPO ocrParameterPO : ocrParameterPOList)
+            ocrParametersMapper.insert(ocrParameterPO);
         return ocrAggregate.getId();
     }
 
     @Override
     public Long modifyOcrBody(OcrAggregate ocrAggregate) {
         //todo:杩欓噷娌℃湁鍋歷ersionDate鏍¢獙
-        List<OcrBodyPojo> ocrBodyPojoList = OcrConvertForRepository.OcrBodiesVoToPojo(ocrAggregate);
-        OcrBodyPojo wrapperPojo = OcrBodyPojo.builder().ocrId(ocrAggregate.getId()).build();
+        List<OcrBodyPO> ocrBodyPOList = OcrConvertForRepository.OcrBodiesVoToPojo(ocrAggregate);
+        OcrBodyPO wrapperPojo = OcrBodyPO.builder().ocrId(ocrAggregate.getId()).build();
         ocrBodyMapper.delete(new QueryWrapper<>(wrapperPojo));
-        for (OcrBodyPojo ocrBodyPojo : ocrBodyPojoList) {
-            ocrBodyMapper.insert(ocrBodyPojo);
+        for (OcrBodyPO ocrBodyPO : ocrBodyPOList) {
+            ocrBodyMapper.insert(ocrBodyPO);
         }
         return ocrAggregate.getId();
     }
@@ -133,8 +142,8 @@ public class OcrRepositoryImpl implements OcrRepository {
      */
     @Override
     public OcrAggregate getAggById(OcrAggregate oldOcrAggregate) {
-        OcrPojo ocrPojo = ocrMapper.selectById(oldOcrAggregate.getId());
-        OcrAggregate ocrAggregate = OcrConvertForRepository.pojoToAgg(ocrPojo);
+        OcrPO ocrPO = ocrMapper.selectById(oldOcrAggregate.getId());
+        OcrAggregate ocrAggregate = OcrConvertForRepository.pojoToAgg(ocrPO);
         return ocrAggregate;
     }
 
@@ -183,23 +192,13 @@ public class OcrRepositoryImpl implements OcrRepository {
         return ocrAccountMapper.queryOcrAccountByQo(accountMethodQo);
     }
 
-    @Override
-    public void modifyOcrAccounts(OcrAggregate ocrAggregate) {
-        //todo:鍏堢敤鍏堝垹鍚庡鐨勯€昏緫
-        ocrAccountMapper.delete(new QueryWrapper<>(OcrAccountPojo.builder().ocrId(ocrAggregate.getId()).build()));
-        List<OcrAccountPojo> ocrAccountPojoList = OcrConvertForRepository.ocrAccountsVoToOcrAccountPojoList(ocrAggregate);
-        for (OcrAccountPojo ocrAccountPojo : ocrAccountPojoList)
-            ocrAccountMapper.insert(ocrAccountPojo);
-    }
-
     @Override
     public void remove(List<Long> ids) {
         ocrMapper.deleteBatchIds(ids);
         for (Long id : ids) {
-            ocrAccountMapper.delete(new QueryWrapper<>(OcrAccountPojo.builder().ocrId(id).build()));
-            ocrHeaderMapper.delete(new QueryWrapper<>(OcrHeaderPojo.builder().ocrId(id).build()));
-            ocrParametersMapper.delete(new QueryWrapper<>(OcrParameterPojo.builder().ocrId(id).build()));
-            ocrBodyMapper.delete(new QueryWrapper<>(OcrBodyPojo.builder().ocrId(id).build()));
+            ocrHeaderMapper.delete(new QueryWrapper<>(OcrHeaderPO.builder().ocrId(id).build()));
+            ocrParametersMapper.delete(new QueryWrapper<>(OcrParameterPO.builder().ocrId(id).build()));
+            ocrBodyMapper.delete(new QueryWrapper<>(OcrBodyPO.builder().ocrId(id).build()));
         }
     }
 
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/AccountControllerImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/AccountController.java
similarity index 95%
rename from ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/AccountControllerImpl.java
rename to ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/AccountController.java
index 45527fe068fcee58ad8a705fdc91d5a2b2111c39..8181d139c5327abc41f46c989b6897f19a0a20e3 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/AccountControllerImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/AccountController.java
@@ -3,7 +3,7 @@ package com.seasky.seaskyocr.interfaces.controller;
 import com.seasky.core.common.Pagination;
 import com.seasky.core.common.ResponseCode;
 import com.seasky.core.common.Result;
-import com.seasky.seaskyocr.api.IAccount;
+import com.seasky.seaskyocr.api.IAccountController;
 import com.seasky.seaskyocr.application.command.account.AccountCmdService;
 import com.seasky.seaskyocr.application.query.account.AccountQueryService;
 import com.seasky.seaskyocr.dto.TableKey;
@@ -23,7 +23,7 @@ import static com.seasky.core.common.Response.ok;
 
 @RestController
 @Api("璐︽埛妯″潡")
-public class AccountControllerImpl implements IAccount {
+public class AccountController implements IAccountController {
     @Autowired
     AccountCmdService accountCommandService;
 
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrControllerImpl.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java
similarity index 56%
rename from ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrControllerImpl.java
rename to ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java
index f456e3770bae5571744323a2b8c7c65163bd0f99..083a72294a8d0ced18e8dabe406731030dc0b852 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrControllerImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/interfaces/controller/OcrController.java
@@ -6,7 +6,7 @@ import com.seasky.core.common.Pagination;
 import com.seasky.core.common.ResponseCode;
 import com.seasky.core.common.Result;
 import com.seasky.core.exception.DataParseException;
-import com.seasky.seaskyocr.api.IOcr;
+import com.seasky.seaskyocr.api.IOcrController;
 import com.seasky.seaskyocr.application.command.ocr.OcrCmdService;
 import com.seasky.seaskyocr.application.query.ocr.OcrQueryService;
 import com.seasky.seaskyocr.dto.TableKey;
@@ -27,7 +27,7 @@ import static com.seasky.core.common.Response.ok;
  */
 @Api(tags = "ocr绠$悊鎺ュ彛")
 @RestController
-public class OcrControllerImpl implements IOcr {
+public class OcrController implements IOcrController {
     @Autowired
     OcrCmdService ocrCommandService;
 
@@ -41,33 +41,6 @@ public class OcrControllerImpl implements IOcr {
         return ok(ResponseCode.SUCCESS, ocrId);
     }
 
-    @Override
-    @ApiOperation("鏇存柊ocr鐨刪eader淇℃伅")
-    public Result<Long> saveOcrHeader(OcrHeaderCmd ocrHeaderCmd) {
-        if (ObjectUtil.isNull(ocrHeaderCmd.getOcrHeaderList()))
-            throw new DataParseException(Error.builder().responseCode(ResponseCode.REQUEST_EXCEPTION).message("涓嶅甫鎸囧畾鍙傛暟璇锋眰鏃犳剰涔�").build());
-        Long ocrId = ocrCommandService.saveOcrHeader(ocrHeaderCmd);
-        return ok(ResponseCode.SUCCESS, ocrId);
-    }
-
-    @Override
-    @ApiOperation("鏇存柊ocr鐨刾arameter淇℃伅")
-    public Result<Long> saveOcrParameter(OcrParameterCmd ocrParameterCmd) {
-        if (ObjectUtil.isNull(ocrParameterCmd.getOcrParameterList()))
-            throw new DataParseException(Error.builder().responseCode(ResponseCode.REQUEST_EXCEPTION).message("涓嶅甫鎸囧畾鍙傛暟璇锋眰鏃犳剰涔�").build());
-        Long ocrId = ocrCommandService.saveOcrParameter(ocrParameterCmd);
-        return ok(ResponseCode.SUCCESS, ocrId);
-    }
-
-    @Override
-    @ApiOperation("鏇存柊ocr鐨刡ody淇℃伅")
-    public Result<Long> saveOcrBody(OcrBodyCmd ocrBodyCmd) {
-        if (ObjectUtil.isNull(ocrBodyCmd.getOcrBodyList()))
-            throw new DataParseException(Error.builder().responseCode(ResponseCode.REQUEST_EXCEPTION).message("涓嶅甫璇ュ弬鏁拌姹傛棤鎰忎箟").build());
-        Long ocrId = ocrCommandService.saveOcrBody(ocrBodyCmd);
-        return ok(ResponseCode.SUCCESS, ocrId);
-    }
-
     @Override
     @ApiOperation("鏇存柊ocr鐨勫瘑鐮佷俊鎭�")
     public Result<Long> saveOcrSecret(OcrSecretCmd ocrSecretCmd) {
@@ -79,16 +52,6 @@ public class OcrControllerImpl implements IOcr {
         return ok(ResponseCode.SUCCESS, ocrId);
     }
 
-    @Override
-    @ApiOperation("鏇存柊Ocr涓巃ccount鐨勫叧鑱斾俊鎭�")
-    public Result<Object> saveOcrAccount(OcrAccountsCmd ocrAccountsCmd) {
-        if ((ObjectUtil.isNull(ocrAccountsCmd) || ObjectUtil.isNull(ocrAccountsCmd.getAccountIds()))) {
-            throw new DataParseException(Error.builder().responseCode(ResponseCode.REQUEST_EXCEPTION).message("涓嶅甫璇ュ弬鏁拌姹傛棤鎰忎箟").build());
-        }
-        ocrCommandService.saveOcrAccount(ocrAccountsCmd);
-        return ok(ResponseCode.SUCCESS);
-    }
-
     @Override
     @ApiOperation("鍒犻櫎ocr")
     public Result<Object> removeOcr(TableKeys tableKeys) {