From 949cd8af9dcb6a5a8872c1b1c7d71bad92081d7d Mon Sep 17 00:00:00 2001 From: duxuecheng <641367895@qq.com> Date: Tue, 5 Mar 2024 17:38:23 +0800 Subject: [PATCH] =?UTF-8?q?feature:=202024=E5=B9=B43=E6=9C=885=E6=97=A517:?= =?UTF-8?q?38:15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/dto/result/SalaryConfigResult.java | 15 ++ .../web/dto/utils/Md5Utils.java | 41 ++++ .../dto/ThirdOperateSalaryDeclare.java | 190 ++++++++++++++++++ .../business/enums/ConfigKeyEnum.java | 16 ++ .../ChildCareFeeConfigServiceImpl.java | 28 +++ .../service/ThirdSalaryServiceImpl.java | 18 ++ 6 files changed, 308 insertions(+) create mode 100644 ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/utils/Md5Utils.java create mode 100644 ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/dto/ThirdOperateSalaryDeclare.java diff --git a/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/result/SalaryConfigResult.java b/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/result/SalaryConfigResult.java index c2f0e34..1252b9d 100644 --- a/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/result/SalaryConfigResult.java +++ b/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/result/SalaryConfigResult.java @@ -33,22 +33,37 @@ public class SalaryConfigResult { * 钖祫鐢虫姤棰勭畻棰濆害缂栧彿 */ private String salaryBudgetAmountCode; + /** * 钖祫鐢虫姤閮ㄩ棬 */ private String salaryDepartment; + /** * 钖祫鐢虫姤宸ヨ祫椤� */ private String salaryItem; + /** * 钖祫鐢虫姤鍙戞斁閾惰 */ private String salaryBank; + + /** + * 鏄惁绾夸笂瀹℃壒 + */ + private Boolean salaryIsThree; + /** * 钖祫鐢虫姤鎺ㄩ€佸湴鍧€ */ private String salarySendRequestUrl; + private String salarySystemId; + + + private String salaryPrivateKey; + + } diff --git a/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/utils/Md5Utils.java b/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/utils/Md5Utils.java new file mode 100644 index 0000000..2a06c3b --- /dev/null +++ b/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/utils/Md5Utils.java @@ -0,0 +1,41 @@ +package com.seasky.nurseryFeesclaims.web.dto.utils; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * @author 64136 + * @date 2024/03/05 16:37 + **/ +public class Md5Utils { + + /** + * Md5 鍔犲瘑 + * + * @param plainText + * @return + */ + public static String stringToMd5(String plainText) { + String re = null; + byte encrypt[]; + try { + byte[] tem = plainText.getBytes(); + MessageDigest md5 = MessageDigest.getInstance("md5"); + md5.reset(); + md5.update(tem); + encrypt = md5.digest(); + StringBuilder sb = new StringBuilder(); + for (byte t : encrypt) { + String s = Integer.toHexString(t & 0xFF); + if (s.length() == 1) { + s = "0" + s; + } + sb.append(s); + } + re = sb.toString(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + return re; + } +} diff --git a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/dto/ThirdOperateSalaryDeclare.java b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/dto/ThirdOperateSalaryDeclare.java new file mode 100644 index 0000000..134522a --- /dev/null +++ b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/dto/ThirdOperateSalaryDeclare.java @@ -0,0 +1,190 @@ +package com.seasky.nurseryFeesclaims.business.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 鍒涘缓钖祫鍗曟嵁 + * + * @author 64136 + * @date 2024/03/05 16:41 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ThirdOperateSalaryDeclare { + + /** + * 绯荤粺ID + */ + private String SystemID; + + /** + * 鐢虫姤鍗� + */ + private InputModel inputModel; + + /** + * 鐢虫姤鍗曟槑缁� + */ + private List<InputDetailModel> inputDetailModel; + + private String Token; + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class InputModel { + /** + * 璐﹀鍚嶇О + */ + private String LatoryName; + /** + * 鐢虫姤鏈熼棿骞翠唤 + */ + private Integer Year; + /** + * 鐢虫姤鏈熼棿鏈堜唤 + */ + private Integer Month; + /** + * 鐢虫姤浜哄憳鍒嗙被 + * (0鏁欏伐锛�1瀛︾敓锛�2鏍″) + */ + private Integer PersonCategory; + /** + * 鍙戞斁閮ㄩ棬缂栫爜 + */ + private String DeptCode; + /** + * 鍙戞斁閾惰鍚嶇О + */ + private String BankName; + + /** + * 鐢虫姤浜哄伐鍙� + */ + private String Creater; + /** + * 椤圭洰缂栧彿 + */ + private String ProjectCode; + /** + * 椤圭洰鍚嶇О (浼犵┖) + */ + private String ProjectName; + /** + * 椤圭洰璐熻矗浜哄悕绉� 锛堜紶绌猴級 + */ + private String ChargeName; + /** + * 鍙戞斁鍐呭 锛堬級 + */ + private String GrantContent; + /** + * 棰濆害缂栧彿 + */ + private String ControlsCode; + /** + * 鍙戞斁绫诲瀷鍚嶇О (涓虹┖) + */ + private String GrantClassName; + /** + * 鏄惁绾夸笂瀹℃壒 + */ + private boolean IsThree; + } + + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class InputDetailModel { + /** + * 宸ュ彿 + */ + private String Code; + /** + * 濮撳悕 + */ + private String PersonName; + /** + * 浜哄憳绫诲瀷鍚嶇О + */ + private String PersonType; + /** + * 澶囨敞 + */ + private String Remark; + private String Remark1; + private String Remark2; + private String Remark3; + private String Remark4; + private String Remark5; + private String Remark6; + private String Remark7; + private String Remark8; + private String Remark9; + private String Remark10; + + /** + * 宸ヨ祫椤�1 + */ + private BigDecimal Col1; + private BigDecimal Col2; + private BigDecimal Col3; + private BigDecimal Col4; + private BigDecimal Col5; + private BigDecimal Col6; + private BigDecimal Col7; + private BigDecimal Col8; + private BigDecimal Col9; + private BigDecimal Col10; + private BigDecimal Col11; + private BigDecimal Col12; + private BigDecimal Col13; + private BigDecimal Col14; + private BigDecimal Col15; + private BigDecimal Col16; + private BigDecimal Col17; + private BigDecimal Col18; + private BigDecimal Col19; + private BigDecimal Col20; + private BigDecimal Col21; + private BigDecimal Col22; + private BigDecimal Col23; + private BigDecimal Col24; + private BigDecimal Col25; + private BigDecimal Col26; + private BigDecimal Col27; + private BigDecimal Col28; + private BigDecimal Col29; + private BigDecimal Col30; + private BigDecimal Col31; + private BigDecimal Col32; + private BigDecimal Col33; + private BigDecimal Col34; + private BigDecimal Col35; + private BigDecimal Col36; + private BigDecimal Col37; + private BigDecimal Col38; + private BigDecimal Col39; + private BigDecimal Col40; + private BigDecimal Col41; + private BigDecimal Col42; + private BigDecimal Col43; + private BigDecimal Col44; + private BigDecimal Col45; + private BigDecimal Col46; + private BigDecimal Col47; + private BigDecimal Col48; + private BigDecimal Col49; + private BigDecimal Col50; + + } + +} diff --git a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/enums/ConfigKeyEnum.java b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/enums/ConfigKeyEnum.java index 7907194..25d386c 100644 --- a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/enums/ConfigKeyEnum.java +++ b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/enums/ConfigKeyEnum.java @@ -57,6 +57,22 @@ public enum ConfigKeyEnum { */ 钖祫鐢虫姤鎺ㄩ€佸湴鍧€("钖祫鐢虫姤鎺ㄩ€佸湴鍧€"), + /** + * 钖祫SystemId + */ + 钖祫SystemId("钖祫SystemId"), + + + /** + * 钖祫PrivateKey + */ + 钖祫PrivateKey("钖祫PrivateKey"), + + /** + * 鏄惁绾夸笂瀹℃壒 + */ + 鏄惁绾夸笂瀹℃壒("鏄惁绾夸笂瀹℃壒"), + /** * ocrInstanceId 璋冪敤OCR 瀹炰緥ID */ diff --git a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/ChildCareFeeConfigServiceImpl.java b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/ChildCareFeeConfigServiceImpl.java index f10c129..bf8068a 100644 --- a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/ChildCareFeeConfigServiceImpl.java +++ b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/ChildCareFeeConfigServiceImpl.java @@ -115,6 +115,13 @@ public class ChildCareFeeConfigServiceImpl extends AbstractService<ChildCareFeeC break; case 钖祫鐢虫姤鎺ㄩ€佸湴鍧€: configResult.setSalarySendRequestUrl(configEntity.getValue()); + break; + case 钖祫SystemId: + configResult.setSalarySystemId(configEntity.getValue()); + break; + case 钖祫PrivateKey: + configResult.setSalaryPrivateKey(configEntity.getValue()); + break; default: break; } @@ -155,6 +162,10 @@ public class ChildCareFeeConfigServiceImpl extends AbstractService<ChildCareFeeC public Integer updateEntity(ChildCareFeeConfigRequest request) { ChildCareFeeConfigEntity entity = check(request, false); + + ChildCareFeeConfigEntity entityById = getEntityById(entity.getId()); + // 鎻忚堪涓嶅厑璁镐慨鏀� 涓嶇劧 涓嶇煡閬撴瘡涓€� 瀵瑰簲鐫€鍟� + entity.setDescription(entityById.getDescription()); return this.mapper.updateById(entity); } @@ -217,6 +228,23 @@ public class ChildCareFeeConfigServiceImpl extends AbstractService<ChildCareFeeC } catch (Exception e) { throw ExceptionUtil.getException(ResponseCode.BUNISESS_EXCEPTION, "褰搆ey涓�" + enumByKey.getKey() + "锛屽繀椤讳负Long绫诲瀷锛�"); } + } else if (enumByKey == ConfigKeyEnum.鏄惁绾夸笂瀹℃壒) { + try { + boolean i = Boolean.parseBoolean(entity.getValue()); + } catch (Exception e) { + throw ExceptionUtil.getException(ResponseCode.BUNISESS_EXCEPTION, "褰搆ey涓�" + enumByKey.getKey() + "锛屽彧鍏佽true 鎴栬€協alse锛�"); + } + } else if (enumByKey == ConfigKeyEnum.钖祫鐢虫姤宸ヨ祫椤�) { + int i; + try { + i = Integer.parseInt(entity.getValue()); + } catch (Exception e) { + throw ExceptionUtil.getException(ResponseCode.BUNISESS_EXCEPTION, "褰搆ey涓�" + enumByKey.getKey() + "锛屽繀椤讳负鏁板瓧锛�"); + } + + if (i < 1 || i > 50) { + throw ExceptionUtil.getException(ResponseCode.BUNISESS_EXCEPTION, "褰搆ey涓�" + enumByKey.getKey() + "锛屽繀椤�1-50涔嬮棿锛�"); + } } diff --git a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/ThirdSalaryServiceImpl.java b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/ThirdSalaryServiceImpl.java index f14547b..77215c4 100644 --- a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/ThirdSalaryServiceImpl.java +++ b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/ThirdSalaryServiceImpl.java @@ -1,6 +1,10 @@ package com.seasky.nurseryFeesclaims.business.service; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.seasky.nurseryFeesclaims.business.api.ThirdSalaryService; +import com.seasky.nurseryFeesclaims.web.dto.result.SalaryConfigResult; +import com.seasky.nurseryFeesclaims.web.dto.utils.Md5Utils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -33,4 +37,18 @@ public class ThirdSalaryServiceImpl implements ThirdSalaryService { public boolean query() { return true; } + + + String salaryToken(SalaryConfigResult salaryConfigResult) { + // 鍔犲瘑浠ょ墝锛圱oken锛夌畻娉曪細MD5(SystemID|褰撳墠鏃堕棿(yyyy-MM-dd-HH)|PrivateKey) + String platext = salaryConfigResult.getSalarySystemId() + "|" + new DateTime().toString("yyyy-MM-dd-HH") + "|" + salaryConfigResult.getSalaryPrivateKey(); + log.info("鍔犲瘑浠ょ墝锛圱oken锛� 鏄庢枃锛�" + platext); + + String s = Md5Utils.stringToMd5(platext); + log.info("鍔犲瘑浠ょ墝锛圱oken锛� 瀵嗘枃:" + s); + + return s; + + } + } -- GitLab