From 9d19ca02aa30c4d486a4cfe861d698d454ce8d5b Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期一, 30 十月 2023 10:08:29 +0800
Subject: [PATCH] 商户认证代码
---
cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorAuthMapper.java | 2
cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js | 11
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java | 12
cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/AntMerchantExpandIndirectImageUpload.java | 173 +++++
cloud-server-management/src/main/java/com/dsh/ManagementApplication.java | 3
cloud-server-management/src/main/resources/TOperatorUserMapper.xml | 5
cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/WeChatUtil.java | 168 ++++++
cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html | 52 +
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java | 24
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java | 9
cloud-server-management/pom.xml | 14
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/MgtShopAuthDto.java | 204 +++++++
.idea/workspace.xml | 169 +++--
cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OBSUploadUtil.java | 9
cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html | 600 ++++++++++++++++++----
cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js | 32 +
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java | 91 +++
17 files changed, 1,355 insertions(+), 223 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 6ed129d..4a094d1 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -25,11 +25,24 @@
<select />
</component>
<component name="ChangeListManager">
- <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="商户认证">
- <change beforePath="$PROJECT_DIR$/.idea/encodings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
+ <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="">
+ <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/MgtShopAuthDto.java" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/WeChatUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user.html" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/pom.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/ManagementApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/ManagementApplication.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorAuthMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorAuthMapper.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/AntMerchantExpandIndirectImageUpload.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/AntMerchantExpandIndirectImageUpload.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OBSUploadUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OBSUploadUtil.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/resources/TOperatorUserMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/resources/TOperatorUserMapper.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
@@ -116,6 +129,8 @@
<recent name="E:\PlayPai\cloud-server-management\src\main\java\com\dsh\guns\modular\system\model" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
+ <recent name="com.dsh.guns.modular.system.util" />
+ <recent name="com.dsh.guns.modular.system.model" />
<recent name="com.dsh.course.feignClient.account.model" />
<recent name="com.dsh.guns.modular.system.model.dto" />
<recent name="com.dsh.course.mapper" />
@@ -148,7 +163,7 @@
</list>
</option>
</component>
- <component name="RunManager" selected="Spring Boot.ManagementApplication">
+ <component name="RunManager" selected="Application.AntMerchantExpandIndirectImageUpload">
<configuration default="true" type="JUnit" factoryName="JUnit">
<shortenClasspath name="MANIFEST" />
<option name="TEST_OBJECT" value="class" />
@@ -201,19 +216,6 @@
<option name="Make" enabled="true" />
</method>
</configuration>
- <configuration name="BigDecimalToChineseWords" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
- <option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.util.BigDecimalToChineseWords" />
- <module name="mb-cloud-management" />
- <extension name="coverage">
- <pattern>
- <option name="PATTERN" value="com.dsh.guns.modular.system.util.*" />
- <option name="ENABLED" value="true" />
- </pattern>
- </extension>
- <method v="2">
- <option name="Make" enabled="true" />
- </method>
- </configuration>
<configuration name="OperatorController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.controller.code.OperatorController" />
<module name="mb-cloud-management" />
@@ -233,6 +235,19 @@
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.dsh.guns.modular.system.api.*" />
+ <option name="ENABLED" value="true" />
+ </pattern>
+ </extension>
+ <method v="2">
+ <option name="Make" enabled="true" />
+ </method>
+ </configuration>
+ <configuration name="WeChatUtil" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+ <option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.util.WeChatUtil" />
+ <module name="mb-cloud-management" />
+ <extension name="coverage">
+ <pattern>
+ <option name="PATTERN" value="com.dsh.guns.modular.system.util.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
@@ -412,7 +427,12 @@
</method>
</configuration>
<list>
+ <item itemvalue="Application.AccountApplicationTests" />
<item itemvalue="Application.BigDecimalToChineseWords" />
+ <item itemvalue="Application.OperatorController" />
+ <item itemvalue="Application.AntMerchantExpandIndirectImageUpload" />
+ <item itemvalue="Application.SaticScheduleTask" />
+ <item itemvalue="Application.WeChatUtil" />
<item itemvalue="JUnit.AccountApplicationTests.contextLoads" />
<item itemvalue="Spring Boot.CourseApplication" />
<item itemvalue="Spring Boot.AuthApplication" />
@@ -422,14 +442,12 @@
<item itemvalue="Spring Boot.OtherApplication" />
<item itemvalue="Spring Boot.ActivityApplication" />
<item itemvalue="Spring Boot.CompetitionApplication" />
- <item itemvalue="Application.OperatorController" />
- <item itemvalue="Application.AntMerchantExpandIndirectImageUpload" />
- <item itemvalue="Application.SaticScheduleTask" />
</list>
<recent_temporary>
<list>
- <item itemvalue="Application.SaticScheduleTask" />
<item itemvalue="Application.AntMerchantExpandIndirectImageUpload" />
+ <item itemvalue="Application.WeChatUtil" />
+ <item itemvalue="Application.SaticScheduleTask" />
<item itemvalue="Application.OperatorController" />
<item itemvalue="JUnit.AccountApplicationTests.contextLoads" />
</list>
@@ -443,17 +461,12 @@
<expand>
<path>
<item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
- <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@f1b22ae" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+ <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@89aeeae2" type="7427dc5b:ServiceModel$ServiceGroupNode" />
</path>
<path>
<item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
- <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@f1b22ae" type="7427dc5b:ServiceModel$ServiceGroupNode" />
- <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@d892f522" type="7427dc5b:ServiceModel$ServiceGroupNode" />
- </path>
- <path>
- <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
- <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@f1b22ae" type="7427dc5b:ServiceModel$ServiceGroupNode" />
- <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@4c3d359f" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+ <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@89aeeae2" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+ <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@5fffee20" type="7427dc5b:ServiceModel$ServiceGroupNode" />
</path>
</expand>
<select />
@@ -551,55 +564,9 @@
<workItem from="1698194264793" duration="36754000" />
<workItem from="1698280994018" duration="26917000" />
<workItem from="1698316299057" duration="8429000" />
- <workItem from="1698325880893" duration="32759000" />
- </task>
- <task id="LOCAL-00039" summary="10.8">
- <option name="closed" value="true" />
- <created>1696749061197</created>
- <option name="number" value="00039" />
- <option name="presentableId" value="LOCAL-00039" />
- <option name="project" value="LOCAL" />
- <updated>1696749061197</updated>
- </task>
- <task id="LOCAL-00040" summary="10.8。1">
- <option name="closed" value="true" />
- <created>1696753188954</created>
- <option name="number" value="00040" />
- <option name="presentableId" value="LOCAL-00040" />
- <option name="project" value="LOCAL" />
- <updated>1696753188954</updated>
- </task>
- <task id="LOCAL-00041" summary="10.11">
- <option name="closed" value="true" />
- <created>1696932564568</created>
- <option name="number" value="00041" />
- <option name="presentableId" value="LOCAL-00041" />
- <option name="project" value="LOCAL" />
- <updated>1696932564568</updated>
- </task>
- <task id="LOCAL-00042" summary="10.12">
- <option name="closed" value="true" />
- <created>1696989564532</created>
- <option name="number" value="00042" />
- <option name="presentableId" value="LOCAL-00042" />
- <option name="project" value="LOCAL" />
- <updated>1696989564532</updated>
- </task>
- <task id="LOCAL-00043" summary="10.12">
- <option name="closed" value="true" />
- <created>1696990659189</created>
- <option name="number" value="00043" />
- <option name="presentableId" value="LOCAL-00043" />
- <option name="project" value="LOCAL" />
- <updated>1696990659189</updated>
- </task>
- <task id="LOCAL-00044" summary="10.11">
- <option name="closed" value="true" />
- <created>1696993684991</created>
- <option name="number" value="00044" />
- <option name="presentableId" value="LOCAL-00044" />
- <option name="project" value="LOCAL" />
- <updated>1696993684991</updated>
+ <workItem from="1698325880893" duration="54542000" />
+ <workItem from="1698455150596" duration="11287000" />
+ <workItem from="1698627531587" duration="2092000" />
</task>
<task id="LOCAL-00045" summary="10.12">
<option name="closed" value="true" />
@@ -931,7 +898,49 @@
<option name="project" value="LOCAL" />
<updated>1698383333283</updated>
</task>
- <option name="localTasksCounter" value="88" />
+ <task id="LOCAL-00088" summary="商户认证">
+ <created>1698383355441</created>
+ <option name="number" value="00088" />
+ <option name="presentableId" value="LOCAL-00088" />
+ <option name="project" value="LOCAL" />
+ <updated>1698383355441</updated>
+ </task>
+ <task id="LOCAL-00089" summary="商户认证">
+ <created>1698383380121</created>
+ <option name="number" value="00089" />
+ <option name="presentableId" value="LOCAL-00089" />
+ <option name="project" value="LOCAL" />
+ <updated>1698383380121</updated>
+ </task>
+ <task id="LOCAL-00090" summary="商户认证">
+ <created>1698383394712</created>
+ <option name="number" value="00090" />
+ <option name="presentableId" value="LOCAL-00090" />
+ <option name="project" value="LOCAL" />
+ <updated>1698383394712</updated>
+ </task>
+ <task id="LOCAL-00091" summary="商户认证">
+ <created>1698383409580</created>
+ <option name="number" value="00091" />
+ <option name="presentableId" value="LOCAL-00091" />
+ <option name="project" value="LOCAL" />
+ <updated>1698383409580</updated>
+ </task>
+ <task id="LOCAL-00092" summary="商户认证">
+ <created>1698384180115</created>
+ <option name="number" value="00092" />
+ <option name="presentableId" value="LOCAL-00092" />
+ <option name="project" value="LOCAL" />
+ <updated>1698384180115</updated>
+ </task>
+ <task id="LOCAL-00093" summary="商户认证">
+ <created>1698394471402</created>
+ <option name="number" value="00093" />
+ <option name="presentableId" value="LOCAL-00093" />
+ <option name="project" value="LOCAL" />
+ <updated>1698394471402</updated>
+ </task>
+ <option name="localTasksCounter" value="94" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
diff --git a/cloud-server-management/pom.xml b/cloud-server-management/pom.xml
index ff89142..a02d0ad 100644
--- a/cloud-server-management/pom.xml
+++ b/cloud-server-management/pom.xml
@@ -229,6 +229,20 @@
<version>4.38.10.ALL</version>
<scope>compile</scope>
</dependency>
+ <!-- 小程序统一服务 -->
+ <dependency>
+ <groupId>com.github.binarywang</groupId>
+ <artifactId>weixin-java-miniapp</artifactId>
+ <version>4.5.0</version>
+ </dependency>
+ <!-- 微信 -->
+ <dependency>
+ <groupId>com.github.binarywang</groupId>
+ <artifactId>weixin-java-pay</artifactId>
+ <version>4.5.0</version>
+ </dependency>
+
+
</dependencies>
<build>
diff --git a/cloud-server-management/src/main/java/com/dsh/ManagementApplication.java b/cloud-server-management/src/main/java/com/dsh/ManagementApplication.java
index aeb92e0..350becc 100644
--- a/cloud-server-management/src/main/java/com/dsh/ManagementApplication.java
+++ b/cloud-server-management/src/main/java/com/dsh/ManagementApplication.java
@@ -8,9 +8,11 @@
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.stereotype.Component;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import javax.annotation.PostConstruct;
@@ -26,6 +28,7 @@
@MapperScan("com.dsh.course.mapper")
@ServletComponentScan
@EnableScheduling
+@ComponentScan(basePackages = {"com.dsh.*","com.github.binarywang.wxpay.service"})
public class ManagementApplication {
public static void main(String[] args) {
try{
diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorAuthMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorAuthMapper.java
index 56043ed..b87b6b6 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorAuthMapper.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorAuthMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.guns.modular.system.model.OperatorAuth;
import com.dsh.guns.modular.system.model.TTurn;
+import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -13,6 +14,7 @@
* @author administrator
* @since 2023-09-19
*/
+@Mapper
public interface TOperatorAuthMapper extends BaseMapper<OperatorAuth> {
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/AntMerchantExpandIndirectImageUpload.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/AntMerchantExpandIndirectImageUpload.java
index 6f5f2a3..e1e40bb 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/AntMerchantExpandIndirectImageUpload.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/AntMerchantExpandIndirectImageUpload.java
@@ -6,37 +6,164 @@
import com.alipay.api.CertAlipayRequest;
import com.alipay.api.AlipayConfig;
import com.alipay.api.request.AntMerchantExpandIndirectImageUploadRequest;
+import com.alipay.api.request.AntMerchantExpandIndirectZftCreateRequest;
import com.alipay.api.response.AntMerchantExpandIndirectImageUploadResponse;
import com.alipay.api.FileItem;
+import com.alipay.api.response.AntMerchantExpandIndirectZftCreateResponse;
+
import java.util.Base64;
import java.util.ArrayList;
import java.util.List;
public class AntMerchantExpandIndirectImageUpload {
- public static void main(String[] args) throws AlipayApiException {
- String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCSsmylIHe0j0pRQrB9p5ljryk9Qg2Z/JgIh+gtZES1TDo35YVw24aRRt7pkY7oHIZqpMRmSsWND1t63LVuNlpq532LG0iEJVJS53GzpRoHDD3iD01GmUoNjkCL36NCrbY0hTDDw7GZnYuJ8194Sss7OEoi7Mghg/XUreX4awwpWngTepCF7zs0S4YJQWyGY4JI6ooGraW23siBVY5MUI9XXLL6UKIExUfKe7zRihs8SrTHNnXtDT6EKYYo8P6M90Xuk173QsK2Xguk1FQ5Blh2ts7UvZVjP+WoQwDvrnqruve5kzDD9gwnAYUvhY66mtlxeub9nf5LLTtCliXeUZpNAgMBAAECggEAaPShSM9e9d9jM5p8PZqw4yJKZhqhMqAHgmsCUZ+gjPn52U4s198oez5ydDgBP85Q2XIDVpB+oPrw34mTgUQAEuaG6wTdMDannMscjYQ9h/dZOyjph+5ajjJNugWKgEVazF7S0e1sXtTaJhvrHVyd5UPTvwMb+Oa59q1okQC91cNa2vJzXiC7dfqWXZW/otmmOpcIcCN8dVDG3YhAuc5ZiT78Ca8x9GHWfw7cw1FRewRZlp/YnD2fJeWEesfvGCV36zCksrJrZz5MFMdf1Qh6+tHxK+E5sPNGdbooviTRnNWrsgyS9NcXFSQItOZQHsbLVID/Bs0kxkYPzbsfX1vRXQKBgQDsBDNZxpmSZJZ/4HfCOfHytWAkH/GHE3GOYH4TdHKLXfxRCinU23OtdrU2Sy8tBZvaajDKkWvMkjWT2w+56+z+xTprTf2PL/LS9zWCc8LPKbif6NfnwaOE8pIBrvkBskGKwbIE2fFVT0B4hNsR80TbPxvvAfCKjUj67qrTXSal+wKBgQCfHiuq/gLuSD2fuplzCwu0Rm/wr56bUpxhq9WNGaPOybR6EPq/wTKp0ow+f9uSuTm2NZhi/TWTXHOizy9vcZChRpj03a7NYwUOw36zvW7SHuF0Uhsp8TrZTyCj1XdhdLyJ9JMyL2DTRpGtLUR01ZSrdXPax7/Xu+OHubijqRD2VwKBgFqCveKm7AwdMS43OhYtPKE0d3tDGNARX9IXJSJ23Nqfn3zApgwwYKtcQ+BfcucUKJHZeX6lyC56v7tFHkHRvWBy6JVwIlZAMCJBla7CkCn8OQZyOCJzuy7oC6BDptDEuKfq4kdEAW4S54mQgabfoT9nc2H0X3fy+NLqpm5KYeDzAoGAYerlIILUNuKJ2aOxDpS7jSLTfB/20MqTpZ9i+UPQBE8oGv4b8Kjpjowc9dEkxDPsCe8Nac08jQSVvJkXLdOLF1QkiHtrOMU4tY8kh2OJsRCD2Vs1kCf8+QGyql+Q6Y43AAZcFsQFJ78Dorh6qhNNO/45X2cQ7aeYK0vlDgHaiF0CgYA4k9Q1tc8sU67TgT9cmMM6hG7/Rf3cU3PIdYuojs1EIG+1BJ7TlEiNAHoPtphlGFFeDP3SVnf59RfYH+BbLiz1JX9p/KFKRRkoXtfd6bySVWHvj4x2WiVpKFvHxhxc3LRubx0ryLGR/tpUJzxp+9luanU/WgSRFKiEZJZqFjjDzw==";
- String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCzq4BIE4gMdEXxIAAUbiMpSytkzp+LVLVsBtji87rFGfWUcnrr3NKftaw0WtRu+36d1nDVOWW4CmgsOPyj1GOFoTcJOR/BqyIriwyLxpuMS8qgOqGJZXi+W4Nw2AJL6iMVwY2eI8F1G10gACK2I9TNJRzHh3tMTA6ItysbGoekRDtn6Xrkh5V6cyHQjLw0Q6MJK/68XT6/LWzarDEEYrSnIevOydMY32ptAgm5fp/h08M2khCmI6CuMWKmc87dPpd2krGVTALqprAQvB74AIqO+5DE0fN4LoitOYXAtWDCEF4kHN0hQUygIEGCwtMgEVzkf92VLlCX35YtDhWd1yQIDAQAB";
- AlipayConfig alipayConfig = new AlipayConfig();
- alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
- alipayConfig.setAppId("2021004123692417");
- alipayConfig.setPrivateKey(privateKey);
- alipayConfig.setFormat("json");
- alipayConfig.setAlipayPublicKey(alipayPublicKey);
- alipayConfig.setCharset("UTF8");
- alipayConfig.setSignType("RSA2");
- AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
- // 这是一个1x1像素的图片流
- String imageBase64 = "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAEUlEQVR42mP4TyRgGFVIX4UAI/uOgGWVNeQAAAAASUVORK5CYII=";
- // 下列FileItem中也可用直接读取本地文件的方式来获取文件
- // FileItem imageContent = new FileItem("本地文件的绝对路径");
- AntMerchantExpandIndirectImageUploadRequest request = new AntMerchantExpandIndirectImageUploadRequest();
- FileItem imageContent = new FileItem("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/73d85c4b522f4077bda8d20f51439a33.JPG", Base64.getDecoder().decode(imageBase64));
- request.setImageContent(imageContent);
- request.setImageType("jpg");
- AntMerchantExpandIndirectImageUploadResponse response = alipayClient.execute(request);
- System.out.println(response.getBody());
- if (response.isSuccess()) {
+// public static void main(String[] args) throws AlipayApiException {
+// String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCSsmylIHe0j0pRQrB9p5ljryk9Qg2Z/JgIh+gtZES1TDo35YVw24aRRt7pkY7oHIZqpMRmSsWND1t63LVuNlpq532LG0iEJVJS53GzpRoHDD3iD01GmUoNjkCL36NCrbY0hTDDw7GZnYuJ8194Sss7OEoi7Mghg/XUreX4awwpWngTepCF7zs0S4YJQWyGY4JI6ooGraW23siBVY5MUI9XXLL6UKIExUfKe7zRihs8SrTHNnXtDT6EKYYo8P6M90Xuk173QsK2Xguk1FQ5Blh2ts7UvZVjP+WoQwDvrnqruve5kzDD9gwnAYUvhY66mtlxeub9nf5LLTtCliXeUZpNAgMBAAECggEAaPShSM9e9d9jM5p8PZqw4yJKZhqhMqAHgmsCUZ+gjPn52U4s198oez5ydDgBP85Q2XIDVpB+oPrw34mTgUQAEuaG6wTdMDannMscjYQ9h/dZOyjph+5ajjJNugWKgEVazF7S0e1sXtTaJhvrHVyd5UPTvwMb+Oa59q1okQC91cNa2vJzXiC7dfqWXZW/otmmOpcIcCN8dVDG3YhAuc5ZiT78Ca8x9GHWfw7cw1FRewRZlp/YnD2fJeWEesfvGCV36zCksrJrZz5MFMdf1Qh6+tHxK+E5sPNGdbooviTRnNWrsgyS9NcXFSQItOZQHsbLVID/Bs0kxkYPzbsfX1vRXQKBgQDsBDNZxpmSZJZ/4HfCOfHytWAkH/GHE3GOYH4TdHKLXfxRCinU23OtdrU2Sy8tBZvaajDKkWvMkjWT2w+56+z+xTprTf2PL/LS9zWCc8LPKbif6NfnwaOE8pIBrvkBskGKwbIE2fFVT0B4hNsR80TbPxvvAfCKjUj67qrTXSal+wKBgQCfHiuq/gLuSD2fuplzCwu0Rm/wr56bUpxhq9WNGaPOybR6EPq/wTKp0ow+f9uSuTm2NZhi/TWTXHOizy9vcZChRpj03a7NYwUOw36zvW7SHuF0Uhsp8TrZTyCj1XdhdLyJ9JMyL2DTRpGtLUR01ZSrdXPax7/Xu+OHubijqRD2VwKBgFqCveKm7AwdMS43OhYtPKE0d3tDGNARX9IXJSJ23Nqfn3zApgwwYKtcQ+BfcucUKJHZeX6lyC56v7tFHkHRvWBy6JVwIlZAMCJBla7CkCn8OQZyOCJzuy7oC6BDptDEuKfq4kdEAW4S54mQgabfoT9nc2H0X3fy+NLqpm5KYeDzAoGAYerlIILUNuKJ2aOxDpS7jSLTfB/20MqTpZ9i+UPQBE8oGv4b8Kjpjowc9dEkxDPsCe8Nac08jQSVvJkXLdOLF1QkiHtrOMU4tY8kh2OJsRCD2Vs1kCf8+QGyql+Q6Y43AAZcFsQFJ78Dorh6qhNNO/45X2cQ7aeYK0vlDgHaiF0CgYA4k9Q1tc8sU67TgT9cmMM6hG7/Rf3cU3PIdYuojs1EIG+1BJ7TlEiNAHoPtphlGFFeDP3SVnf59RfYH+BbLiz1JX9p/KFKRRkoXtfd6bySVWHvj4x2WiVpKFvHxhxc3LRubx0ryLGR/tpUJzxp+9luanU/WgSRFKiEZJZqFjjDzw==";
+// String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCzq4BIE4gMdEXxIAAUbiMpSytkzp+LVLVsBtji87rFGfWUcnrr3NKftaw0WtRu+36d1nDVOWW4CmgsOPyj1GOFoTcJOR/BqyIriwyLxpuMS8qgOqGJZXi+W4Nw2AJL6iMVwY2eI8F1G10gACK2I9TNJRzHh3tMTA6ItysbGoekRDtn6Xrkh5V6cyHQjLw0Q6MJK/68XT6/LWzarDEEYrSnIevOydMY32ptAgm5fp/h08M2khCmI6CuMWKmc87dPpd2krGVTALqprAQvB74AIqO+5DE0fN4LoitOYXAtWDCEF4kHN0hQUygIEGCwtMgEVzkf92VLlCX35YtDhWd1yQIDAQAB";
+// AlipayConfig alipayConfig = new AlipayConfig();
+// alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
+// alipayConfig.setAppId("2021004123692417");
+// alipayConfig.setPrivateKey(privateKey);
+// alipayConfig.setFormat("json");
+// alipayConfig.setAlipayPublicKey(alipayPublicKey);
+// alipayConfig.setCharset("UTF8");
+// alipayConfig.setSignType("RSA2");
+// AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
+// // 这是一个1x1像素的图片流
+// String imageBase64 = "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAEUlEQVR42mP4TyRgGFVIX4UAI/uOgGWVNeQAAAAASUVORK5CYII=";
+// // 下列FileItem中也可用直接读取本地文件的方式来获取文件
+// // FileItem imageContent = new FileItem("本地文件的绝对路径");
+// AntMerchantExpandIndirectImageUploadRequest request = new AntMerchantExpandIndirectImageUploadRequest();
+// FileItem imageContent = new FileItem("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/73d85c4b522f4077bda8d20f51439a33.JPG", Base64.getDecoder().decode(imageBase64));
+// request.setImageContent(imageContent);
+// request.setImageType("jpg");
+// AntMerchantExpandIndirectImageUploadResponse response = alipayClient.execute(request);
+// System.out.println(response.getBody());
+// if (response.isSuccess()) {
+// System.out.println("调用成功");
+// } else {
+// System.out.println("调用失败");
+// }
+// }
+ public static void main(String[] args) {
+ AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
+ "2021004124642138",
+ "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC8Jqz8JmnbbggpEqdIyimlk1z7uq0W/rexxMZsh5f7LjSafci1/Gce3USgp1L2rVxEJPfL85rYXiLwnqUUPqi1P5MoymOU9GtK99dzlbkU8IPYKJWYWCtdnq5IdGLf4Kcs6ghYvTwbNHw5vl5QevtfEW8kzYxPrYkfO1i38i8zT8OTLHP2T+lRbfRvLMgScv+kiCWlI4k411yeeLxWm5ikg3M3zMjTl05VOqVhp45N3aglGzMMN3b6Ior73PzBUARmMeDQ73YX0l24acIpy1qNYkjZnvs0ghxd2eowgYgmaJBpfRZfD8NDFe20g/RQSK+mdJslxcdaFjW4OVUU8rdvAgMBAAECggEAeq1Q/vtg7BTbN0SVVC2UaAQkjXGTKDoetccShXMHklv3KoA3HQmchxBIjeNrgbFZRolAFHgaj1cZuwAFrKSKRdtU7TTBJz8SsgfVL+UAj3mezZLwrytV4y3yfwV77nNBLVTO6mVASpC3KsNIJXt6aOsqJ7np8Y25qWZ9mzpKsk4CPaSSPMj9KXZN1ivjfd4rscT9jPnzuTtcUwH2DBn4ykDsc1bnwRO/6IUwo7FJGK5IY7WRrmYFPqdqXpfmKZAMzBoRLJtBp+sbBkSjXHjVpsEJJYTgYqVaTc+iX3SjLi0a/7GieVd2U8OWVVmvbdJgawKWK1kEjCDIOVjOUzFI0QKBgQDlq+LiDPSjt2l+eosR1w82LdfaAyhh5Bhg3C9Or7GoP/PHvk/R3TfDR8yx1JJk1tM2PNg7gsx0KBnu8IKJviBNNvZ8ftMYL3Z3L+4SvUlD7sN01TUA1vPtWsMGEc73eqYy8a88H+rhUTSm6eHiq2sZGLKid+/ShLf+pXvHE5YRqQKBgQDRuE0ltOFbJHdDjP1W9xCZWbx3mDsSs/pZv761CLRKY0TVGq3QgakBJpjSX7OYJ4Cg2j+8R8PJjHsE1pnrRbiF63ypbCm2j5knCqgqFpctAqQ4fQk0263GORw+9FRPuVbL1zyFzFJTeOkwpK+p61tA0JAdDnymUKLdDuNZAl1fVwKBgQDZGPJdFTwGqW/p43IjyfMSFqFr7gI1DkRRArEhIwi+7rzEOcv/p6l3SR5fln1PHpYGNdt73Xbf8awZ5XSvOW4VLvgt1EA8I1lK7p6PTie8NCzD+mmgwo9O9LVWvmyyGFiT3Ur0fYMruvQXNwuTlM+mqGbrFo42o8e8yLZJBuWbCQKBgQCn901KmuE3BzDCGIS7ByvzNkzdGD6Pzzf+c7UA91S2k2UIrNJzQbWjJ0+UhnOntFOwALy1RmEH5oyMpngmV/PexmlUpD2QathFzaI7+1XfBdOTLomWHS/Dp+/4d+Wi6JUcs2lU2/0/v4I8pFnQ5KB0e9ZAf17UMZcPJ6Jsopk4BwKBgQCNnSK8b1xG/WMOae2HaHDjgwRCFJn5gS3NsLcj0zdFb9VfpaoxBd2vpR/kNO3VCEM6pZMOAGTYxaaS/27Wbavbu+m5oAZs1IwCjAryM9jSevwF59AX+OxOi8r4UYiEXMdmlSoNseIAe8U8X1/ZCGuLiS1p7k7nSkkCLBvWnzNKfA==","json","GBK",
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCzq4BIE4gMdEXxIAAUbiMpSytkzp+LVLVsBtji87rFGfWUcnrr3NKftaw0WtRu+36d1nDVOWW4CmgsOPyj1GOFoTcJOR/BqyIriwyLxpuMS8qgOqGJZXi+W4Nw2AJL6iMVwY2eI8F1G10gACK2I9TNJRzHh3tMTA6ItysbGoekRDtn6Xrkh5V6cyHQjLw0Q6MJK/68XT6/LWzarDEEYrSnIevOydMY32ptAgm5fp/h08M2khCmI6CuMWKmc87dPpd2krGVTALqprAQvB74AIqO+5DE0fN4LoitOYXAtWDCEF4kHN0hQUygIEGCwtMgEVzkf92VLlCX35YtDhWd1yQIDAQAB","RSA2");
+ AntMerchantExpandIndirectZftCreateRequest request = new AntMerchantExpandIndirectZftCreateRequest();
+ request.setBizContent("{" +
+ " \"in_door_images\":[" +
+ " \"c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg\"" +
+ " ]," +
+ " \"external_id\":\"105290059990194\"," +
+ " \"merchant_type\":\"01\"," +
+ " \"name\":\"蚂蚁金服(杭州)网络技术有限公司\"," +
+ " \"alias_name\":\"支付宝\"," +
+ " \"mcc\":\"B0007\"," +
+ " \"cert_no\":\"9133010608210550XR\"," +
+ " \"cert_type\":\"201\"," +
+ " \"cert_image\":\"c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg\"," +
+ " \"cert_image_back\":\"25a10d04-ca9c-41aa-896f-3e0904bec470.jpg\"," +
+ " \"legal_name\":\"马云\"," +
+ " \"legal_cert_no\":\"100100198811110001\"," +
+ " \"legal_cert_front_image\":\"25a10d04-ca9c-41aa-896f-3e0904bec470.jpg\"," +
+ " \"legal_cert_back_image\":\"25a10d04-ca9c-41aa-896f-3e0904bec470.jpg\"," +
+ " \"business_address\":{" +
+ " \"city_code\":\"371000\"," +
+ " \"district_code\":\"371002\"," +
+ " \"address\":\"万塘路18号黄龙时代广场B座\"," +
+ " \"province_code\":\"370000\"," +
+ " \"poiid\":\"B0FFIVU189\"," +
+ " \"longitude\":\"120.760001\"," +
+ " \"latitude\":\"60.270001\"" +
+ " }," +
+ " \"service_phone\":\"0571-85022088\"," +
+ " \"contact_infos\":[" +
+ " {" +
+ " \"name\":\"张三\"," +
+ " \"phone\":\"0571-85022088\"," +
+ " \"mobile\":\"13888888888\"," +
+ " \"email\":\"user@domain.com\"," +
+ " \"id_card_no\":\"110000199001011234\"" +
+ " }" +
+ " ]," +
+ " \"biz_cards\":[" +
+ " {" +
+ " \"account_holder_name\":\"张三\"," +
+ " \"account_no\":\"621485*****10408\"," +
+ " \"account_inst_province\":\"浙江省\"," +
+ " \"account_inst_city\":\"杭州市\"," +
+ " \"account_branch_name\":\"招商银行杭州高新支行\"," +
+ " \"usage_type\":\"01\"," +
+ " \"account_type\":\"DC\"," +
+ " \"account_inst_name\":\"招商银行\"," +
+ " \"account_inst_id\":\"CMB\"," +
+ " \"bank_code\":\"103290003044\"" +
+ " }" +
+ " ]," +
+ " \"qualifications\":[" +
+ " {" +
+ " \"industry_qualification_type\":\"B0099\"," +
+ " \"industry_qualification_image\":\"c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg\"" +
+ " }" +
+ " ]," +
+ " \"out_door_images\":[" +
+ " \"c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg\"" +
+ " ]," +
+ " \"license_auth_letter_image\":\"c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg\"," +
+ " \"service\":[" +
+ " \"当面付\"" +
+ " ]," +
+ " \"sign_time_with_isv\":\"2015-04-15\"," +
+ " \"alipay_logon_id\":\"qwert@163.com\"," +
+ " \"sites\":[" +
+ " {" +
+ " \"site_type\":\"01\"," +
+ " \"site_url\":\"www.xxx.com\"," +
+ " \"site_name\":\"XXX网站\"," +
+ " \"account\":\"测试账号\"," +
+ " \"password\":\"测试密码\"" +
+ " }" +
+ " ]," +
+ " \"invoice_info\":{" +
+ " \"auto_invoice\":true," +
+ " \"accept_electronic\":true," +
+ " \"tax_payer_qualification\":\"01\"," +
+ " \"title\":\"蚂蚁金服(杭州)信息技术有限公司\"," +
+ " \"tax_no\":\"51010482542598631219\"," +
+ " \"tax_payer_valid\":\"19981011\"," +
+ " \"address\":\"浙江省杭州市*****路蚂蚁金服\"," +
+ " \"telephone\":\"0571****8888\"," +
+ " \"bank_account\":\"1234567******678123\"," +
+ " \"mail_name\":\"张*\"," +
+ " \"mail_address\":{" +
+ " \"city_code\":\"371000\"," +
+ " \"district_code\":\"371002\"," +
+ " \"address\":\"万塘路18号黄龙时代广场B座\"," +
+ " \"province_code\":\"370000\"," +
+ " \"poiid\":\"B0FFIVU189\"," +
+ " \"longitude\":\"120.760001\"," +
+ " \"latitude\":\"60.270001\"," +
+ " \"type\":\"BUSINESS_ADDRESS\"" +
+ " }," +
+ " \"mail_telephone\":\"0571****8888\"," +
+ " \"bank_name\":\"中国银行\"" +
+ " }," +
+ " \"cert_name\":\"xxxx小卖铺\"," +
+ " \"binding_alipay_logon_id\":\"asdf@163.com\"," +
+ " \"legal_cert_type\":\"100\"," +
+ " \"default_settle_rule\":{" +
+ " \"default_settle_type\":\"alipayAccount\"," +
+ " \"default_settle_target\":\"myalipay@alipay.com\"" +
+ " }" +
+ "}");
+ AntMerchantExpandIndirectZftCreateResponse response = null;
+ try {
+ response = alipayClient.execute(request);
+ } catch (AlipayApiException e) {
+ e.printStackTrace();
+ }
+ if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
index cfe4f46..3751fd5 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
@@ -433,6 +433,15 @@
data.setStatus(1);
data.setState(1);
operatorService.save(data);
+ // 添加运营商认证数据
+ OperatorUser operatorUser = new OperatorUser();
+ operatorUser.setUserId(user.getId());
+ operatorUser.setAlipay("支付宝");
+ operatorUser.setWechat("微信");
+ operatorUser.setAlipayType(3);
+ operatorUser.setWechatType(3);
+ operatorUser.setOperatorId(data.getId());
+ operatorUserService.save(operatorUser);
user.setObjectId(data.getId());
userService.updateById(user);
if (SinataUtil.isNotEmpty(comArr)){
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java
index 3b37641..8615a01 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java
@@ -7,25 +7,31 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.course.feignClient.account.StoreStaffClient;
import com.dsh.course.feignClient.account.model.TStoreStaff;
+import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
+import com.dsh.guns.core.base.tips.SuccessTip;
import com.dsh.guns.core.common.constant.factory.PageFactory;
import com.dsh.guns.core.util.SinataUtil;
import com.dsh.guns.modular.system.model.*;
import com.dsh.guns.modular.system.service.*;
import com.dsh.guns.modular.system.service.impl.TOperatorUserServiceImpl;
import com.dsh.guns.modular.system.util.ResultUtil;
+import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.stream.Collectors;
@@ -69,10 +75,20 @@
@RequestMapping(value = "/listAll")
@ResponseBody
public Object listAll(String province,String city,String userName, String phone,Integer platform,Integer type,Integer state) {
- Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
- List<Map<String,Object>> list = operatorUserService.listAll(page,province,city,userName,phone,platform,type,state);
- page.setRecords(list);
- return super.packForBT(page);
+
+ List<Map<String,Object>> list = operatorUserService.listAll(new Page<>(),province,city,userName,phone,platform,type,state);
+ return list;
+ }
+
+ @RequestMapping(value = "/mgtShopAuth", method = RequestMethod.POST)
+ @ApiOperation(value = "平台商户进件")
+ @ResponseBody
+ public Object mgtShopAuth() {
+ MgtShopAuthDto mgtShopAuthDto = new MgtShopAuthDto();
+ Integer userId = Objects.requireNonNull(UserExt.getUser()).getId();
+ mgtShopAuthDto.setUserId(userId);
+ operatorUserService.mgtShopAuth(mgtShopAuthDto);
+ return SUCCESS_TIP;
}
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/MgtShopAuthDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/MgtShopAuthDto.java
new file mode 100644
index 0000000..6c9dca1
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/MgtShopAuthDto.java
@@ -0,0 +1,204 @@
+package com.dsh.guns.modular.system.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @ClassName Mgt
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/6/19 10:57
+ * @Version 1.0
+ */
+@Data
+public class MgtShopAuthDto implements Serializable {
+
+ @ApiModelProperty(value = "userId",hidden = true)
+ private Integer userId;
+
+ @ApiModelProperty(value = "审核id")
+ @NotNull(message = "审核id不能为空")
+ private String authId;
+ /**
+ * 商户id
+ */
+ @ApiModelProperty(value = "商户id")
+ private Long shopId;
+
+ @ApiModelProperty(value = "商户名称")
+ private String shopName;
+
+ @ApiModelProperty(value="店主姓名")
+ private String shopownerName;
+
+ @ApiModelProperty(value="店主联系方式")
+ private String shopownerPhone;
+
+ /**
+ * 主题类型1个人2企业
+ */
+ @ApiModelProperty(value = "主题类型1个人2企业")
+ private Integer mainType;
+ /**
+ * 营业执照商户名称
+ */
+ @ApiModelProperty(value = "营业执照商户名称")
+ private String blShopName;
+ /**
+ * 营业执照编号
+ */
+ @ApiModelProperty(value = "营业执照编号")
+ private String blNumber;
+ /**
+ * 营业执照法人姓名
+ */
+ @ApiModelProperty(value = "营业执照法人姓名")
+ private String blCorporateName;
+ /**
+ * 营业执照注册地址
+ */
+ @ApiModelProperty(value = "营业执照注册地址")
+ private String blRegisteredAddress;
+
+ @ApiModelProperty(value = "营业执照开始时间")
+ private String blBusinessStartTime;
+
+ @ApiModelProperty(value = "营业执照截止日期")
+ private String blBusinessDeanline;
+
+ @ApiModelProperty(value = "营业执照期限长期标记0否1是")
+ private Integer blBusinessFoeverFlag;
+ /**
+ * 营业执照图片
+ */
+ @ApiModelProperty(value = "营业执照图片")
+ private String blImage;
+ /**
+ * 法人姓名
+ */
+ @ApiModelProperty(value = "法人姓名")
+ private String lpCorporateName;
+ /**
+ * 法人身份证号
+ */
+ @ApiModelProperty(value = "法人身份证号")
+ private String lpIdCard;
+
+ @ApiModelProperty(value = "法人身份证地址")
+ private String lpIdAddress;
+ /**
+ * 法人身份证开始日期
+ */
+ @ApiModelProperty(value = "法人身份证开始日期")
+ private String lpIcStartDate;
+ /**
+ * 法人身份证有效日期
+ */
+ @ApiModelProperty(value = "法人身份证有效日期")
+ private String lpIcEndDate;
+
+ @ApiModelProperty(value = "法人身份证长期标记0否1是")
+ private Integer lpIcForeverFlag;
+ /**
+ * 法人身份证正面
+ */
+ @ApiModelProperty(value = "法人身份证正面")
+ private String lpIcFront;
+ /**
+ * 法人身份证背面
+ */
+ @ApiModelProperty(value = "法人身份证背面")
+ private String lpIcBack;
+
+ @ApiModelProperty(value = "法人手机号")
+ private String lpMobilePhone;
+
+ @ApiModelProperty(value = "法人邮箱")
+ private String lpContactEmail;
+ /**
+ * 结算账户类型1对公2对私
+ */
+ @ApiModelProperty(value = "结算账户类型1对公2对私")
+ private String settlementAccountType;
+ /**
+ * 开户行
+ */
+ @ApiModelProperty(value = "开户行")
+ private String saBank;
+ /**
+ * 开户名称
+ */
+ @ApiModelProperty(value = "开户名称")
+ private String saAccountName;
+ /**
+ * 开户所在省
+ */
+ @ApiModelProperty(value = "开户所在省")
+ private String saBankProvinceCode;
+ /**
+ * 开户所在市
+ */
+ @ApiModelProperty(value = "开户所在市")
+ private String saBankCityCode;
+ /**
+ * 开户行全称
+ */
+ @ApiModelProperty(value = "开户行全称")
+ private String saBankName;
+ /**
+ * 银行卡号
+ */
+ @ApiModelProperty(value = "银行卡号")
+ private String saNumber;
+
+ @ApiModelProperty(value = "补充资料")
+ private String baPics;
+
+ @ApiModelProperty(value = "补充说明")
+ private String baDesc;
+
+ @ApiModelProperty(value = "法人是否受益人 0否1是")
+ private Integer owner;
+
+ /**
+ * 受益人姓名
+ */
+ @ApiModelProperty(value = "受益人姓名")
+ private String uboName;
+ /**
+ * 受益人身份证号
+ */
+ @ApiModelProperty(value = "受益人身份证号")
+ private String uboIdCard;
+ /**
+ * 受益人身份证开始日期
+ */
+ @ApiModelProperty(value = "受益人身份证开始日期")
+ private String uboIcStartDate;
+ /**
+ * 受益人身份证有效日期
+ */
+ @ApiModelProperty(value = "受益人身份证有效日期")
+ private String uboIcEndDate;
+ /**
+ * 受益人身份证正面
+ */
+ @ApiModelProperty(value = "受益人身份证正面")
+ private String uboIcFront;
+ /**
+ * 受益人身份证背面
+ */
+ @ApiModelProperty(value = "受益人身份证背面")
+ private String uboIcBack;
+
+ /**
+ * 受益人身份证背面
+ */
+ @ApiModelProperty(value = "受益人居住地址")
+ private String uboIcAddress;
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java
index 586d672..25a4bbf 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.guns.core.dataScope.DataScope;
+import com.dsh.guns.modular.system.model.MgtShopAuthDto;
import com.dsh.guns.modular.system.model.OperatorUser;
import com.dsh.guns.modular.system.model.User;
import org.apache.ibatis.annotations.Param;
@@ -15,5 +16,14 @@
*/
public interface IOperatorUserService extends IService<OperatorUser> {
- List<Map<String, Object>> listAll(Page<Map<String, Object>> page, String province, String city, String userName, String phone, Integer platform, Integer type, Integer state);
+ List<Map<String, Object>> listAll( Page<Map<String, Object>> page,String province, String city, String userName, String phone, Integer platform, Integer type, Integer state);
+
+ /**
+ * @description 商户进件
+ * @author jqs
+ * @date 2023/6/19 11:02
+ * @param mgtShopAuthDto
+ * @return void
+ */
+ void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto);
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java
index 50405ea..fea1d50 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java
@@ -1,17 +1,30 @@
package com.dsh.guns.modular.system.service.impl;
+import com.alipay.api.domain.Shop;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.course.dto.StudentSearch;
import com.dsh.course.dto.TStudentDto;
import com.dsh.course.feignClient.account.AppUserClient;
+import com.dsh.course.mapper.TOperatorAuthMapper;
+import com.dsh.course.mapper.TOperatorMapper;
import com.dsh.course.mapper.TOperatorUserMapper;
import com.dsh.course.mapper.TSiteMapper;
-import com.dsh.guns.modular.system.model.OperatorUser;
-import com.dsh.guns.modular.system.model.TSite;
-import com.dsh.guns.modular.system.model.TStudent;
+import com.dsh.course.util.UUIDUtil;
+import com.dsh.guns.core.exception.ServiceException;
+import com.dsh.guns.modular.system.model.*;
+import com.dsh.guns.modular.system.service.IOperatorAuthService;
import com.dsh.guns.modular.system.service.IOperatorUserService;
import com.dsh.guns.modular.system.service.ITStudentService;
+import com.dsh.guns.modular.system.util.WeChatUtil;
+import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult;
+import com.github.binarywang.wxpay.service.EcommerceService;
+import com.github.binarywang.wxpay.service.WxPayService;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.commons.util.IdUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -29,8 +42,80 @@
@Service
public class TOperatorUserServiceImpl extends ServiceImpl<TOperatorUserMapper, OperatorUser> implements IOperatorUserService {
+ @Autowired
+ private IOperatorAuthService operatorAuthService;
+ @Autowired
+ private TOperatorMapper operatorMapper;
+ @Autowired
+ private WeChatUtil weChatUtil;
+
+
@Override
public List<Map<String, Object>> listAll(Page<Map<String, Object>> page, String province, String city, String userName, String phone, Integer platform, Integer type, Integer state) {
return this.baseMapper.listAll(page,province,city,userName,phone,platform,type,state);
}
+ @Override
+ public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) {
+ mgtShopAuthDto.setUserId(1);
+ mgtShopAuthDto.setAuthId("1");
+ mgtShopAuthDto.setShopId(1L);
+ mgtShopAuthDto.setShopName("商户名称");
+ mgtShopAuthDto.setShopownerName("店主姓名");
+ mgtShopAuthDto.setShopownerPhone("17628220929");
+ mgtShopAuthDto.setMainType(1);
+ mgtShopAuthDto.setBlShopName("营业执照商户名称");
+ mgtShopAuthDto.setBlNumber("营业执照编号");
+ mgtShopAuthDto.setBlCorporateName("营业执照法人姓名");
+ mgtShopAuthDto.setBlRegisteredAddress("营业执照注册地址");
+ mgtShopAuthDto.setBlBusinessStartTime("2022-02-11");
+ mgtShopAuthDto.setBlBusinessDeanline("2025-05-09");
+ mgtShopAuthDto.setBlBusinessFoeverFlag(0);
+ mgtShopAuthDto.setBlImage("营业执照图片");
+ mgtShopAuthDto.setLpCorporateName("法人姓名");
+ mgtShopAuthDto.setLpIdCard("513701199910156123");
+ mgtShopAuthDto.setLpIdAddress("法人身份证地址");
+ mgtShopAuthDto.setLpIcStartDate("2020-05-05");
+ mgtShopAuthDto.setLpIcEndDate("2025-05-05");
+ mgtShopAuthDto.setLpIcForeverFlag(0);
+ mgtShopAuthDto.setLpIcFront("法人身份证正面");
+ mgtShopAuthDto.setLpIcBack("法人身份证背面");
+ mgtShopAuthDto.setLpMobilePhone("17628220929");
+ mgtShopAuthDto.setLpContactEmail("法人邮箱");
+ mgtShopAuthDto.setSettlementAccountType("2");
+ mgtShopAuthDto.setSaBank("开户行");
+ mgtShopAuthDto.setSaAccountName("开户名称");
+ mgtShopAuthDto.setSaBankProvinceCode("开户所在省");
+ mgtShopAuthDto.setSaBankCityCode("开户所在市");
+ mgtShopAuthDto.setSaBankName("开户行全称");
+ mgtShopAuthDto.setSaNumber("银行卡号");
+ mgtShopAuthDto.setOwner(1);
+ mgtShopAuthDto.setUboName("ck");
+ mgtShopAuthDto.setUboIdCard("513701199910156123");
+ mgtShopAuthDto.setUboIcStartDate("2020-05-05");
+ mgtShopAuthDto.setUboIcEndDate("2025-05-05");
+ mgtShopAuthDto.setUboIcFront("受益人身份证正面");
+ mgtShopAuthDto.setUboIcBack("受益人身份证正面");
+ mgtShopAuthDto.setUboIcAddress("受益人居住地址");
+ OperatorAuth shopAuthentication = new OperatorAuth();
+
+ if(mgtShopAuthDto.getBlBusinessFoeverFlag()!=null&&mgtShopAuthDto.getBlBusinessFoeverFlag()==1){
+ mgtShopAuthDto.setBlBusinessDeanline("长期");
+ }
+ if(mgtShopAuthDto.getLpIcForeverFlag()!=null&&mgtShopAuthDto.getLpIcForeverFlag()==1){
+ mgtShopAuthDto.setLpIcEndDate("长期");
+ }
+ BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication);
+ TOperator operator = operatorMapper.selectById(shopAuthentication.getOperatorId());
+ String applyNumber = UUIDUtil.getNativeUUID().replace("-","");
+ shopAuthentication.setOutBizNo(applyNumber);
+ ApplymentsResult applymentsResult;
+ try {
+ applymentsResult = weChatUtil.ecommerceApply(shopAuthentication,applyNumber,operator);
+ } catch (Exception e) {
+ throw new ServiceException(e.getMessage());
+ }
+ shopAuthentication.setOrderStatus("AUDITING");
+ shopAuthentication.setOrderNo(applymentsResult.getApplymentId());
+ operatorAuthService.saveOrUpdate(shopAuthentication);
+ }
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OBSUploadUtil.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OBSUploadUtil.java
index 4c723d0..3bc838d 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OBSUploadUtil.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OBSUploadUtil.java
@@ -1,6 +1,7 @@
package com.dsh.guns.modular.system.util;
import com.obs.services.ObsClient;
+import com.obs.services.model.ObsObject;
import com.obs.services.model.PutObjectResult;
import org.springframework.web.multipart.MultipartFile;
@@ -34,4 +35,12 @@
String objectUrl = putObjectResult.getObjectUrl();
return objectUrl;
}
+
+ public static InputStream getOBSStream(String key){
+ // 创建ObsClient实例
+ ObsClient obsClient = new ObsClient(accessKey, accessKeySecret, endPoint);
+ ObsObject object = obsClient.getObject(bucketName, key);
+ // 待上传的本地文件路径,需要指定到具体的文件名
+ return object.getObjectContent();//获得指定文件的输入流
+ }
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/WeChatUtil.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/WeChatUtil.java
new file mode 100644
index 0000000..b85e134
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/WeChatUtil.java
@@ -0,0 +1,168 @@
+package com.dsh.guns.modular.system.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alipay.api.domain.Shop;
+import com.dsh.course.util.UUIDUtil;
+import com.dsh.guns.core.util.ToolUtil;
+import com.dsh.guns.modular.system.controller.util.UploadUtil;
+import com.dsh.guns.modular.system.model.OperatorAuth;
+import com.dsh.guns.modular.system.model.TOperator;
+import com.dsh.guns.modular.system.model.User;
+import com.dsh.guns.modular.system.service.IUserService;
+import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsRequest;
+import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult;
+import com.github.binarywang.wxpay.bean.media.ImageUploadResult;
+import com.github.binarywang.wxpay.service.EcommerceService;
+import com.github.binarywang.wxpay.service.MerchantMediaService;
+import com.github.binarywang.wxpay.service.WxPayService;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.http.*;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestTemplate;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 微信工具类
+ */
+@Component
+public class WeChatUtil {
+
+ private WxPayService wxService;
+
+
+
+ /**
+ * @description 电商二级商户进件(提交申请单)
+ * @author jqs
+ * @date 2023/8/11 10:04
+ * @param shopAuthentication
+ * @param applyNumber
+ * @param operator
+ * @return ApplymentsResult
+ */
+
+
+ public ApplymentsResult ecommerceApply(OperatorAuth shopAuthentication, String applyNumber, TOperator operator) throws Exception {
+
+ EcommerceService ecommerceService = wxService.getEcommerceService();
+ MerchantMediaService merchantMediaService = wxService.getMerchantMediaService();
+ ApplymentsRequest request = new ApplymentsRequest();
+ //生成提交类
+ request.setOutRequestNo(applyNumber);
+ if("ENTERPRISE".equals(shopAuthentication.getBodyType())){
+ request.setOrganizationType("2");
+ }else{
+ request.setOrganizationType("4");
+ }
+ //营业执照
+ ApplymentsRequest.BusinessLicenseInfo business_license_info = new ApplymentsRequest.BusinessLicenseInfo();
+ InputStream blImageIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBusinessPicture().replace("https://obs.ap-southeast-4.myhuaweicloud.com/",""));
+ ImageUploadResult blImageIR = merchantMediaService.imageUploadV3(blImageIO,applyNumber+"blimage.jpg");
+ business_license_info.setBusinessLicenseCopy(blImageIR.getMediaId());
+ blImageIO.close();
+ business_license_info.setBusinessLicenseNumber(shopAuthentication.getBusinessNumber());
+ business_license_info.setMerchantName(shopAuthentication.getBusinessName());
+ business_license_info.setLegalPerson(shopAuthentication.getLegalPerson());
+ business_license_info.setCompanyAddress(shopAuthentication.getRegisterAddress());
+ List<String> businessTimeList = new ArrayList<>();
+ businessTimeList.add(0,shopAuthentication.getBusinessTerm());
+ businessTimeList.add(1,shopAuthentication.getBusinessEnd());
+ if(businessTimeList!=null&&businessTimeList.size()>1){
+ String businessTime = JSONObject.toJSONString(businessTimeList);
+ business_license_info.setBusinessTime(businessTime);
+ }
+ request.setBusinessLicenseInfo(business_license_info);
+ //法人证件
+ request.setIdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD");
+ ApplymentsRequest.IdCardInfo id_card_info = new ApplymentsRequest.IdCardInfo();
+ InputStream lpIcFrontIO = OBSUploadUtil.getOBSStream(shopAuthentication.getLegalFront().replace("https://obs.ap-southeast-4.myhuaweicloud.com/",""));
+ ImageUploadResult lpIcFrontIR = merchantMediaService.imageUploadV3(lpIcFrontIO,applyNumber+"lpIcFront.jpg");
+ id_card_info.setIdCardCopy(lpIcFrontIR.getMediaId());
+ lpIcFrontIO.close();
+ InputStream lpIcBackIO = OBSUploadUtil.getOBSStream(shopAuthentication.getLegalBack().replace("https://obs.ap-southeast-4.myhuaweicloud.com/",""));
+ ImageUploadResult lpIcBackIR = merchantMediaService.imageUploadV3(lpIcBackIO,applyNumber+"lpIcBack.jpg");
+ id_card_info.setIdCardNational(lpIcBackIR.getMediaId());
+ lpIcBackIO.close();
+ id_card_info.setIdCardName(shopAuthentication.getLegalPerson());
+ id_card_info.setIdCardNumber(shopAuthentication.getLeagleNumber());
+ if("ENTERPRISE".equals(shopAuthentication.getBodyType())){
+ id_card_info.setIdCardAddress(shopAuthentication.getLegalAddress());
+ }
+ id_card_info.setIdCardValidTimeBegin(shopAuthentication.getLegalTerm());
+ id_card_info.setIdCardValidTime(shopAuthentication.getLegalEnd());
+ request.setIdCardInfo(id_card_info);
+ //企业填写
+ if("ENTERPRISE".equals(shopAuthentication.getBodyType())){
+ //受益人
+ if("true".equals(shopAuthentication.getIsBeneficiary())){
+ request.setOwner(true);
+ }else{
+ request.setOwner(false);
+ List<ApplymentsRequest.UboInfo> ubo_info_list = new ArrayList<>();
+ ApplymentsRequest.UboInfo uboInfo = new ApplymentsRequest.UboInfo();
+ uboInfo.setUboIdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD");
+ InputStream uboIcFrontIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBeneficiaryFront().replace("https://obs.ap-southeast-4.myhuaweicloud.com/",""));
+ ImageUploadResult uboIcFrontIR = merchantMediaService.imageUploadV3(uboIcFrontIO,applyNumber+"uboIcFront.jpg");
+ uboInfo.setUboIdDocCopy(uboIcFrontIR.getMediaId());
+ uboIcFrontIO.close();
+ InputStream uboIcBackIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBeneficiaryBack().replace("https://obs.ap-southeast-4.myhuaweicloud.com/",""));
+ ImageUploadResult uboIcBackIR = merchantMediaService.imageUploadV3(uboIcBackIO,applyNumber+"uboIcBack.jpg");
+ uboInfo.setUboIdDocCopyBack(uboIcBackIR.getMediaId());
+ uboIcBackIO.close();
+ uboInfo.setUboIdDocName(shopAuthentication.getBeneficiary());
+ uboInfo.setUboIdDocNumber(shopAuthentication.getBeneficiaryNumber());
+ uboInfo.setUboIdDocAddress(shopAuthentication.getBeneficiaryAddress());
+ uboInfo.setUboIdDocPeriodBegin(shopAuthentication.getBeneficiaryTerm());
+ ubo_info_list.add(uboInfo);
+ request.setUboInfoList(ubo_info_list);
+ }
+ }
+ //结算账户信息
+ ApplymentsRequest.AccountInfo accountInfo = new ApplymentsRequest.AccountInfo();
+ if(shopAuthentication.getAccountType().equals(1)){
+ accountInfo.setBankAccountType("74");
+ }else{
+ accountInfo.setBankAccountType("75");
+ }
+ accountInfo.setAccountBank(shopAuthentication.getBank());
+ accountInfo.setAccountName(shopAuthentication.getAccountName());
+ accountInfo.setBankAddressCode(shopAuthentication.getCityCode());
+ accountInfo.setBankName(shopAuthentication.getBankName());
+ accountInfo.setAccountNumber(shopAuthentication.getBankNumber());
+ request.setAccountInfo(accountInfo);
+ ApplymentsRequest.ContactInfo contactInfo = new ApplymentsRequest.ContactInfo();
+ contactInfo.setContactType("65");
+ contactInfo.setContactName(shopAuthentication.getLegalPerson());
+ contactInfo.setContactIdCardNumber(shopAuthentication.getLeagleNumber());
+ contactInfo.setMobilePhone(shopAuthentication.getLegalPhone());
+ contactInfo.setContactEmail(shopAuthentication.getLegalEmail());
+ request.setContactInfo(contactInfo);
+ //店铺信息
+ ApplymentsRequest.SalesSceneInfo salesSceneInfo = new ApplymentsRequest.SalesSceneInfo();
+ salesSceneInfo.setStoreName(operator.getName());
+// InputStream storeQrCodeIO = OBSUploadUtils.getOSSInputStream(operator.getShopCode().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/",""));
+// ImageUploadResult storeQrCodeIR = merchantMediaService.imageUploadV3(storeQrCodeIO,applyNumber+"storeQrCode.jpg");
+// salesSceneInfo.setStoreQrCode(storeQrCodeIR.getMediaId());
+// storeQrCodeIO.close();
+ request.setSalesSceneInfo(salesSceneInfo);
+ request.setMerchantShortname(operator.getName());
+// request.setBusinessAdditionPics(shopAuthentication.getBaPics());
+// request.setBusinessAdditionDesc(shopAuthentication.getBaDesc());
+ return ecommerceService.createApply(request);
+ }
+
+}
diff --git a/cloud-server-management/src/main/resources/TOperatorUserMapper.xml b/cloud-server-management/src/main/resources/TOperatorUserMapper.xml
index 224b958..7f7f162 100644
--- a/cloud-server-management/src/main/resources/TOperatorUserMapper.xml
+++ b/cloud-server-management/src/main/resources/TOperatorUserMapper.xml
@@ -2,4 +2,9 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsh.course.mapper.TOperatorUserMapper">
+ <select id="listAll" resultType="java.util.Map">
+ select t1.name as name ,t2.name as userName,t2.phone as phone from t_operator t1
+ left join sys_user t2 t1.id = t1.objectId and t2.objectType = 2
+
+ </select>
</mapper>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html
index 5d092a7..5434436 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html
@@ -183,7 +183,59 @@
+ <div class="row">
+ <div class="col-lg-6" style="">
+ <div class="form-group" >
+ <label class="col-sm-4 control-label" >
+ 结算账户类型:<input type="radio" name="type" value="1">对公 <input type="radio" name="type" value="2">对私
+ </label>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-3 control-label">开户银行:</label>
+ <div class="col-sm-9">
+ <select style="width: 300px" class="form-control" id="bank" name="bank">
+ <option value="">选择开户银行</option>
+
+ </select>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-3 control-label">开户所在地:</label>
+ <div class="col-sm-9" style="display: flex">
+ <select style="width: 150px" class="form-control" id="pCode" onchange="TSite.oneChange(this)" name="bank">
+ <option value="">选择省</option>
+ @for(obj in provinceList){
+ <option value="${obj.code}">${obj.name}</option>
+ @}
+ </select>
+ <select style="width: 150px" class="form-control" id="cCode" name="bank">
+ <option value="">选择市区</option>
+ </select>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-3 control-label">*银行卡号:</label>
+ <div class="col-sm-9">
+ <input style="width: 300px" class="form-control" id="backNumber" name="backNumber" type="text">
+ </div>
+ </div>
+ </div>
+ <div class="col-lg-6" style="">
+ <div class="form-group">
+ <label class="col-sm-3 control-label">*开户名称:</label>
+ <div class="col-sm-9">
+ <input style="width: 300px" class="form-control" id="backUserName" placeholder="请输入" type="text">
+ </div>
+ </div>
+ <div class="form-group" >
+ <label class="col-sm-3 control-label">*开户行全称:</label>
+ <div class="col-sm-9">
+ <input style="width: 300px" class="form-control" id="backName" placeholder="请输入" type="text">
+ </div>
+ </div>
+ </div>
+ </div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html
index 31f91ba..491d4db 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html
@@ -1,113 +1,491 @@
-@layout("/common/_container.html"){
-<div class="row">
- <div class="col-sm-12">
- <div class="ibox float-e-margins">
- <div class="ibox-title">
- <h5>运营商商户管理</h5>
- </div>
- <div class="ibox-content">
- <div class="row row-lg">
- <div class="col-sm-12">
- <div class="row">
- <div class="col-sm-3">
- <div class="input-group">
- <div class="input-group-btn open">
- <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true">
- 所在省
- </button>
- </div>
- <select class="form-control" id="pCode" onchange="TSite.oneChange(this)">
- <option value="">选择省</option>
- @for(obj in provinceList){
- <option value="${obj.code}">${obj.name}</option>
- @}
- </select>
- </div>
- </div>
- <div class="col-sm-3">
- <div class="input-group">
- <div class="input-group-btn open">
- <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true">
- 所在市
- </button>
- </div>
- <select class="form-control" id="cCode">
- <option value="">请先选择省</option>
- </select>
- </div>
- </div>
- <div class="col-sm-3">
- <#NameCon id="name" name="管理员姓名:" />
- </div>
- <div class="col-sm-3">
- <#NameCon id="phone" name="管理员手机号:" />
- </div>
- <div class="col-sm-3">
- <div class="input-group">
- <div class="input-group-btn open">
- <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true">
- 认证平台
- </button>
- </div>
- <select style="width: 300px" class="form-control" id="platform" name = "platform">
- <option value="">全部</option>
- <option value="1">微信</option>
- <option value="2">支付宝</option>
- </select>
- </div>
- </div>
- <div class="col-sm-3">
- <div class="input-group">
- <div class="input-group-btn open">
- <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true">
- 认证类型
- </button>
- </div>
- <select style="width: 300px" class="form-control" id="type" name = "platform">
- <option value="">全部</option>
- <option value="1">法人</option>
- <option value="2">个人</option>
- </select>
- </div>
- </div>
+<!DOCTYPE html>
+<html lang="zh">
+<head>
+ <meta charset="UTF-8" />
+ <title>amis demo</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta
+ name="viewport"
+ content="width=device-width, initial-scale=1, maximum-scale=1"
+ />
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/sdk.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/helper.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/iconfont.css" />
+ <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
+ <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
+ <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
+ <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
+ <style>
+ html,
+ body,
+ .app-wrapper {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ }
+ </style>
+</head>
+<body>
+<div id="root" class="app-wrapper"></div>
+<script src="${ctxPath}/sdk/sdk.js"></script>
+<script type="text/javascript">
+ (function () {
+ let amis = amisRequire('amis/embed');
+ // 通过替换下面这个配置来生成不同页面
+ let amisJSON = {
+ "type": "page",
+ "title": "",
+ "regions": [
+ "body",
+ "toolbar",
+ "header"
+ ],
+ "body": [
+ {
+ "type": "crud",
+ "id": "u:e103c7434df8",
+ "syncLocation": false,
+ "api": {
+ "method": "post",
+ "url": "/operatorUser/listAll",
+ "messages": {
+ }
+ },
+ "columns": [
+ {
+ "label": "所在市",
+ "type": "text",
+ "name": "city",
+ "id": "u:71aded278293"
+ },
+ {
+ "label": "管理员姓名",
+ "type": "text",
+ "name": "adminName",
+ "id": "u:22cab5368b85",
+ "classNameExpr": "<%= data.courseName === '总计' ? 'bg-danger' : '' %>",
+ "placeholder": "-"
+ },
+ {
+ "label": "管理员手机号",
+ "type": "text",
+ "name": "adminPhone",
+ "id": "u:100d93c3a7af",
+ "classNameExpr": "<%= data.courseName === '总计' ? 'bg-danger' : '' %>",
+ "placeholder": "-"
+ },
+ {
+ "label": "认证平台",
+ "type": "mapping",
+ "name": "ptType",
+ "id": "u:0529135bd40c",
+ "placeholder": "-",
+ "map": {
+ "1": "支付宝",
+ "2": "微信"
+ }
+ },
+ {
+ "label": "认证类型",
+ "type": "mapping",
+ "name": "regisType",
+ "id": "u:89e54c565da1",
+ "placeholder": "-",
+ "map": {
+ "1": "法人",
+ "2": "个人"
+ }
+ },
+ {
+ "label": "分账比例",
+ "type": "text",
+ "name": "percent",
+ "id": "u:9f3c838b4dce",
+ "placeholder": "-",
+ "classNameExpr": "<%= data.courseName === '总计' ? 'bg-danger' : '' %>"
+ },
+ {
+ "type": "mapping",
+ "name": "isPass",
+ "label": "审核状态",
+ "id": "u:89e54c565da1",
+ "placeholder": "-",
+ "map": {
+ "1": "待审核",
+ "2": "审核中",
+ "3": "已通过",
+ "4": "已拒绝"
+ }
+ },
+ {
+ "type": "operation",
+ "id": "u:d69a8d60da29",
+ "buttons": [
+ {
+ "type": "button",
+ "label": "详情",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "args": {
+ "options": {
+ "silent": false
+ },
+ "api": {
+ "url": "/ball/toRegister/$id",
+ "method": "get"
+ }
+ },
+ "actionType": "ajax"
+ }
+ ]
+ }
+ },
+ "id": "u:ed2016be790a",
+ "class": "link",
+ "level": "link"
+ }
+ ]
+ }
+ ],
+ "bulkActions": [
+ {
+ "type": "button",
+ "level": "danger",
+ "label": "批量删除",
+ "actionType": "ajax",
+ "confirmText": "确定要删除?",
+ "api": "/xxx/batch-delete",
+ "id": "u:e179a3daeee8"
+ },
+ {
+ "type": "button",
+ "label": "批量编辑",
+ "actionType": "dialog",
+ "dialog": {
+ "title": "批量编辑",
+ "size": "md",
+ "body": {
+ "type": "form",
+ "api": "/xxx/bacth-edit",
+ "body": [
+ {
+ "label": "字段1",
+ "text": "字段1",
+ "type": "input-text"
+ }
+ ]
+ }
+ },
+ "id": "u:4bbe1e5df5ed"
+ }
+ ],
+ "itemActions": [
+ {
+ "label": "分账比例",
+ "type": "button",
+ "id": "u:0120816fbcb0",
+ "level": "info",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "args": {
+ },
+ "dialog": {
+ "type": "dialog",
+ "title": "弹框标题",
+ "body": [
+ {
+ "type": "form",
+ "title": "表单",
+ "body": [
+ {
+ "label": "测试分账id",
+ "type": "input-text",
+ "name": "id",
+ "id": "u:64ad701b83c3"
+ },
+ {
+ "label": "支付宝分账比例",
+ "type": "input-text",
+ "name": "ali",
+ "id": "u:91534896ba54"
+ },
+ {
+ "label": "微信分账比例",
+ "type": "input-text",
+ "name": "text",
+ "id": "u:4649d90555b1"
+ }
+ ],
+ "api": {
+ "url": "/ball/resSet",
+ "method": "get"
+ },
+ "id": "u:01f28ccf4fb8"
+ }
+ ],
+ "showCloseButton": true,
+ "showErrorMsg": true,
+ "showLoading": true,
+ "id": "u:073191c211be"
+ },
+ "actionType": "dialog"
+ }
+ ],
+ "weight": 0
+ }
+ }
+ }
+ ],
+ "filterSettingSource": [
+ "id",
+ "customerName",
+ "simName",
+ "address",
+ "industryId",
+ "email",
+ "createBy",
+ "updateBy",
+ "remark",
+ "customerCode"
+ ],
+ "features": [
+ "create",
+ "filter",
+ "bulkDelete",
+ "view",
+ "delete",
+ "update",
+ "bulkUpdate"
+ ],
+ "filterColumnCount": 3,
+ "filterEnabledList": [
+ ],
+ "headerToolbar": [
+ {
+ "label": "新增",
+ "type": "button",
+ "actionType": "dialog",
+ "level": "primary",
+ "dialog": {
+ "title": "新增",
+ "body": {
+ "type": "form",
+ "api": {
+ "method": "post",
+ "url": "/ball/getRegisterList",
+ "messages": {
+ }
+ },
+ "body": [
+ {
+ "type": "input-text",
+ "name": "city",
+ "label": "所在市"
+ },
+ {
+ "type": "input-text",
+ "name": "adminName",
+ "label": "管理员姓名"
+ },
+ {
+ "type": "input-text",
+ "name": "adminPhone",
+ "label": "管理员手机号"
+ },
+ {
+ "type": "select",
+ "name": "ptType",
+ "label": "认证平台"
+ },
+ {
+ "type": "select",
+ "name": "regisType",
+ "label": "认证类型"
+ },
+ {
+ "type": "input-text",
+ "name": "percent",
+ "label": "分账比例"
+ },
+ {
+ "type": "select",
+ "name": "isPass",
+ "label": "审核状态"
+ },
+ {
+ "type": "input-operation"
+ }
+ ]
+ }
+ },
+ "id": "u:7ab8ef9ba27f"
+ },
+ "bulkActions"
+ ],
+ "filter": {
+ "title": "查询条件",
+ "columnCount": 3,
+ "mode": "horizontal",
+ "body": [
+ {
+ "type": "input-city",
+ "label": "城市选择",
+ "name": "cityCode",
+ "allowDistrict": false,
+ "id": "u:16db9fd9fe42",
+ "mode": "horizontal",
+ "horizontal": {
+ "left": 3,
+ "right": 9
+ },
+ "className": ""
+ },
+ {
+ "type": "input-date-range",
+ "label": "日期范围",
+ "name": "times",
+ "id": "u:5ea0ab341c9e",
+ "embed": false,
+ "format": "YYYY-MM-DD",
+ "inputFormat": "YYYY-MM-DD"
+ },
+ {
+ "type": "input-text",
+ "label": "管理员姓名",
+ "name": "adminName",
+ "id": "u:528726820775"
+ },
+ {
+ "type": "select",
+ "label": "认证平台",
+ "name": "ptType",
+ "options": [
+ {
+ "label": "全部",
+ "value": ""
+ },
+ {
+ "label": "支付宝",
+ "value": "1"
+ },
+ {
+ "label": "微信",
+ "value": "2"
+ }
+ ],
+ "id": "u:3f0a0a09ae17",
+ "multiple": false
+ },
+ {
+ "type": "select",
+ "label": "认证类型",
+ "name": "regisType",
+ "options": [
+ {
+ "label": "全部",
+ "value": "全部"
+ },
+ {
+ "label": "法人",
+ "value": "1"
+ },
+ {
+ "label": "个人",
+ "value": "2"
+ }
+ ],
+ "id": "u:62ad230ae3e4",
+ "multiple": false
+ },
+ {
+ "type": "select",
+ "label": "审核状态",
+ "name": "isPass",
+ "options": [
+ {
+ "label": "全部",
+ "value": "全部"
+ },
+ {
+ "label": "待审核",
+ "value": "1"
+ },
+ {
+ "label": "审核中",
+ "value": "2"
+ },
+ {
+ "label": "已通过",
+ "value": "3"
+ },
+ {
+ "label": "已拒绝",
+ "value": "4"
+ }
+ ],
+ "id": "u:b5833dda16af",
+ "multiple": false
+ }
+ ],
+ "id": "u:2c92f31a25d0",
+ "name": "select1",
+ "rules": [
+ ]
+ },
+ "perPageAvailable": [
+ 10,
+ 20,
+ 50,
+ 100
+ ],
+ "messages": {
+ },
+ "footerToolbar": [
+ {
+ "type": "statistics",
+ "align": "left"
+ },
+ {
+ "type": "pagination",
+ "align": "left"
+ },
+ {
+ "type": "switch-per-page",
+ "tpl": "内容",
+ "align": "left"
+ }
+ ],
+ "columnsTogglable": "auto",
+ "pageField": "",
+ "perPageField": "",
+ "alwaysShowPagination": true,
+ "loadDataOnce": true,
+ "perPage": 5,
+ "combineNum": 3
+ }
+ ],
+ "id": "u:b14a93e2aeb3"
+ };
- <div class="col-sm-3">
- <div class="input-group">
- <div class="input-group-btn open">
- <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true">
- 审核状态
- </button>
- </div>
- <select class="form-control" id="state" >
- <option value="">全部</option>
- <option value="1">待审核</option>
- <option value="2">审核中</option>
- <option value="2">已审核</option>
- <option value="2">已拒绝</option>
- </select>
- </div>
- </div>
- <div class="col-sm-3">
- <#button name="搜索" icon="fa-search" clickFun="TSite.search()"/>
- <#button name="重置" icon="fa-trash" clickFun="TSite.resetSearch()" space="true"/>
- </div>
- </div>
- <div class="hidden-xs" id="TCompetitionTableToolbar" role="group">
- <#button name="分账比例" icon="fa-plus" clickFun="TSite.proportion()"/>
- </div>
- <#table id="TSiteTable"/>
- </div>
- </div>
- </div>
- </div>
- </div>
-</div>
-<script src="${ctxPath}/modular/system/operatorUser/operatorUser.js"></script>
-<script>
- laydate.render({
- elem: '#createTime'
- ,range: true
- ,lang:"en"
- });
+ let amisScoped = amis.embed('#root', amisJSON);
+
+
+ })();
+
+ function test(){
+ console.log("测试成功")
+ }
+
+ var myButton = document.getElementById("ttt");
+ myButton.addEventListener("click",test);
</script>
-@}
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js b/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
index e2573c6..20495c9 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
@@ -564,4 +564,15 @@
var carPhoto = new $WebUpload("img");
carPhoto.setUploadBarId("progressBar");
carPhoto.init();
+
+ //提交信息
+ var ajax = new $ax(Feng.ctxPath + "/operatorUser/mgtShopAuth", function (data) {
+ Feng.success("添加成功!");
+ window.parent.Course.table.refresh();
+ CourseInfo.close();
+ }, function (data) {
+ Feng.error("添加失败!" + data.responseJSON.message + "!");
+ });
+ ajax.start();
+
});
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js b/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js
index f5c972f..fc0280a 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js
@@ -37,6 +37,7 @@
TSite.addSubmit = function(){
var bodyType = $("input[name='bodyType']:checked").val();
+ var accountType = $("input[name='accountType']:checked").val();
var type = $("input[name='type']:checked").val();
if (bodyType=="" || null == type){
Feng.error("请选择主体类型");
@@ -121,7 +122,27 @@
Feng.error("请上传法人身份证背面照");
return;
}
-
+// todo 确定银行列表
+ if ("" == $("#bank").val() || null == $("#bank").val()){
+ Feng.error("请选择银行");
+ return;
+ }
+ if ("" == $("#pCode").val() || null == $("#pCode").val()){
+ Feng.error("请选择开户所在省");
+ return;
+ }if ("" == $("#cCode").val() || null == $("#cCode").val()){
+ Feng.error("请选择开户所在市");
+ return;
+ }if ("" == $("#backNumber").val() || null == $("#backNumber").val()){
+ Feng.error("请输入银行卡号");
+ return;
+ }if ("" == $("#backUserName").val() || null == $("#backUserName").val()){
+ Feng.error("请输入开户名称");
+ return;
+ }if ("" == $("#backName").val() || null == $("#backName").val()){
+ Feng.error("请输入开户行全称");
+ return;
+ }
if(type=="ENTERPRISE"){
if ("" == $("#bName").val() || null == $("#bName").val()){
Feng.error("请输入受益人姓名");
@@ -206,6 +227,15 @@
ajax.set("legalAddress", $("#lIDAddress").val() );
ajax.set("legalFront", $("#IDCardImg").val() );
ajax.set("legalBack", $("#IDCardImg1").val() );
+ ajax.set("accountType", accountType );
+ ajax.set("bank", $("#bank").val() );
+ ajax.set("accountName", $("#backUserName").val() );
+ ajax.set("province", $('#pCode option:selected').text() );
+ ajax.set("provinceCode", $("#pCode").val() );
+ ajax.set("city", $('#cCode option:selected').text() );
+ ajax.set("cityCode", $("#cCode").val() );
+ ajax.set("bankName", $("#backName").val() );
+ ajax.set("bankNumber", $("#backNumber").val() );
ajax.set("isBeneficiary", type );
ajax.set("beneficiary", $("#bName").val() );
ajax.set("beneficiaryPhone", $("#bPhone").val() );
--
Gitblit v1.7.1