From d20dbd5d97b3f418533d5d23fd337cdec9f95939 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 14 十二月 2023 09:24:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java |  506 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 430 insertions(+), 76 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 b8bdf86..6e7ae25 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,32 +5,35 @@
 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.response.AlipayMerchantIndirectAuthorderCreateResponse;
+import com.alipay.api.response.AlipayMerchantIndirectAuthorderQuerystatusResponse;
+import com.alipay.api.response.AntMerchantExpandIndirectImageUploadResponse;
 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.ResultUtil;
-import io.swagger.models.auth.In;
-import org.apache.catalina.valves.RemoteIpValve;
+
+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.web.bind.annotation.*;
 
-import java.text.SimpleDateFormat;
+
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -53,6 +56,24 @@
     private IUserService userService;
     @Autowired
     private ICityService cityService;
+    @Autowired
+    private IOperatorAuthService operatorAuthService;
+    @Autowired
+    private IStoreService storeService;
+
+
+    /**
+     * 根据运营商id查询所有门店
+     */
+    @RequestMapping("/getStores")
+    @ResponseBody
+    public List<TStore> getStores(Integer id)
+    {
+        return storeService.list(new QueryWrapper<TStore>()
+                .eq("operatorId",id)
+                .ne("state",3));
+    }
+
     /**
      * 跳转运营商管理首页
      */
@@ -133,40 +154,336 @@
      */
     @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("provinceList",list);
