Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

# Conflicts:
#	common/common-entity/sql记录
yeshijie 3 years ago
parent
commit
141664b326

+ 11 - 0
common/common-entity/sql记录

@ -1462,3 +1462,14 @@ CREATE TABLE `base_doctor_service_permissions` (
  KEY `index1` (`doctor`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='医生服务权限表';
--2021-09-08 ysj
CREATE TABLE `base_onenet_device` (
  `id` varchar(50) NOT NULL,
  `sn` varchar(50) DEFAULT NULL COMMENT '设备sn码imei',
  `imsi` varchar(50) DEFAULT NULL COMMENT 'sim的imsi',
  `device_id` varchar(50) DEFAULT NULL COMMENT 'onenet平台设备id',
  `category_code` varchar(10) DEFAULT NULL COMMENT '设备类型标识 14气感,15烟感',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='onenet平台设备信息';

+ 57 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/device/OnenetDevice.java

@ -0,0 +1,57 @@
package com.yihu.jw.entity.care.device;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/9/8
 * @Description:
 */
@Entity
@Table(name = "base_onenet_device")
public class OnenetDevice extends UuidIdentityEntityWithCreateTime{
    private String sn;//设备sn码imei
    private String imsi;//sim的imsi
    private String deviceId;//onenet平台设备id
    private String categoryCode;//设备类型标识 14气感,15烟感
    @Column(name="sn")
    public String getSn() {
        return sn;
    }
    public void setSn(String sn) {
        this.sn = sn;
    }
    @Column(name="imsi")
    public String getImsi() {
        return imsi;
    }
    public void setImsi(String imsi) {
        this.imsi = imsi;
    }
    @Column(name="device_id")
    public String getDeviceId() {
        return deviceId;
    }
    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }
    @Column(name="category_code")
    public String getCategoryCode() {
        return categoryCode;
    }
    public void setCategoryCode(String categoryCode) {
        this.categoryCode = categoryCode;
    }
}

+ 46 - 0
common/common-util/src/main/java/com/yihu/jw/util/http/HttpClientUtil.java

@ -34,6 +34,7 @@ import org.springframework.web.client.RestTemplate;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.*;
@Component
@ -617,6 +618,51 @@ public class HttpClientUtil {
        return response;
    }
    /**
     * 向指定URL发送GET方法的请求
     *
     * @param url
     *            发送请求的URL
     * @return URL 所代表远程资源的响应结果
     */
    public String sendGet(String url,Map<String,String> headerMap) {
        String result = "";
        BufferedReader in = null;
        try {
            URL realUrl = new URL(url);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            // 设置通用的请求属性
            connection.setRequestProperty("accept", "*/*");
            connection.setRequestProperty("connection", "Keep-Alive");
            connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            if(headerMap!=null){
                for (String key:headerMap.keySet()){
                    connection.setRequestProperty(key, headerMap.get(key));
                }
            }
            // 建立实际的连接
            connection.connect();
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return result;
    }
    public static void main(String[] args)  {
    }
}

+ 22 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/dao/device/OnenetDeviceDao.java

@ -0,0 +1,22 @@
package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.HvDeviceRecord;
import com.yihu.jw.entity.care.device.OnenetDevice;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/9/8
 * @Description:
 */
public interface OnenetDeviceDao extends PagingAndSortingRepository<OnenetDevice, String>, JpaSpecificationExecutor<OnenetDevice> {
    @Query("select a from OnenetDevice a where a.deviceId = ?1")
    List<OnenetDevice> findByDeviceId(String deviceId);
}

+ 10 - 3
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/endpoint/OnenetController.java

@ -1,15 +1,20 @@
package com.yihu.jw.care.endpoint;
import com.yihu.jw.care.common.BaseController;
import com.yihu.jw.care.service.OnenetService;
import com.yihu.jw.care.util.OneNetUtil;
import com.yihu.jw.care.util.OnenetPushUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import static com.yihu.jw.care.util.OneNetUtil.token;
/**
 * Created with IntelliJ IDEA.
 *
@ -23,9 +28,9 @@ import javax.servlet.http.HttpServletRequest;
public class OnenetController extends BaseController{
    private static Logger logger = LoggerFactory.getLogger(OnenetController.class);
    @Autowired
    private OnenetService onenetService;
    //用户自定义token和OneNet第三方平台配置里的token一致(配置http推送时使用)
    private static String token ="jkzl2021";
    /**
     * 功能描述:第三方平台数据接收。<p>
@ -51,6 +56,8 @@ public class OnenetController extends BaseController{
        if (obj != null){
            boolean dataRight = OnenetPushUtil.checkSignature(obj, token);
            if (dataRight){
                logger.info("data receive: content" + obj.toString());
            }else {
                logger.info("data receive: signature error");
@ -99,7 +106,7 @@ public class OnenetController extends BaseController{
                        @RequestParam(value = "signature") String signature) throws Exception {
        logger.info("url&token check: msg:{} nonce{} signature:{}",msg,nonce,signature);
        if (OnenetPushUtil.checkToken(msg,nonce,signature,token)){
        if (OnenetPushUtil.checkToken(msg,nonce,signature,OneNetUtil.token)){
            return msg;
        }else {
            return "error";

+ 47 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/OnenetService.java

@ -1,5 +1,15 @@
package com.yihu.jw.care.service;
import com.yihu.jw.care.dao.device.OnenetDeviceDao;
import com.yihu.jw.util.http.HttpClientUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
 * Created with IntelliJ IDEA.
 *
@ -7,5 +17,42 @@ package com.yihu.jw.care.service;
 * @Date: 2021/9/6
 * @Description:
 */
@Service
public class OnenetService {
    private static Logger logger = LoggerFactory.getLogger(OnenetService.class);
    @Autowired
    private HttpClientUtil httpClientUtil;
    @Autowired
    private OnenetDeviceDao onenetDeviceDao;
    private static final String MasterAPIkey ="Da0iDvhQ5H8OD6phWq=tMubBcBw=";
    private static final String baseUrl = "http://api.heclouds.com";
    public void receive(){
    }
    public void addDevice(){
    }
    /**
     * 同步设备
     */
    public void sysDevice(){
        String url = baseUrl +"/";
    }
    /**
     * onenet请求get方法
     * @param url
     * @return
     */
    public String apikeyGet(String url){
        Map<String,String> headerMap = new HashMap<>();
        headerMap.put("api-key", MasterAPIkey);
        String result = httpClientUtil.sendGet(url,headerMap);
        return result;
    }
}

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

@ -19,10 +19,13 @@ import java.util.Base64;
 */
public class OneNetUtil {
    private static final String MasterAPIkey ="Da0iDvhQ5H8OD6phWq=tMubBcBw=";
    private static final String access_key  ="WikrY0Zy/BB308DZhplru4Mc65OijFqH35nMEh4xre0=";
    private static final String objId = "3200";
    private static final String resId = "5505";
    //用户自定义token和OneNet第三方平台配置里的token一致(配置http推送时使用)
    public static final String token ="jkzl2021";
    public static String assembleToken(String version, String resourceName, String expirationTime, String signatureMethod, String accessKey)
            throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {