Pārlūkot izejas kodu

修改单位统一万元

邵洋 1 gadu atpakaļ
vecāks
revīzija
32b1389c9f
23 mainītis faili ar 280 papildinājumiem un 82 dzēšanām
  1. 2 2
      zksy-admin/src/main/resources/application-druid.yml
  2. BIN
      zksy-admin/src/main/resources/template/企业产值模板.xlsx
  3. BIN
      zksy-admin/src/main/resources/template/企业燃气费信息模板.xlsx
  4. BIN
      zksy-admin/src/main/resources/template/企业社会保险费缴纳信息模板.xlsx
  5. BIN
      zksy-admin/src/main/resources/template/企业纳税信息模板.xlsx
  6. BIN
      zksy-admin/src/main/resources/template/公积金信息汇总模板.xlsx
  7. BIN
      zksy-admin/src/main/resources/template/融资贷款信息模板.xlsx
  8. 13 9
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmAccumulationFundSummary.java
  9. 25 0
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmAdministrativeLicense.java
  10. 17 0
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmAdministrativePenalty.java
  11. 42 0
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmBusinessLicenseInformation.java
  12. 4 4
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmEnterpriseSocialSecurityInfo.java
  13. 20 20
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmEnterpriseTaxPaymentInfo.java
  14. 8 8
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmGasFeeInformation.java
  15. 21 0
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmHighTechZoneEnterprises.java
  16. 4 4
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmLoanLedger.java
  17. 16 16
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmOutputValue.java
  18. 16 16
      zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmServiceEnterpriseRevenue.java
  19. 88 0
      zksy-system/src/main/java/com/zksy/system/basicData/service/CaptchaService.java
  20. 1 1
      zksy-system/src/main/java/com/zksy/system/basicData/service/impl/CrmComplainServiceImpl.java
  21. 1 1
      zksy-system/src/main/java/com/zksy/system/basicData/service/impl/OwLeavingMessageServiceImpl.java
  22. 1 1
      zksy-system/src/main/java/com/zksy/system/utils/PdfUtil.java
  23. 1 0
      zksy-system/src/main/resources/mapper/basicData/CrmAccumulationFundSummaryMapper.xml

+ 2 - 2
zksy-admin/src/main/resources/application-druid.yml

@@ -31,9 +31,9 @@ spring:
     druid:
       # 主库数据源
       master:
-        url: jdbc:mysql://192.168.110.30:3307/credit_rating_management?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        url: jdbc:mysql://localhost:3306/credit_rating_management?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
         username: root
-        password: 123
+        password: 123456
       # 从库数据源
       slave:
         # 从数据源开关/默认关闭

BIN
zksy-admin/src/main/resources/template/企业产值模板.xlsx


BIN
zksy-admin/src/main/resources/template/企业燃气费信息模板.xlsx


BIN
zksy-admin/src/main/resources/template/企业社会保险费缴纳信息模板.xlsx


BIN
zksy-admin/src/main/resources/template/企业纳税信息模板.xlsx


BIN
zksy-admin/src/main/resources/template/公积金信息汇总模板.xlsx


BIN
zksy-admin/src/main/resources/template/融资贷款信息模板.xlsx


+ 13 - 9
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmAccumulationFundSummary.java

@@ -46,16 +46,16 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "单位名称")
     private String unitName;
 
-@ApiModelProperty(value = "2023年平均每月缴存人数")
-    /** 2023年平均每月缴存人数 */
-                @ExcelImport(value = "2023年平均每月缴存人数")
-                @ExcelExport(value = "2023年平均每月缴存人数")
+@ApiModelProperty(value = "年平均每月缴存人数")
+    /** 年平均每月缴存人数 */
+                @ExcelImport(value = "年平均每月缴存人数")
+                @ExcelExport(value = "年平均每月缴存人数")
     private Long avgMonthlyContributors;
 
