支付宝小程序卡包开发(流程+详细案例+商户会员卡)

首先先让大家看看开发出来的卡是什么样子的如下:

开发出来是这个效果,其中包括步骤如下:
在这里插入图片描述
快速接入
第一步:创建小程序
要在您的小程序内使用 商户会员卡功能,您需要首先完成 开发者入驻 并 创建小程序 。

第二步:添加功能
在小程序详情页的功能列表中添加“商户会员卡”和“支付宝卡包”两个功能包,如下图所示:

在这里插入图片描述

配置参数 获取方式/示例值
URL(支付宝网关(固定)) https://openapi.alipay.com/gateway.do
APPID(APPID 即创建应用后生成) 获取见(https://opendocs.alipay.com/open/200/105310#s5
APP_PRIVATE_KEY(开发者私钥,由开发者自己生成) 获取见(https://opendocs.alipay.com/open/291/105971
FORMAT(参数返回格式,只支持 JSON) JSON(固定)
CHARSET(编码集,支持 GBK/UTF-8) 开发者根据实际工程编码配置
ALIPAY_PUBLIC_KEY(支付宝公钥,由支付宝生成) 获取详见(https://opendocs.alipay.com/open/291/105971
SIGN_TYPE(商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2) RSA2

第一步:创建卡模板
第二步:配置开卡表单(看个人业务了可有可无表单项)
第三步:获取投放链接
第四步:小程序内唤起会员开卡授权页面
第五步:获取用户填写的表单信息
第六步:商户开卡给用户

下面就是java写的接口说明了
/save 存支付宝信息接口

/getcode 根据 code获取AccessToken 和UserId(获取支付宝 唯一id)接口

/shenfenrz 拉取支付宝身份验证接口

/model 创建卡模板接口

/chuangjian 配置开卡表单信息接口

/fafang 投放链接接口

/userInfo 获取表单信息接口

/opencard 支付宝开卡接口

/imgurllog 获取卡包log图片接口

/imgurlbj 获取卡包背景图片接口

/delrz 删除支付宝信息接口

/delcard 会员卡销卡接口

其中/shenfenrz是拉取人脸识别认证的接口具体功能效果如下图:
在这里插入图片描述
上代码:
1.1 pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <packaging>war</packaging>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 打war包时加入此项, 告诉spring-boot tomcat相关jar包用外部的,不要打进去 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.10.0.ALL</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.48</version>
        </dependency>

        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>4.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

1.2 application.yml

server:
  port: 8888
spring:
  application:
    name: cloud-provider-service
  datasource:
      #    type: com.alibaba.druid.pool.DruidDataSource      #当前数据源操作类型
      #    driver-class-name: org.gjt.mm.mysql.Driver        #mysql驱动包
      #    url: jdbc:mysql://localhost:3306/db2020326?useUnicode=true&characterEncoding-utr-8&useSSL=false
      #    username: root
      #    password: root
    url: jdbc:sqlserver://localhost;DatabaseName=dzrclkcs
    username: sa
    password: Dingzhou!#%
#    url: jdbc:sqlserver://192.168.1.65;DatabaseName=ccflow-dzrclk
#    username: sa
#    password: admin123W

      #使用druid数据源
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver

mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.example.demo.entities       #所有Entity别名类所在包
  #  configuration: map-underscore-to-camel-case=true

1.3 主启动

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ImportResource;

@SpringBootApplication
@MapperScan("com.example.demo.dao")
@ImportResource(locations = {
    
    "classpath:mapper/PaymentMapper.xml"})
public class DemoApplication  extends SpringBootServletInitializer {
    
    
    // 重写 configure方法
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
    {
    
    
        return application.sources(DemoApplication.class);
    }

    public static void main(String[] args) {
    
    
        SpringApplication.run(DemoApplication.class, args);
        System.err.println("111111111");
    }

}

1.4 业务类

package com.example.demo;

import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.FileItem;
import com.alipay.api.request.*;
import com.alipay.api.response.*;
import com.example.demo.entities.NDShenPi;
import com.example.demo.entities.userinfo;
import com.example.demo.service.sfrz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;

/**
 * @author : 宋银义
 * @date : 2020-05-28 09:48
 **/
@Controller
public class shenfenrz {
    
    
    @Autowired
    private sfrz sfrz;

    /**
     * 个人回调地址
     */
    public static final String REDIRECT_URI = "http://www.baidu.com";
    /**
     * 支付宝网关(固定)
     */
    public static final String URL = "https://openapi.alipay.com/gateway.do";
    /**
     * APPID 即创建应用后生成
     */
    public static final String APP_ID = "202100116xxx";
    /**
     * 开发者私钥,由开发者自己生成
     */
    public static final String APP_PRIVATE_KEY = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDWm+wVrCh70oqmRpUtA/RAn7JhbJJaJ9yznVFqMdHk7jhIIP5J2pxQbIDAb/5iA8TuyURp6yu0uq3B1+fuf9PL/A7p8b8V4lyrMMD+5KrXZtZO7TfOLQwm1D+BxkMaY6LhFXs0LMf6jEndz+IvZZY0mi4RmkplkEWBOy+UoueEcF/LFkNXAr3VQy6DztnN1rlTuic0Bbb+uRMJSdvn9/H1OmbTC5mqYFOM5uB2jZYR49lhyLew3o02SLbvtZ9ML5xlg9lm8RSQkLC/2LO9fk9QO+P9HB8POoDwmFH0Rwccuz+nwVC6nEQgouKlGrFb3s/yRlsUFBctSmncsIpLgKYZAgMBAAECggEBANZNHyPJJSf4ZzGA/AfWkfpSPgthIofalF3bs2fq1eDYLOWB5MuU/FCm+K6xZwEzKF0WKDXoe11eqJIP6m9TwAhK7A2atKjCwKzF44LkjuDHtStdYEOG4kKH4d7SP0HDyusey0efjBZaLozLwN55f9OJPoWfX7kppu5UTsALKEsrIeVozTIFKG6gN2BgmH54T5nBE8x0HYHq5qymyeHnCiIPaqaoTxHzQK/n4hjS3zbbU214WbbyVxOyphTTn9RbHlLUq0V0opMne2ycn1iEKMPY4MyePZWV/y1syqP7WZY0MyNpicN2LeXOMEkZpFGGgxGL7RmCdHO/iOhnp31tIjECgYEA/8asi72F6C1kGVVChl19RoEV1KPv5YQQ9m6V6roXhPUhhxNLu781UCvB/14NGeZfNKcIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    /**
     * 参数返回格式,只支持json
     */
    public static final String FORMAT = "json";
    /**
     * 编码集,支持GBK/UTF-8
     */
    public static final String CHARSET = "UTF-8";
    /**
     * 支付宝公钥,由支付宝生成
     */
    public static final String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq9xTpJDfyWSwel7o6KXQ92o2Y5qSCMHoC8FFn5vFibWD/s5TcGSVzyMgiBrqqCPyY5Qxxxxxxxxxxxxxxxx";
    /**
     * 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2
     */
    public static final String SIGN_TYPE = "RSA2";
    /**
     * 接口权限值,目前只支持auth_user和auth_base两个值-->>
     * auth_base:以auth_base为scope发起的网页授权,是用来获取进入页面的用户的userId的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(通常是业务页面)。
     * auth_user:以auth_user为scope发起的网页授权,是用来获取用户的基本信息的(比如头像、昵称等)。但这种授权需要用户手动同意,用户同意后,就可在授权后获取到该用户的基本信息。若想获取用户信息,scope的值中需要有该值存在,如scope=auth_user,auth_base。
     */
    public static final String SCOPE = "auth_base";

    @GetMapping("/delcard")
    @ResponseBody
    public HashMap<String, String> selectcard(String appid) throws AlipayApiException {
    
    
        HashMap<String, String> map = new HashMap<>();
        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayMarketingCardDeleteRequest request = new AlipayMarketingCardDeleteRequest();
        UUID uuid = UUID.randomUUID();
        String uuid1=String.valueOf(uuid);
        userinfo userinfo=sfrz.selectopcardid(appid);

        String opencardid = "";
        if (userinfo.getOpencardid()!=null){
    
    
            opencardid = userinfo.getOpencardid();
        }else {
    
    
            opencardid = "";
        }
        long time = new Date().getTime();
        request.setBizContent("{" +
                "\"out_serial_no\":\""+uuid1+"\"," +
                "\"target_card_no\":\""+opencardid+ "\"," +
                "\"target_card_no_type\":\"BIZ_CARD\"," +
                "\"reason_code\":\"USER_UNBUND\"," +
                "\"ext_info\":\"{\\\"new_card_no\\\":\\\""+time+"\\\",\\\" donee_user_id\\\":\\\""+appid+"\\\"}\"" +
                "  }");
        AlipayMarketingCardDeleteResponse response = alipayClient.execute(request);
        String AlipayResultS = response.getBody();
        JSONObject AlipayResult = JSONObject.parseObject(AlipayResultS);
        if (AlipayResult != null) {
    
    
            JSONObject AlipayJson = AlipayResult.getJSONObject("alipay_marketing_card_delete_response");
            try {
    
    
                String msg = AlipayJson.getString("msg");
                String biz_serial_no = AlipayJson.getString("biz_serial_no");
                String code = AlipayJson.getString("code");
                map.put("msg",msg);
                map.put("biz_serial_no",biz_serial_no);
                map.put("code",code);
            } catch (Exception e) {
    
    
                e.getMessage();
            }

        }
        if(response.isSuccess()){
    
    
            System.out.println("调用成功");
        } else {
    
    
            System.out.println("调用失败");
        }
        return map;
    }



    @GetMapping("/delrz")
    @ResponseBody
    public HashMap<String, String> delappid(String sfzh){
    
    
        HashMap<String, String> map = new HashMap<>();
        int i = sfrz.delappid(sfzh);
        if (i>0){
    
    
            map.put("success","true");
        }else {
    
    
            map.put("success","false");
        }
        return map;
    }

    @GetMapping("/imgurlbj")
    @ResponseBody
    public HashMap<String, String> imgurlbj() throws AlipayApiException {
    
    
        HashMap<String, String> map = new HashMap<>();
        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayOfflineMaterialImageUploadRequest request = new AlipayOfflineMaterialImageUploadRequest();
        request.setImageType("png");
        request.setImageName("定州市电子英才服务卡");
        String classesPath=Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(1);
        FileItem ImageContent = new FileItem(classesPath+"\\static\\img\\card2.png");
        System.err.println("user.dir:=="+classesPath);
        request.setImageContent(ImageContent);
        UUID uuid = UUID.randomUUID();
        String uuid1=String.valueOf(uuid);
        request.setImagePid(uuid1);
        AlipayOfflineMaterialImageUploadResponse response = alipayClient.execute(request);
        String AlipayResultS = response.getBody();
        JSONObject AlipayResult = JSONObject.parseObject(AlipayResultS);
        if (AlipayResult != null) {
    
    
            JSONObject AlipayJson = AlipayResult.getJSONObject("alipay_offline_material_image_upload_response");
            try {
    
    
                String msg = AlipayJson.getString("msg");
                String image_id = AlipayJson.getString("image_id");
                String image_url = AlipayJson.getString("image_url");
                map.put("msg",msg);
                map.put("image_idbj",image_id);
                map.put("image_urlbj",image_url);
            } catch (Exception e) {
    
    
                e.getMessage();
            }

        }
        if(response.isSuccess()){
    
    
            System.out.println("调用成功");
        } else {
    
    
            System.out.println("调用失败");
        }
        return map;
    }

    @GetMapping("/imgurllog")
    @ResponseBody
    public HashMap<String, String> imgurllog() throws AlipayApiException {
    
    
        HashMap<String, String> map = new HashMap<>();
        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayOfflineMaterialImageUploadRequest request = new AlipayOfflineMaterialImageUploadRequest();
        request.setImageType("png");
        request.setImageName("定州市电子英才服务卡");
        String classesPath=Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(1);
        FileItem ImageContent = new FileItem(classesPath+"\\static\\img\\logo.png");
        System.err.println("user.dir:=="+classesPath);
        request.setImageContent(ImageContent);
        UUID uuid = UUID.randomUUID();
        String uuid1=String.valueOf(uuid);
        request.setImagePid(uuid1);
        AlipayOfflineMaterialImageUploadResponse response = alipayClient.execute(request);
        String AlipayResultS = response.getBody();
        JSONObject AlipayResult = JSONObject.parseObject(AlipayResultS);
        if (AlipayResult != null) {
    
    
            JSONObject AlipayJson = AlipayResult.getJSONObject("alipay_offline_material_image_upload_response");
            try {
    
    
                String msg = AlipayJson.getString("msg");
                String image_id = AlipayJson.getString("image_id");
                String image_url = AlipayJson.getString("image_url");
                map.put("msg",msg);
                map.put("image_idlog",image_id);
                map.put("image_urllog",image_url);
            } catch (Exception e) {
    
    
                e.getMessage();
            }

        }
        if(response.isSuccess()){
    
    
            System.out.println("调用成功");
        } else {
    
    
            System.out.println("调用失败");
        }
        return map;
    }

    @GetMapping("/opencard")
    @ResponseBody
    public HashMap<String, String> opencard(String template_id,String accessToken,String appid,String xm,String sfzh) throws AlipayApiException {
    
    

        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayMarketingCardOpenRequest request = new AlipayMarketingCardOpenRequest();
        String format1="";
        HashMap<String, String> map = new HashMap<>();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        long time = new Date().getTime();
        Date date = new Date();
        String format = sdf.format(date);
        NDShenPi ndShenPi = sfrz.getselect(sfzh, xm);
        if (ndShenPi.getCardFiveDQTime()!=null){
    
    
            format1 = sdf.format(ndShenPi.getCardFiveDQTime());
        }else {
    
    
            format1 = format;
        }
        String LianXiRen="";
        if (ndShenPi.getLianXiRen()!=null){
    
    
            LianXiRen= ndShenPi.getLianXiRen();
        }else {
    
    
            LianXiRen= "没有填写联系人姓名";
        }
        String xingbie="";
        if (ndShenPi.getXingBie().equals("男")){
    
    
            xingbie="MALE";
        }else {
    
    
            xingbie="FEMALE";
        }
        String shengri="";
        if(ndShenPi.getShengRi()!=null){
    
    
            shengri=ndShenPi.getShengRi();
        }else {
    
    
            shengri="";
        }
        String lianXiDianHua = "";
        if(ndShenPi.getLianXiDianHua()!=null){
    
    
            lianXiDianHua = ndShenPi.getLianXiDianHua();
        }else {
    
    
            lianXiDianHua = "";

        }
        UUID uuid = UUID.randomUUID();
        UUID uuid2 = UUID.randomUUID();
        String uuid1=String.valueOf(uuid);
        String uuid3=String.valueOf(uuid2);
        int i1 = sfrz.save1(appid,uuid3);
        request.setBizContent("{" +
                "\"out_serial_no\":\""+uuid1+"\"," +
                "\"card_template_id\":\""+template_id+"\"," +
                "\"card_user_info\":{" +
                "\"user_uni_id\":\""+appid+"\"," +
                "\"user_uni_id_type\":\"UID\"" +
                "    }," +
                "\"card_ext_info\":{" +
                "\"biz_card_no\":\""+uuid3+"\"," +
                "\"external_card_no\":\"定州市电子英才服务卡\"," +
                "\"open_date\":\""+format+"\"," +
                "\"valid_date\":\""+format1+"\"," +
                "\"level\":\"VIP1\"," +
                "\"point\":\"88\"," +
                "\"balance\":\"124.89\"," +/*资金卡余额,单位:元,精确到小数点后两位。*/
                "\"mdcode_info\":{" +
                "\"code_status\":\"SUCCESS\"," +
                "\"code_value\":\"1KFCDY0002\"," +
                "\"expire_time\":\"2017-06-09 16:25:53\"," +
                "\"time_stamp\":"+time+"" +
                "      }," +
                "        \"front_text_list\":[{" +
                "          \"label\":\"专业\"," +
                "\"value\":\"金融贸易\"" +
                "          }]," +
                "\"front_image_id\":\"9fxnkgt0QFmqKAl5V2BqxQAAACMAAQED\"" +
                "    }," +
                "\"member_ext_info\":{" +
                "\"name\":\""+LianXiRen+"\"," +
                "\"gende\":\""+xingbie+"\"," +
                "\"birth\":\""+shengri+"\"," +
                "\"cell\":\""+lianXiDianHua+"\"" +
                "    }," +
                "\"open_card_channel\":\"20161534000000000008863\"," +
                "\"open_card_channel_id\":\"2088123123123123\"" +
                "  }");
        request.putOtherTextParam("app_auth_token", null);
        AlipayMarketingCardOpenResponse response = alipayClient.execute(request,accessToken);
        String AlipayResultS = response.getBody();
        JSONObject AlipayResult = JSONObject.parseObject(AlipayResultS);
        if (AlipayResult != null) {
    
    
            JSONObject AlipayJson = AlipayResult.getJSONObject("alipay_marketing_card_open_response");
            try {
    
    
                String msg = AlipayJson.getString("msg");
                String code = AlipayJson.getString("code");
                String card_info = AlipayJson.getString("card_info");
                map.put("msg",msg);
                map.put("code",code);
                map.put("card_info",card_info);
            } catch (Exception e) {
    
    
                e.getMessage();
            }
        }
        return map;
    }




    @GetMapping("/userInfo")
    @ResponseBody
    public HashMap<String, String> userInfo(String template_id,String accessToken,String requestId) throws AlipayApiException {
    
    

        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayMarketingCardActivateformQueryRequest request = new AlipayMarketingCardActivateformQueryRequest();
        HashMap<String, String> map = new HashMap<>();

        UUID uuid = UUID.randomUUID();
        String uuid1=String.valueOf(uuid);
        String bizContent="{\n" +
                "  \"biz_type\": \"MEMBER_CARD\",\n" +
                "  \"template_id\": \""+template_id+"\",\n" +
                "  \"request_id\": \""+requestId+"\"\n" +
                "}";
        request.setBizContent(bizContent);
        AlipayMarketingCardActivateformQueryResponse response = alipayClient.execute(request,accessToken);
        String AlipayResultS = response.getBody();
        JSONObject AlipayResult = JSONObject.parseObject(AlipayResultS);
        if (AlipayResult != null) {
    
    
            JSONObject AlipayJson = AlipayResult.getJSONObject("alipay_marketing_card_activateform_query_response");
            try {
    
    
                String msg = AlipayJson.getString("msg");
                String code = AlipayJson.getString("code");
                map.put("msg",msg);
                map.put("code",code);
            } catch (Exception e) {
    
    
                e.getMessage();
            }

        }
        return map;
    }


    @GetMapping("/fafang")
    @ResponseBody
    public HashMap<String, String> fafang(String template_id) throws AlipayApiException {
    
    

        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayMarketingCardActivateurlApplyRequest request = new AlipayMarketingCardActivateurlApplyRequest();
        HashMap<String, String> map = new HashMap<>();
        UUID uuid = UUID.randomUUID();
        String uuid1=String.valueOf(uuid);
        String bizContent="{\n" +
                "  \"template_id\": \""+template_id+"\",\n" +
                "  \"out_string\": \"201928393932\"\n" +
                "}";
        request.setBizContent(bizContent);
        AlipayMarketingCardActivateurlApplyResponse response = alipayClient.execute(request);
        String AlipayResultS = response.getBody();
        JSONObject AlipayResult = JSONObject.parseObject(AlipayResultS);
        if (AlipayResult != null) {
    
    
            JSONObject AlipayJson = AlipayResult.getJSONObject("alipay_marketing_card_activateurl_apply_response");
            try {
    
    
                String apply_card_url = AlipayJson.getString("apply_card_url");
                String msg = AlipayJson.getString("msg");
                map.put("msg",msg);
                map.put("apply_card_url",apply_card_url);
            } catch (Exception e) {
    
    
                e.getMessage();
            }

        }
        return map;
    }


    @GetMapping("/chuangjian")
    @ResponseBody
    public String chuangjian(String template_id) throws AlipayApiException {
    
    

        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayMarketingCardFormtemplateSetRequest request = new AlipayMarketingCardFormtemplateSetRequest();
        String bizContent="{\n" +
                "\"template_id\":\""+template_id+"\"," +
                "\"fields\":{" +
                "\"required\":\"{\\\"common_fields\\\":[\\\"OPEN_FORM_FIELD_MOBILE\\\"]}\"" +
                "}" +
                "}";
        request.setBizContent(bizContent);
        AlipayMarketingCardFormtemplateSetResponse response = alipayClient.execute(request);
        return response.getBody();
    }



    /**
     * 新建模板
     * appAuthToken如ISV代替商家调用接口,需将商户授权后获取的 app_auth_token 带上;如商家自己调用,则传 null。
     * bizContent 因该接口业务参数复杂,请详见接口文档
     */
    @GetMapping("/model")
    @ResponseBody
    public HashMap<String, String> model(String sfzh,String xm,String appid) throws AlipayApiException {
    
    
        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayMarketingCardTemplateCreateRequest request = new AlipayMarketingCardTemplateCreateRequest();
        String appAuthToken = null;
        String format1="";
        String finnalyStatus="";
        HashMap<String, String> map = new HashMap<String, String>();
        long time = new Date().getTime();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        String format = sdf.format(date);
        NDShenPi ndShenPi = sfrz.getselect(sfzh, xm);
        /*sfrz.getapp_id()*/
        String serialNumber=appid;
        System.err.println("CardFiveDQTime:"+ndShenPi.getCardFiveDQTime());
        if (ndShenPi.getCardFiveDQTime()!=null){
    
    
            format1 = sdf.format(ndShenPi.getCardFiveDQTime());
        }else {
    
    
            format1 = format;
        }
        String leixing = "";
        if(ndShenPi.getCardTypeS()!=null){
    
    
            leixing = ndShenPi.getCardTypeS();
        }else {
    
    
            leixing = "还没有填写";
        }
        String card="";
        if(ndShenPi.getCardNo()!=null){
    
    
            card=ndShenPi.getCardNo();
        }else {
    
    
            card="没有卡号";
        }


        String bizContent="{\n" +
                "    \"request_id\": \""+time+"\",\n" +
                "    \"card_type\": \"OUT_MEMBER_CARD\",\n" +
                "    \"biz_no_prefix\": \"prexupdate\",\n" +
                "    \"biz_no_suffix_len\": \"15\",\n" +/*业务卡号后缀的长度*/
                "    \"write_off_type\": \"none\",\n" +
                "    \"template_style_info\": {\n" +
                "        \"card_show_name\": \"定州市电子英才服务卡\",\n" +
                "        \"logo_id\": \"YVdA4lajQ_irTUhAoOVOaAAAACMAAQED\",\n" +
                "        \"color\": \"rgb(55,112,179)\",\n" +
                "        \"background_id\": \"1Nso6cQtRxmVhyBQvN8h3QAAACMAAQED\",\n" +
                "        \"bg_color\": \"rgb(16,142,233)\"\n" +
                "    },\n" +
                "    \"column_info_list\": [{\n" +
                "        \"code\": \"BENEFIT_INFO\",\n" +
                "        \"more_info\":{\n" +
                "        \"title\": \"扩展信息\",\n" +
                "        \"url\": \"alipays://platformapi/startapp?appId=2021001164604451&page=pages/activate/index&query="+sfzh+"\",\n" +
                "        \"params\": \"{}\"\n" +
                "    },\n" +
                "        \"title\": \"卡号\",\n" +
                "        \"operate_type\": \"openWeb\",\n" +
                "        \"value\": \""+card+"\"\n" +
                "    }, {\n" +
                "        \"code\": \"NAME\",\n" +
                "        \"title\": \"姓名\",\n" +
                "        \"value\": \""+xm+"\"\n" +
                "    }, {\n" +
                "        \"code\": \"SFZH\",\n" +
                "        \"title\": \"有效日期\",\n" +
                "        \"value\": \""+format1+"\"\n" +
                "    }, {\n" +
                "        \"code\": \"TYPE\",\n" +
                "        \"title\": \"类型\",\n" +
                "        \"value\": \""+leixing+"卡\"\n" +
                "    }],\n" +
                "    \"field_rule_list\": [{\n" +
                "        \"field_name\": \"Balance\",\n" +
                "        \"rule_name\": \"ASSIGN_FROM_REQUEST\",\n" +
                "        \"rule_value\": \"Balance\"\n" +
                "    }]\n" +
                "}";
        request.putOtherTextParam("app_auth_token", appAuthToken);
        request.setBizContent(bizContent);
        AlipayMarketingCardTemplateCreateResponse response = alipayClient.execute(request);

        String body = response.getBody();
        if(response.isSuccess()) {
    
    
            System.err.println("调用成功");
            System.err.print("response.getBody():=="+response.getBody());//根据业务处理response
            String AlipayResultS = response.getBody();
            JSONObject AlipayResult = JSONObject.parseObject(AlipayResultS);
            if (AlipayResult != null) {
    
    
                JSONObject AlipayJson = AlipayResult.getJSONObject("alipay_marketing_card_template_create_response");
                try {
    
    
                    String template_id = AlipayJson.getString("template_id");
                    String msg = AlipayJson.getString("msg");
                    map.put("msg",msg);
                    map.put("template_id",template_id);
                } catch (Exception e) {
    
    
                        finnalyStatus = "认证已失效,请重试";
                }
            }
        }

        return map;
    }


    @GetMapping("/shenfenrz")
    @ResponseBody
    public HashMap<String, String> shenfenrz(String sfzh, String xm, String appid) throws AlipayApiException {
    
    

        HashMap<String, String> map = null;
        map = new HashMap<>();
        int i = sfrz.getapp_id(appid,sfzh,xm);
        System.err.println(i);
        if (i == 0) {
    
    
            AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
            AlipayUserCertifyOpenInitializeRequest request = new AlipayUserCertifyOpenInitializeRequest();
//          new AlipayUserCertifyInfoApplyRequest();
            //构造身份信息json对象
            JSONObject identityObj = new JSONObject();
            //身份类型,必填,详细取值范围请参考接口文档说明
            identityObj.put("identity_type", "CERT_INFO");
            //证件类型,必填,详细取值范围请参考接口文档说明
            identityObj.put("cert_type", "IDENTITY_CARD");
            //真实姓名,必填

            String regex = "\\d{15}(\\d{2}[0-9xX])?";
            String id = sfzh;

            if (id.matches(regex)) {
    
    
                //证件号码,必填
                identityObj.put("cert_no", sfzh);
            } else {
    
    
                map.put("message", "请认真核对身份证证件号码信息");
                map.put("success", "false");
            }
            identityObj.put("cert_name", xm);
            //证件号码,必填
//        identityObj.put("cert_no", sfzh);

            //构造商户配置json对象
            JSONObject merchantConfigObj = new JSONObject();
            // 设置回调地址,必填. 如果需要直接在支付宝APP里面打开回调地址使用alipay协议,参考下面的案例:appId用固定值 20000067,url替换为urlEncode后的业务回跳地址
            // alipays://platformapi/startapp?appId=20000067&url=https%3A%2F%2Fapp.cqkqinfo.com%2Fcertify%2FzmxyBackNew.do
            merchantConfigObj.put("return_url", "alipays://platformapi/startapp?appId=20000067&url=https%3A%2F%2Fapp.cqkqinfo.com%2Fcertify%2FzmxyBackNew.do");

            //构造身份认证初始化服务业务参数数据
            JSONObject bizContentObj = new JSONObject();
            //商户请求的唯一标识,推荐为uuid,必填
            String uuid = UUID.randomUUID().toString();
            bizContentObj.put("outer_order_no", uuid);
            bizContentObj.put("biz_code", "FACE");
            bizContentObj.put("identity_param", identityObj);
            bizContentObj.put("merchant_config", merchantConfigObj);
            request.setBizContent(bizContentObj.toString());

            //发起请求
            AlipayUserCertifyOpenInitializeResponse response = alipayClient.execute(request);
            String url = "";
            if (response.isSuccess()) {
    
    
                System.out.println("调用成功");
                //接口调用成功,从返回对象中获取certify_id
                String certifyId = response.getCertifyId();
                url = url(certifyId);
                //执行后续流程...
                map.put("certifyId", certifyId);
                map.put("url", url);
                if (certifyId != null && url != null) {
    
    
                    map.put("success", "2");

                } else {
    
    
                    map.put("success", "3");
                }
            } else {
    
    
                System.out.println("调用失败");
            }
            return map;
        } else {
    
    
            map.put("success", "1");
            NDShenPi ndShenPi = sfrz.getselect(sfzh, xm);
            System.err.println("ndShenPi:" + ndShenPi);
            if (ndShenPi != null) {
    
    
                map.put("id", String.valueOf(ndShenPi.getId()));
                map.put("BillNo", ndShenPi.getBillNo());
                map.put("OID", String.valueOf(ndShenPi.getOID()));
                map.put("ShiXiangMingCheng", ndShenPi.getShiXiangMingCheng());
                map.put("ShiXiangLeiXing", ndShenPi.getShiXiangLeiXing());
                map.put("ShouLiShiXian", ndShenPi.getShouLiShiXian());
                map.put("ShiXiangBianMa", ndShenPi.getShiXiangBianMa());
                map.put("ShouLiBuMen", ndShenPi.getShouLiBuMen());
                map.put("ShouLiChuangKou", ndShenPi.getShouLiChuangKou());
                map.put("ShouLiShiJian", ndShenPi.getShouLiShiJian());
                map.put("ShenQingRen", ndShenPi.getShenQingRen());
                map.put("ShenQingRenEN", ndShenPi.getShenQingRenEN());
                map.put("ZhengJianType", ndShenPi.getZhengJianType());
                map.put("ZhengJianHao", ndShenPi.getZhengJianHao());
                map.put("Img", ndShenPi.getImg());
                map.put("ShengRi", ndShenPi.getShengRi());
                map.put("XingBie", ndShenPi.getXingBie());
                map.put("MinZu", ndShenPi.getMinZu());
                map.put("GuoJia", ndShenPi.getGuoJia());
                map.put("HuKouSuoZaiDi", ndShenPi.getHuKouSuoZaiDi());
                map.put("XueLi", ndShenPi.getXueLi());
                map.put("XueLiQuanRiZhi", ndShenPi.getXueLiQuanRiZhi());
                map.put("QuanRiZhiZhuanYe", ndShenPi.getQuanRiZhiZhuanYe());
                map.put("HaiWai", ndShenPi.getHaiWai());
                map.put("XueLiZaiZhi", ndShenPi.getXueLiZaiZhi());
                map.put("ZaiZhiZhuanYe", ndShenPi.getZaiZhiZhuanYe());
                map.put("RenCaiLeiBie", ndShenPi.getRenCaiLeiBie());
                map.put("RenCaiChengHao", ndShenPi.getRenCaiChengHao());
                map.put("BiYeZhengShuBH", ndShenPi.getBiYeZhengShuBH());
                map.put("YJTime", ndShenPi.getYJTime());
                map.put("YouXiang", ndShenPi.getYouXiang());
                map.put("DianHua", ndShenPi.getDianHua());
                map.put("ShouJi", ndShenPi.getShouJi());
                map.put("YuanDanWei", ndShenPi.getYuanDanWei());
                map.put("YuanZhiCheng", ndShenPi.getYuanZhiCheng());
                map.put("YinJinLeiXing", ndShenPi.getYinJinLeiXing());
                map.put("QianYueQiXian", ndShenPi.getQianYueQiXian());
                map.put("ZhiCheng", ndShenPi.getZhiCheng());
                map.put("DanWei", ndShenPi.getDanWei());
                map.put("DiZhiQu", ndShenPi.getDiZhiQu());
                map.put("DiZhi", ndShenPi.getDiZhi());
                map.put("HangYe", ndShenPi.getHangYe());
                map.put("XingZhi", ndShenPi.getXingZhi());
                map.put("ShengZhi", ndShenPi.getShengZhi());
                map.put("FaRen", ndShenPi.getFaRen());
                map.put("LianXiRen", ndShenPi.getLianXiRen());
                map.put("LianXiDianHua", ndShenPi.getLianXiDianHua());
                map.put("GZShiJian", ndShenPi.getGZShiJian());
                map.put("GZGongZuo", ndShenPi.getGZGongZuo());
                map.put("GZZhiWu", ndShenPi.getGZZhiWu());
                map.put("JLMingCheng", ndShenPi.getJLMingCheng());
                map.put("JLShiJian", ndShenPi.getJLShiJian());
                map.put("JLBuMen", ndShenPi.getJLBuMen());
                map.put("QXingMing", ndShenPi.getQXingMing());
                map.put("QZhengHao", ndShenPi.getQZhengHao());
                map.put("QXingBie", ndShenPi.getQXingBie());
                map.put("QGuanXi", ndShenPi.getQGuanXi());
                map.put("QMingZu", ndShenPi.getQMingZu());
                map.put("QShengRi", ndShenPi.getQShengRi());
                map.put("QZhiWu", ndShenPi.getQZhiWu());
                map.put("QHuKouDiZhi", ndShenPi.getQHuKouDiZhi());
                map.put("QHuKou", ndShenPi.getQHuKou());
                map.put("YuanHuKou", ndShenPi.getYuanHuKou());
                map.put("YuanHuKouDiZhi", ndShenPi.getYuanHuKouDiZhi());
                map.put("HuKou", ndShenPi.getHuKou());
                map.put("HuKouDiZhi", ndShenPi.getHuKouDiZhi());
                map.put("GuestNo", ndShenPi.getGuestNo());
                map.put("GuestName", ndShenPi.getGuestName());
                map.put("BeiZhu", ndShenPi.getBeiZhu());
                map.put("ShouLiTiaoJian", ndShenPi.getShouLiTiaoJian());
                map.put("ShenQingShiJian", ndShenPi.getShenQingShiJian());
                map.put("Type", ndShenPi.getType());
                map.put("FromTo", ndShenPi.getFromTo());
                map.put("YuShenTxt", ndShenPi.getYuShenTxt());
                map.put("YuShenTime", ndShenPi.getYuShenTime());
                map.put("YuShenRen", ndShenPi.getYuShenRen());
                map.put("YuShenAccount", ndShenPi.getYuShenAccount());
                map.put("PJQStar", ndShenPi.getPJQStar());
                map.put("SmsNote", ndShenPi.getSmsNote());
                map.put("PJQMsg", ndShenPi.getPJQMsg());
                map.put("CardNo", ndShenPi.getCardNo());
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                if (ndShenPi.getCardDate() == null) {
    
    
                    map.put("CardDate", null);
                } else {
    
    
                    map.put("CardDate", sdf.format(ndShenPi.getCardDate()));
                }
                if (ndShenPi.getCardDateDQ() == null) {
    
    
                    map.put("CardDateDQ", null);

                } else {
    
    
                    map.put("CardDateDQ", sdf.format(ndShenPi.getCardDateDQ()));

                }

                if (ndShenPi.getCardFiveDQTime() == null) {
    
    
                    map.put("CardFiveDQTime", null);

                } else {
    
    
                    map.put("CardFiveDQTime", sdf.format(ndShenPi.getCardFiveDQTime()));

                }
                map.put("CardState", String.valueOf(ndShenPi.getCardState()));
                map.put("CardType", String.valueOf(ndShenPi.getCardType()));


                if (ndShenPi.getCardZKDate() == null) {
    
    
                    map.put("CardZKDate", null);

                } else {
    
    
                    map.put("CardZKDate", sdf.format(ndShenPi.getCardZKDate()));

                }


                map.put("CardSerial", ndShenPi.getCardSerial());
                map.put("RenCaiFlg", String.valueOf(ndShenPi.getRenCaiFlg()));
                map.put("RenCaiFlgContent", ndShenPi.getRenCaiFlgContent());
                map.put("CardTypeS", ndShenPi.getCardTypeS());
                if (ndShenPi.getRenCaiZXTime() == null) {
    
    
                    map.put("RenCaiZXTime", null);
                } else {
    
    
                    map.put("RenCaiZXTime", sdf.format(ndShenPi.getRenCaiZXTime()));
                }
                if (ndShenPi.getFuShenTime() == null) {
    
    
                    map.put("FuShenTime", null);
                } else {
    
    
                    map.put("FuShenTime", sdf.format(ndShenPi.getFuShenTime()));

                }

                if (ndShenPi.getAddTime() == null) {
    
    
                    map.put("AddTime", null);

                } else {
    
    
                    map.put("AddTime", sdf.format(ndShenPi.getAddTime()));
                }
                map.put("cardcode", ndShenPi.getCardcode());
                map.put("zzmm", ndShenPi.getZzmm());
                map.put("FuShen", ndShenPi.getFuShen());

            } else {
    
    
                map.put("success", "4");
            }
            return map;
        }

    }


    //    //生成认证请求URL
//    @GetMapping("/geturl")
//    @ResponseBody
    public String url(String certifyId) throws AlipayApiException {
    
    
        //参考代码如下:
        //获取alipay client
        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipayUserCertifyOpenCertifyRequest request = new AlipayUserCertifyOpenCertifyRequest();

        //设置certifyId
        JSONObject bizContentObj = new JSONObject();
        bizContentObj.put("certify_id", certifyId);
        request.setBizContent(bizContentObj.toString());

        //生成请求链接,这里一定要使用GET模式
        AlipayUserCertifyOpenCertifyResponse response = alipayClient.pageExecute(request, "GET");

        String certifyUrl = "";
        if (response.isSuccess()) {
    
    
            System.out.println("开始认证服务调用成功");
            certifyUrl = response.getBody();

            System.err.println("certifyUrl:" + certifyUrl);
            //执行后续流程...


//
        } else {
    
    
            System.out.println("调用失败");
        }
        return certifyUrl;
    }

    //根据 code获取AccessToken 和UserId
    @GetMapping("/getcode")
    @ResponseBody
    public HashMap<String, String> urlsgrz(String code) {
    
    
        HashMap<String, String> map = new HashMap<>();
        AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
        AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
        request.setCode(code);
        request.setGrantType("authorization_code");
        try {
    
    
            AlipaySystemOauthTokenResponse oauthTokenResponse = alipayClient.execute(request);
            System.out.println("AccessToken:" + oauthTokenResponse.getAccessToken());
            System.err.println("user_id:" + oauthTokenResponse.getUserId());
            if (oauthTokenResponse.getAccessToken() == null && oauthTokenResponse.getUserId() == null) {
    
    
                map.put("success", "false");
                map.put("message:", "参数code无效");
            } else {
    
    
                map.put("success", "true");
                map.put("AccessToken", oauthTokenResponse.getAccessToken());
                map.put("UserId", oauthTokenResponse.getUserId());
            }
//            map.put("AccessToken",oauthTokenResponse.getAccessToken());
//            map.put("UserId",oauthTokenResponse.getUserId());
        } catch (AlipayApiException e) {
    
    
            //处理异常
            e.printStackTrace();
        }
        return map;
    }


    @GetMapping("/save")
    @ResponseBody
    public HashMap<String, String> save(String sfzh, String xm, String appid) {
    
    
        String flag = "3";
        HashMap<String, String> map = new HashMap<>();
        int i1 = sfrz.save(sfzh, xm, appid);
        System.err.println("i1:" + i1);
        if (i1 > 0) {
    
    
            NDShenPi ndShenPi = sfrz.getselect(sfzh, xm);
            if (ndShenPi != null) {
    
    
                map.put("id", String.valueOf(ndShenPi.getId()));
                map.put("BillNo", ndShenPi.getBillNo());
                map.put("OID", String.valueOf(ndShenPi.getOID()));
                map.put("ShiXiangMingCheng", ndShenPi.getShiXiangMingCheng());
                map.put("ShiXiangLeiXing", ndShenPi.getShiXiangLeiXing());
                map.put("ShouLiShiXian", ndShenPi.getShouLiShiXian());
                map.put("ShiXiangBianMa", ndShenPi.getShiXiangBianMa());
                map.put("ShouLiBuMen", ndShenPi.getShouLiBuMen());
                map.put("ShouLiChuangKou", ndShenPi.getShouLiChuangKou());
                map.put("ShouLiShiJian", ndShenPi.getShouLiShiJian());
                map.put("ShenQingRen", ndShenPi.getShenQingRen());
                map.put("ShenQingRenEN", ndShenPi.getShenQingRenEN());
                map.put("ZhengJianType", ndShenPi.getZhengJianType());
                map.put("ZhengJianHao", ndShenPi.getZhengJianHao());
                map.put("Img", ndShenPi.getImg());
                map.put("ShengRi", ndShenPi.getShengRi());
                map.put("XingBie", ndShenPi.getXingBie());
                map.put("MinZu", ndShenPi.getMinZu());
                map.put("GuoJia", ndShenPi.getGuoJia());
                map.put("HuKouSuoZaiDi", ndShenPi.getHuKouSuoZaiDi());
                map.put("XueLi", ndShenPi.getXueLi());
                map.put("XueLiQuanRiZhi", ndShenPi.getXueLiQuanRiZhi());
                map.put("QuanRiZhiZhuanYe", ndShenPi.getQuanRiZhiZhuanYe());
                map.put("HaiWai", ndShenPi.getHaiWai());
                map.put("XueLiZaiZhi", ndShenPi.getXueLiZaiZhi());
                map.put("ZaiZhiZhuanYe", ndShenPi.getZaiZhiZhuanYe());
                map.put("RenCaiLeiBie", ndShenPi.getRenCaiLeiBie());
                map.put("RenCaiChengHao", ndShenPi.getRenCaiChengHao());
                map.put("BiYeZhengShuBH", ndShenPi.getBiYeZhengShuBH());
                map.put("YJTime", ndShenPi.getYJTime());
                map.put("YouXiang", ndShenPi.getYouXiang());
                map.put("DianHua", ndShenPi.getDianHua());
                map.put("ShouJi", ndShenPi.getShouJi());
                map.put("YuanDanWei", ndShenPi.getYuanDanWei());
                map.put("YuanZhiCheng", ndShenPi.getYuanZhiCheng());
                map.put("YinJinLeiXing", ndShenPi.getYinJinLeiXing());
                map.put("QianYueQiXian", ndShenPi.getQianYueQiXian());
                map.put("ZhiCheng", ndShenPi.getZhiCheng());
                map.put("DanWei", ndShenPi.getDanWei());
                map.put("DiZhiQu", ndShenPi.getDiZhiQu());
                map.put("DiZhi", ndShenPi.getDiZhi());
                map.put("HangYe", ndShenPi.getHangYe());
                map.put("XingZhi", ndShenPi.getXingZhi());
                map.put("ShengZhi", ndShenPi.getShengZhi());
                map.put("FaRen", ndShenPi.getFaRen());
                map.put("LianXiRen", ndShenPi.getLianXiRen());
                map.put("LianXiDianHua", ndShenPi.getLianXiDianHua());
                map.put("GZShiJian", ndShenPi.getGZShiJian());
                map.put("GZGongZuo", ndShenPi.getGZGongZuo());
                map.put("GZZhiWu", ndShenPi.getGZZhiWu());
                map.put("JLMingCheng", ndShenPi.getJLMingCheng());
                map.put("JLShiJian", ndShenPi.getJLShiJian());
                map.put("JLBuMen", ndShenPi.getJLBuMen());
                map.put("QXingMing", ndShenPi.getQXingMing());
                map.put("QZhengHao", ndShenPi.getQZhengHao());
                map.put("QXingBie", ndShenPi.getQXingBie());
                map.put("QGuanXi", ndShenPi.getQGuanXi());
                map.put("QMingZu", ndShenPi.getQMingZu());
                map.put("QShengRi", ndShenPi.getQShengRi());
                map.put("QZhiWu", ndShenPi.getQZhiWu());
                map.put("QHuKouDiZhi", ndShenPi.getQHuKouDiZhi());
                map.put("QHuKou", ndShenPi.getQHuKou());
                map.put("YuanHuKou", ndShenPi.getYuanHuKou());
                map.put("YuanHuKouDiZhi", ndShenPi.getYuanHuKouDiZhi());
                map.put("HuKou", ndShenPi.getHuKou());
                map.put("HuKouDiZhi", ndShenPi.getHuKouDiZhi());
                map.put("GuestNo", ndShenPi.getGuestNo());
                map.put("GuestName", ndShenPi.getGuestName());
                map.put("BeiZhu", ndShenPi.getBeiZhu());
                map.put("ShouLiTiaoJian", ndShenPi.getShouLiTiaoJian());
                map.put("ShenQingShiJian", ndShenPi.getShenQingShiJian());
                map.put("Type", ndShenPi.getType());
                map.put("FromTo", ndShenPi.getFromTo());
                map.put("YuShenTxt", ndShenPi.getYuShenTxt());
                map.put("YuShenTime", ndShenPi.getYuShenTime());
                map.put("YuShenRen", ndShenPi.getYuShenRen());
                map.put("YuShenAccount", ndShenPi.getYuShenAccount());
                map.put("PJQStar", ndShenPi.getPJQStar());
                map.put("SmsNote", ndShenPi.getSmsNote());
                map.put("PJQMsg", ndShenPi.getPJQMsg());
                map.put("CardNo", ndShenPi.getCardNo());
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                if (ndShenPi.getCardDate() == null) {
    
    
                    map.put("CardDate", null);
                } else {
    
    
                    map.put("CardDate", sdf.format(ndShenPi.getCardDate()));
                }
                if (ndShenPi.getCardDateDQ() == null) {
    
    
                    map.put("CardDateDQ", null);

                } else {
    
    
                    map.put("CardDateDQ", sdf.format(ndShenPi.getCardDateDQ()));
                }
                if (ndShenPi.getCardFiveDQTime() == null) {
    
    
                    map.put("CardFiveDQTime", null);

                } else {
    
    
                    map.put("CardFiveDQTime", sdf.format(ndShenPi.getCardFiveDQTime()));
                }
                map.put("CardState", String.valueOf(ndShenPi.getCardState()));
                map.put("CardType", String.valueOf(ndShenPi.getCardType()));
                if (ndShenPi.getCardZKDate() == null) {
    
    
                    map.put("CardZKDate", null);
                } else {
    
    
                    map.put("CardZKDate", sdf.format(ndShenPi.getCardZKDate()));
                }
                map.put("CardSerial", ndShenPi.getCardSerial());
                map.put("RenCaiFlg", String.valueOf(ndShenPi.getRenCaiFlg()));
                map.put("RenCaiFlgContent", ndShenPi.getRenCaiFlgContent());
                map.put("CardTypeS", ndShenPi.getCardTypeS());
                if (ndShenPi.getRenCaiZXTime() == null) {
    
    
                    map.put("RenCaiZXTime", null);
                } else {
    
    
                    map.put("RenCaiZXTime", sdf.format(ndShenPi.getRenCaiZXTime()));
                }
                if (ndShenPi.getFuShenTime() == null) {
    
    
                    map.put("FuShenTime", null);
                } else {
    
    
                    map.put("FuShenTime", sdf.format(ndShenPi.getFuShenTime()));
                }
                if (ndShenPi.getAddTime() == null) {
    
    
                    map.put("AddTime", null);
                } else {
    
    
                    map.put("AddTime", sdf.format(ndShenPi.getAddTime()));
                }
                map.put("cardcode", ndShenPi.getCardcode());
                map.put("zzmm", ndShenPi.getZzmm());
                map.put("FuShen", ndShenPi.getFuShen());
                flag = "1";
            } else {
    
    
                flag = "2";
            }
        }
        map.put("success", flag);
        return map;
    }

}

差不多基本上流程是这样,有不清楚的朋友欢迎交流留言谢谢!!

猜你喜欢

转载自blog.csdn.net/songyinyi/article/details/106634681
今日推荐