+        model.addAttribute("data",data);
+        OperatorAuth info = operatorAuthService.getOne(new QueryWrapper<OperatorAuth>().eq("operatorId", id));
+        model.addAttribute("item",info);
+        if (info==null){
+            OperatorAuth operatorAuth = new OperatorAuth();
+            model.addAttribute("item",operatorAuth);
+            model.addAttribute("bodyType",0);
+            model.addAttribute("code",null);
+            model.addAttribute("reasons",null);
+            // 0不显示二维码
+            model.addAttribute("type",0);
+
+        }else{
+            if (info.getOrderStatus().equals("AUDIT_PASS")){
+                // 通过才展示二维码
+                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(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);
+    public Object auth(String beneficiaryEnd,String businessEnd,String legalEnd, String name,String phone,String number
+            ,Integer operatorId,String bodyType,Integer type,String businessName,String businessNumber,
+                       String legalRepresentative,String registerAddress,String businessTerm,String businessPicture,
+                       String legalPerson,String legalNumber,String legalPhone,String legalEmail,String legalTerm,
+                       String legalAddress,String legalFront,String legalBack,Integer accountType,String bank,
+                       String accountName,String province,String provinceCode,String city,String cityCode,
+                       String bankName,String bankNumber,String isBeneficiary,String beneficiary,String beneficiaryPhone,
+                       String beneficiaryNumber,String beneficiaryAddress,String beneficiaryTerm,String beneficiaryFront,String beneficiaryBack,
+                       String remark) {
+        UUID uuid = UUID.randomUUID();
+        OperatorAuth data = operatorAuthService.getOne(new QueryWrapper<OperatorAuth>().eq("operatorId", operatorId));
+        OperatorAuth operatorAuth = new OperatorAuth();
+        if (data!=null){
+            operatorAuth.setId(data.getId());
+            if(businessPicture==null || businessPicture.equals("")){
+                operatorAuth.setBusinessPicture(data.getBusinessPicture());
+                businessPicture = data.getBusinessPicture();
+            }
+            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(beneficiaryFront==null || beneficiaryFront.equals("")){
+                beneficiaryFront = data.getBeneficiaryFront();
+                operatorAuth.setBeneficiaryFront(data.getBeneficiaryFront());
+            }
+            if(beneficiaryBack==null || beneficiaryBack.equals("")){
+                beneficiaryBack = data.getBeneficiaryBack();
+                operatorAuth.setBeneficiaryBack(data.getBeneficiaryBack());
+            }
+        }else{
+            if(businessPicture==null || businessPicture.equals("")){
+                // 未上传营业执照
+                return 5001;
+            }
+            if(legalFront==null || legalFront.equals("")){
+                // 未上传法人身份证正面照
+                return 5002;
+            }
+            if(legalBack==null || legalBack.equals("")){
+                // 未上传法人身份证背面照
+                return 5003;
+            }
+            if (businessPicture!=null && businessPicture.equals("ENTERPRISE")){
+                if(beneficiaryFront==null || beneficiaryFront.equals("")){
+                    // 未上传受益人身份证正面照
+                    return 5004;
+                }
+                if(beneficiaryBack==null || beneficiaryBack.equals("")){
+                    // 未上传受益人身份证背面照
+                    return 5005;
+                }
+            }
+        }
+        String numericUUID = uuid.toString().replaceAll("-", "");
+        operatorAuth.setName(name);
+        operatorAuth.setPhone(phone);
+        operatorAuth.setNumber(number);
+        operatorAuth.setBusinessEnd(businessEnd);
+        operatorAuth.setLegalEnd(legalEnd);
+        operatorAuth.setBeneficiaryEnd(beneficiaryEnd);
+        operatorAuth.setOperatorId(operatorId);
+        operatorAuth.setBodyType(bodyType);
+        operatorAuth.setType(type);
+        operatorAuth.setBusinessName(businessName);
+        operatorAuth.setBusinessNumber(businessNumber);
+        operatorAuth.setLegalRepresentative(legalRepresentative);
+        operatorAuth.setRegisterAddress(registerAddress);
+        operatorAuth.setBusinessTerm(businessTerm);
+        operatorAuth.setOutBizNo(numericUUID);
+        operatorAuth.setBusinessPicture(businessPicture);
+        operatorAuth.setLegalPerson(legalPerson);
+        operatorAuth.setLeagleNumber(legalNumber);
+        operatorAuth.setLegalPhone(legalPhone);
+        operatorAuth.setLegalEmail(legalEmail);
+        operatorAuth.setLegalTerm(legalTerm);
+        operatorAuth.setLegalAddress(legalAddress);
+        operatorAuth.setLegalFront(legalFront);
+        operatorAuth.setLegalBack(legalBack);
+        operatorAuth.setAccountType(accountType);
+        operatorAuth.setBank(bank);
+        operatorAuth.setAccountName(accountName);
+        operatorAuth.setProvince(province);
+        operatorAuth.setProvinceCode(provinceCode);
+        operatorAuth.setCity(city);
+        operatorAuth.setCityCode(cityCode);
+        operatorAuth.setBankName(bankName);
+        operatorAuth.setBankNumber(bankNumber);
+        operatorAuth.setAuditState(0);
+        operatorAuth.setIsBeneficiary(isBeneficiary);
+        operatorAuth.setBeneficiary(beneficiary);
+        operatorAuth.setBeneficiaryNumber(beneficiaryNumber);
+        operatorAuth.setBeneficiaryAddress(beneficiaryAddress);
+        operatorAuth.setBeneficiaryTerm(beneficiaryTerm);
+        operatorAuth.setBeneficiaryFront(beneficiaryFront);
+        operatorAuth.setBeneficiaryBack(beneficiaryBack);
+        operatorAuth.setRefuseReason("");
+        operatorAuth.setRemark(remark);
+
+
+        // 将图片上传至阿里存储
+        // 营业执照
+        String string = uploadImg(businessPicture).toString();
+        // 法人身份证正面照
+        legalFront = uploadImg(legalFront).toString();
+        // 法人身份证背面照
+        legalBack = uploadImg(legalBack).toString();
+
+        if (bodyType.equals("ENTERPRISE")){
+            // 受益人身份证正面照
+            beneficiaryFront=uploadImg(beneficiaryFront).toString();
+            // 受益人身份证背面照
+            beneficiaryBack=uploadImg(beneficiaryBack).toString();
+        }
+
+
+        //第二步:提交申请单
+        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","2021003199648333",
+                "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCXnbOiY2VkKb5ubpcwKqzmqbKotpKGA79yn2aQeZiTWhqmLdCKjVp64naGpnOQEC7hDZluOO1crWHVhIEp7XGIEVawA7mb/dBbzo4wQQYVtLX6iEZViYk/mA7G59S/lvsLVi+jkVGlx2Co8JhvkTRtCEFgUnVA9o2jKy5BIEwrusNuDjrn5X+3ZvfZJN/iV0yzhzXynzioZt/DIcdODOVPUrem8T/5ifJ6ydSKIumgquBKyQnFOj+LRt5qMioBVzLnod0S/6kKMoNVN3/qx/PHRaeHbrF7I67IpGNROg0D9C4d9xXbGhSqQciXitLVnNzWuCov4Ie5nT5VCg9RjXyVAgMBAAECggEAf5rU81lgnnqbseoWCQ4B02kD2wc+Lti8qsYJ1pLgnTP6td5dZB8wBbjQNOem35sfOX7uoVv8OkIa00/gPd9/7BtbsGySLP3j/UDNX0N60Y30k1VajOdiwklCNpor7swtog75rVrDMxmo+sb0JQI684E9NMpxsSlRcAEJvvpl4W7LkhfJZyCUNXPAAh9SOkFOeaXATueEQ57V5vpeKM2JRJy//1P1LS2c/quLRIPqaTYgVAvxfdAYQvvP0vPijxHtxJlDxPa8xBCv7D46d+HeIA6X5ZkoTKLYbe2D36utP8rqGsXw1EyrYyuq6HdEAi/I4YXvWyLsXuQTSACSp+piAQKBgQD6am94xyQ4CRiMA/T1kvPPkXD+y/1Sbr3+T1S6X4naAGdkZS+TbPaWEddd2Huml6q+C2UcGhQpupBkbk88Nbs94jOulsfF6b24nOo1xH5z/BtS0kYuYaNLhebJtzrR9gupT1Uv0q+QybWZ3hQswOK0vwpkDk9DOysFynfMyXXlwQKBgQCa/z3oZ4iYZpTLNdRhMS0u593Jq8MDemimBJGEXPvDBByyE5Ohf22UqP5MjS1euosAQSva+/HmKeEigLgjoQTo29mA1nzPe0AKN3huWbqPIOdeIOA694Nj6ooOPS8iDMjKu61wPz/rZ57bv41LsPXr0y4UsU30JWg2rzgRnGgT1QKBgH30c0VIxUr6KEKk6t1qoP/SpAdFC5Ie6am0tWVZELl6Yob47kk1EYLCTpWBghB1UQhuKtlLtMCYenBJm8kpLZke4ef7J1jBDRCCvLt2rjQgpo2t/mbt7XjbTQ5A/3EEVTFAGhUH4A7vpkxSi8tG6cEIJm3VVMD4TdeH02JKIucBAoGAA0v+kxzwqN01uQTSGackIOVJsGp44XAPHcjnF3uq10EVIyyLbVn6iLj3f8VY+7TYFA9O0X+ea5jkcwlt4UQhiJp0i+sECJ3EhPMdGqvJ7hVzFmt4mYh+QPfSK+9dO0ouUzGexM5zm5w+osn2RW/kKzn4tvP2hoTtLIyZkrZS+GkCgYAQGKe84pXggSIPwztg0aBJUC9b4fXe3PR4DFTM85lBUKYJnQGRzf6NDCD83hwJoNdnyZkztyK72LDOn2NOzPfYcfUl6MQFPovXeMWaVidRfo4ZgyFA/C1egduebaIkXE+DpGhiy7alQ4k+LxUfy6oJBT9Sq8oq7EVBEkeff3p66g==","json","GBK",
+                "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB","RSA2");
+        AlipayMerchantIndirectAuthorderCreateRequest request = new AlipayMerchantIndirectAuthorderCreateRequest();
+        String param = "{" +
+                "  \"out_biz_no\":\""+uuid+"\"," +
+                "  \"contact_person_info\":{" +
+                "    \"contact_name\":\""+name+"\"," +
+                "    \"contact_phone_no\":\""+phone+"\"," +
+                "    \"contact_card_no\":\""+number+"\"," +
+                "    \"contact_cert_type\":\"RESIDENT\"" +
+                "  }," +
+                "  \"auth_identity_info\":{" +
+                "    \"identity_type\":\""+bodyType+"\"," +
+                "    \"is_financial_org\":false," +
+                "    \"certificate_type\":\"BUSINESS_CERT\"," +
+                "    \"certificate_info\":{" +
+                "      \"cert_no\":\""+businessNumber+"\"," +
+                "      \"cert_image\":\""+string+"\"," +
+                "      \"merchant_name\":\""+businessName+"\"," +
+                "      \"legal_person_name\":\""+legalRepresentative+"\"," +
+                "      \"register_address\":\""+registerAddress+"\"," +
+                "      \"effect_time\":\""+businessTerm+"\"," +
+                "      \"expire_time\":\""+businessEnd+"\"" +
+                "    }," +
+                "    }," +
+                "  \"legal_person_info\":{" +
+                "    \"card_type\":\"RESIDENT\"," +
+                "    \"person_name\":\""+legalRepresentative+"\"," +
+                "    \"card_no\":\""+legalNumber+"\"," +
+                "    \"effect_time\":\""+legalTerm+"\"," +
+                "    \"expire_time\":\""+legalEnd+"\"," +
+                "    \"card_front_img\":\""+legalFront+"\"," +
+                "    \"card_back_img\":\""+legalBack+"\"," +
+                "    \"is_benefit_person\":"+isBeneficiary+"" +
+                "  },";
+        String bene = "  \"benefit_person_info\":{" +
+                "    \"person_name\":\""+beneficiary+"\"," +
+                "    \"card_no\":\""+beneficiaryNumber+"\"," +
+                "    \"card_type\":\"RESIDENT\"," +
+                "    \"effect_time\":\""+beneficiaryTerm+"\"," +
+                "    \"expire_time\":\""+beneficiaryEnd+"\"," +
+                "    \"card_front_img\":\""+beneficiaryFront+"\"," +
+                "    \"card_back_img\":\""+beneficiaryBack+"\"" +
+                "  },";
+        if (bodyType.equals("ENTERPRISE")){
+            request.setBizContent(param
+                    + bene+
+                    "}");
+        }else{
+            request.setBizContent(param
+                    +
+                    "}");
+        }
+
+        AlipayMerchantIndirectAuthorderCreateResponse 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("alipay_merchant_indirect_authorder_create_response");
+            String order_no = json1.getString("order_no");
+            String order_status = json1.getString("order_status");
+//            // 申请单号
+//            String orderNo = r.getString("order_no");
+            /**
+             * 状态 审核中(AUDITING)、待联系人确认(CONTACT_CONFIRM),
+             * 待法人确认(LEGAL_CONFIRM)、审核通过(AUDIT_PASS)、
+             * 审核失败(AUDIT_REJECT)、已冻结(AUDIT_FREEZE)、
+             * 已撤回(CANCELED)、联系人处理中(CONTACT_PROCESSING)
+             */
+//            String orderStatus = r.getString("order_status");
+            operatorAuth.setOrderNo(order_no);
+            operatorAuth.setOrderStatus(order_status);
+
+
+            operatorAuthService.saveOrUpdate(operatorAuth);
+            // 通过运营商id找到用户id
+            TOperator byId = operatorService.getById(operatorId);
+            if (byId!=null){
+                Integer userId = byId.getUserId();
+                OperatorUser userId1 = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("userId", userId));
+                if (userId1!=null){
+                    // 设置为审核中状态
+                    userId1.setAlipayAudit(1);
+                    if (bodyType.equals("ENTERPRISE")){
+                        userId1.setAlipayType(2);
+                    }else{
+                        userId1.setAlipayType(1);
+                    }
+//                    userId1.setWechatAudit(1);
+                    operatorUserService.updateById(userId1);
+                    operatorAuth.setQrCode(null);
+                    operatorAuthService.saveOrUpdate(operatorAuth);
+                    // 根据选择类型修改认证类型
+
+                }
+            }
+        } else {
+            System.out.println("调用失败");
+        }
         return SUCCESS_TIP;
     }