-@ApiModelProperty(value = "2023年缴存总和")
-    /** 2023年缴存总和 */
-                @ExcelImport(value = "2023年缴存总和")
-                @ExcelExport(value = "2023年缴存总和")
+@ApiModelProperty(value = "年缴存总和(元)")
+    /** 年缴存总和(元) */
+                @ExcelImport(value = "年缴存总和(元)")
+                @ExcelExport(value = "年缴存总和(元)")
     private Long totalContributions;
 
 @ApiModelProperty(value = "最近缴存日期")
@@ -76,5 +76,9 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "连续缴存月份")
     private Long consecutiveContributingMonths;
 
-
+    @ApiModelProperty(value = "年份备注")
+    /** 年份备注 */
+    @ExcelImport(value = "年份备注")
+    @ExcelExport(value = "年份备注")
+    private String remarks;
         }

+ 25 - 0
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmAdministrativeLicense.java

@@ -14,6 +14,7 @@ import lombok.experimental.Accessors;
 
 import java.time.LocalDate;
 import java.util.Date;
+import java.util.regex.Pattern;
 
 /**
  * <p>
@@ -205,4 +206,28 @@ public class CrmAdministrativeLicense extends Model<CrmAdministrativeLicense> {
     @ExcelImport(value = "备注")
     @ExcelExport(value = "备注")
     private String remarks;
+
+    // 缓存编译后的正则表达式以提高性能
+    private static final Pattern ID_CARD_MASK_PATTERN = Pattern.compile("(?<=\\d{6})\\d(?=\\d{4})");
+    private static final Pattern PHONE_NUMBER_MASK_PATTERN = Pattern.compile("(\\d{3})\\d{4}(\\d{4})");
+
+    /**
+     * 法定代表人证件号码脱敏:显示前6位和后4位,中间用*代替
+     */
+    public String getLegalRepresentativeIdNumber() {
+        if (this.legalRepresentativeIdNumber == null || this.legalRepresentativeIdNumber.length() <= 10) {
+            return this.legalRepresentativeIdNumber;
+        }
+        return ID_CARD_MASK_PATTERN.matcher(this.legalRepresentativeIdNumber).replaceAll("*");
+    }
+
+    /**
+     * 法定代表人姓名脱敏:只保留姓氏,名字部分用*代替
+     */
+    public String getLegalRepresentative() {
+        if (this.legalRepresentative == null || this.legalRepresentative.length() <= 1) {
+            return this.legalRepresentative;
+        }
+        return this.legalRepresentative.substring(0, 1) + "*";
+    }
 }

+ 17 - 0
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmAdministrativePenalty.java

@@ -14,6 +14,7 @@ import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.regex.Pattern;
 
 /**
  * 行政处罚对象 crm_administrative_penalty
@@ -30,6 +31,8 @@ public class CrmAdministrativePenalty extends Model<CrmAdministrativePenalty> {
 
 private static final long serialVersionUID=1L;
 
+    private static final Pattern ID_CARD_MASK_PATTERN = Pattern.compile("(?<=\\d{6})\\d(?=\\d{4})");
+
 @ApiModelProperty(value = "主键")
     /** 主键 */
         @TableId(type = IdType.AUTO)
@@ -64,6 +67,13 @@ private static final long serialVersionUID=1L;
                 @ExcelImport(value = "法定代表人")
                 @ExcelExport(value = "法定代表人")
     private String legalRepresentative;
+    // 姓名脱敏:只保留姓氏,名字部分用*代替
+    public String getLegalRepresentative() {
+        if (this.legalRepresentative == null || this.legalRepresentative.length() <= 1) {
+            return this.legalRepresentative;
+        }
+        return this.legalRepresentative.substring(0, 1) + "*";
+    }
 
 @ApiModelProperty(value = "法定代表人证件类型")
     /** 法定代表人证件类型 */
@@ -82,6 +92,13 @@ private static final long serialVersionUID=1L;
                 @ExcelImport(value = "法定代表人证件号码")
                 @ExcelExport(value = "法定代表人证件号码")
     private String legalRepresentativeIdNumber;
