Browse Source

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

Shi Kejing 3 years ago
parent
commit
c1c2b7fc29

+ 6 - 1
business/base-service/src/main/java/com/yihu/jw/file_upload/FileManageService.java

@ -46,6 +46,7 @@ public class FileManageService {
            param.setTaskId(UUID.randomUUID().toString());
        }
        boolean copflag =false;
        long chunkFileSize = 5 * 1024 * 1024;
        /**
         * basePath是我的路径,可以替换为你的
         * 1:原文件名改为UUID
@ -66,9 +67,11 @@ public class FileManageService {
        //第二步
        FileChannel fileChannel = raf.getChannel();
        //第三步
        long offset = param.getChunk() * param.getSize();
        long offset = param.getChunk() * chunkFileSize;
        //第四步
        byte[] fileData = param.getFile().getBytes();
        logger.info("offset"+offset);
        logger.info("fileData.length"+fileData.length);
        //第五步
        MappedByteBuffer mappedByteBuffer = fileChannel.map(FileChannel.MapMode.READ_WRITE,offset,fileData.length);
        //第六步
@ -80,9 +83,11 @@ public class FileManageService {
        //第八步
        boolean isComplete = checkUploadStatus(param,fileName,filePath);
        if(isComplete){
            logger.info("unCompelete size:"+tempFile.getTotalSpace());
            renameFile(tempFile,fileName);
            return filePath+"/"+fileName;
        }else {
            logger.info("unCompelete size:"+tempFile.getTotalSpace());
            return "unCompelete";
        }

+ 16 - 17
business/base-service/src/main/java/com/yihu/jw/hospital/message/service/BaseUserMsgService.java

@ -98,8 +98,7 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
    private boolean flag;
    public ObjEnvelop leaveMessage(String content, String reciverId, String reciverName, String senderId, Integer type, String key, String value)
            throws IOException
    {
            throws IOException {
        BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
        ObjEnvelop objEnvelop = new ObjEnvelop();
        boolean checkTimeOut = checkGiveTimeOut(senderId, reciverId);
@ -498,23 +497,23 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
        }
        return sql.toString();
    }
    public boolean checkGiveTimeOut(String sender, String reciver)
{
    List<BaseUserMessageDO> baseBannerDoctorDOS = this.baseUserMessageDao.getMessageByPatientAndDoctor(reciver, sender);
    WlyyHospitalSysDictDO wlyyHospitalSysDictDO = this.wlyyHospitalSysDictDao.findById("leave_message_timeout");
    if (null != baseBannerDoctorDOS&&baseBannerDoctorDOS.size()>=1)
    {
        BaseUserMessageDO lastOne = (BaseUserMessageDO)baseBannerDoctorDOS.get(0);
        Date lastDate = lastOne.getCreateTime();
        long timeOut = wlyyHospitalSysDictDO.getDictValue() != null ? Long.valueOf(wlyyHospitalSysDictDO.getDictValue()).longValue() : 5L;
        Date current = new Date();
        if (current.getTime() - lastDate.getTime() > timeOut * 1000L * 60L) {
            return true;
    public boolean checkGiveTimeOut(String sender, String reciver) {
        List<BaseUserMessageDO> baseBannerDoctorDOS = this.baseUserMessageDao.getMessageByPatientAndDoctor(reciver, sender);
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = this.wlyyHospitalSysDictDao.findById("leave_message_timeout");
        if (null != baseBannerDoctorDOS&&baseBannerDoctorDOS.size()>=1)
        {
            BaseUserMessageDO lastOne = (BaseUserMessageDO)baseBannerDoctorDOS.get(0);
            Date lastDate = lastOne.getCreateTime();
            long timeOut = wlyyHospitalSysDictDO.getDictValue() != null ? Long.valueOf(wlyyHospitalSysDictDO.getDictValue()).longValue() : 5L;
            Date current = new Date();
            if (current.getTime() - lastDate.getTime() > timeOut * 1000L * 60L) {
                return true;
            }
            return false;
        }
        return false;
        return true;
    }
    return true;
}
    public boolean checkGiveTimes(String patientId, String doctorId)
    {

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

@ -1465,3 +1465,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)  {
    }
}

+ 5 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/common/FileUploadController.java

@ -32,8 +32,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLDecoder;
import java.util.Base64;
import java.util.Map;
import java.util.*;
/**
 * 文件上传不在微服务中处理
@ -203,13 +202,17 @@ public class FileUploadController extends EnvelopRestEndpoint {
        files.setFile(file);
        files.setObjectType(objectType);
        files.setSize(file.getSize());
        logger.info("file size"+file.getSize());
        files.setTaskId(taskId);
        String taskid = fileManageService.chunkUploadByMappedByteBuffer(files);
        logger.info("taskid"+taskid);
        if ("unCompelete".equalsIgnoreCase(taskid)){
            System.out.println("第"+files.getChunk());
            return success("未传完",uploadVO);
        }else {
            File file1 = new File(taskid);
            logger.info("size:"+file1.getTotalSpace());
            FileInputStream input = new FileInputStream(file1);
            MultipartFile multipartFile = new MockMultipartFile("file", file1.getName(), "text/plain", IOUtils.toByteArray(input));
            if (isClose.equalsIgnoreCase("1")){

+ 0 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/searchClient/ClientSearchEndpoint.java

@ -42,7 +42,6 @@ public class ClientSearchEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.ClientSearch.CREATE)
    @ApiOperation(value = "保存查新查重服务")
    @ClientSearchRequestLimit(time = 60,count = 2,waits = 10)
    public Envelop saveBaseSearchNoveltyRepeat(@ApiParam(name = "jsonData",value = "")
                                               @RequestParam(name = "jsonData", required = true) String jsonData) throws Exception{
        try{

+ 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 {