+    public static Object uploadImg(String img){
+        String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCXnbOiY2VkKb5ubpcwKqzmqbKotpKGA79yn2aQeZiTWhqmLdCKjVp64naGpnOQEC7hDZluOO1crWHVhIEp7XGIEVawA7mb/dBbzo4wQQYVtLX6iEZViYk/mA7G59S/lvsLVi+jkVGlx2Co8JhvkTRtCEFgUnVA9o2jKy5BIEwrusNuDjrn5X+3ZvfZJN/iV0yzhzXynzioZt/DIcdODOVPUrem8T/5ifJ6ydSKIumgquBKyQnFOj+LRt5qMioBVzLnod0S/6kKMoNVN3/qx/PHRaeHbrF7I67IpGNROg0D9C4d9xXbGhSqQciXitLVnNzWuCov4Ie5nT5VCg9RjXyVAgMBAAECggEAf5rU81lgnnqbseoWCQ4B02kD2wc+Lti8qsYJ1pLgnTP6td5dZB8wBbjQNOem35sfOX7uoVv8OkIa00/gPd9/7BtbsGySLP3j/UDNX0N60Y30k1VajOdiwklCNpor7swtog75rVrDMxmo+sb0JQI684E9NMpxsSlRcAEJvvpl4W7LkhfJZyCUNXPAAh9SOkFOeaXATueEQ57V5vpeKM2JRJy//1P1LS2c/quLRIPqaTYgVAvxfdAYQvvP0vPijxHtxJlDxPa8xBCv7D46d+HeIA6X5ZkoTKLYbe2D36utP8rqGsXw1EyrYyuq6HdEAi/I4YXvWyLsXuQTSACSp+piAQKBgQD6am94xyQ4CRiMA/T1kvPPkXD+y/1Sbr3+T1S6X4naAGdkZS+TbPaWEddd2Huml6q+C2UcGhQpupBkbk88Nbs94jOulsfF6b24nOo1xH5z/BtS0kYuYaNLhebJtzrR9gupT1Uv0q+QybWZ3hQswOK0vwpkDk9DOysFynfMyXXlwQKBgQCa/z3oZ4iYZpTLNdRhMS0u593Jq8MDemimBJGEXPvDBByyE5Ohf22UqP5MjS1euosAQSva+/HmKeEigLgjoQTo29mA1nzPe0AKN3huWbqPIOdeIOA694Nj6ooOPS8iDMjKu61wPz/rZ57bv41LsPXr0y4UsU30JWg2rzgRnGgT1QKBgH30c0VIxUr6KEKk6t1qoP/SpAdFC5Ie6am0tWVZELl6Yob47kk1EYLCTpWBghB1UQhuKtlLtMCYenBJm8kpLZke4ef7J1jBDRCCvLt2rjQgpo2t/mbt7XjbTQ5A/3EEVTFAGhUH4A7vpkxSi8tG6cEIJm3VVMD4TdeH02JKIucBAoGAA0v+kxzwqN01uQTSGackIOVJsGp44XAPHcjnF3uq10EVIyyLbVn6iLj3f8VY+7TYFA9O0X+ea5jkcwlt4UQhiJp0i+sECJ3EhPMdGqvJ7hVzFmt4mYh+QPfSK+9dO0ouUzGexM5zm5w+osn2RW/kKzn4tvP2hoTtLIyZkrZS+GkCgYAQGKe84pXggSIPwztg0aBJUC9b4fXe3PR4DFTM85lBUKYJnQGRzf6NDCD83hwJoNdnyZkztyK72LDOn2NOzPfYcfUl6MQFPovXeMWaVidRfo4ZgyFA/C1egduebaIkXE+DpGhiy7alQ4k+LxUfy6oJBT9Sq8oq7EVBEkeff3p66g==";
+        String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";
+        AlipayConfig alipayConfig = new AlipayConfig();
+        alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
+        alipayConfig.setAppId("2021003199648333");
+        alipayConfig.setPrivateKey(privateKey);
+        alipayConfig.setFormat("json");
+        alipayConfig.setAlipayPublicKey(alipayPublicKey);
+        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 alipayNum,String wechatProportion,
+                       String wechatNum) {
+        Integer id1 = operatorService.getOne(new QueryWrapper<TOperator>().eq("id", operatorIdOne))
+                .getUserId();
+        OperatorUser id = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("userId", id1));
         id.setAlipayProportion(alipayProportion);
         id.setWechatProportion(wechatProportion);