+    // 身份证号脱敏:显示前6位和后4位,中间用*代替
+    public String getLegalRepresentativeIdNumber() {
+        if (this.legalRepresentativeIdNumber == null || this.legalRepresentativeIdNumber.length() <= 10) {
+            return this.legalRepresentativeIdNumber;
+        }
+        return ID_CARD_MASK_PATTERN.matcher(this.legalRepresentativeIdNumber).replaceAll("*");
+    }
 
 @ApiModelProperty(value = "证件类型")
     /** 证件类型 */

+ 42 - 0
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmBusinessLicenseInformation.java

@@ -16,6 +16,8 @@ import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.regex.Pattern;
+
 /**
  * 营业执照信息对象 crm_business_license_information
  *
@@ -174,5 +176,45 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "注销时间")
     private String cancellationTime;
 
+    private static final Pattern ID_CARD_MASK_PATTERN = Pattern.compile("(?<=\\d{6})\\d(?=\\d{4})");
+    private static final Pattern PHONE_NUMBER_MASK_PATTERN = Pattern.compile("(\\d{3})\\d{4}(\\d{4})");
+
+    // 身份证号脱敏:显示前6位和后4位,中间用*代替
+    public String getLegalRepresentativeId() {
+        if (this.legalRepresentativeId == null || this.legalRepresentativeId.length() <= 10) {
+            return this.legalRepresentativeId;
+        }
+        return ID_CARD_MASK_PATTERN.matcher(this.legalRepresentativeId).replaceAll("*");
+    }
+
+    // 电话号码脱敏:显示前3位和后4位,中间用*代替
+    public String getContactPhone() {
+        if (this.contactPhone == null || this.contactPhone.length() < 7) {
+            return this.contactPhone;
+        }
+        return PHONE_NUMBER_MASK_PATTERN.matcher(this.contactPhone).replaceAll("$1****$2");
+    }
+    // 企业联系电话
+    public String getEnterprisePhone() {
+        if (this.enterprisePhone == null || this.enterprisePhone.length() < 7) {
+            return this.enterprisePhone;
+        }
+        return PHONE_NUMBER_MASK_PATTERN.matcher(this.enterprisePhone).replaceAll("$1****$2");
+    }
+
+    // 姓名脱敏:只保留姓氏,名字部分用*代替
+    public String getLegalRepresentative() {
+        if (this.legalRepresentative == null || this.legalRepresentative.length() <= 1) {
+            return this.legalRepresentative;
+        }
+        return this.legalRepresentative.substring(0, 1) + "*";
+    }
+
+    public String getContactName() {
+        if (this.contactName == null || this.contactName.length() <= 1) {
+            return this.contactName;
+        }
+        return this.contactName.substring(0, 1) + "*";
+    }
 
         }

+ 4 - 4
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmEnterpriseSocialSecurityInfo.java

@@ -54,10 +54,10 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "企业职工基本养老保险近一年月均参保人数分档(人)")
     private String avgInsuredPersonsBand;
 
-@ApiModelProperty(value = "企业职工基本养老保险近一年月均单位缴费金额分档(元)")
-    /** 企业职工基本养老保险近一年月均单位缴费金额分档(元) */
-                @ExcelImport(value = "企业职工基本养老保险近一年月均单位缴费金额分档(元)")
-                @ExcelExport(value = "企业职工基本养老保险近一年月均单位缴费金额分档(元)")
+@ApiModelProperty(value = "企业职工基本养老保险近一年月均单位缴费金额分档(元)")
+    /** 企业职工基本养老保险近一年月均单位缴费金额分档(元) */
+                @ExcelImport(value = "企业职工基本养老保险近一年月均单位缴费金额分档(元)")
+                @ExcelExport(value = "企业职工基本养老保险近一年月均单位缴费金额分档(元)")
     private String avgMonthlyPaymentBand;
 
 @ApiModelProperty(value = "企业职工基本养老保险最近一次正常缴费月份")

+ 20 - 20
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmEnterpriseTaxPaymentInfo.java

@@ -43,28 +43,28 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "企业名称",sort = 2)
     private String enterpriseName;
 
