From 032f7c07e272dae9a857ed76b480dc391dc4073f Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 12 三月 2024 14:18:47 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java | 663 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 588 insertions(+), 75 deletions(-)
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 824324e..c1d7f8f 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
@@ -5,33 +5,44 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.alipay.api.*;
+import com.alipay.api.request.AlipayMerchantIndirectAuthorderCreateRequest;
+import com.alipay.api.request.AlipayMerchantIndirectAuthorderQuerystatusRequest;
+import com.alipay.api.request.AntMerchantExpandIndirectImageUploadRequest;
+import com.alipay.api.request.AntMerchantExpandIndirectZftCreateRequest;
+import com.alipay.api.response.AlipayMerchantIndirectAuthorderCreateResponse;
+import com.alipay.api.response.AlipayMerchantIndirectAuthorderQuerystatusResponse;
+import com.alipay.api.response.AntMerchantExpandIndirectImageUploadResponse;
+import com.alipay.api.response.AntMerchantExpandIndirectZftCreateResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.dsh.course.feignClient.account.CityManagerClient;
-import com.dsh.course.feignClient.account.CoachClient;
-import com.dsh.course.feignClient.account.CoachTypeClient;
-import com.dsh.course.feignClient.account.model.CityManager;
+
import com.dsh.course.feignClient.account.model.Coach;
-import com.dsh.course.feignClient.account.model.CoachSerchVO;
-import com.dsh.course.feignClient.account.model.CoachType;
-import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
import com.dsh.guns.core.common.constant.factory.PageFactory;
import com.dsh.guns.core.util.SinataUtil;
+import com.dsh.guns.modular.system.controller.util.MD5;
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.HttpRequestUtil;
+import com.dsh.guns.modular.system.util.PayMoneyUtil;
import com.dsh.guns.modular.system.util.ResultUtil;
-import io.swagger.models.auth.In;
-import org.apache.catalina.valves.RemoteIpValve;
+
+import com.github.binarywang.wxpay.service.BankService;
+import com.mysql.cj.x.protobuf.MysqlxExpr;
+import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
-import java.text.SimpleDateFormat;
+
import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -48,11 +59,34 @@
@Autowired
private TOperatorCityService operatorCityService;
@Autowired
+ private IOperatorAuthService operatorAuthService;
+ @Autowired
private IOperatorUserService operatorUserService;
@Autowired
private IUserService userService;
@Autowired
private ICityService cityService;
+ @Autowired
+ private PayMoneyUtil payMoneyUtil;
+
+ @Autowired
+ private IStoreService storeService;
+ private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥
+ private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥
+ private String aliAppid = "2021004105665036";//支付宝appid
+ /**
+ * 根据运营商id查询所有门店
+ */
+ @RequestMapping("/getStores")
+ @ResponseBody
+ public List<TStore> getStores(Integer id)
+ {
+ payMoneyUtil.getMessage();
+ return storeService.list(new QueryWrapper<TStore>()
+ .eq("operatorId",id)
+ .ne("state",3));
+ }
+
/**
* 跳转运营商管理首页
*/
@@ -128,43 +162,475 @@
page.setRecords(list);
return super.packForBT(page);
}
+
/**
* 跳转运营商商户去认证页面
*/
@RequestMapping("/proportionAuth/{id}")
public String proportionAuth(Model model,@PathVariable("id") Integer id) {
- model.addAttribute("operatorId",id);
+ model.addAttribute("id",id);
+ TOperator data = operatorService.getById(id);
+ User byId = userService.getById(data.getUserId());
+ model.addAttribute("user",byId);
+ List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+ model.addAttribute("list",list);
+ model.addAttribute("data",data);
+ OperatorAuthAlipay info = operatorAuthService.getOne(new QueryWrapper<OperatorAuthAlipay>().eq("operatorId", id));
+ model.addAttribute("item",info);
+
+ if (info==null){
+ OperatorAuthAlipay operatorAuth = new OperatorAuthAlipay();
+ model.addAttribute("item",operatorAuth);
+ model.addAttribute("bodyType",0);
+ model.addAttribute("code",null);
+ model.addAttribute("reasons",null);
+ // 0不显示二维码
+ model.addAttribute("type",0);
+ }else{
+ model.addAttribute("bodyType",info.getBodyType());
+ model.addAttribute("accountType",info.getAccountType());
+ model.addAttribute("useType",info.getUseType());
+ model.addAttribute("cardType",info.getCardType());
+ model.addAttribute("reasons",info.getRefuseReason());
+// TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, info.getCityCode()));
+// List<TCity> district = cityService.list(new QueryWrapper<TCity>().eq("parent_id", one.getId()));
+// model.addAttribute("district",district);
+// if (info.getOrderStatus().equals("AUDIT_PASS")||info.getOrderStatus().equals("LEGAL_CONFIRM")||info.getOrderStatus().equals("CONTACT_CONFIRM")){
+// // 通过才展示二维码
+// model.addAttribute("type",1);
+// }else{
+// model.addAttribute("type",0);
+// }
+// model.addAttribute("code",info.getQrCode());
+// model.addAttribute("item",info);
+// model.addAttribute("bodyType",info.getBodyType());
+// if (info.getRefuseReason()!=null && (!info.getRefuseReason().equals(""))){
+// model.addAttribute("reasons",info.getRefuseReason());
+// }else{
+// model.addAttribute("reasons",null);
+// }
+
+
+ }
return PREFIX + "OperatorUser_proportionAuth.html";
}
/**
- * 商户认证提交
+ * 跳转运营商商户去认证页面 详情页面
+ */
+ @RequestMapping("/proportionAuth1/{id}")
+ public String proportionAuth1(Model model,@PathVariable("id") Integer id) {
+ model.addAttribute("id",id);
+ TOperator data = operatorService.getById(id);
+ User byId = userService.getById(data.getUserId());
+ model.addAttribute("user",byId);
+ OperatorUser operatorId = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
+ .eq("operatorId", data.getId()));
+
+ model.addAttribute("data",data);
+ String state="";
+ switch (operatorId.getAlipayAudit()){
+ case 0:
+ state="未认证";
+ break;
+ case 1:
+ state="待审核";
+ break;
+ case 2:
+ state="已通过";
+ break;
+ case 3:
+ state="已拒绝";
+ break;
+ }
+ model.addAttribute("state",state);
+ OperatorAuthAlipay info = operatorAuthService.getOne(new QueryWrapper<OperatorAuthAlipay>()
+ .eq("operatorId", id));
+ model.addAttribute("item",info);
+ List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+ model.addAttribute("list1",list1);
+ if (StringUtils.hasLength(info.getProvince())){
+ // 获取银行开户省
+ List<TCity> list4 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+ // 获取银行开户市
+ TCity city = cityService.getOne(new QueryWrapper<TCity>().eq("code", info.getProvinceCode()));
+ List<TCity> list5 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, city.getId()));
+ model.addAttribute("list4",list4);
+ model.addAttribute("list5",list5);
+ }else{
+ List<TCity> list6 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+ model.addAttribute("list4",list6);
+ List<TCity> list5 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 1));
+ model.addAttribute("list5",list5);
+ }
+ model.addAttribute("bodyType",info.getBodyType());
+ model.addAttribute("accountType",info.getAccountType());
+ model.addAttribute("useType",info.getUseType());
+ model.addAttribute("cardType",info.getCardType());
+ model.addAttribute("reasons",info.getRefuseReason());
+
+
+
+// TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, info.getCityCode()));
+// List<TCity> district = cityService.list(new QueryWrapper<TCity>().eq("parent_id", one.getId()));
+// model.addAttribute("district",district);
+// if (info.getOrderStatus().equals("AUDIT_PASS")||info.getOrderStatus().equals("LEGAL_CONFIRM")||info.getOrderStatus().equals("CONTACT_CONFIRM")){
+// // 通过才展示二维码
+// model.addAttribute("type",1);
+// }else{
+// model.addAttribute("type",0);
+// }
+// model.addAttribute("code",info.getQrCode());
+// model.addAttribute("item",info);
+// model.addAttribute("bodyType",info.getBodyType());
+// if (info.getRefuseReason()!=null && (!info.getRefuseReason().equals(""))){
+// model.addAttribute("reasons",info.getRefuseReason());
+// }else{
+// model.addAttribute("reasons",null);
+// }
+
+ return PREFIX + "OperatorUser_proportionAuth_info.html";
+ }
+ /**
+ * 根据所选市 获取区
+ */
+ @RequestMapping(value = "/getDistrict")
+ @ResponseBody
+ public Object onChange(String cityCode) {
+ try {
+ TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, cityCode));
+ List<TCity> parent_id = cityService.list(new QueryWrapper<TCity>().eq("parent_id", one.getId()));
+ return parent_id;
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
+// public static void main(String[] args) {
+// // 调用支付宝接口 通过银行卡号获取银行信息
+// String url = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&" +
+// "cardNo=6217003800041315031&cardBinCheck=true";
+// HashMap<String, String> hashMap = new HashMap<>();
+// String result = HttpRequestUtil.postRequest(url,hashMap);
+// System.err.println(result);
+// JSONObject json = JSONObject.parseObject(result);
+// String bank = json.getString("bank");
+// String cardType = json.getString("cardType");
+// System.err.println(bank);
+// System.err.println(cardType);
+//
+// }
+
+
+ /**
+ * 支付宝商户认证提交
*/
@RequestMapping(value = "/auth")
@ResponseBody
- public Object auth(Integer alipayType,Integer wechatType,String alipayNum,String wechatNum,Integer operatorId ) {
- TOperator id = operatorService.getOne(new QueryWrapper<TOperator>().eq("id", operatorId));
- OperatorUser operatorUser = new OperatorUser();
- operatorUser.setUserId(id.getUserId());
- operatorUser.setAlipay("支付宝");
- operatorUser.setWechat("微信");
- operatorUser.setWechatType(wechatType);
- operatorUser.setAlipayType(alipayType);
- operatorUser.setAlipayNum(alipayNum);
- operatorUser.setWechatNum(wechatNum);
- operatorUser.setOperatorId(operatorId);
- operatorUserService.save(operatorUser);
- // 修改运营商状态为 已认证
- id.setStatus(2);
- operatorService.updateById(id);
- return SUCCESS_TIP;
+ public Object auth(Integer operatorId,String bodyType,String businessName,String aliasName,String businessNumber,
+ String license,String name,String phone,String shopProvinceCode,String shopProvince,String shopCityCode,
+ String shopCity, String shopDistrictCode,String shopDistrict,String registerAddress,String legalPerson,
+ String leagleNumber,String legalFront,String legalBack,String accountType,String alipayAccount,
+ String bankCard,String useType,String cardType,String bankName,String bankNameTwo,
+ String accountName,String provinceCode,String province,String cityCode,String city,String zfbAccount,
+ String iqImage) {
+ UUID uuid = UUID.randomUUID();
+ // 通过运营商id查询
+ TOperator byId = operatorService.getById(operatorId);
+ Integer userId1 = byId.getUserId();
+ OperatorUser userId2 = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
+ .eq("userId", userId1));
+ userId2.setAlipayAudit(1);
+ // 01是企业
+ if (bodyType.equals("01")){
+ userId2.setAlipayType(2);
+ }else{
+ userId2.setAlipayType(1);
+ }
+ operatorUserService.saveOrUpdate(userId2);
+ OperatorAuthAlipay data = operatorAuthService.getOne(new QueryWrapper<OperatorAuthAlipay>().eq("operatorId", operatorId));
+ // 调用支付宝接口 通过银行卡号获取银行信息
+ String url = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&" +
+ "cardNo="+bankCard+"&cardBinCheck=true";
+ HashMap<String, String> hashMap = new HashMap<>();
+ String result = HttpRequestUtil.postRequest(url,hashMap);
+ System.err.println(result);
+ JSONObject json2 = JSONObject.parseObject(result);
+ String bank = json2.getString("bank");
+ String cardType1 = json2.getString("cardType");
+ // 根据银行卡号查询所属银行
+ String group=bank;
+// if(StringUtils.hasLength(bankName)){
+// Pattern pattern = Pattern.compile(".*[\\u4e00-\\u9fa5]+"); // 只保留汉字部分
+// Matcher matcher = pattern.matcher(bankName);
+// group = matcher.group();
+// if (matcher.find()) {
+// System.out.println("银行名称简写为:" + matcher.group());
+// } else {
+// System.out.println("无法获取到银行名称简写!");
+// return 5007;
+// }
+// }
+
+ OperatorAuthAlipay operatorAuth = new OperatorAuthAlipay();
+ if (data!=null){
+ operatorAuth.setId(data.getId());
+ if(legalFront==null || legalFront.equals("")){
+ legalFront = data.getLegalFront();
+ operatorAuth.setLegalFront(data.getLegalFront());
+ }
+ if(legalBack==null || legalBack.equals("")){
+ legalBack = data.getLegalBack();
+ operatorAuth.setLegalBack(data.getLegalBack());
+ }
+ if(iqImage==null || iqImage.equals("")){
+ iqImage = data.getIqImage();
+ operatorAuth.setIqImage(data.getIqImage());
+ }
+
+ if(license==null || license.equals("")){
+ license = data.getCertImage();
+ operatorAuth.setCertImage(data.getCertImage());
+ }
+ }else{
+ operatorAuth.setLegalFront(legalFront);
+ operatorAuth.setLegalBack(legalBack);
+ operatorAuth.setIqImage(iqImage);
+ operatorAuth.setCertImage(license);
+ if(license==null || license.equals("")){
+ // 未上传营业执照
+ return 5001;
+ }
+ if(legalFront==null || legalFront.equals("")){
+ // 未上传法人身份证正面照
+ return 5002;
+ }
+ if(legalBack==null || legalBack.equals("")){
+ // 未上传法人身份证背面照
+ return 5003;
+ }
+ }
+ String numericUUID = uuid.toString().replaceAll("-", "");
+ operatorAuth.setOutBizNo(numericUUID);
+ operatorAuth.setOperatorId(operatorId);
+ operatorAuth.setRegisterAddress(registerAddress);
+ operatorAuth.setAliasName(aliasName);
+ operatorAuth.setBodyType(bodyType);
+ operatorAuth.setName(name);
+ operatorAuth.setPhone(phone);
+ operatorAuth.setBusinessName(businessName);
+ operatorAuth.setBusinessNumber(businessNumber);
+ operatorAuth.setCertImage(license);
+ operatorAuth.setLegalPerson(legalPerson);
+ operatorAuth.setLegalFront(legalFront);
+ operatorAuth.setLegalBack(legalBack);
+ operatorAuth.setLeagleNumber(leagleNumber);
+ operatorAuth.setAccountType(accountType);
+ operatorAuth.setBankName(bankName);
+ operatorAuth.setAccountName(accountName);
+ operatorAuth.setBankCard(bankCard);
+ operatorAuth.setProvince(province);
+ operatorAuth.setProvinceCode(provinceCode);
+ operatorAuth.setCity(city);
+ operatorAuth.setCityCode(cityCode);
+ operatorAuth.setShopCity(shopCity);
+ operatorAuth.setShopProvince(shopProvince);
+ operatorAuth.setShopProvinceCode(shopProvinceCode);
+ operatorAuth.setShopCityCode(shopCityCode);
+ if(StringUtils.hasLength(province)&& province.equals("请选择省")){
+ operatorAuth.setProvince(null);
+ }
+ if(StringUtils.hasLength(city)&& province.equals("请选择市")){
+ operatorAuth.setCity(null);
+ }
+ operatorAuth.setProvince(province);
+ operatorAuth.setProvinceCode(provinceCode);
+ operatorAuth.setShopDistrict(shopDistrict);
+ operatorAuth.setShopDistrictCode(shopDistrictCode);
+ operatorAuth.setAlipayAccount(alipayAccount);
+ operatorAuth.setUseType(useType);
+ operatorAuth.setCardType(cardType);
+ operatorAuth.setBankNameTwo(bankNameTwo);
+ operatorAuth.setAuditState(0);
+ operatorAuth.setRefuseReason("");
+ operatorAuth.setZfbAccount(zfbAccount);
+ // 将图片上传至阿里存储
+ // 营业执照
+ String string = uploadImg(license).toString();
+ // 法人身份证正面照
+ legalFront = uploadImg(legalFront).toString();
+ // 法人身份证背面照
+ legalBack = uploadImg(legalBack).toString();
+ operatorAuthService.saveOrUpdate(operatorAuth);
+ AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
+ aliAppid,
+ appPrivateKey,
+ "json","GBK",
+ alipay_public_key,
+ "RSA2");
+ AntMerchantExpandIndirectZftCreateRequest request = new AntMerchantExpandIndirectZftCreateRequest();
+ String param = "{" +
+ " \"external_id\":\""+numericUUID+"\"," +
+ " \"merchant_type\":\""+bodyType+"\"," +
+ " \"name\":\""+businessName+"\"," +
+ " \"alias_name\":\""+aliasName+"\"," +
+ " \"mcc\":\"B0068\"," +
+ " \"cert_no\":\""+businessNumber+"\"," +
+ " \"cert_type\":\"201\"," +
+ " \"cert_image\":\""+string+"\"," +
+ " \"legal_name\":\""+legalPerson+"\"," +
+ " \"legal_cert_no\":\""+leagleNumber+"\"," +
+ " \"legal_cert_front_image\":\""+legalFront+"\"," +
+ " \"legal_cert_back_image\":\""+legalBack+"\"," +
+ " \"contact_infos\":[" +
+ " {" +
+ " \"name\":\""+name+"\"," +
+ " \"mobile\":\""+phone+"\"," +
+ " }" +
+ " ],";
+ // todo 拼接
+ String biz_cards=" \"biz_cards\":[" +
+ " {" +
+ " \"account_holder_name\":\""+accountName+"\"," +
+ " \"account_no\":\""+bankCard+"\"," +
+ " \"account_inst_province\":\""+province+"\"," +
+ " \"account_inst_city\":\""+city+"\"," +
+ " \"account_branch_name\":\""+bankNameTwo+"\"," +
+ " \"usage_type\":\""+useType+"\"," +
+ " \"account_type\":\""+cardType+"\"," +
+ " \"account_inst_name\":\""+bankName+"\"," +
+ " \"account_inst_id\":\""+group+"\"," +
+ " }" +
+ " ]," ;
+ // 结算类型 支付宝账户 / 银行卡
+ String type ;
+ // 结算类型为支付宝 填写支付宝账号 结算类型为银行卡填写银行卡号
+ String account;
+ if (accountType.equals("bankCard")){
+ type = accountType;
+ account = bankCard;
+ }else{
+ type = accountType;
+ account = alipayAccount;
+ }
+ String res=
+ " \"service\":[" +
+ " \"app支付\"" +
+ " ]," +
+ " \"alipay_logon_id\":" +
+ " \""+zfbAccount+"\"" +
+ " ," +
+ " \"sites\":[" +
+ " {" +
+ " \"site_type\":\"02\"," +
+ " \"site_name\":\"玩湃生活\"," +
+ " \"tiny_app_id\":\"wx82f853a410b0c7c0\"" +
+ " }" +
+ " ]," +
+ " \"cert_name\":\""+businessName+"\","+
+ " \"binding_alipay_logon_id\":\""+zfbAccount+"\","+
+ " \"default_settle_rule\":{" +
+ " \"default_settle_type\":\""+type+"\"," +
+ " \"default_settle_target\":\""+account+"\"" +
+ " }" +
+ "}";
+ if (accountType.equals("bankCard")){
+ request.setBizContent(param
+ + biz_cards+res);
+ }else{
+ request.setBizContent(param
+ +res);
+ }
+ AntMerchantExpandIndirectZftCreateResponse response = null;
+ try {
+ response = alipayClient.execute(request);
+ } catch (AlipayApiException e) {
+ e.printStackTrace();
+ }
+ if(response.isSuccess()){
+ System.out.println("调用成功");
+ JSONObject json = JSONObject.parseObject(response.getBody());
+ JSONObject json1 = json.getJSONObject("ant_merchant_expand_indirect_zft_create_response");
+ String order_no = json1.getString("order_id");
+ System.err.println("订单号"+order_no);
+ operatorAuth.setOrderNo(order_no);
+ operatorAuth.setRefuseReason("");
+
+ operatorAuthService.saveOrUpdate(operatorAuth);
+ Integer userId = operatorService.getById(operatorId).getUserId();
+ OperatorUser user = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("userId", userId));
+ user.setAlipayAudit(1);
+ // 01是企业
+ if (bodyType.equals("01")){
+ user.setAlipayType(2);
+ }else{
+ user.setAlipayType(1);
+ }
+ operatorUserService.saveOrUpdate(user);
+ } else {
+ Integer userId = operatorService.getById(operatorId).getUserId();
+ OperatorUser user = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("userId", userId));
+ user.setAlipayAudit(3);
+ operatorUserService.saveOrUpdate(user);
+ operatorAuth.setRefuseReason(response.getSubMsg());
+ if (response.getCode().equals("40004")){
+ String subMsg = response.getSubMsg();
+ return ResultUtil.error(subMsg);
+ }
+ }
+ return ResultUtil.success();
}
+ public static Object uploadImg(String img){
+ String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥
+ String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥
+ String aliAppid = "2021004105665036";//支付宝appid
+ AlipayConfig alipayConfig = new AlipayConfig();
+ alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
+ alipayConfig.setAppId(aliAppid);
+ alipayConfig.setPrivateKey(appPrivateKey);
+ alipayConfig.setFormat("json");
+ alipayConfig.setAlipayPublicKey(alipay_public_key);
+ alipayConfig.setCharset("UTF8");
+ alipayConfig.setSignType("RSA2");
+ AlipayClient alipayClient = null;
+ try {
+ alipayClient = new DefaultAlipayClient(alipayConfig);
+ } catch (AlipayApiException e) {
+ e.printStackTrace();
+ }
+ // 这是一个1x1像素的图片流
+ String imageBase64 = "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAEUlEQVR42mP4TyRgGFVIX4UAI/uOgGWVNeQAAAAASUVORK5CYII=";
+ // 下列FileItem中也可用直接读取本地文件的方式来获取文件
+ // FileItem imageContent = new FileItem("本地文件的绝对路径");
+ AntMerchantExpandIndirectImageUploadRequest request = new AntMerchantExpandIndirectImageUploadRequest();
+ FileItem imageContent = new FileItem(img, Base64.getDecoder().decode(imageBase64));
+ request.setImageContent(imageContent);
+ request.setImageType("jpg");
+ AntMerchantExpandIndirectImageUploadResponse response = null;
+ try {
+ response = alipayClient.execute(request);
+ } catch (AlipayApiException e) {
+ e.printStackTrace();
+ }
+ System.out.println(response.getBody());
+ if (response.isSuccess()) {
+ System.out.println("调用成功");
+ } else {
+ System.out.println("调用失败");
+ }
+ JSONObject json = JSONObject.parseObject(response.getBody());
+ String sign = json.getString("ant_merchant_expand_indirect_image_upload_response");
+ JSONObject r = JSONObject.parseObject(sign);
+ String image_id = r.getString("image_id");
+ return image_id;
+ }
+
/**
* 分账比例提交
*/
@RequestMapping(value = "/proportion")
@ResponseBody
- public Object auth(String alipayProportion,String wechatProportion,Integer operatorIdOne ) {
- OperatorUser id = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("id", operatorIdOne));
+ public Object auth(Integer operatorIdOne ,String alipayProportion,String wechatProportion) {
+ OperatorUser id = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("operatorId", operatorIdOne));
id.setAlipayProportion(alipayProportion);
id.setWechatProportion(wechatProportion);
operatorUserService.updateById(id);
@@ -176,9 +642,11 @@
@RequestMapping("/proportion/{id}")
public String proportion(Model model,@PathVariable("id") Integer id) {
OperatorUser o = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("operatorId", id));
- model.addAttribute("operatorIdOne",o.getId());
+ model.addAttribute("id",id);
model.addAttribute("alipayProportion",o.getAlipayProportion());
model.addAttribute("wechatProportion",o.getWechatProportion());
+ model.addAttribute("alipayNum",o.getAlipayNum());
+ model.addAttribute("wechatNum",o.getWechatNum());
return PREFIX + "OperatorUser_proportion.html";
}
/**
@@ -214,6 +682,18 @@
@ResponseBody
public Object changeState(@RequestBody CoachChangeStateVO vo){
operatorService.changeState(vo);
+ List<Integer> ids = vo.getIds();
+ // 将运营商账号也冻结
+ List<TOperator> list = operatorService.list(new QueryWrapper<TOperator>()
+ .in("id",ids));
+ // 用户ids
+ List<Integer> collect = list.stream().map(TOperator::getUserId).collect(Collectors.toList());
+ for (Integer integer : collect) {
+ User user = new User();
+ user.setId(integer);
+ user.setStatus(vo.getState());
+ userService.updateById(user);
+ }
return ResultUtil.success();
}
/**
@@ -230,6 +710,12 @@
user.setName(userName);
user.setPhone(phone);
user.setObjectType(2);
+ String s = MD5.md5("a123456");
+ user.setPassword(s);
+ user.setAccount(phone);
+ user.setRoleid("2");
+ user.setObjectType(2);
+ user.setStatus(1);
userService.save(user);
TOperator data = new TOperator();
data.setUserId(user.getId());
@@ -238,6 +724,20 @@
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());
+ // 添加运营商商户认证
+ operatorUser.setAlipayProportion("未设置");
+ operatorUser.setWechatProportion("未设置");
+ operatorUser.setWechatAudit(0);
+ operatorUser.setAlipayAudit(0);
+ operatorUserService.save(operatorUser);
user.setObjectId(data.getId());
userService.updateById(user);
if (SinataUtil.isNotEmpty(comArr)){
@@ -281,6 +781,8 @@
}
}
}
+
+
return ResultUtil.success("添加成功");
}
/**
@@ -288,19 +790,19 @@
*/
@ResponseBody
@RequestMapping(value = "/updateOperator")
- public ResultUtil updateOperator(Integer id,String name,String userName,String phone,Integer type ,@RequestParam String comArr) {
+ public ResultUtil updateOperator(Integer id,String name,String userName
+ ,String phone,Integer type ,@RequestParam String comArr) {
User one = userService.getOne(new QueryWrapper<User>().eq("name", name).eq("phone", phone));
if (one!=null){
return ResultUtil.error("当前管理员名称和电话已存在!");
}
operatorCityService.remove(new QueryWrapper<TOperatorCity>().eq("operatorId",id));
- User user = new User();
+ User user = userService.getOne(new QueryWrapper<User>().eq("objectId", id).
+ eq("objectType", 2));
user.setName(userName);
+ user.setAccount(phone);
user.setPhone(phone);
- user.setObjectType(2);
- String a123456 = SecureUtil.md5("a123456");
- user.setPassword(a123456);
- userService.save(user);
+ userService.updateById(user);
TOperator data = new TOperator();
data.setId(id);
data.setUserId(user.getId());
@@ -310,48 +812,59 @@
data.setState(1);
operatorService.updateById(data);
if (type != 1){
- if (SinataUtil.isNotEmpty(comArr)){
- JSONArray jsonArray = JSON.parseArray(comArr);
- int size = jsonArray.size();
- for (int i = 0; i < size; i++) {
- JSONObject jsonObject = jsonArray.getJSONObject(i);
- TOperatorCity province = new TOperatorCity();
- TOperatorCity city = new TOperatorCity();
- TOperatorCity one1 = operatorCityService.getOne(new QueryWrapper<TOperatorCity>()
- .eq("name", jsonObject.getString("province"))
- .eq("operatorId", data.getId()));
- // 省
- if (one1==null){
- province.setName(jsonObject.getString("province"));
- province.setCode(jsonObject.getInteger("provinceCode"));
- province.setPid(0);
- province.setType(jsonObject.getInteger("areaType"));
- province.setOperatorId(data.getId());
- city.setPid(province.getId());
- operatorCityService.save(province);
- // 市
- if (!jsonObject.getString("city").equals("")){
- city.setName(jsonObject.getString("city"));
- city.setCode(jsonObject.getInteger("cityCode"));
+ if (SinataUtil.isNotEmpty(comArr)){
+ JSONArray jsonArray = JSON.parseArray(comArr);
+ int size = jsonArray.size();
+ for (int i = 0; i < size; i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ TOperatorCity province = new TOperatorCity();
+ TOperatorCity city = new TOperatorCity();
+ TOperatorCity one1 = operatorCityService.getOne(new QueryWrapper<TOperatorCity>()
+ .eq("name", jsonObject.getString("province"))
+ .eq("operatorId", data.getId()));
+ // 省
+ if (one1==null){
+ province.setName(jsonObject.getString("province"));
+ province.setCode(jsonObject.getInteger("provinceCode"));
+ province.setPid(0);
+ province.setType(jsonObject.getInteger("areaType"));
+ province.setOperatorId(data.getId());
city.setPid(province.getId());
- city.setType(jsonObject.getInteger("areaType"));
- city.setOperatorId(data.getId());
- operatorCityService.save(city);
- }
- }else{
- // 市
- if (!jsonObject.getString("city").equals("")){
- city.setName(jsonObject.getString("city"));
- city.setCode(jsonObject.getInteger("cityCode"));
- city.setPid(one1.getId());
- city.setType(jsonObject.getInteger("areaType"));
- city.setOperatorId(data.getId());
- operatorCityService.save(city);
+ operatorCityService.save(province);
+ // 市
+ if (!jsonObject.getString("city").equals("")){
+ city.setName(jsonObject.getString("city"));
+ city.setCode(jsonObject.getInteger("cityCode"));
+ city.setPid(province.getId());
+ city.setType(jsonObject.getInteger("areaType"));
+ city.setOperatorId(data.getId());
+ operatorCityService.save(city);
+ }
+ }else{
+ // 市
+ if (!jsonObject.getString("city").equals("")){
+ city.setName(jsonObject.getString("city"));
+ city.setCode(jsonObject.getInteger("cityCode"));
+ city.setPid(one1.getId());
+ city.setType(jsonObject.getInteger("areaType"));
+ city.setOperatorId(data.getId());
+ operatorCityService.save(city);
+ }
}
}
}
}
- }
return ResultUtil.success("添加成功");
}
+
+
+ /**
+ * 获取所有运营商
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/getOperatorListAll")
+ public Object getOperatorListAll(){
+ return operatorService.list(new QueryWrapper<TOperator>().eq("state", 1));
+ }
}
--
Gitblit v1.7.1