+        id.setAlipayNum(alipayNum);
+        id.setWechatNum(wechatNum);
         operatorUserService.updateById(id);
         return SUCCESS_TIP;
     }
@@ -176,9 +493,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 +533,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();
     }
     /**
@@ -221,7 +552,7 @@
      */
     @ResponseBody
     @RequestMapping(value = "/addOperator")
-    public ResultUtil addOperator(String name,String userName,String phone,Integer type ,@RequestParam String comArr) {
+    public ResultUtil addOperator(String name,String userName,String phone,Integer type , String comArr) {
         User one = userService.getOne(new QueryWrapper<User>().eq("name", name).eq("phone", phone));
         if (one!=null){
             return ResultUtil.error("当前管理员名称和电话已存在!");
@@ -230,6 +561,13 @@
         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());
         data.setName(name);
@@ -237,8 +575,22 @@
         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.save(user);
+        userService.updateById(user);
         if (SinataUtil.isNotEmpty(comArr)){
             JSONArray jsonArray = JSON.parseArray(comArr);
             int size = jsonArray.size();
@@ -280,6 +632,8 @@
                 }
             }
         }
+
+
         return ResultUtil.success("添加成功");
     }
     /**
@@ -287,19 +641,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());
@@ -309,47 +663,47 @@
         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("添加成功");
     }

--
Gitblit v1.7.1