-@ApiModelProperty(value = "第一季度")
-    /** 第一季度 */
-                @ExcelImport(value = "第一季度")
-                @ExcelExport(value = "第一季度",sort = 3)
+@ApiModelProperty(value = "第一季度(单位:万元)")
+    /** 第一季度(单位:万元) */
+                @ExcelImport(value = "第一季度(单位:万元)")
+                @ExcelExport(value = "第一季度(单位:万元)",sort = 3)
     private String firstQuarterAmount;
 
-@ApiModelProperty(value = "第二季度")
-    /** 第二季度 */
-                @ExcelImport(value = "第二季度")
-                @ExcelExport(value = "第二季度",sort = 4)
+@ApiModelProperty(value = "第二季度(单位:万元)")
+    /** 第二季度(单位:万元) */
+                @ExcelImport(value = "第二季度(单位:万元)")
+                @ExcelExport(value = "第二季度(单位:万元)",sort = 4)
     private String secondQuarterAmount;
 
-@ApiModelProperty(value = "第三季度")
-    /** 第三季度 */
-                @ExcelImport(value = "第三季度")
-                @ExcelExport(value = "第三季度",sort = 5)
+@ApiModelProperty(value = "第三季度(单位:万元)")
+    /** 第三季度(单位:万元) */
+                @ExcelImport(value = "第三季度(单位:万元)")
+                @ExcelExport(value = "第三季度(单位:万元)",sort = 5)
     private String thirdQuarterAmount;
 
-@ApiModelProperty(value = "第四季度")
-    /** 第四季度 */
-                @ExcelImport(value = "第四季度")
-                @ExcelExport(value = "第四季度",sort = 6)
+@ApiModelProperty(value = "第四季度(单位:万元)")
+    /** 第四季度(单位:万元) */
+                @ExcelImport(value = "第四季度(单位:万元)")
+                @ExcelExport(value = "第四季度(单位:万元)",sort = 6)
     private String fourthQuarterAmount;
 
     @ApiModelProperty(value = "年度")
@@ -79,10 +79,10 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "当前是否欠缴税费",sort = 8)
     private String taxArrearsExist;
 
-@ApiModelProperty(value = "欠缴税费金额")
-    /** 欠缴税费金额 */
-                @ExcelImport(value = "欠缴税费金额")
-                @ExcelExport(value = "欠缴税费金额",sort = 9)
+@ApiModelProperty(value = "欠缴税费金额(单位:万元)")
+    /** 欠缴税费金额(单位:万元) */
+                @ExcelImport(value = "欠缴税费金额(单位:万元)")
+                @ExcelExport(value = "欠缴税费金额(单位:万元)",sort = 9)
     private String arrearsAmount;
 
 

+ 8 - 8
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmGasFeeInformation.java

@@ -58,16 +58,16 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "燃气用户信息")
     private String gasUserInformation;
 
-@ApiModelProperty(value = "近3个月月均燃气用量")
-    /** 近3个月月均燃气用量 */
-                @ExcelImport(value = "近3个月月均燃气用量")
-                @ExcelExport(value = "近3个月月均燃气用量")
+@ApiModelProperty(value = "近3个月月均燃气用量(单位:立方)")
+    /** 近3个月月均燃气用量(单位:立方) */
+                @ExcelImport(value = "近3个月月均燃气用量(单位:立方)")
+                @ExcelExport(value = "近3个月月均燃气用量(单位:立方)")
     private String lastThreeMonthsAverageGasConsumption;
 
-@ApiModelProperty(value = "近6个月月均燃气用量")
-    /** 近6个月月均燃气用量 */
-                @ExcelImport(value = "近6个月月均燃气用量")
-                @ExcelExport(value = "近6个月月均燃气用量")
+@ApiModelProperty(value = "近6个月月均燃气用量(单位:立方)")
+    /** 近6个月月均燃气用量(单位:立方) */
+                @ExcelImport(value = "近6个月月均燃气用量(单位:立方)")
+                @ExcelExport(value = "近6个月月均燃气用量(单位:立方)")
     private String lastSixMonthsAverageGasConsumption;
 
 @ApiModelProperty(value = "当前是否欠费")

+ 21 - 0
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmHighTechZoneEnterprises.java

