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 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;
|
|
|
/**
|
* 根据运营商ID 获取运营商管理的省市
|
*/
|
@RequestMapping(value = "/getCityByOperatorId")
|
@ResponseBody
|
public List<TOperatorCity> getCityByOperatorId(@RequestBody Integer operatorId) {
|
return operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId",operatorId));
|
}
|
|
/**
|
* 跳转运营商管理首页
|
*/
|
@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<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().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<TCity> provinceList = cityService.list(new LambdaQueryWrapper<TCity>().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<TOperatorCity> list = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", id).eq("pid",0));
|
List<OperatorCityVO> result = new ArrayList<>();
|
|
for (TOperatorCity tOperatorCity : list) {
|
// 拿到省下面的所有市
|
List<TOperatorCity> cities= operatorCityService.list(new QueryWrapper<TOperatorCity>().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<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
|
List<Map<String,Object>> 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);
|
List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
|
model.addAttribute("provinceList",list);
|
model.addAttribute("data",data);
|
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();
|
String numericUUID = uuid.toString().replaceAll("-", "");
|
OperatorAuth operatorAuth = new OperatorAuth();
|
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.save(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<OperatorUser>().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<OperatorUser>().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<TOperator> list = operatorService.list(new QueryWrapper<TOperator>().in("id",pwd.getIds()));
|
List<Integer> userIds = list.stream()
|
.map(TOperator::getUserId)
|
.collect(Collectors.toList());
|
String a123456 = SecureUtil.md5("a123456");
|
List<User> users = userService.list(new QueryWrapper<User>().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<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 , String comArr) {
|
User one = userService.getOne(new QueryWrapper<User>().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());
|
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<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"));
|
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<User>().eq("name", name).eq("phone", phone));
|
if (one!=null){
|
return ResultUtil.error("当前管理员名称和电话已存在!");
|
}
|
operatorCityService.remove(new QueryWrapper<TOperatorCity>().eq("operatorId",id));
|
User user = userService.getOne(new QueryWrapper<User>().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<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"));
|
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("添加成功");
|
}
|
}
|