puzhibing
2024-02-05 640ff18d2d7f4be02ddb7f8f75e899f05545eb98
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
@@ -26,6 +26,7 @@
import com.dsh.guns.modular.system.model.*;
import com.dsh.guns.modular.system.service.*;
import com.dsh.guns.modular.system.util.HttpRequestUtil;
import com.dsh.guns.modular.system.util.PayMoneyUtil;
import com.dsh.guns.modular.system.util.ResultUtil;
@@ -240,6 +241,8 @@
        }else{
            List<TCity> list6 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
            model.addAttribute("list4",list6);
            List<TCity> list5 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 1));
            model.addAttribute("list5",list5);
        }
@@ -288,16 +291,21 @@
        }
    }
    public static void main(String[] args) {
        String bankName = "中国工商银行"; // 要转换为简写的银行名称
        // 调用支付宝接口 通过银行卡号获取银行信息
        String url = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&" +
                "cardNo=6217003800041315031&cardBinCheck=true";
        HashMap<String, String> hashMap = new HashMap<>();
        String result = HttpRequestUtil.postRequest(url,hashMap);
        System.err.println(result);
        JSONObject json = JSONObject.parseObject(result);
        String bank = json.getString("bank");
        String cardType = json.getString("cardType");
        System.err.println(bank);
        System.err.println(cardType);
        Pattern pattern = Pattern.compile("([\\u4e00-\\u9fa5]+)(?=\\s+[A-Za-z]+$)");
        Matcher matcher = pattern.matcher(bankName);
        if (matcher.find()) {
            System.out.println(matcher.group()); // 输出结果:"工商银行" -> "ICBC"
        } else {
            System.out.println("无法识别该银行名称!");
        }
    }
    /**
     * 支付宝商户认证提交
     */
@@ -316,11 +324,20 @@
        Integer userId1 = byId.getUserId();
        OperatorUser userId2 = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
                .eq("userId", userId1));
        // 0未认证 1待审核 2通过 3驳回
        userId2.setAlipayAudit(1);
        operatorUserService.updateById(userId2);
        OperatorAuthAlipay data = operatorAuthService.getOne(new QueryWrapper<OperatorAuthAlipay>().eq("operatorId", operatorId));
        String group="ABC";
    // 调用支付宝接口 通过银行卡号获取银行信息
        String url = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&" +
                "cardNo="+bankCard+"&cardBinCheck=true";
        HashMap<String, String> hashMap = new HashMap<>();
        String result = HttpRequestUtil.postRequest(url,hashMap);
        System.err.println(result);
        JSONObject json2 = JSONObject.parseObject(result);
        String bank = json2.getString("bank");
        String cardType1 = json2.getString("cardType");
        // 根据银行卡号查询所属银行
        String group=bank;
//        if(StringUtils.hasLength(bankName)){
//            Pattern pattern = Pattern.compile(".*[\\u4e00-\\u9fa5]+"); // 只保留汉字部分
//            Matcher matcher = pattern.matcher(bankName);
@@ -398,6 +415,12 @@
        operatorAuth.setShopProvince(shopProvince);
        operatorAuth.setShopProvinceCode(shopProvinceCode);
        operatorAuth.setShopCityCode(shopCityCode);
        if(StringUtils.hasLength(province)&& province.equals("请选择省")){
            operatorAuth.setProvince(null);
        }
        if(StringUtils.hasLength(city)&& province.equals("请选择市")){
            operatorAuth.setCity(null);
        }
        operatorAuth.setProvince(province);
        operatorAuth.setProvinceCode(provinceCode);
        operatorAuth.setShopDistrict(shopDistrict);
@@ -443,7 +466,6 @@
                "      \"mobile\":\""+phone+"\"," +
                "    }" +
                "  ],";
        // todo 拼接
        String biz_cards="  \"biz_cards\":[" +
                "    {" +
@@ -462,12 +484,12 @@
        String type ;
        // 结算类型为支付宝 填写支付宝账号 结算类型为银行卡填写银行卡号
        String account;
        if (StringUtils.hasLength(alipayAccount)){
            type =  accountType;
            account = alipayAccount;
        }else{
        if (accountType.equals("bankCard")){
            type = accountType;
            account = bankCard;
        }else{
            type =  accountType;
            account = alipayAccount;
        }
        String res=
                "  \"service\":[" +
@@ -493,6 +515,9 @@
        if (accountType.equals("bankCard")){
            request.setBizContent(param
                    + biz_cards+res);
        }else{
            request.setBizContent(param
                    +res);
        }
        AntMerchantExpandIndirectZftCreateResponse response = null;
        try {
@@ -507,6 +532,7 @@
            String order_no = json1.getString("order_id");
            System.err.println("订单号"+order_no);
            operatorAuth.setOrderNo(order_no);
            operatorAuth.setRefuseReason("");
            operatorAuthService.saveOrUpdate(operatorAuth);
            Integer userId = operatorService.getById(operatorId).getUserId();
            OperatorUser user = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("userId", userId));
@@ -517,6 +543,7 @@
            }else{
                user.setAlipayType(1);
            }
            operatorUserService.saveOrUpdate(user);
        } else {
            if (response.getCode().equals("40004")){
                String subMsg = response.getSubMsg();
@@ -575,15 +602,10 @@
     */
    @RequestMapping(value = "/proportion")
    @ResponseBody
    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));
    public Object auth(Integer operatorIdOne ,String alipayProportion,String wechatProportion) {
        OperatorUser id = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("operatorId", operatorIdOne));
        id.setAlipayProportion(alipayProportion);
        id.setWechatProportion(wechatProportion);
        id.setAlipayNum(alipayNum);
        id.setWechatNum(wechatNum);
        operatorUserService.updateById(id);
        return SUCCESS_TIP;
    }