| | |
| | | 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; |
| | | |
| | |
| | | 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)); |
| | | } |
| | | |
| | | /** |
| | | * 跳转运营商管理首页 |
| | | */ |
| | |
| | | */ |
| | | @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); |
| | | |
| | | }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(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()); |
| | | } |
| | | } |
| | | 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<OperatorUser>().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; |
| | | } |
| | | |
| | | /** |
| | | * 分账比例提交 |
| | | */ |
| | |
| | | @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(); |
| | | } |
| | | /** |
| | |
| | | */ |
| | | @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("当前管理员名称和电话已存在!"); |
| | |
| | | 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.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(); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | return ResultUtil.success("添加成功"); |
| | | } |
| | | /** |
| | |
| | | */ |
| | | @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()); |
| | |
| | | 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("添加成功"); |
| | | } |