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());
            param.setTaskId(UUID.randomUUID().toString());
        }
        }
        boolean copflag =false;
        boolean copflag =false;
        long chunkFileSize = 5 * 1024 * 1024;
        /**
        /**
         * basePath是我的路径,可以替换为你的
         * basePath是我的路径,可以替换为你的
         * 1:原文件名改为UUID
         * 1:原文件名改为UUID
@ -66,9 +67,11 @@ public class FileManageService {
        //第二步
        //第二步
        FileChannel fileChannel = raf.getChannel();
        FileChannel fileChannel = raf.getChannel();
        //第三步
        //第三步
        long offset = param.getChunk() * param.getSize();
        long offset = param.getChunk() * chunkFileSize;
        //第四步
        //第四步
        byte[] fileData = param.getFile().getBytes();
        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);
        MappedByteBuffer mappedByteBuffer = fileChannel.map(FileChannel.MapMode.READ_WRITE,offset,fileData.length);
        //第六步
        //第六步
@ -80,9 +83,11 @@ public class FileManageService {
        //第八步
        //第八步
        boolean isComplete = checkUploadStatus(param,fileName,filePath);
        boolean isComplete = checkUploadStatus(param,fileName,filePath);
        if(isComplete){
        if(isComplete){
            logger.info("unCompelete size:"+tempFile.getTotalSpace());
            renameFile(tempFile,fileName);
            renameFile(tempFile,fileName);
            return filePath+"/"+fileName;
            return filePath+"/"+fileName;
        }else {
        }else {
            logger.info("unCompelete size:"+tempFile.getTotalSpace());
            return "unCompelete";
            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;
    private boolean flag;
    public ObjEnvelop leaveMessage(String content, String reciverId, String reciverName, String senderId, Integer type, String key, String value)
    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();
        BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
        ObjEnvelop objEnvelop = new ObjEnvelop();
        ObjEnvelop objEnvelop = new ObjEnvelop();
        boolean checkTimeOut = checkGiveTimeOut(senderId, reciverId);
        boolean checkTimeOut = checkGiveTimeOut(senderId, reciverId);
@ -498,23 +497,23 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
        }
        }
        return sql.toString();
        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)
    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`)
  KEY `index1` (`doctor`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='医生服务权限表';
) 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.io.*;
import java.net.HttpURLConnection;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URL;
import java.net.URLConnection;
import java.util.*;
import java.util.*;
@Component
@Component
@ -617,6 +618,51 @@ public class HttpClientUtil {
        return response;
        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)  {
    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 javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.io.*;
import java.net.URLDecoder;
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.setFile(file);
        files.setObjectType(objectType);
        files.setObjectType(objectType);
        files.setSize(file.getSize());
        files.setSize(file.getSize());
        logger.info("file size"+file.getSize());
        files.setTaskId(taskId);
        files.setTaskId(taskId);
        String taskid = fileManageService.chunkUploadByMappedByteBuffer(files);
        String taskid = fileManageService.chunkUploadByMappedByteBuffer(files);
        logger.info("taskid"+taskid);
        if ("unCompelete".equalsIgnoreCase(taskid)){
        if ("unCompelete".equalsIgnoreCase(taskid)){
            System.out.println("第"+files.getChunk());
            System.out.println("第"+files.getChunk());
            return success("未传完",uploadVO);
            return success("未传完",uploadVO);
        }else {
        }else {
            File file1 = new File(taskid);
            File file1 = new File(taskid);
            logger.info("size:"+file1.getTotalSpace());
            FileInputStream input = new FileInputStream(file1);
            FileInputStream input = new FileInputStream(file1);
            MultipartFile multipartFile = new MockMultipartFile("file", file1.getName(), "text/plain", IOUtils.toByteArray(input));
            MultipartFile multipartFile = new MockMultipartFile("file", file1.getName(), "text/plain", IOUtils.toByteArray(input));
            if (isClose.equalsIgnoreCase("1")){
            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)
    @PostMapping(value = BaseRequestMapping.ClientSearch.CREATE)
    @ApiOperation(value = "保存查新查重服务")
    @ApiOperation(value = "保存查新查重服务")
    @ClientSearchRequestLimit(time = 60,count = 2,waits = 10)
    public Envelop saveBaseSearchNoveltyRepeat(@ApiParam(name = "jsonData",value = "")
    public Envelop saveBaseSearchNoveltyRepeat(@ApiParam(name = "jsonData",value = "")
                                               @RequestParam(name = "jsonData", required = true) String jsonData) throws Exception{
                                               @RequestParam(name = "jsonData", required = true) String jsonData) throws Exception{
        try{
        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;
package com.yihu.jw.care.endpoint;
import com.yihu.jw.care.common.BaseController;
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 com.yihu.jw.care.util.OnenetPushUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import static com.yihu.jw.care.util.OneNetUtil.token;
/**
/**
 * Created with IntelliJ IDEA.
 * Created with IntelliJ IDEA.
 *
 *
@ -23,9 +28,9 @@ import javax.servlet.http.HttpServletRequest;
public class OnenetController extends BaseController{
public class OnenetController extends BaseController{
    private static Logger logger = LoggerFactory.getLogger(OnenetController.class);
    private static Logger logger = LoggerFactory.getLogger(OnenetController.class);
    @Autowired
    private OnenetService onenetService;
    //用户自定义token和OneNet第三方平台配置里的token一致(配置http推送时使用)
    private static String token ="jkzl2021";
    /**
    /**
     * 功能描述:第三方平台数据接收。<p>
     * 功能描述:第三方平台数据接收。<p>
@ -51,6 +56,8 @@ public class OnenetController extends BaseController{
        if (obj != null){
        if (obj != null){
            boolean dataRight = OnenetPushUtil.checkSignature(obj, token);
            boolean dataRight = OnenetPushUtil.checkSignature(obj, token);
            if (dataRight){
            if (dataRight){
                logger.info("data receive: content" + obj.toString());
                logger.info("data receive: content" + obj.toString());
            }else {
            }else {
                logger.info("data receive: signature error");
                logger.info("data receive: signature error");
@ -99,7 +106,7 @@ public class OnenetController extends BaseController{
                        @RequestParam(value = "signature") String signature) throws Exception {
                        @RequestParam(value = "signature") String signature) throws Exception {
        logger.info("url&token check: msg:{} nonce{} signature:{}",msg,nonce,signature);
        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;
            return msg;
        }else {
        }else {
            return "error";
            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;
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.
 * Created with IntelliJ IDEA.
 *
 *
@ -7,5 +17,42 @@ package com.yihu.jw.care.service;
 * @Date: 2021/9/6
 * @Date: 2021/9/6
 * @Description:
 * @Description:
 */
 */
@Service
public class OnenetService {
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 {
public class OneNetUtil {
    private static final String MasterAPIkey ="Da0iDvhQ5H8OD6phWq=tMubBcBw=";
    private static final String access_key  ="WikrY0Zy/BB308DZhplru4Mc65OijFqH35nMEh4xre0=";
    private static final String access_key  ="WikrY0Zy/BB308DZhplru4Mc65OijFqH35nMEh4xre0=";
    private static final String objId = "3200";
    private static final String objId = "3200";
    private static final String resId = "5505";
    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)
    public static String assembleToken(String version, String resourceName, String expirationTime, String signatureMethod, String accessKey)
            throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
            throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {