package com.dsh.guns.modular.system.controller.code; import cn.hutool.crypto.SecureUtil; 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.model.Coach; 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.util.ResultUtil; 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.util.*; import java.util.stream.Collectors; /** * 运营商管理 */ @Controller @RequestMapping("/operator") public class OperatorController extends BaseController { private String PREFIX = "/system/operator/"; @Autowired private TOperatorService operatorService; @Autowired private TOperatorCityService operatorCityService; @Autowired private IOperatorUserService operatorUserService; @Autowired private IUserService userService; @Autowired private ICityService cityService; @Autowired private IOperatorAuthService operatorAuthService; @Autowired private IStoreService storeService; /** * 根据运营商id查询所有门店 */ @RequestMapping("/getStores") @ResponseBody public List getStores(Integer id) { return storeService.list(new QueryWrapper() .eq("operatorId",id) .ne("state",3)); } /** * 跳转运营商管理首页 */ @RequestMapping("") public String index(Model model) { return PREFIX + "Operator.html"; } /** * 跳转运营商重置密码页面 */ @RequestMapping("/resetPassword") public String resetPassword(Model model) { return PREFIX + "Operator_resetPassword.html"; } /** * 跳转运营商添加页面 */ @RequestMapping("/add") public String add(Model model) { List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("provinceList",list); return PREFIX + "Operator_add.html"; } /** * 跳转运营商编辑页面 */ @RequestMapping("/update/{id}") public String update(Model model,@PathVariable("id") Integer id) { List provinceList = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("provinceList",provinceList); model.addAttribute("id",id); TOperator byId = operatorService.getById(id); // 运营商名称 model.addAttribute(byId.getName()); User byId1 = userService.getById(byId.getUserId()); model.addAttribute("userName",byId1.getName()); model.addAttribute("phone",byId1.getPhone()); model.addAttribute("data",byId); // 获取全部的省 List list = operatorCityService.list(new QueryWrapper().eq("operatorId", id).eq("pid",0)); List result = new ArrayList<>(); for (TOperatorCity tOperatorCity : list) { // 拿到省下面的所有市 List cities= operatorCityService.list(new QueryWrapper().eq("pid", tOperatorCity.getId())); if (cities.size()==0){ OperatorCityVO operatorCityVO = new OperatorCityVO(); operatorCityVO.setProvince(tOperatorCity.getName()); operatorCityVO.setProvinceCode(tOperatorCity.getCode()); result.add(operatorCityVO); } for (TOperatorCity city : cities) { OperatorCityVO operatorCityVO = new OperatorCityVO(); operatorCityVO.setProvince(tOperatorCity.getName()); operatorCityVO.setProvinceCode(tOperatorCity.getCode()); operatorCityVO.setCity(city.getName()); operatorCityVO.setCityCode(city.getCode()); result.add(operatorCityVO); } } model.addAttribute("list",result); return PREFIX + "Operator_edit.html"; } /** * 获取运营商列表 */ @RequestMapping(value = "/listAll") @ResponseBody public Object listAll(String userName, String phone,Integer type) { Page> page = new PageFactory>().defaultPage(); List> list = operatorService.listAll(page,userName,phone,type); page.setRecords(list); return super.packForBT(page); } /** * 跳转运营商商户去认证页面 */ @RequestMapping("/proportionAuth/{id}") public String proportionAuth(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); List list = cityService.list(new LambdaQueryWrapper().eq(TCity::getParentId, 0)); model.addAttribute("provinceList",list); model.addAttribute("data",data); OperatorAuth info = operatorAuthService.getOne(new QueryWrapper().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); }else{ 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(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().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()); } } 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","2021004123692417", "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCq1V7akWZ/V9mr8NGW2CihIbY93M7M33LpVM5y63qEuN7yqyJV197WT6c7uHBcttY6cJLawXLihgC8KF6ZzdXWbm4n4RiigxIaz9LbSVBjYplkNgG2rg7W7dB8wrrqcwBQU0n+pFX3KWJkHRXDugqE21VCGgzySKQBkhiztmTI/z039PdWp2RTGLiL/OuwVrPjQv3He2orYIZgADWid0mtZXCEFosDkaQDTEqCfuDEuMouEiaIk/lw0ZWxiR1Fvfr82nO0r94lM/CC1wNRif2+2ESR+YystsWQPm16eRgS3wAQz2cOTP4L5VNKNzcUAgxTQK3Bj8GvqrYUUlcC7VCTAgMBAAECggEAPKmYDTUkmIOxoATb6BzKEK3P8Re/t7CBNaoPxW8pCog7YyCyCJmnX6LZV7Oe8s1aNVZUT6nyCc5b5HTRYvxcutBr/W1JOiwg+bRiw8u86A3TOmqTITOdwWShbCwaA7binaN12x6wCByB+9r4J5Cgu5zHIbnubvqsgoJGk0ppb5XbyYkikOAXPHli4PUe4GOorSuhRdq3XlGWiMwh4yt48kF4vP+2ByuDOYQU6LjGs0wn/5LpN+ReLdXTab65Cz7WYTDrTndyIrhFg7cyT5m2gtiJuEgIJ45uaaeGNIecV6JSnRsEv4YD4m+I58yhyyvw9zd0Z5qP04QNjy7OK2UeQQKBgQD/EJpaVv0RR83Z6Hp2YVrPoiMz279U5bgkBbcxgr9GR2YYE3rrHqBdqch1Uitu+g6LIC+SDtib7yG9C7EqPHB3fsfEw8NtL54gy3OFbCcH3lqFxgtrCpQ2SIXQjd8932TpzcMdD6jzyUoSraT+lgkf2MgjqFiMbNVg50lGDyWujQKBgQCrdbXTttuazdwU0pdRFCuTz42iIJSZtHFUPvmbrBy7LFQ8NTN76dqLM1RUH7gJukPc4+Ax+DfpDgHZ4nQ2KSk9FweLqKSf10kojibKpc3nkgDRtUtSTar8fZn9VKTuXK1Ho0LUkjDlHjlEwUuf/Ef+IdjzXDJ2UPWHp2YzxvNDnwKBgBWGtjAnpUX/FF1upF83Si251lS7GAO3O3o2zUYtba0lu3UOt9H+DLS67oMQQ0AjdHTDa6BdBmTqoqNMyE/zN96t4Xg2uViOqz7DTOWWwhiE6IjftPj8tJN8PWbjglK7ds3QosXiG3UvqMO4yfL+gJiieAmiXI7FZKDABEwYXSrFAoGASXVe91vKbmJwPgOTjMsleGhd9+4ZfFjQjRWF/2oXzSFK3Zi1fAtO9ICDSp9kS9afqI2AyifcXF8B8AWTYHj2EBRDyVPxZAHqeBOfDwdGVkY5T59qq9JWxWJSjTSsjOrr2ltaEJSpmh/+zTQ7YEnH1ltOBcWkYQiCiSHxKZG9O2UCgYBfBTkjktzv81SnW47d0qRwmiXrcyObmXTe5fIW9e6KaB0SnzcVvoCmm7TTk+Bm4WqNmfb5k8U6J22vdxB1TPlRksnY+VZDM0Grv/xUII9G8oVQ4+NiE5XvQ7+nc5EBJ12of6GxE7/yXZiDld62q2sFZgrFzhvvHV+IADsu/VdIEw==","json","GBK", "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCzq4BIE4gMdEXxIAAUbiMpSytkzp+LVLVsBtji87rFGfWUcnrr3NKftaw0WtRu+36d1nDVOWW4CmgsOPyj1GOFoTcJOR/BqyIriwyLxpuMS8qgOqGJZXi+W4Nw2AJL6iMVwY2eI8F1G10gACK2I9TNJRzHh3tMTA6ItysbGoekRDtn6Xrkh5V6cyHQjLw0Q6MJK/68XT6/LWzarDEEYrSnIevOydMY32ptAgm5fp/h08M2khCmI6CuMWKmc87dPpd2krGVTALqprAQvB74AIqO+5DE0fN4LoitOYXAtWDCEF4kHN0hQUygIEGCwtMgEVzkf92VLlCX35YtDhWd1yQIDAQAB","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().eq("userId", userId)); if (userId1!=null){ // 设置为审核中状态 userId1.setAlipayAudit(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 = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCq1V7akWZ/V9mr8NGW2CihIbY93M7M33LpVM5y63qEuN7yqyJV197WT6c7uHBcttY6cJLawXLihgC8KF6ZzdXWbm4n4RiigxIaz9LbSVBjYplkNgG2rg7W7dB8wrrqcwBQU0n+pFX3KWJkHRXDugqE21VCGgzySKQBkhiztmTI/z039PdWp2RTGLiL/OuwVrPjQv3He2orYIZgADWid0mtZXCEFosDkaQDTEqCfuDEuMouEiaIk/lw0ZWxiR1Fvfr82nO0r94lM/CC1wNRif2+2ESR+YystsWQPm16eRgS3wAQz2cOTP4L5VNKNzcUAgxTQK3Bj8GvqrYUUlcC7VCTAgMBAAECggEAPKmYDTUkmIOxoATb6BzKEK3P8Re/t7CBNaoPxW8pCog7YyCyCJmnX6LZV7Oe8s1aNVZUT6nyCc5b5HTRYvxcutBr/W1JOiwg+bRiw8u86A3TOmqTITOdwWShbCwaA7binaN12x6wCByB+9r4J5Cgu5zHIbnubvqsgoJGk0ppb5XbyYkikOAXPHli4PUe4GOorSuhRdq3XlGWiMwh4yt48kF4vP+2ByuDOYQU6LjGs0wn/5LpN+ReLdXTab65Cz7WYTDrTndyIrhFg7cyT5m2gtiJuEgIJ45uaaeGNIecV6JSnRsEv4YD4m+I58yhyyvw9zd0Z5qP04QNjy7OK2UeQQKBgQD/EJpaVv0RR83Z6Hp2YVrPoiMz279U5bgkBbcxgr9GR2YYE3rrHqBdqch1Uitu+g6LIC+SDtib7yG9C7EqPHB3fsfEw8NtL54gy3OFbCcH3lqFxgtrCpQ2SIXQjd8932TpzcMdD6jzyUoSraT+lgkf2MgjqFiMbNVg50lGDyWujQKBgQCrdbXTttuazdwU0pdRFCuTz42iIJSZtHFUPvmbrBy7LFQ8NTN76dqLM1RUH7gJukPc4+Ax+DfpDgHZ4nQ2KSk9FweLqKSf10kojibKpc3nkgDRtUtSTar8fZn9VKTuXK1Ho0LUkjDlHjlEwUuf/Ef+IdjzXDJ2UPWHp2YzxvNDnwKBgBWGtjAnpUX/FF1upF83Si251lS7GAO3O3o2zUYtba0lu3UOt9H+DLS67oMQQ0AjdHTDa6BdBmTqoqNMyE/zN96t4Xg2uViOqz7DTOWWwhiE6IjftPj8tJN8PWbjglK7ds3QosXiG3UvqMO4yfL+gJiieAmiXI7FZKDABEwYXSrFAoGASXVe91vKbmJwPgOTjMsleGhd9+4ZfFjQjRWF/2oXzSFK3Zi1fAtO9ICDSp9kS9afqI2AyifcXF8B8AWTYHj2EBRDyVPxZAHqeBOfDwdGVkY5T59qq9JWxWJSjTSsjOrr2ltaEJSpmh/+zTQ7YEnH1ltOBcWkYQiCiSHxKZG9O2UCgYBfBTkjktzv81SnW47d0qRwmiXrcyObmXTe5fIW9e6KaB0SnzcVvoCmm7TTk+Bm4WqNmfb5k8U6J22vdxB1TPlRksnY+VZDM0Grv/xUII9G8oVQ4+NiE5XvQ7+nc5EBJ12of6GxE7/yXZiDld62q2sFZgrFzhvvHV+IADsu/VdIEw=="; 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 = 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().eq("id", operatorIdOne)); id.setAlipayProportion(alipayProportion); id.setWechatProportion(wechatProportion); operatorUserService.updateById(id); return SUCCESS_TIP; } /** * 跳转运营商设置分账比例页面 */ @RequestMapping("/proportion/{id}") public String proportion(Model model,@PathVariable("id") Integer id) { OperatorUser o = operatorUserService.getOne(new QueryWrapper().eq("operatorId", id)); model.addAttribute("operatorIdOne",o.getId()); model.addAttribute("alipayProportion",o.getAlipayProportion()); model.addAttribute("wechatProportion",o.getWechatProportion()); return PREFIX + "OperatorUser_proportion.html"; } /** * 批量重置密码 * @return */ @RequestMapping(value = "/pwd") @ResponseBody public Object pwd(@RequestBody OperatorRestPwd pwd ) { try { List list = operatorService.list(new QueryWrapper().in("id",pwd.getIds())); List userIds = list.stream() .map(TOperator::getUserId) .collect(Collectors.toList()); String a123456 = SecureUtil.md5("a123456"); List users = userService.list(new QueryWrapper().in("id", userIds)); for (User user : users) { user.setPassword(a123456); } userService.updateBatchById(users); return SUCCESS_TIP; }catch (Exception e){ e.printStackTrace(); return ERROR; } } /** * 1为解冻 2为冻结 * * @return */ @RequestMapping("/changeState") @ResponseBody public Object changeState(@RequestBody CoachChangeStateVO vo){ operatorService.changeState(vo); List ids = vo.getIds(); // 将运营商账号也冻结 List list = operatorService.list(new QueryWrapper() .in("id",ids)); // 用户ids List 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(); } /** * 添加运营商 */ @ResponseBody @RequestMapping(value = "/addOperator") public ResultUtil addOperator(String name,String userName,String phone,Integer type , String comArr) { User one = userService.getOne(new QueryWrapper().eq("name", name).eq("phone", phone)); if (one!=null){ return ResultUtil.error("当前管理员名称和电话已存在!"); } User user = new User(); 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); data.setType(type); 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)){ 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() .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")); 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("添加成功"); } /** * 添加运营商 */ @ResponseBody @RequestMapping(value = "/updateOperator") public ResultUtil updateOperator(Integer id,String name,String userName ,String phone,Integer type ,@RequestParam String comArr) { User one = userService.getOne(new QueryWrapper().eq("name", name).eq("phone", phone)); if (one!=null){ return ResultUtil.error("当前管理员名称和电话已存在!"); } operatorCityService.remove(new QueryWrapper().eq("operatorId",id)); User user = userService.getOne(new QueryWrapper().eq("objectId", id). eq("objectType", 2)); user.setName(userName); user.setAccount(phone); user.setPhone(phone); userService.updateById(user); TOperator data = new TOperator(); data.setId(id); data.setUserId(user.getId()); data.setName(name); data.setType(type); data.setStatus(1); 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() .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")); 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("添加成功"); } }