@@ -12,6 +12,8 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.util.regex.Pattern;
+
 /**
  * 高新区企业(119家)对象 crm_high_tech_zone_enterprises
  *
@@ -27,6 +29,9 @@ public class CrmHighTechZoneEnterprises extends Model<CrmHighTechZoneEnterprises
 
 private static final long serialVersionUID=1L;
 
+    private static final Pattern PHONE_NUMBER_MASK_PATTERN = Pattern.compile("(\\d{3})\\d{4}(\\d{4})");
+    private static final Pattern NAME_MASK_PATTERN = Pattern.compile(".(?=.)");
+
 @ApiModelProperty(value = "主键")
     /** 主键 */
         @TableId(type = IdType.AUTO)
@@ -50,12 +55,26 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "企业负责人")
     private String enterpriseLeader;
 
+    public String getEnterpriseLeader() {
+        if (this.enterpriseLeader == null || this.enterpriseLeader.length() <= 1) {
+            return this.enterpriseLeader;
+        }
+        return this.enterpriseLeader.substring(0, 1) + "*";
+    }
+
 @ApiModelProperty(value = "联系电话")
     /** 联系电话 */
                 @ExcelImport(value = "联系电话")
                 @ExcelExport(value = "联系电话")
     private String contactPhone;
 
+    public String getContactPhone() {
+        if (this.contactPhone == null || this.contactPhone.length() < 7) {
+            return this.contactPhone;
+        }
+        return PHONE_NUMBER_MASK_PATTERN.matcher(this.contactPhone).replaceAll("$1****$2");
+    }
+
     @ApiModelProperty(value = "经度")
     /** 经度 */
     @ExcelImport(value = "经度")
@@ -67,4 +86,6 @@ private static final long serialVersionUID=1L;
     @ExcelExport(value = "纬度")
     private String latitude;
 
+
+
         }

+ 4 - 4
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmLoanLedger.java

@@ -79,10 +79,10 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "是否偿还")
     private String isRepaid;
 
-@ApiModelProperty(value = "当前在贷余额")
-    /** 当前在贷余额 */
-                @ExcelImport(value = "当前在贷余额")
-                @ExcelExport(value = "当前在贷余额")
+@ApiModelProperty(value = "当前在贷余额(万元)")
+    /** 当前在贷余额(万元) */
+                @ExcelImport(value = "当前在贷余额(万元)")
+                @ExcelExport(value = "当前在贷余额(万元)")
     private String currentLoanBalance;
 
 

+ 16 - 16
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmOutputValue.java

@@ -43,28 +43,28 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "企业名称",sort = 2)
     private String enterpriseName;
 
-@ApiModelProperty(value = "第一季度")
-    /** 第一季度 */
-                @ExcelImport(value = "第一季度")
-                @ExcelExport(value = "第一季度",sort = 3)
+@ApiModelProperty(value = "第一季度(单位:万元)")
+    /** 第一季度(单位:万元) */
+                @ExcelImport(value = "第一季度(单位:万元)")
+                @ExcelExport(value = "第一季度(单位:万元)",sort = 3)
     private String firstQuarterAmount;
 
-@ApiModelProperty(value = "第二季度")
-    /** 第二季度 */
-                @ExcelImport(value = "第二季度")
-                @ExcelExport(value = "第二季度",sort = 4)
+@ApiModelProperty(value = "第二季度(单位:万元)")
+    /** 第二季度(单位:万元) */
+                @ExcelImport(value = "第二季度(单位:万元)")
+                @ExcelExport(value = "第二季度(单位:万元)",sort = 4)
     private String secondQuarterAmount;
 
-@ApiModelProperty(value = "第三季度")
-    /** 第三季度 */
-                @ExcelImport(value = "第三季度")
-                @ExcelExport(value = "第三季度",sort = 5)
+@ApiModelProperty(value = "第三季度(单位:万元)")
+    /** 第三季度(单位:万元) */
+                @ExcelImport(value = "第三季度(单位:万元)")
+                @ExcelExport(value = "第三季度(单位:万元)",sort = 5)
     private String thirdQuarterAmount;
 
-@ApiModelProperty(value = "第四季度")
-    /** 第四季度 */
-                @ExcelImport(value = "第四季度")
-                @ExcelExport(value = "第四季度",sort = 6)
+@ApiModelProperty(value = "第四季度(单位:万元)")
+    /** 第四季度(单位:万元) */
+                @ExcelImport(value = "第四季度(单位:万元)")
+                @ExcelExport(value = "第四季度(单位:万元)",sort = 6)
     private String fourthQuarterAmount;
 
     @ApiModelProperty(value = "年度")

+ 16 - 16
zksy-system/src/main/java/com/zksy/system/basicData/domain/CrmServiceEnterpriseRevenue.java

@@ -46,28 +46,28 @@ private static final long serialVersionUID=1L;
                 @ExcelExport(value = "统一社会信用代码")
     private String unifiedSocialCreditCode;
 
-@ApiModelProperty(value = "第一季度营收")
-    /** 第一季度营收 */
-                @ExcelImport(value = "第一季度营收")
-                @ExcelExport(value = "第一季度营收")
+@ApiModelProperty(value = "第一季度营收(万元)")
+    /** 第一季度营收(万元) */
+                @ExcelImport(value = "第一季度营收(万元)")
+                @ExcelExport(value = "第一季度营收(万元)")
     private String q1Revenue;
 
-@ApiModelProperty(value = "第二季度营收")
-    /** 第二季度营收 */
-                @ExcelImport(value = "第二季度营收")
-                @ExcelExport(value = "第二季度营收")
+@ApiModelProperty(value = "第二季度营收(万元)")
+    /** 第二季度营收(万元) */
+                @ExcelImport(value = "第二季度营收(万元)")
+                @ExcelExport(value = "第二季度营收(万元)")
     private String q2Revenue;
 
-@ApiModelProperty(value = "第三季度营收")
-    /** 第三季度营收 */
-                @ExcelImport(value = "第三季度营收")
-                @ExcelExport(value = "第三季度营收")
+@ApiModelProperty(value = "第三季度营收(万元)")
+    /** 第三季度营收(万元) */
+                @ExcelImport(value = "第三季度营收(万元)")
+                @ExcelExport(value = "第三季度营收(万元)")
     private String q3Revenue;
 
-@ApiModelProperty(value = "第四季度营收")
-    /** 第四季度营收 */
-                @ExcelImport(value = "第四季度营收")
-                @ExcelExport(value = "第四季度营收")
+@ApiModelProperty(value = "第四季度营收(万元)")
+    /** 第四季度营收(万元) */
+                @ExcelImport(value = "第四季度营收(万元)")
+                @ExcelExport(value = "第四季度营收(万元)")
     private String q4Revenue;
 
 @ApiModelProperty(value = "年度合计")

+ 88 - 0
zksy-system/src/main/java/com/zksy/system/basicData/service/CaptchaService.java

@@ -0,0 +1,88 @@
+package com.zksy.system.basicData.service;
+
+import com.zksy.common.utils.StringUtil;
+import com.zksy.common.utils.uuid.UUID;
+import com.zksy.system.basicData.domain.Captcha;
+import com.zksy.system.utils.CaptchaUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.stereotype.Service;
+
+import java.awt.image.BufferedImage;
+import java.util.concurrent.TimeUnit;
+
+@Service
+public class CaptchaService {
+    /**
+     * 拼图验证码允许偏差
+     **/
+    private static Integer ALLOW_DEVIATION = 3;
+
+    @Autowired
+    private StringRedisTemplate stringRedisTemplate;
+
+    /**
+     * 校验验证码
+     * @param imageKey
+     * @param imageCode
+     * @return boolean
+     **/
+    public String checkImageCode(String imageKey, String imageCode) {
+        ValueOperations<String, String> ops = stringRedisTemplate.opsForValue();
+        String text = ops.get("imageCode:" + imageKey);
+        if(StringUtil.isBlank(text)){
+            return "验证码已失效";
+        }
+        // 根据移动距离判断验证是否成功
+        if (Math.abs(Integer.parseInt(text) - Integer.parseInt(imageCode)) > ALLOW_DEVIATION) {
+            return "验证失败,请控制拼图对齐缺口";
+        }
+        return null;
+    }
+    /**
+     * 缓存验证码,有效期15分钟
+     * @param key
+     * @param code
+     **/
+    public void saveImageCode(String key, String code) {
+        ValueOperations<String, String> ops = stringRedisTemplate.opsForValue();
+        ops.set("imageCode:" + key, code, 15, TimeUnit.MINUTES);
+    }
+
+    /**
+     * 获取验证码拼图(生成的抠图和带抠图阴影的大图及抠图坐标)
+     **/
+    public Object getCaptcha(Captcha captcha) {
+        //参数校验
+        CaptchaUtils.checkCaptcha(captcha);
+        //获取画布的宽高
+        int canvasWidth = captcha.getCanvasWidth();
+        int canvasHeight = captcha.getCanvasHeight();
+        //获取阻塞块的宽高/半径
+        int blockWidth = captcha.getBlockWidth();
+        int blockHeight = captcha.getBlockHeight();
+        int blockRadius = captcha.getBlockRadius();
+        //获取资源图
+        BufferedImage canvasImage = CaptchaUtils.getBufferedImage(captcha.getPlace());
+        //调整原图到指定大小
+        canvasImage = CaptchaUtils.imageResize(canvasImage, canvasWidth, canvasHeight);
+        //随机生成阻塞块坐标
+        int blockX = CaptchaUtils.getNonceByRange(blockWidth, canvasWidth - blockWidth - 10);
+        int blockY = CaptchaUtils.getNonceByRange(10, canvasHeight - blockHeight + 1);
+        //阻塞块
+        BufferedImage blockImage = new BufferedImage(blockWidth, blockHeight, BufferedImage.TYPE_4BYTE_ABGR);
+        //新建的图像根据轮廓图颜色赋值,源图生成遮罩
+        CaptchaUtils.cutByTemplate(canvasImage, blockImage, blockWidth, blockHeight, blockRadius, blockX, blockY);
+        // 移动横坐标
+        String nonceStr = UUID.randomUUID().toString().replaceAll("-", "");
+        // 缓存
+        saveImageCode(nonceStr,String.valueOf(blockX));
+        //设置返回参数
+        captcha.setNonceStr(nonceStr);
+        captcha.setBlockY(blockY);
+        captcha.setBlockSrc(CaptchaUtils.toBase64(blockImage, "png"));
+        captcha.setCanvasSrc(CaptchaUtils.toBase64(canvasImage, "png"));
+        return captcha;
+    }
+}

+ 1 - 1
zksy-system/src/main/java/com/zksy/system/basicData/service/impl/CrmComplainServiceImpl.java

@@ -24,7 +24,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static com.dy.utils.PdfUtil.fillPdf;
+import static com.zksy.system.utils.PdfUtil.fillPdf;
 
 /**
  * 投诉Service业务层处理

+ 1 - 1
zksy-system/src/main/java/com/zksy/system/basicData/service/impl/OwLeavingMessageServiceImpl.java

@@ -19,7 +19,7 @@ import java.io.OutputStream;
 import java.util.HashMap;
 import java.util.Map;
 
-import static com.dy.utils.PdfUtil.fillPdf;
+import static com.zksy.system.utils.PdfUtil.fillPdf;
 
 /**
  * 官网留言Service业务层处理

+ 1 - 1
zksy-system/src/main/java/com/zksy/system/utils/PdfUtil.java

@@ -1,4 +1,4 @@
-package com.dy.utils;
+package com.zksy.system.utils;
 
 import com.itextpdf.text.Document;
 import com.itextpdf.text.DocumentException;

+ 1 - 0
zksy-system/src/main/resources/mapper/basicData/CrmAccumulationFundSummaryMapper.xml

@@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="lastContributionDate"    column="last_contribution_date"    />
         <result property="accountOpeningDate"    column="account_opening_date"    />
         <result property="consecutiveContributingMonths"    column="consecutive_contributing_months"    />
+        <result property="remarks"    column="remarks"    />
         <result property="createTime"    column="create_time"    />
         <result property="updateTime"    column="update_time"    />
     </resultMap>