Explorar el Código

Merge branch 'dev' of chenweida/patient-co-management into dev

chenweida hace 7 años
padre
commit
f3f584578f
Se han modificado 18 ficheros con 1068 adiciones y 30 borrados
  1. 10 10
      common/common-entity/src/main/java/com/yihu/wlyy/entity/patient/SocialSecurityInfo.java
  2. 15 10
      patient-co/patient-co-wlyy/pom.xml
  3. 55 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/aop/SQLTimeAdivce.java
  4. 0 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/jpa/WlyyJpa.java
  5. 8 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/area/AreaService.java
  6. 168 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/YLZUserService.java
  7. 64 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/model/YLZAccessToken.java
  8. 126 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/model/YLZRequestParams.java
  9. 360 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/model/YLZUser.java
  10. 137 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/model/YLZUserCard.java
  11. 51 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/ylzpay/ThirdCheckUserController.java
  12. 9 0
      patient-co/patient-co-wlyy/src/main/resources/application-dev.yml
  13. 11 0
      patient-co/patient-co-wlyy/src/main/resources/application-devtest.yml
  14. 11 1
      patient-co/patient-co-wlyy/src/main/resources/application-local.yml
  15. 11 1
      patient-co/patient-co-wlyy/src/main/resources/application-localtest.yml
  16. 11 1
      patient-co/patient-co-wlyy/src/main/resources/application-prod.yml
  17. 11 1
      patient-co/patient-co-wlyy/src/main/resources/application-test.yml
  18. 10 0
      patient-co/patient-co-wlyy/src/main/resources/application.yml

+ 10 - 10
common/common-entity/src/main/java/com/yihu/wlyy/entity/patient/SocialSecurityInfo.java

