From b23bce3fcfeba549bd51d08523ec9f88f6eb42d7 Mon Sep 17 00:00:00 2001 From: wb2476 Date: Mon, 3 Mar 2025 09:26:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:222402-=E8=B4=A6=E6=88=B7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=89=8B=E6=9C=BA=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/v2/account/AccountService.java | 14 ++++ .../model/AccountChangeMobileRequest.java | 65 +++++++++++++++++ .../model/AccountChangeMobileResponse.java | 42 +++++++++++ .../v2/account/AccountServiceTest.java | 69 +++++++++++++++++++ 4 files changed, 190 insertions(+) create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/AccountChangeMobileRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/AccountChangeMobileResponse.java diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/AccountService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/AccountService.java index e5851e2..fa83741 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/AccountService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/AccountService.java @@ -214,4 +214,18 @@ public class AccountService { HttpResponse httpResponse = apiClient.post(url, headers, openAccSubRequest.toJsonRequest(), OpenAccSubResponse.class); return httpResponse.getServiceResponse(); } + + /** + * 222402-账户修改手机号 + * + * @author H.T + * @since 2025/02/26 + */ + public AccountChangeMobileResponse accountChangeMobile(AccountChangeMobileRequest request) { + String url = "/account/conpany-mod-mobile"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), AccountChangeMobileResponse.class); + return httpResponse.getServiceResponse(); + } } diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/AccountChangeMobileRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/AccountChangeMobileRequest.java new file mode 100644 index 0000000..f5edfd1 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/AccountChangeMobileRequest.java @@ -0,0 +1,65 @@ +package com.czcb.scfs.api.service.v2.account.model; + +import com.czcb.scfs.api.core.ApiRequest; +import com.czcb.scfs.api.core.agrs.TransType; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 222402-账户修改手机号 + * + * @author H.T + * @since 2025/02/26 + */ +@Data +@Accessors(chain = true) +@TransType("222402") +public class AccountChangeMobileRequest implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + /** + * 操作日期 + */ + @SerializedName("trans_date") + private String transDate; + /** + * 操作时间 + */ + @SerializedName("trans_tradetime") + private String transTradeTime; + /** + * 账户账号 + */ + @SerializedName("account_no") + private String accountNo; + /** + * 账户户名 + */ + @SerializedName("account_name") + private String accountName; + /** + * 验证码 短信验证码(账户预留的手机号接收的验证码)短信类型:9,模版编号:222403 + */ + @SerializedName("verify_code") + private String verifyCode; + + /** + * 变更后的手机号 + */ + @SerializedName("mobile") + private String mobile; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/AccountChangeMobileResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/AccountChangeMobileResponse.java new file mode 100644 index 0000000..53c994e --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/AccountChangeMobileResponse.java @@ -0,0 +1,42 @@ +package com.czcb.scfs.api.service.v2.account.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 222402-账户修改手机号 + * + * @author H.T + * @since 2025/02/26 + */ +@Data +@Accessors(chain = true) +public class AccountChangeMobileResponse implements ApiResponse { + /** + * 000000:表示成功 + */ + @SerializedName("recode") + private String recode; + /** + * 结果信息 + */ + @SerializedName("recode_info") + private String recodeInfo; + /** + * 系统流水号 + */ + @SerializedName("sys_serial_no") + private String sysSerialNo; + /** + * 系统日期(YYYY-MM-DD) + */ + @SerializedName("sys_date") + private String sysDate; + /** + * 系统时间(YYYY-MM-DD hh:mm:ss) + */ + @SerializedName("sys_time") + private String sysTime; +} diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/account/AccountServiceTest.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/account/AccountServiceTest.java index b7ccf68..9629470 100644 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/account/AccountServiceTest.java +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/account/AccountServiceTest.java @@ -1561,4 +1561,73 @@ class AccountServiceTest { Assertions.assertEquals("setSubAccountName", response.getSubAccountName()); } + @Test + void accountChangeMobileTest() { + AccountChangeMobileRequest request = new AccountChangeMobileRequest(); + extractedAccountChangeMobileRequestParams(request); + extractedAccountChangeMobileRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"verify_code\":\"setVerifyCode\",\"mobile\":\"setMobile\"}", requestJson); + + AccountChangeMobileResponse response = new AccountChangeMobileResponse(); + extractedAccountChangeMobileResponseParams(response); + extractedAccountChangeMobileResponseAssertions(response); + + System.out.println(Json.toJson(response)); + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); + + HttpResponse httpResponse = MockHttpResponse.create("/account/conpany-mod-mobile", response, AccountChangeMobileResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/account/conpany-mod-mobile"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(AccountChangeMobileResponse.class))) + .thenReturn(httpResponse); + + AccountChangeMobileResponse result = service.accountChangeMobile(request); + + System.out.println(Json.toJson(result)); + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson); + } + void extractedAccountChangeMobileRequestParams(AccountChangeMobileRequest request) { + request.setMobile("setMobile"); + request.setTransDate("setTransDate"); + request.setAppNo("setAppNo"); + request.setVerifyCode("setVerifyCode"); + request.setChannelNo("setChannelNo"); + request.setAccountNo("setAccountNo"); + request.setAccountName("setAccountName"); + request.setSerialNo("setSerialNo"); + request.setTransTradeTime("setTransTradeTime"); + } + void extractedAccountChangeMobileRequestAssertions(AccountChangeMobileRequest request) { + Assertions.assertEquals("setMobile", request.getMobile()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setVerifyCode", request.getVerifyCode()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setAccountName", request.getAccountName()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + } + void extractedAccountChangeMobileResponseParams(AccountChangeMobileResponse response) { + response.setRecode("setRecode"); + response.setRecodeInfo("setRecodeInfo"); + response.setSysTime("setSysTime"); + response.setSysDate("setSysDate"); + response.setSysSerialNo("setSysSerialNo"); + } + void extractedAccountChangeMobileResponseAssertions(AccountChangeMobileResponse response) { + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + } + } \ No newline at end of file