Browse Source

Merge branch 'dev' of yeshijie/wlyy2.0 into dev

叶仕杰 3 năm trước cách đây
mục cha
commit
43447e53b5

+ 2 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/family/FamilyMemberEndpoint.java

@ -383,6 +383,8 @@ public class FamilyMemberEndpoint extends EnvelopRestEndpoint {
                return failed( "验证码已过期,请重新获取验证码",-1);
            }else if (result == -7) {
                return failed( "您或家人性别信息未填写无法添加成员",-1);
            }else if (result == -8) {
                return failed( "不能添加非老人亲属类型的成员",-1);
            } else {
                return success( "添加成功");
            }

+ 7 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/family/PatientFamilyMemberService.java

@ -856,6 +856,13 @@ public class PatientFamilyMemberService extends BaseJpaService<BasePatientFamily
            patientDao.save(m);
        }
        member = m.getId();
        if(archiveType==3){
            if(m.getArchiveType()==null){
                m.setArchiveType(archiveType);
            }else if(m.getArchiveType()!=3){
                return -8;
            }
        }
        return addMemberFamily(p, m, patient, member, relation);
    }

+ 12 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java

@ -135,6 +135,18 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
    public JSONObject findPatientById(String patientId,String isCapacity) throws Exception{
        JSONObject res = new JSONObject();
        BasePatientDO patientDO = patientDao.findById(patientId);
        if(patientDO.getArchiveType()!=null&&patientDO.getArchiveType()==3){
            //老人亲属
            String sql = "SELECT p.* from base_patient p, base_patient_family_member m " +
                    "WHERE p.id = m.family_member  and m.patient = '"+patientId+"' and p.del = '1' " +
                    "ORDER BY p.login_date desc LIMIT 1";
            List<BasePatientDO> patientDOs = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(BasePatientDO.class));
            res.put("agentPatient",patientDO);
            patientDO = patientDOs.get(0);
            patientId = patientDO.getId();
        }else{
            res.put("agentPatient",null);
        }
        if (patientDO.getArchiveStatus()!=null){
            patientDO.setArchiveStatusName(dictService.fingByNameAndCode(ConstantUtil.DICT_ARCHIVESTATUS,String.valueOf(patientDO.getArchiveStatus())));
        }

+ 83 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/OneNetUtil.java

@ -0,0 +1,83 @@
package com.yihu.jw.care.util;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/9/2
 * @Description:
 */
public class OneNetUtil {
    private static final String MasterAPIkey ="Da0iDvhQ5H8OD6phWq=tMubBcBw=";
    private static final String access_key  ="WikrY0Zy/BB308DZhplru4Mc65OijFqH35nMEh4xre0=";
    public static String assembleToken(String version, String resourceName, String expirationTime, String signatureMethod, String accessKey)
            throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
        StringBuilder sb = new StringBuilder();
        String res = URLEncoder.encode(resourceName, "UTF-8");
        String sig = URLEncoder.encode(generatorSignature(version, resourceName, expirationTime
                , accessKey, signatureMethod), "UTF-8");
        sb.append("version=")
                .append(version)
                .append("&res=")
                .append(res)
                .append("&et=")
                .append(expirationTime)
                .append("&method=")
                .append(signatureMethod)
                .append("&sign=")
                .append(sig);
        return sb.toString();
    }
    public static String generatorSignature(String version, String resourceName, String expirationTime, String accessKey, String signatureMethod)
            throws NoSuchAlgorithmException, InvalidKeyException {
        String encryptText = expirationTime + "\n" + signatureMethod + "\n" + resourceName + "\n" + version;
        String signature;
        byte[] bytes = HmacEncrypt(encryptText, accessKey, signatureMethod);
        signature = Base64.getEncoder().encodeToString(bytes);
        return signature;
    }
    public static byte[] HmacEncrypt(String data, String key, String signatureMethod)
            throws NoSuchAlgorithmException, InvalidKeyException {
        //根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
        SecretKeySpec signinKey = null;
        signinKey = new SecretKeySpec(Base64.getDecoder().decode(key),
                "Hmac" + signatureMethod.toUpperCase());
        //生成一个指定 Mac 算法 的 Mac 对象
        Mac mac = null;
        mac = Mac.getInstance("Hmac" + signatureMethod.toUpperCase());
        //用给定密钥初始化 Mac 对象
        mac.init(signinKey);
        //完成 Mac 操作
        return mac.doFinal(data.getBytes());
    }
    public enum SignatureMethod {
        SHA1, MD5, SHA256;
    }
    public static void main(String[] args) throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
        String version = "2018-10-31";
        String resourceName = "mqs/A1EB10110CFA9E06D6209E40C4A6D7976";
        String expirationTime = System.currentTimeMillis() / 1000 + 100 * 24 * 60 * 60 + "";
        String signatureMethod = SignatureMethod.SHA1.name().toLowerCase();
        String accessKey = "KuF3NT/jUBJ62LNBB/A8XZA9CqS3Cu79B/ABmfA1UCw=";
        String token = assembleToken(version, resourceName, expirationTime, signatureMethod, accessKey);
        System.out.println("Authorization:" + token);
    }
}