@ -11,17 +11,17 @@ import javax.persistence.*;
@Table(name = "sb_info")
public class SocialSecurityInfo {
    private String id;
    private String xming0;
    private String xbie00;
    private String csrqi0;
    private String id; //主键   必填
    private String xming0;//名字 必填
    private String xbie00;//性别  1男 2女 必填
    private String csrqi0;//出生日志 yyyyMMdd 必填
    private String zjlxbh;
    private String sfzh18;
    private String grsfen;
    private String id0000;
    private String gzztai;
    private String cardno;
    private String card16;
    private String sfzh18;//身份证号
    private String grsfen; // 必填
    private String id0000;//保险号
    private String gzztai; //必填
    private String cardno;//社保卡号
    private String card16;//必填
    private String zhgxsj;
    private String bjlxbh;

+ 15 - 10
patient-co/patient-co-wlyy/pom.xml

@ -426,16 +426,16 @@
            <version>2.4.1.0</version>
        </dependency>
        <!--elasticsearch start-->
  <!--      <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>2.4.4</version>
        </dependency>
        <dependency>
            <groupId>io.searchbox</groupId>
            <artifactId>jest</artifactId>
            <version>2.4.0</version>
        </dependency>-->
        <!--      <dependency>
                  <groupId>org.elasticsearch</groupId>
                  <artifactId>elasticsearch</artifactId>
                  <version>2.4.4</version>
              </dependency>
              <dependency>
                  <groupId>io.searchbox</groupId>
                  <artifactId>jest</artifactId>
                  <version>2.4.0</version>
              </dependency>-->
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
@ -488,6 +488,11 @@
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.ylz</groupId>
            <artifactId>ehc-empi-java-sdk</artifactId>
            <version>20180522</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>wlyy</finalName>

+ 55 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/aop/SQLTimeAdivce.java

@ -0,0 +1,55 @@
//package com.yihu.wlyy.aop;
//
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.stereotype.Component;
//import org.springframework.web.context.request.RequestContextHolder;
//import org.springframework.web.context.request.ServletRequestAttributes;
//
//import javax.servlet.http.HttpServletRequest;
//
///**
// * Created by chenweida on 2018/5/21 0021.
// * 数据库sql的拦截
// */
//@Aspect
//@Component
//public class SQLTimeAdivce {
//    public SQLTimeAdivce() {
//    }
//
//    private Logger logger = LoggerFactory.getLogger(SQLTimeAdivce.class);
//
//    @Around("execution(* org.springframework.jdbc.core.JdbcTemplate.batchUpdate*(..)) " +
//            "|| execution(* org.springframework.jdbc.core.JdbcTemplate.query*(..)) " +
//            "|| execution(* org.springframework.jdbc.core.JdbcTemplate.execute*(..)) " +
//            "|| this(org.springframework.data.repository.Repository) " +
//            "|| this(org.springframework.data.jpa.repository.JpaSpecificationExecutor)")
//    public Object process(ProceedingJoinPoint point) throws Throwable {
//        HttpServletRequest request = null;
//        if (RequestContextHolder.getRequestAttributes() != null) {
//            request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
//            logger.info("uri:" + request.getRequestURI());
//        }
//        //访问目标方法的参数:
//        Object[] args = point.getArgs();
//        String sql = null;
//        //第一个参数是sql
//        if (args != null && args.length > 0 && args[0].getClass() == String.class) {
//            sql = args[0].toString();
//            //第一个参数是sql数组
//        }
//        //用改变后的参数执行目标方法
//        Long startTime = System.currentTimeMillis();
//        Object returnValue = point.proceed(args);
//        Long endTime = System.currentTimeMillis();
//
//        logger.info("sql:" + sql);
//        logger.info("sql-time:" + (endTime - startTime));
//        return returnValue;
//
//    }
//}

+ 0 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/jpa/WlyyJpa.java

@ -51,13 +51,10 @@ public class WlyyJpa {
        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        emfb.setJpaVendorAdapter(vendorAdapter);
        emfb.setJpaProperties(hibernateProperties.hibProperties());
        return emfb;
    }
    @Bean(name = "wlyyTransactionManager")
    @Primary
    JpaTransactionManager transactionManagerSecondary(

+ 8 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/area/AreaService.java

@ -6,6 +6,7 @@ import com.yihu.wlyy.repository.address.TownDao;
import com.yihu.wlyy.repository.organization.HospitalDao;
import com.yihu.wlyy.service.BaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
@ -21,6 +22,8 @@ public class AreaService extends BaseService {
    TownDao townDao;
    @Autowired
    HospitalDao hospitalDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 查询城市城镇
@ -28,11 +31,13 @@ public class AreaService extends BaseService {
     * @param city
     * @return
     */
    public List<Town> getCityTowns(String city){
    public List<Town> getCityTowns(String city) {
        return townDao.findByCityCode(city);
    }
    public List<Hospital> getTownHospitals(String town){
     return hospitalDao.findByTownCode10(town);
    public List<Hospital> getTownHospitals(String town) {
        String sql = " select * from dm_hospital where town = ?";
        jdbcTemplate.queryForList(sql, town);
        return hospitalDao.findByTownCode10(town);
    }
}

+ 168 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/YLZUserService.java

@ -0,0 +1,168 @@
package com.yihu.wlyy.service.third.ylz;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.service.third.ylz.model.YLZAccessToken;
import com.yihu.wlyy.service.third.ylz.model.YLZUser;
import com.yihu.wlyy.service.third.ylz.model.YLZUserCard;
import com.yihu.wlyy.util.HttpClientUtil;
import com.ylzinfo.ehc.empi.sdk.EhcEmpiClient;
import com.ylzinfo.ehc.empi.sdk.dto.request.AuthorizationTokenRequest;
import com.ylzinfo.onepay.sdk.OnepayDefaultClient;
import com.ylzinfo.onepay.sdk.domain.RequestParams;
import com.ylzinfo.onepay.sdk.domain.ResponseParams;
import com.ylzinfo.onepay.sdk.exception.PayException;
import com.ylzinfo.onepay.sdk.utils.DateUtil;
import com.ylzinfo.onepay.sdk.utils.SecurityUtil;
import com.ylzinfo.onepay.sdk.utils.Signature;
import com.ylzinfo.onepay.sdk.utils.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
 * Created by chenweida on 2018/5/16 0016.
 */
@Service
public class YLZUserService {
    Logger logger = LoggerFactory.getLogger(YLZUserService.class);
    //网关地址
    @Value("${ylz.gateway.url}")
    private String gatewayURL;
    //1.统一实名身份认证授权
    @Value("${ylz.empi_uimc_authorization.method}")
    private String empiUimcAuthorization;
    //2.统一实名用户信息获取
    @Value("${ylz.empi_uimc_query.method}")
    private String empiUimcQuery;
    @Value("${ylz.appId}")
    private String appId;
    @Value("${ylz.termId}")
    private String termId;
    @Value("${ylz.appSecret}")
    private String appSecret;
    @Value("${ylz.redirectUrl}")
    private String redirectUrl;
    private String signType = "MD5";
    private String encryptType = "AES";
    private String responseType = "token";
    @Autowired
    private HttpClientUtil httpClientUtil;
    public String getAccessToken() {
        try {
            EhcEmpiClient empiClient = new EhcEmpiClient(gatewayURL, appId, appSecret, termId, "1.0", signType, encryptType);
            try {
                AuthorizationTokenRequest params = new AuthorizationTokenRequest();
                params.setRedirectUrl(redirectUrl);
                params.setUserName("48");
                String url = empiClient.createUrl("gatewayPage", empiUimcAuthorization, params);
                String responseStr = httpClientUtil.get(url, "UTF-8");
                net.sf.json.JSONObject responseJSON = net.sf.json.JSONObject.fromObject(responseStr);
            } catch (Exception e) {
                e.printStackTrace();
            }
        } catch (Exception e) {
            logger.error(e.getMessage());
            return null;
        }
        return null;
    }
    private String initParams(RequestParams requestParams) throws PayException {
        String sign = Signature.createSign(requestParams, this.appSecret);
        requestParams.setSign(sign);
        String requestMessage;
        try {
            logger.info("加密前报文:" + JSONObject.toJSONString(requestParams));
            requestMessage = SecurityUtil.encrypt(JSONObject.toJSONString(requestParams.getParam()), this.encryptType, this.appSecret, this.appId);
            logger.info("加密后报文:" + requestMessage);
            requestParams.setEncryptData(requestMessage);
        } catch (Exception var11) {
            throw new PayException("请求报文加密失败");
        }
        requestParams.setParam((Object) null);
        requestMessage = JSON.toJSONString(requestParams);
        System.out.println("请求参数报文:" + requestMessage);
        return requestMessage;
    }
    /**
     * 此方式仅应用到注册回调
     */
    public YLZUser getUserByToken(String token) {
        try {
            String result = null;
            OnepayDefaultClient onepayClient = new OnepayDefaultClient(
                    empiUimcQuery,
                    appId,
                    appSecret, signType, encryptType);
            RequestParams requestParams = new RequestParams();
            requestParams.setAppId(appId);
            requestParams.setTimestamp(DateUtil.getCurrentDateTime());
            requestParams.setSignType(signType);
            requestParams.setEncryptType(encryptType);
            //业务参数
            JSONObject params = new JSONObject();
            params.put("token", token);  //注册回调的token
            requestParams.setParam(params);
            logger.info("requestParams:" + requestParams.toString());
            ResponseParams<JSONObject> res = onepayClient.execute(requestParams);
            if (OnepayDefaultClient.isSuccessful(res)) {
                result = JSON.toJSONString(res.getParam());
                logger.info("易联众返回结果:" + result);
//             新增保存数据
                JSONObject userJson = JSON.parseObject(result).getJSONObject("biz_content");
                YLZUser user = getYLZUser(userJson);
                YLZUserCard userCard = getYLZUserCard(userJson.getJSONArray("card_info"));
                user.setYlzUserCard(userCard);
                return user;
            } else {
                logger.error("调用易联众接口失败:" + res.toString());
            }
            return null;
        } catch (Exception e) {
            logger.error(e.getMessage());
            return null;
        }
    }
    private YLZUserCard getYLZUserCard(JSONArray card_infos) {
        YLZUserCard ylzUserCard = null;
        for (int i = 0; i < card_infos.size(); i++) {
            JSONObject jo = card_infos.getJSONObject(i);
            if ("normal ".equals(jo.getString("state"))) {
                ylzUserCard = JSON.parseObject(jo.toJSONString(), YLZUserCard.class);
                break;
            }
        }
        return ylzUserCard;
    }
    private YLZUser getYLZUser(JSONObject userJson) {
        YLZUser ylzUserCard = JSON.parseObject(userJson.toJSONString(), YLZUser.class);
        return ylzUserCard;
    }
    public static void main(String[] args) {
        String str = "{\"card_no\":\"111111\"}";
        YLZUserCard ylzUserCard = JSON.parseObject(str, YLZUserCard.class);
        System.out.println(ylzUserCard);
    }
}

+ 64 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/model/YLZAccessToken.java

@ -0,0 +1,64 @@
package com.yihu.wlyy.service.third.ylz.model;
import java.util.Date;
/**
 * Created by chenweida on 2018/5/16 0016.
 */
public class YLZAccessToken {
    private String accessToken; //授权token	String(32)
    private String tokenType;
    private Integer expiresIn;// token过期时间  3600 秒
    private Date createTime;// token过期时间  3600 秒
    private String state;
    public String getAccessToken() {
        return accessToken;
    }
    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }
    public String getTokenType() {
        return tokenType;
    }
    public void setTokenType(String tokenType) {
        this.tokenType = tokenType;
    }
    public Integer getExpiresIn() {
        return expiresIn;
    }
    public void setExpiresIn(Integer expiresIn) {
        this.expiresIn = expiresIn;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public boolean isNotOutTime() {
        long interval = (new Date().getTime() - this.getCreateTime().getTime()) / 1000;
        if (interval > (expiresIn - 120)) {
            return false;
        } else {
            return true;
        }
    }
}

+ 126 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/model/YLZRequestParams.java

@ -0,0 +1,126 @@
//package com.yihu.wlyy.service.third.ylz.model;
//
//import com.alibaba.fastjson.annotation.JSONField;
//import net.sf.json.JSONObject;
//
///**
// * Created by chenweida on 2018/5/22 0022.
// */
//public class YLZRequestParams {
//    @JSONField(name = "timestamp")
//    private String timestamp;
//    @JSONField(name = "sign")
//    private String sign;
//    @JSONField(name = "biz_content")
//    private String bizContent;
//    @JSONField(name = "enc_type")
//    private String signType = "MD5";
//    @JSONField(name = "term_id")
//    private String termId;
//    @JSONField(name = "method")
//    private String method;
//    @JSONField(name = "app_id")
//    private String appId;
//    @JSONField(name = "version")
//    private String version = "1.0";
//    @JSONField(name = "sign_type")
//    private String encType = "AES";
//
//
//    public String getTimestamp() {
//        return timestamp;
//    }
//
//    public void setTimestamp(String timestamp) {
//        this.timestamp = timestamp;
//    }
//
//    public String getSign() {
//        return sign;
//    }
//
//    public void setSign(String sign) {
//        this.sign = sign;
//    }
//
//    public String getBizContent() {
//        return bizContent;
//    }
//
//    public void setBizContent(String bizContent) {
//        this.bizContent = bizContent;
//    }
//
//    public String getSignType() {
//        return signType;
//    }
//
//    public void setSignType(String signType) {
//        this.signType = signType;
//    }
//
//    public String getTermId() {
//        return termId;
//    }
//
//    public void setTermId(String termId) {
//        this.termId = termId;
//    }
//
//    public String getMethod() {
//        return method;
//    }
//
//    public void setMethod(String method) {
//        this.method = method;
//    }
//
//    public String getAppId() {
//        return appId;
//    }
//
//    public void setAppId(String appId) {
//        this.appId = appId;
//    }
//
//    public String getVersion() {
//        return version;
//    }
//
//    public void setVersion(String version) {
//        this.version = version;
//    }
//
//    public String getEncType() {
//        return encType;
//    }
//
//    public void setEncType(String encType) {
//        this.encType = encType;
//    }
//
//    /**
//     * 1. 筛选
//     获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除sign字段。
//     (app_id.、term_id、method、version、timestamp、sign_type、enc_type、)
//     2. 排序
//     将筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。
//
//     3. 拼接
//     将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,最后拼接上应用密钥在“…参数=参数值key=你的密钥”,此时生成的字符串为待签名字符串,将待签名字符串MD5运算,即是签名(sign)的值。
//     * @return
//     */
//    public String initSign(){
//        JSONObject jo=new JSONObject();
//        jo.put("app_id",this.appId);
//        jo.put("enc_type",this.encType);
//        jo.put("method",this.method);
//        jo.put("sign_type",this.signType);
//        jo.put("term_id",this.termId);
//        jo.put("timestamp",this.timestamp);
//        jo.put("version",this.version);
//
//        StringBuffer sb=new StringBuffer();
//        sb.append("app_id="+this.appId);
//    }
//}

+ 360 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/model/YLZUser.java

@ -0,0 +1,360 @@
package com.yihu.wlyy.service.third.ylz.model;
import com.alibaba.fastjson.annotation.JSONField;
/**
 * Created by chenweida on 2018/5/16 0016.
 */
public class YLZUser {
    @JSONField(name = "empi_user_id")
    private String empiUserId;//用户主索引
    @JSONField(name = "name")
    private String name;//姓名
    @JSONField(name = "sex")
    private String sex;//性别  0未知性别 1男 2女 9未说明性别
    @JSONField(name = "birth_day")
    private String birthDay;//出生日期  yyyyMMddHH
    @JSONField(name = "birth_addr")
    private String birthAddr;//出生地
    @JSONField(name = "id_type")
    private String idType;//证件类型   01	居民身份证 02	居民户口簿 03	护照  04	军官证   05	驾驶证   06	港澳居民来往内地通行证   07	台湾居民来往内地通行证   99	其他法定有效证件
    @JSONField(name = "id_no")
    private String idNo;//证件号码
    @JSONField(name = "native")
    private String native_;//国籍
    @JSONField(name = "address")
    private String address;//所在地, 通讯地址
    @JSONField(name = "origin")
    private String origin;//籍贯
    @JSONField(name = "company")
    private String company;//作单位
    @JSONField(name = "company_phone")
    private String companyPhone;//单位电话
    @JSONField(name = "contacts_relationship")
    private String contactsRelationship;//与联系人关系 参考国家互联互通标准GB/T 4761-2008
    @JSONField(name = "contacts_phone")
    private String contactsPhone;//联系人电话
    @JSONField(name = "contacts_addr")
    private String contactsAddr;//联系人地址
    @JSONField(name = "is_certified")
    private String isCertified;//安全认证  0否,1 是
    @JSONField(name = "certificate_authority")
    private String certificateAuthority;//认证机构  1经信局 2公安 等
    @JSONField(name = "telephone")
    private String telephone;//联系方式
    @JSONField(name = "email")
    private String email;//邮箱地址
    @JSONField(name = "post")
    private String post;//邮编
    @JSONField(name = "work")
    private String work;//职业
    @JSONField(name = "home_phone")
    private String homePhone;//家庭电话
    @JSONField(name = "avatar_photo_id")
    private String avatarPhotoId;//照片
    @JSONField(name = "marital_status")
    private String maritalStatus;//婚姻状态  10未婚 20已婚  21初婚 22再婚 23复婚  30丧偶 40离婚 90未说明的婚姻状况
    @JSONField(name = "state")
    private String state;//状态  normal 正常 freeze 冻结  logout 注销   lossed 挂失
    @JSONField(name = "domain_id")
    private String domainId;//标识域编码
    @JSONField(name = "domain_name")
    private String domainName;//标识域名称
    @JSONField(name = "term_id")
    private String termId;//终端号
    @JSONField(name = "oper_id")
    private String operId;//操作员编号
    @JSONField(name = "oper_name")
    private String operName;//操作员姓名
    @JSONField(name = "crt_date")
    private String crtDate;//创建日期
    @JSONField(name = "crt_time")
    private String crtTime;//创建时间
    @JSONField(name = "nation")
    private String nation;//民族
    @JSONField(name = "contacts_name")
    private String contactsName;//联系人姓名
    private YLZUserCard ylzUserCard;
    public String getEmpiUserId() {
        return empiUserId;
    }
    public void setEmpiUserId(String empiUserId) {
        this.empiUserId = empiUserId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getBirthDay() {
        return birthDay;
    }
    public void setBirthDay(String birthDay) {
        this.birthDay = birthDay;
    }
    public String getBirthAddr() {
        return birthAddr;
    }
    public void setBirthAddr(String birthAddr) {
        this.birthAddr = birthAddr;
    }
    public String getIdType() {
        return idType;
    }
    public void setIdType(String idType) {
        this.idType = idType;
    }
    public String getIdNo() {
        return idNo;
    }
    public void setIdNo(String idNo) {
        this.idNo = idNo;
    }
    public String getNative_() {
        return native_;
    }
    public void setNative_(String native_) {
        this.native_ = native_;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getOrigin() {
        return origin;
    }
    public void setOrigin(String origin) {
        this.origin = origin;
    }
    public String getCompany() {
        return company;
    }
    public void setCompany(String company) {
        this.company = company;
    }
    public String getCompanyPhone() {
        return companyPhone;
    }
    public void setCompanyPhone(String companyPhone) {
        this.companyPhone = companyPhone;
    }
    public String getContactsRelationship() {
        return contactsRelationship;
    }
    public void setContactsRelationship(String contactsRelationship) {
        this.contactsRelationship = contactsRelationship;
    }
    public String getContactsPhone() {
        return contactsPhone;
    }
    public void setContactsPhone(String contactsPhone) {
        this.contactsPhone = contactsPhone;
    }
    public String getContactsAddr() {
        return contactsAddr;
    }
    public void setContactsAddr(String contactsAddr) {
        this.contactsAddr = contactsAddr;
    }
    public String getIsCertified() {
        return isCertified;
    }
    public void setIsCertified(String isCertified) {
        this.isCertified = isCertified;
    }
    public String getCertificateAuthority() {
        return certificateAuthority;
    }
    public void setCertificateAuthority(String certificateAuthority) {
        this.certificateAuthority = certificateAuthority;
    }
    public String getTelephone() {
        return telephone;
    }
    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPost() {
        return post;
    }
    public void setPost(String post) {
        this.post = post;
    }
    public String getWork() {
        return work;
    }
    public void setWork(String work) {
        this.work = work;
    }
    public String getHomePhone() {
        return homePhone;
    }
    public void setHomePhone(String homePhone) {
        this.homePhone = homePhone;
    }
    public String getAvatarPhotoId() {
        return avatarPhotoId;
    }
    public void setAvatarPhotoId(String avatarPhotoId) {
        this.avatarPhotoId = avatarPhotoId;
    }
    public String getMaritalStatus() {
        return maritalStatus;
    }
    public void setMaritalStatus(String maritalStatus) {
        this.maritalStatus = maritalStatus;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    public String getDomainId() {
        return domainId;
    }
    public void setDomainId(String domainId) {
        this.domainId = domainId;
    }
    public String getDomainName() {
        return domainName;
    }
    public void setDomainName(String domainName) {
        this.domainName = domainName;
    }
    public String getTermId() {
        return termId;
    }
    public void setTermId(String termId) {
        this.termId = termId;
    }
    public String getOperId() {
        return operId;
    }
    public void setOperId(String operId) {
        this.operId = operId;
    }
    public String getOperName() {
        return operName;
    }
    public void setOperName(String operName) {
        this.operName = operName;
    }
    public String getCrtDate() {
        return crtDate;
    }
    public void setCrtDate(String crtDate) {
        this.crtDate = crtDate;
    }
    public String getCrtTime() {
        return crtTime;
    }
    public void setCrtTime(String crtTime) {
        this.crtTime = crtTime;
    }
    public String getNation() {
        return nation;
    }
    public void setNation(String nation) {
        this.nation = nation;
    }
    public String getContactsName() {
        return contactsName;
    }
    public void setContactsName(String contactsName) {
        this.contactsName = contactsName;
    }
    public YLZUserCard getYlzUserCard() {
        return ylzUserCard;
    }
    public void setYlzUserCard(YLZUserCard ylzUserCard) {
        this.ylzUserCard = ylzUserCard;
    }
}

+ 137 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/ylz/model/YLZUserCard.java

@ -0,0 +1,137 @@
package com.yihu.wlyy.service.third.ylz.model;
import com.alibaba.fastjson.annotation.JSONField;
/**
 * Created by chenweida on 2018/5/16 0016.
 */
public class YLZUserCard {
    @JSONField(name = "card_no")
    private String cardNo;//卡号
    @JSONField(name = "card_type")
    private String cardType;//卡类型 01社保卡  02就诊卡
    @JSONField(name = "card_org")
    private String cardOrg;//办卡机构
    @JSONField(name = "card_zone")
    private String cardZone;//办卡地区
    @JSONField(name = "card_fn")
    private String cardFn;//卡内码
    @JSONField(name = "term_id")
    private String termId;//	终端号
    @JSONField(name = "oper_id")
    private String operId;//	操作员编号
    @JSONField(name = "oper_name")
    private String operName;//操作员姓名
    @JSONField(name = "crt_date")
    private String crtDate;//创建日期
    @JSONField(name = "crt_time")
    private String crtTime;//创建时间
    @JSONField(name = "state")
    private String state; //状态  normal 正常 freeze 冻结  logout 注销  lossed 挂失 
    public String getCardNo() {
        return cardNo;
    }
    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }
    public String getCardType() {
        return cardType;
    }
    public void setCardType(String cardType) {
        this.cardType = cardType;
    }
    public String getCardOrg() {
        return cardOrg;
    }
    public void setCardOrg(String cardOrg) {
        this.cardOrg = cardOrg;
    }
    public String getCardZone() {
        return cardZone;
    }
    public void setCardZone(String cardZone) {
        this.cardZone = cardZone;
    }
    public String getCardFn() {
        return cardFn;
    }
    public void setCardFn(String cardFn) {
        this.cardFn = cardFn;
    }
    public String getTermId() {
        return termId;
    }
    public void setTermId(String termId) {
        this.termId = termId;
    }
    public String getOperId() {
        return operId;
    }
    public void setOperId(String operId) {
        this.operId = operId;
    }
    public String getOperName() {
        return operName;
    }
    public void setOperName(String operName) {
        this.operName = operName;
    }
    public String getCrtDate() {
        return crtDate;
    }
    public void setCrtDate(String crtDate) {
        this.crtDate = crtDate;
    }
    public String getCrtTime() {
        return crtTime;
    }
    public void setCrtTime(String crtTime) {
        this.crtTime = crtTime;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    @Override
    public String toString() {
        return "YLZUserCard{" +
                "cardNo='" + cardNo + '\'' +
                ", cardType='" + cardType + '\'' +
                ", cardOrg='" + cardOrg + '\'' +
                ", cardZone='" + cardZone + '\'' +
                ", cardFn='" + cardFn + '\'' +
                ", termId='" + termId + '\'' +
                ", operId='" + operId + '\'' +
                ", operName='" + operName + '\'' +
                ", crtDate='" + crtDate + '\'' +
                ", crtTime='" + crtTime + '\'' +
                ", state='" + state + '\'' +
                '}';
    }
}

+ 51 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/ylzpay/ThirdCheckUserController.java

@ -0,0 +1,51 @@
package com.yihu.wlyy.web.third.ylzpay;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.wlyy.service.third.ylz.YLZUserService;
import com.yihu.wlyy.web.BaseController;
import com.ylzinfo.onepay.sdk.exception.PayException;
import io.swagger.annotations.Api;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
/**
 *
 */
@RestController
@RequestMapping(value = "/check")
@Api(description = "易联众验证相关的服务")
public class ThirdCheckUserController extends BaseController {
    private static final Logger LOGGER = LoggerFactory.getLogger(ThirdCheckUserController.class);
    @Autowired
    ObjectMapper objectMapper;
    @Autowired
    private YLZUserService checkService;
    /**
     * 验证用户的唯一性
     *
     * @throws IOException
     * @throws PayException
     */
    @RequestMapping(value = "/checkUser", method = RequestMethod.POST)
    public String checkUser(String mediaIds) {
        try {
            checkService.getAccessToken();
            return write(200, "获取成功!", "data", "");
        } catch (Exception e) {
            error(e);
            return invalidUserException(e, -1, "失败!");
        }
    }
}

+ 9 - 0
patient-co/patient-co-wlyy/src/main/resources/application-dev.yml

@ -160,3 +160,12 @@ neiwang:
Riva:
  RIVAED_KEY1: LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
ylz:
  appId: aaa
  appSecret:  aaa
  redirectUrl:  aaa
  termId: aaa
  gateway:
    url: http://120.42.37.94:1301/ehc-empi-web/gateway

+ 11 - 0
patient-co/patient-co-wlyy/src/main/resources/application-devtest.yml

@ -160,3 +160,14 @@ neiwang:
Riva:
  RIVAED_KEY1: LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
ylz:
  appId: aaa
  appSecret:  aaa
  redirectUrl:  aaa
  termId: aaa
  gateway:
    url: http://120.42.37.94:1301/ehc-empi-web/gateway

+ 11 - 1
patient-co/patient-co-wlyy/src/main/resources/application-local.yml

@ -143,4 +143,14 @@ neiwang:
#系统中使用的双层对称加密使用到的KEY
Riva:
  RIVAED_KEY1: LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
ylz:
  appId: aaa
  appSecret:  aaa
  redirectUrl:  aaa
  termId: aaa
  gateway:
    url: http://120.42.37.94:1301/ehc-empi-web/gateway

+ 11 - 1
patient-co/patient-co-wlyy/src/main/resources/application-localtest.yml

@ -144,4 +144,14 @@ neiwang:
#系统中使用的双层对称加密使用到的KEY
Riva:
  RIVAED_KEY1: LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
ylz:
  appId: aaa
  appSecret:  aaa
  redirectUrl:  aaa
  termId: aaa
  gateway:
    url: http://120.42.37.94:1301/ehc-empi-web/gateway

+ 11 - 1
patient-co/patient-co-wlyy/src/main/resources/application-prod.yml

@ -165,4 +165,14 @@ springfox:
#系统中使用的双层对称加密使用到的KEY
Riva:
  RIVAED_KEY1: LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
ylz:
  appId: aaa
  appSecret:  aaa
  redirectUrl:  aaa
  termId: aaa
  gateway:
    url: http://120.42.37.94:1301/ehc-empi-web/gateway

+ 11 - 1
patient-co/patient-co-wlyy/src/main/resources/application-test.yml

@ -149,4 +149,14 @@ neiwang:
#系统中使用的双层对称加密使用到的KEY
Riva:
  RIVAED_KEY1: LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
  RIVAED_KEY2: C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN
ylz:
  appId: aaa
  appSecret:  aaa
  redirectUrl:  aaa
  termId: aaa
  gateway:
    url: http://120.42.37.94:1301/ehc-empi-web/gateway

+ 10 - 0
patient-co/patient-co-wlyy/src/main/resources/application.yml

@ -42,6 +42,9 @@ spring:
      min-evictable-idle-time-millis: 3600000 #连接池中连接,在时间段内一直空闲,被逐出连接池的时间(1000*60*60),以毫秒为单位
      time-between-eviction-runs-millis: 300000 #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位,一般比minEvictableIdleTimeMillis小
  aop:
    proxy-target-class: true
    # REDIS
  redis:
    database: 0 # Database index used by the connection factory.
@ -92,3 +95,10 @@ interceptor:
putMesType:
  #推送到redis消息类型
  wechat: wechat
ylz:
  empi_uimc_authorization:
    method: empi.uimc.authorization  ##认证授权获取token
  empi_uimc_query:
    method: empi.uimc.query  ##用户信息获取