增加了user,shop 相关接口
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/annotation/Sex.java b/common/src/main/java/com/supwisdom/dlpay/api/annotation/Sex.java
new file mode 100644
index 0000000..4697807
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/annotation/Sex.java
@@ -0,0 +1,19 @@
+package com.supwisdom.dlpay.api.annotation;
+
+import com.supwisdom.dlpay.api.validator.StatusValidator;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.*;
+
+@Constraint(validatedBy = {StatusValidator.class})
+@Documented
+@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Sex {
+ String message() default "不正确的性别 , 应该是 'male', 'female','unknown' 其中之一";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/annotation/ShopType.java b/common/src/main/java/com/supwisdom/dlpay/api/annotation/ShopType.java
new file mode 100644
index 0000000..d869ffe
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/annotation/ShopType.java
@@ -0,0 +1,20 @@
+package com.supwisdom.dlpay.api.annotation;
+
+import com.supwisdom.dlpay.api.validator.ShopTypeValidator;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.*;
+
+
+@Constraint(validatedBy = {ShopTypeValidator.class})
+@Documented
+@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ShopType {
+ String message() default "不正确的状态 , 应该是 '1', '2' 其中之一";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+}
\ No newline at end of file
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/annotation/UserStatus.java b/common/src/main/java/com/supwisdom/dlpay/api/annotation/UserStatus.java
new file mode 100644
index 0000000..3b034fb
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/annotation/UserStatus.java
@@ -0,0 +1,20 @@
+package com.supwisdom.dlpay.api.annotation;
+
+
+import com.supwisdom.dlpay.api.validator.StatusValidator;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.*;
+
+@Constraint(validatedBy = {StatusValidator.class})
+@Documented
+@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface UserStatus {
+ String message() default "不正确的状态 , 应该是 'open', 'closed', 'losed' 其中之一";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/bean/ModifyUserParam.java b/common/src/main/java/com/supwisdom/dlpay/api/bean/ModifyUserParam.java
new file mode 100644
index 0000000..37a5b84
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/bean/ModifyUserParam.java
@@ -0,0 +1,63 @@
+package com.supwisdom.dlpay.api.bean;
+
+import com.supwisdom.dlpay.api.APIRequestParam;
+import com.supwisdom.dlpay.api.annotation.Sign;
+import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
+import com.supwisdom.dlpay.api.util.Constants;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.validation.constraints.NotEmpty;
+
+@Getter
+@Setter
+public class ModifyUserParam extends APIRequestParam {
+ @Sign
+ @NotEmpty(message = "用户唯一号不能为空")
+ private String userid;
+ @Sign
+ private String uid;
+ @Sign
+ private String name;
+ @Sign
+ private String sex;
+ @Sign
+ private String idtype;
+ @Sign
+ private String idno;
+ @Sign
+ private String mobile;
+ @Sign
+ private String tel;
+ @Sign
+ private String email;
+ @Sign
+ private String address;
+ @Sign
+ private String zipcode;
+
+ @Override
+ public boolean checkParam() throws RequestParamCheckException {
+ if (!StringUtils.isEmpty(sex) && !Constants.SEX_MALE.equals(sex) && !Constants.SEX_FEMALE.equals(sex)) {
+ throw new RequestParamCheckException("性别非法[male|female]");
+ }
+ if (!StringUtils.isEmpty(idtype)) {
+ throw new RequestParamCheckException("证件类型非法");
+ }
+ if (!StringUtils.isEmpty(idno) && !StringUtils.isAlphanumeric(idno)) {
+ throw new RequestParamCheckException("证件号不能为空,且仅支持数字和字母");
+ }
+ if (!StringUtils.isEmpty(idno) && StringUtils.isEmpty(idtype)) {
+ throw new RequestParamCheckException("证件号不能为空时,请指定证件类型");
+ }
+ if (!StringUtils.isEmpty(mobile) && !StringUtils.isNumeric(mobile)) {
+ throw new RequestParamCheckException("手机号格式错误");
+ }
+ if (!StringUtils.isEmpty(email)) {
+ throw new RequestParamCheckException("邮箱格式错误");
+ }
+ return true;
+ }
+}
+
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/bean/NewUserCheck.java b/common/src/main/java/com/supwisdom/dlpay/api/bean/NewUserCheck.java
new file mode 100644
index 0000000..08ec2f4
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/bean/NewUserCheck.java
@@ -0,0 +1,4 @@
+package com.supwisdom.dlpay.api.bean;
+
+public interface NewUserCheck {
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenShopParam.java b/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenShopParam.java
new file mode 100644
index 0000000..ffbd2a6
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenShopParam.java
@@ -0,0 +1,47 @@
+package com.supwisdom.dlpay.api.bean;
+
+import com.supwisdom.dlpay.api.APIRequestParam;
+import com.supwisdom.dlpay.api.annotation.Sign;
+import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
+import com.supwisdom.dlpay.api.annotation.ShopType;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+@Getter
+@Setter
+public class OpenShopParam extends APIRequestParam {
+ @Sign
+ @NotEmpty(message = "商户唯一号不能为空")
+ private String shopUniqueId;
+ @Sign
+ @NotNull(message = "商户类型不能为空")
+ @ShopType
+ private Integer shoptype;
+ @Sign
+ private Integer fshopid;
+ @Sign
+ @NotEmpty(message = "商户名称不能为空")
+ private String shopname;
+ @Sign
+ private String contactman;
+ @Sign
+ private String idtype;
+ @Sign
+ private String idno;
+ @Sign
+ private String mobile;
+ @Sign
+ private String email;
+ @Sign
+ private String address;
+ @Sign
+ private String zipcode;
+
+ @Override
+ public boolean checkParam() throws RequestParamCheckException {
+ return true;
+ }
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenUserParam.java b/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenUserParam.java
new file mode 100644
index 0000000..d76fc80
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenUserParam.java
@@ -0,0 +1,60 @@
+package com.supwisdom.dlpay.api.bean;
+
+import com.supwisdom.dlpay.api.APIRequestParam;
+import com.supwisdom.dlpay.api.annotation.Sex;
+import com.supwisdom.dlpay.api.annotation.Sign;
+import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
+import com.supwisdom.dlpay.api.util.Constants;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.validation.constraints.Email;
+import javax.validation.constraints.NotEmpty;
+
+@Setter
+@Getter
+public class OpenUserParam extends APIRequestParam {
+ @Sign
+ @NotEmpty(message = "用户唯一号不能为空")
+ private String uid;
+ @Sign
+ @NotEmpty(message = "姓名不能为空")
+ private String name;
+ @Sign
+ @Sex
+ private String sex;
+ @Sign
+ @NotEmpty(message = "证件类型非法")
+ private String idtype;
+ @Sign
+ @NotEmpty(message = "证件号不能为空,且仅支持数字和字母")
+ private String idno;
+ @Sign
+ @NotEmpty(message = "手机号格式错误")
+ private String mobile;
+ @Sign
+ private String tel;
+ @Sign
+ @Email
+ private String email;
+ @Sign
+ private String address;
+ @Sign
+ private String zipcode;
+
+ @Override
+ public boolean checkParam() throws RequestParamCheckException {
+ if (!Constants.SEX_MALE.equals(sex) && !Constants.SEX_FEMALE.equals(sex)) {
+ throw new RequestParamCheckException("性别非法[male|female]");
+ }
+ if (StringUtils.isEmpty(idno) || !StringUtils.isAlphanumeric(idno)) {
+ throw new RequestParamCheckException("证件号不能为空,且仅支持数字和字母");
+ }
+ if (!StringUtils.isEmpty(mobile) && !StringUtils.isNumeric(mobile)) {
+ throw new RequestParamCheckException("手机号格式错误");
+ }
+ return true;
+ }
+}
+
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/bean/QueryShopParam.java b/common/src/main/java/com/supwisdom/dlpay/api/bean/QueryShopParam.java
new file mode 100644
index 0000000..6d1ee9a
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/bean/QueryShopParam.java
@@ -0,0 +1,26 @@
+package com.supwisdom.dlpay.api.bean;
+
+import com.supwisdom.dlpay.api.APIRequestParam;
+import com.supwisdom.dlpay.api.annotation.Sign;
+import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
+
+@Getter
+@Setter
+public class QueryShopParam extends APIRequestParam {
+ @Sign
+ private Integer shopid;
+ @Sign
+ private String shopaccno;
+ @Sign
+ private String shopUniqueId;
+
+ @Override
+ public boolean checkParam() throws RequestParamCheckException {
+ if (StringUtils.isEmpty(shopUniqueId) && null == shopid && StringUtils.isEmpty(shopaccno))
+ throw new RequestParamCheckException("商户唯一标志不能为空");
+ return true;
+ }
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/bean/QueryUserParam.java b/common/src/main/java/com/supwisdom/dlpay/api/bean/QueryUserParam.java
new file mode 100644
index 0000000..55a5dcf
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/bean/QueryUserParam.java
@@ -0,0 +1,26 @@
+package com.supwisdom.dlpay.api.bean;
+
+import com.supwisdom.dlpay.api.APIRequestParam;
+import com.supwisdom.dlpay.api.annotation.Sign;
+import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
+
+
+@Getter
+@Setter
+public class QueryUserParam extends APIRequestParam {
+ @Sign
+ private String userid;
+ @Sign
+ private String uid;
+
+ @Override
+ public boolean checkParam() throws RequestParamCheckException {
+ if (StringUtils.isEmpty(userid) && StringUtils.isEmpty(uid)) {
+ throw new RequestParamCheckException("用户唯一号不能为空");
+ }
+ return true;
+ }
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/util/Constants.java b/common/src/main/java/com/supwisdom/dlpay/api/util/Constants.java
new file mode 100644
index 0000000..da6d48f
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/util/Constants.java
@@ -0,0 +1,6 @@
+package com.supwisdom.dlpay.api.util;
+
+public class Constants {
+ public static final String SEX_MALE = "male";
+ public static final String SEX_FEMALE = "female";
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/validator/SexValidator.java b/common/src/main/java/com/supwisdom/dlpay/api/validator/SexValidator.java
new file mode 100644
index 0000000..5a38bb4
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/validator/SexValidator.java
@@ -0,0 +1,22 @@
+package com.supwisdom.dlpay.api.validator;
+
+
+import com.supwisdom.dlpay.api.annotation.Sex;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.Collections;
+
+
+public class SexValidator implements ConstraintValidator<Sex, String> {
+ private final String[] ALL_TYPE = {"male", "female", "unknown"};
+
+ @Override
+ public boolean isValid(String value, ConstraintValidatorContext context) {
+ return Collections.singletonList(ALL_TYPE).contains(value);
+ }
+
+ @Override
+ public void initialize(Sex constraintAnnotation) {
+ }
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/validator/ShopTypeValidator.java b/common/src/main/java/com/supwisdom/dlpay/api/validator/ShopTypeValidator.java
new file mode 100644
index 0000000..cdb3491
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/validator/ShopTypeValidator.java
@@ -0,0 +1,20 @@
+package com.supwisdom.dlpay.api.validator;
+
+import com.supwisdom.dlpay.api.annotation.ShopType;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.Collections;
+
+public class ShopTypeValidator implements ConstraintValidator<ShopType, Integer> {
+ private final int[] ALL_TYPE = {1, 2};
+
+ @Override
+ public boolean isValid(Integer value, ConstraintValidatorContext context) {
+ return Collections.singletonList(ALL_TYPE).contains(value);
+ }
+
+ @Override
+ public void initialize(ShopType constraintAnnotation) {
+ }
+}
\ No newline at end of file
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/validator/StatusValidator.java b/common/src/main/java/com/supwisdom/dlpay/api/validator/StatusValidator.java
new file mode 100644
index 0000000..84b8e5b
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/validator/StatusValidator.java
@@ -0,0 +1,22 @@
+package com.supwisdom.dlpay.api.validator;
+
+import com.supwisdom.dlpay.api.annotation.UserStatus;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.Arrays;
+
+public class StatusValidator implements ConstraintValidator<UserStatus, String> {
+ private final String[] ALL_STATUS = {"open", "closed", "losed"};
+
+ @Override
+ public boolean isValid(String value, ConstraintValidatorContext context) {
+ if (Arrays.asList(ALL_STATUS).contains(value))
+ return true;
+ return false;
+ }
+
+ @Override
+ public void initialize(UserStatus constraintAnnotation) {
+ }
+}
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/ApiLoginHelper.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/ApiLoginHelper.java
index d095603..3bb233c 100644
--- a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/ApiLoginHelper.java
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/ApiLoginHelper.java
@@ -39,4 +39,12 @@
}
JwtContext.setJwt(login.getJwt());
}
+
+ public void refresh() {
+ ApiLoginResponse response = apiLoginProxy.refresh();
+ if (response.getRetcode() != 0) {
+ throw new RuntimeException("刷新JWT错误: " + response.getRetcode() + ", " + response.getException());
+ }
+ JwtContext.setJwt(response.getJwt());
+ }
}
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/bean/ShopResponse.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/bean/ShopResponse.java
new file mode 100644
index 0000000..f4cec8c
--- /dev/null
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/bean/ShopResponse.java
@@ -0,0 +1,11 @@
+package com.supwisdom.dlpay.paysdk.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ShopResponse extends ApiResponse {
+ private Integer shopid;
+ private String shopaccno;
+}
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/bean/UserResponse.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/bean/UserResponse.java
new file mode 100644
index 0000000..a646aed
--- /dev/null
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/bean/UserResponse.java
@@ -0,0 +1,18 @@
+package com.supwisdom.dlpay.paysdk.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class UserResponse extends ApiResponse {
+ private String userid;
+ private String uid;
+ private String name;
+ private String idtype;
+ private String idno;
+ private String mobile;
+ private String email;
+ private String status;
+ private Double balance;
+}
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ApiLoginProxy.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ApiLoginProxy.java
index f9e5a67..22d5427 100644
--- a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ApiLoginProxy.java
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ApiLoginProxy.java
@@ -17,15 +17,15 @@
@RequestMapping(value = "/api/auth/gettoken/{clientid}", method = RequestMethod.GET)
ApiLoginInitResponse loginInitWithClientId(@RequestParam("appid") String appid,
- @PathVariable(value = "clientid") String clientid);
+ @PathVariable(value = "clientid") String clientid);
@RequestMapping(value = "/api/auth/authentication", method = RequestMethod.GET)
ApiLoginResponse login(@RequestParam("appid") String appid, @RequestParam("secret") String secret);
@RequestMapping(value = "/api/auth/authentication/{clientid}", method = RequestMethod.GET)
ApiLoginResponse loginWithClientId(@RequestParam("appid") String appid, @RequestParam("secret") String secret,
- @PathVariable(value = "clientid") String clientid);
+ @PathVariable(value = "clientid") String clientid);
@RequestMapping(value = "/api/auth/refresh", method = RequestMethod.GET)
- ApiLoginResponse refresh(HttpServletRequest request);
+ ApiLoginResponse refresh();
}
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ShopProxy.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ShopProxy.java
new file mode 100644
index 0000000..e965ded
--- /dev/null
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/ShopProxy.java
@@ -0,0 +1,18 @@
+package com.supwisdom.dlpay.paysdk.proxy;
+
+import com.supwisdom.dlpay.api.bean.OpenShopParam;
+import com.supwisdom.dlpay.api.bean.QueryShopParam;
+import com.supwisdom.dlpay.paysdk.bean.ShopResponse;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(name = "shopProxy", url = "${payapi.url}")
+public interface ShopProxy {
+ @PostMapping("/open")
+ ShopResponse openAccount(@RequestBody OpenShopParam param);
+
+ @GetMapping("/query")
+ ShopResponse queryShop(@RequestBody QueryShopParam param);
+}
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java
new file mode 100644
index 0000000..3420e6c
--- /dev/null
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java
@@ -0,0 +1,21 @@
+package com.supwisdom.dlpay.paysdk.proxy;
+
+import com.supwisdom.dlpay.api.bean.ModifyUserParam;
+import com.supwisdom.dlpay.api.bean.OpenUserParam;
+import com.supwisdom.dlpay.api.bean.QueryUserParam;
+import com.supwisdom.dlpay.paysdk.bean.UserResponse;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = "userProxy", url = "${payapi.url}")
+public interface UserProxy {
+ @PostMapping("/api/user/open")
+ UserResponse openAccount(@RequestBody OpenUserParam param);
+
+ @PostMapping("/api/user/query")
+ UserResponse queryAccount(@RequestBody QueryUserParam param);
+
+ @PostMapping("/api/user/modify")
+ UserResponse modifyAccount(@RequestBody ModifyUserParam param);
+}
diff --git a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
index 4838929..a8ea0ab 100644
--- a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
+++ b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
@@ -16,6 +16,7 @@
import org.springframework.cloud.openfeign.FeignAutoConfiguration;
import org.springframework.cloud.openfeign.ribbon.FeignRibbonClientAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
+import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -31,6 +32,7 @@
HttpMessageConvertersAutoConfiguration.class})
@EnableFeignClients(basePackages = "com.supwisdom.dlpay.paysdk")
@ComponentScan(basePackages = {"com.supwisdom.dlpay.paysdk"})
+@TestPropertySource()
public class CitizenCardPayProxyTest {
private final static String appid = "700001";
private final static String secret = "5f788ce433ec44f299351cdf7f137e81";
diff --git a/libs/ojdbc6.jar b/payapi/libs/ojdbc6.jar
similarity index 100%
rename from libs/ojdbc6.jar
rename to payapi/libs/ojdbc6.jar
Binary files differ
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
index 87573a0..564689e 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
@@ -8,150 +8,6 @@
import com.supwisdom.dlpay.util.ConstantUtil
import com.supwisdom.dlpay.util.DESedeUtil
-// ============================ USER ============================ //
-class OpenUserParam : APIRequestParam() {
- @Sign
- var uid: String = "" //第三方用户ID,必传
- @Sign
- var name: String = "" //必传
- @Sign
- var sex: String? = null
- @Sign
- var idtype: String = "" //必传
- @Sign
- var idno: String = "" //必传
- @Sign
- var mobile: String? = null
- @Sign
- var tel: String? = null
- @Sign
- var email: String? = null
- @Sign
- var address: String? = null
- @Sign
- var zipcode: String? = null
-
- override fun checkParam(): Boolean {
- if (StringUtil.isEmpty(uid)) throw RequestParamCheckException("用户唯一号不能为空")
- if (StringUtil.isEmpty(name)) throw RequestParamCheckException("姓名不能为空")
- if (!StringUtil.isEmpty(sex) && ConstantUtil.SEX_MALE != sex && ConstantUtil.SEX_FEMALE != sex) throw RequestParamCheckException("性别非法[male|female]")
- if (StringUtil.isEmpty(idtype) || !ConstantUtil.IDTYPE_DICTS.contains(idtype)) throw RequestParamCheckException("证件类型非法")
- if (StringUtil.isEmpty(idno) || !StringUtil.isCharAndNum(idno)) throw RequestParamCheckException("证件号不能为空,且仅支持数字和字母")
- if (ConstantUtil.IDTYPE_IDENTITY == idtype && !StringUtil.isIdentity(idno)) throw RequestParamCheckException("身份证格式错误")
- if (!StringUtil.isEmpty(mobile) && !StringUtil.isMobile(mobile)) throw RequestParamCheckException("手机号格式错误")
- if (!StringUtil.isEmpty(email) && !StringUtil.isEmail(email)) throw RequestParamCheckException("邮箱格式错误")
-
- return true
- }
-}
-
-class QueryUserParam : APIRequestParam() {
- @Sign
- var userid: String? = null // 用户ID二选一 (两者都传取userid)
- @Sign
- var uid: String? = null // 用户ID二选一
-
- override fun checkParam(): Boolean {
- if (StringUtil.isEmpty(userid) && StringUtil.isEmpty(uid)) throw RequestParamCheckException("用户唯一号不能为空")
-
- return true
- }
-}
-
-class ModifyUserParam : APIRequestParam() {
- @Sign
- var userid: String? = null // 用户ID二选一 (两者都传取userid)
- @Sign
- var uid: String? = null // 用户ID二选一
- @Sign
- var name: String? = null
- @Sign
- var sex: String? = null
- @Sign
- var idtype: String? = null
- @Sign
- var idno: String? = null
- @Sign
- var mobile: String? = null
- @Sign
- var tel: String? = null
- @Sign
- var email: String? = null
- @Sign
- var address: String? = null
- @Sign
- var zipcode: String? = null
-
- override fun checkParam(): Boolean {
- if (StringUtil.isEmpty(userid) && StringUtil.isEmpty(uid)) throw RequestParamCheckException("用户唯一号不能为空")
- if (!StringUtil.isEmpty(sex) && ConstantUtil.SEX_MALE != sex && ConstantUtil.SEX_FEMALE != sex) throw RequestParamCheckException("性别非法[male|female]")
- if (!StringUtil.isEmpty(idtype) && !ConstantUtil.IDTYPE_DICTS.contains(idtype)) throw RequestParamCheckException("证件类型非法")
- if (!StringUtil.isEmpty(idno) && !StringUtil.isCharAndNum(idno)) throw RequestParamCheckException("证件号不能为空,且仅支持数字和字母")
- if (!StringUtil.isEmpty(idno) && StringUtil.isEmpty(idtype)) throw RequestParamCheckException("证件号不能为空时,请指定证件类型")
- if (!StringUtil.isEmpty(idno) && ConstantUtil.IDTYPE_IDENTITY == idtype && !StringUtil.isIdentity(idno)) throw RequestParamCheckException("身份证格式错误")
- if (!StringUtil.isEmpty(mobile) && !StringUtil.isMobile(mobile)) throw RequestParamCheckException("手机号格式错误")
- if (!StringUtil.isEmpty(email) && !StringUtil.isEmail(email)) throw RequestParamCheckException("邮箱格式错误")
-
- return true
- }
-}
-
-
-// ============================ SHOP ============================ //
-class OpenShopParam : APIRequestParam() {
- @Sign
- var shopUniqueId: String = "" //必传
- @Sign
- var shoptype: Int = 1
- @Sign
- var fshopid: Int? = null
- @Sign
- var shopname: String = "" //必传
- @Sign
- var contactman: String? = null
- @Sign
- var idtype: String? = null
- @Sign
- var idno: String? = null
- @Sign
- var mobile: String? = null
- @Sign
- var email: String? = null
- @Sign
- var address: String? = null
- @Sign
- var zipcode: String? = null
-
- override fun checkParam(): Boolean {
- if (StringUtil.isEmpty(shopUniqueId)) throw RequestParamCheckException("商户唯一号不能为空")
- if (ConstantUtil.SHOPTYPE_GROUP != shoptype && ConstantUtil.SHOPTYPE_LEAF != shoptype) throw RequestParamCheckException("请指定商户类型")
- if (StringUtil.isEmpty(shopname)) throw RequestParamCheckException("商户名称不能为空")
- if (!StringUtil.isEmpty(idtype) && !ConstantUtil.IDTYPE_DICTS.contains(idtype)) throw RequestParamCheckException("证件类型非法")
- if (!StringUtil.isEmpty(idno) && !StringUtil.isCharAndNum(idno)) throw RequestParamCheckException("证件号不能为空,且仅支持数字和字母")
- if (!StringUtil.isEmpty(idno) && StringUtil.isEmpty(idtype)) throw RequestParamCheckException("证件号不能为空时,请指定证件类型")
- if (!StringUtil.isEmpty(mobile) && !StringUtil.isMobile(mobile)) throw RequestParamCheckException("手机号格式错误")
- if (!StringUtil.isEmpty(email) && !StringUtil.isEmail(email)) throw RequestParamCheckException("邮箱格式错误")
-
- return true
- }
-}
-
-class QueryShopParam : APIRequestParam() {
- @Sign
- var shopid: Int? = null //注册时返回的shopid
- @Sign
- var shopaccno: String? = null //注册时返回的shopaccno
- @Sign
- var shopUniqueId: String? = null //注册传的商户唯一号
-
- override fun checkParam(): Boolean {
- if (StringUtil.isEmpty(shopUniqueId) && null == shopid && StringUtil.isEmpty(shopaccno)) throw RequestParamCheckException("商户唯一标志不能为空")
-
- return true
- }
-}
-
-
class DaliDatasyncParam {
var app_id: String = ""
var data: String = ""
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt
index 4cbb21e..48bff6e 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt
@@ -24,12 +24,8 @@
private lateinit var commonService: CommonService
@PostMapping("/open")
- fun openAccount(@RequestBody param: OpenShopParam, request: HttpServletRequest, response: HttpServletResponse): ResponseEntity<Any> {
+ fun openAccount(@RequestBody param: OpenShopParam): ResponseEntity<Any> {
try {
- if (!param.checkParam() || !param.checkSign(commonService.getAppidSecretByRequest(request))) {
- return ResponseEntity.ok(ResponseBodyBuilder.create()
- .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误"))
- }
shopService.findByThirdUniqueId(param.shopUniqueId)?.let {
return ResponseEntity.ok(ResponseBodyBuilder.create()
.fail(TradeErrorCode.BUSINESS_SHOP_EXISTS, "该商户唯一号[${param.shopUniqueId}]已经存在"))
@@ -54,13 +50,8 @@
}
@GetMapping("/query")
- fun queryShop(@RequestBody param: QueryShopParam, request: HttpServletRequest, response: HttpServletResponse): ResponseEntity<Any> {
+ fun queryShop(@RequestBody param: QueryShopParam): ResponseEntity<Any> {
try {
- if (param.checkParam() && param.checkSign(commonService.getAppidSecretByRequest(request))) {
- return ResponseEntity.ok(ResponseBodyBuilder.create()
- .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误"))
- }
-
shopService.findByShopBySearch(param.shopid, param.shopaccno, param.shopUniqueId)?.let {
return ResponseEntity.ok(ResponseBodyBuilder.create()
.data("shop", it)
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
index 4d63b19..551b7c6 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
@@ -24,17 +24,10 @@
class UserAPIController {
@Autowired
private lateinit var useService: UserService
- @Autowired
- private lateinit var commonService: CommonService
@PostMapping("/open")
- fun openAccount(@RequestBody param: OpenUserParam, request: HttpServletRequest, response: HttpServletResponse): ResponseEntity<Any> {
+ fun openAccount(@RequestBody param: OpenUserParam): ResponseEntity<Any> {
try {
-
- if (!param.checkParam() || !param.checkSign(commonService.getAppidSecretByRequest(request))) {
- return ResponseEntity.ok(ResponseBodyBuilder.create()
- .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误"))
- }
useService.findByThirdUniqueIdenty(param.uid).let {
if (null != it) {
return ResponseEntity.ok(ResponseBodyBuilder.create()
@@ -60,13 +53,8 @@
}
@PostMapping("/query")
- fun queryAccount(@RequestBody param: QueryUserParam, request: HttpServletRequest, response: HttpServletResponse): ResponseEntity<Any> {
+ fun queryAccount(@RequestBody param: QueryUserParam): ResponseEntity<Any> {
try {
- if (param.checkParam() && param.checkSign(commonService.getAppidSecretByRequest(request))) {
- return ResponseEntity.ok(ResponseBodyBuilder.create()
- .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误"))
- }
-
useService.findByUseridOrThirdUniqueIdenty(param.userid, param.uid).let {
if (null != it) {
val account = useService.findAccountByUserid(it.userid, null)
@@ -109,12 +97,8 @@
}
@PostMapping("/modify")
- fun modifyAccount(@RequestBody param: ModifyUserParam, request: HttpServletRequest, response: HttpServletResponse): ResponseEntity<Any> {
+ fun modifyAccount(@RequestBody param: ModifyUserParam): ResponseEntity<Any> {
try {
- if (param.checkParam() && param.checkSign(commonService.getAppidSecretByRequest(request))) {
- return ResponseEntity.ok(ResponseBodyBuilder.create()
- .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误"))
- }
useService.findByUseridOrThirdUniqueIdenty(param.userid, param.uid)?.let {
param.name = param.name?.let { URLDecoder.decode(param.name, Charsets.UTF_8.toString()) } //解码
param.address = param.address?.let { URLDecoder.decode(param.address, Charsets.UTF_8.toString()) } //解码