Merge remote-tracking branch 'origin/master'
| | |
| | | <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" /> |
| | |
| | | <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" /> |
| | |
| | | </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" /> |
| | |
| | | <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" /> |
| | |
| | | <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> |
| | |
| | | </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" /> |
| | |
| | | <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> |
| | |
| | | <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 /> |
| | |
| | | <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" /> |
| | |
| | | <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"> |
| | |
| | | <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> |
| | |
| | | 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; |
| | |
| | | @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{ |
| | |
| | | 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> |
| | |
| | | * @author administrator |
| | | * @since 2023-09-19 |
| | | */ |
| | | @Mapper |
| | | public interface TOperatorAuthMapper extends BaseMapper<OperatorAuth> { |
| | | |
| | | } |
| | |
| | | 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()) { |
| | | // 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("调用失败"); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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)){ |
| | |
| | | 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; |
| | | |
| | | |
| | |
| | | @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; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | */ |
| | | 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); |
| | | } |
| | |
| | | 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; |
| | |
| | | @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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | |
| | | 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();//获得指定文件的输入流 |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |
| | |
| | | <!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> |
| | |
| | | |
| | | |
| | | |
| | | <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> |
| | | |
| | | |
| | | |
| | |
| | | @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> |
| | |
| | | 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(); |
| | | |
| | | }); |
| | |
| | | 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("请选择主体类型"); |
| | |
| | | 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("请输入受益人姓名"); |
| | |
| | | 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() ); |