Przeglądaj źródła

Merge branch 'sudve' of suhaiwen/wlyy2.0 into dev

humingfen 5 lat temu
rodzic
commit
8dc183675f
25 zmienionych plików z 232 dodań i 454 usunięć
  1. 8 0
      common/common-entity/src/main/java/com/yihu/jw/entity/iot/device/IotDeviceSimDO.java
  2. 0 247
      common/common-entity/src/main/java/com/yihu/jw/entity/iot/platform/IotInterfaceLogDO.java
  3. 2 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/iot/IotRequestMapping.java
  4. 32 0
      svr/svr-iot-job/src/main/java/com/yihu/jw/job/wlw/SimSetMealJob.java
  5. 23 2
      svr/svr-iot-job/src/main/java/com/yihu/jw/service/channel/SimBalanceService.java
  6. 39 0
      svr/svr-iot-job/src/main/java/com/yihu/jw/service/channel/SimSetMealService.java
  7. 6 32
      svr/svr-iot/src/main/java/com/yihu/iot/controller/device/IotDeviceQualityController.java
  8. 1 3
      svr/svr-iot/src/main/java/com/yihu/iot/controller/platform/IotInterfaceController.java
  9. 8 0
      svr/svr-iot/src/main/java/com/yihu/iot/controller/product/IotProductController.java
  10. 7 0
      svr/svr-iot/src/main/java/com/yihu/iot/dao/company/IotCompanyAppDao.java
  11. 4 0
      svr/svr-iot/src/main/java/com/yihu/iot/dao/device/IotDeviceQualityInspectionPlanDao.java
  12. 9 0
      svr/svr-iot/src/main/java/com/yihu/iot/dao/device/IotDeviceSimDao.java
  13. 0 2
      svr/svr-iot/src/main/java/com/yihu/iot/dao/platform/IotCompanyAppInterfaceDao.java
  14. 0 13
      svr/svr-iot/src/main/java/com/yihu/iot/dao/platform/IotInterfaceLogDao.java
  15. 5 0
      svr/svr-iot/src/main/java/com/yihu/iot/dao/product/IotProductBaseInfoDao.java
  16. 2 0
      svr/svr-iot/src/main/java/com/yihu/iot/dao/product/IotProductDataTransmissionDao.java
  17. 5 0
      svr/svr-iot/src/main/java/com/yihu/iot/dao/product/IotProductExtendInfoDao.java
  18. 0 2
      svr/svr-iot/src/main/java/com/yihu/iot/dao/workType/IotWorkTypeDao.java
  19. 10 12
      svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotDeviceQualityInspectionPlanService.java
  20. 8 0
      svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotDeviceService.java
  21. 8 5
      svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotDeviceSimService.java
  22. 15 0
      svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotPatientDeviceService.java
  23. 0 131
      svr/svr-iot/src/main/java/com/yihu/iot/service/platform/IotInterfaceLogService.java
  24. 40 0
      svr/svr-iot/src/main/java/com/yihu/iot/service/product/IotProductBaseInfoService.java
  25. 0 5
      svr/svr-iot/src/main/java/com/yihu/iot/service/workType/IotWorkTypeService.java

+ 8 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/iot/device/IotDeviceSimDO.java

@ -41,6 +41,8 @@ public class IotDeviceSimDO extends UuidIdentityEntityWithOperator implements Se
    private String remindTime;//每月的固定提醒日
    @Column(name = "remind_arrears")
    private String remindArrears;//欠费提醒  1:提醒  0:不提醒
    @Column(name = "del")
    private String del;//删除SIM 1:删除 0:不删除',
    @Column(name = "device_name")
@ -157,5 +159,11 @@ public class IotDeviceSimDO extends UuidIdentityEntityWithOperator implements Se
        this.deviceSn = deviceSn;
    }
    public String getDel() {
        return del;
    }
    public void setDel(String del) {
        this.del = del;
    }
}

+ 0 - 247
common/common-entity/src/main/java/com/yihu/jw/entity/iot/platform/IotInterfaceLogDO.java

@ -1,247 +0,0 @@
package com.yihu.jw.entity.iot.platform;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import org.hibernate.boot.model.relational.Namespace;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;
/**接口日志
 * @author HZY
 * @vsrsion 1.0
 * Created at 2020/4/28
 */
@Entity
@Table(name = "iot_interface_log")
public class IotInterfaceLogDO extends UuidIdentityEntityWithOperator implements Serializable {
    @Column(name="company_id")
    private String companyId;//公司ID
    @Column(name="company_name")
    private String companyName;//公司名称
    @Column(name="app_id")
    private String appId;//应用ID
    @Column(name="app_name")
    private String  appName;//应用名称
    @Column(name="work_type_id")
    private String workTypeId;//业务类型ID
    @Column(name="work_type")
    private String workType;//业务类型
    @Column(name="explanation")
    private String explanation;//接口说明
    @Column(name="user_id")
    private String userId;//用户id
    @Column(name="user_name")
    private String userName;//用户名称
    @Column(name="address_ip")
    private String addressIp;//访问ip地址
    @Column(name="source")
    private String source;//请求来源 1:卫健委 2:单位 3:系统管理员
    @Column(name="head")
    private String head;//请求头
    @Column(name="request")
    private String request;//请求参数
    @Column(name="interface_name")
    private String interfaceName;//请求接口名称
    @Column(name="method")
    private String method;//方法名
    @Column(name="type")
    private int type;//请求方式 1:get请求  2:post请求
    @Column(name="url")
    private String url;//请求URL
    @Column(name="response")
    private String  response;//响应参数
    @Column(name="time")
    private Date time;//调用时间
    @Column(name="state")
    private int  state;//调用状态 1:成功   0:失败
    @Transient
    private String count;//调用次数
    @Transient
    private String failureRate;//失败率
    public String getCompanyId() {
        return companyId;
    }
    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }
    public String getCompanyName() {
        return companyName;
    }
    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
    public String getAppId() {
        return appId;
    }
    public void setAppId(String appId) {
        this.appId = appId;
    }
    public String getAppName() {
        return appName;
    }
    public void setAppName(String appName) {
        this.appName = appName;
    }
    public String getWorkTypeId() {
        return workTypeId;
    }
    public void setWorkTypeId(String workTypeId) {
        this.workTypeId = workTypeId;
    }
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getAddressIp() {
        return addressIp;
    }
    public void setAddressIp(String addressIp) {
        this.addressIp = addressIp;
    }
    public String getSource() {
        return source;
    }
    public void setSource(String source) {
        this.source = source;
    }
    public String getHead() {
        return head;
    }
    public void setHead(String head) {
        this.head = head;
    }
    public String getRequest() {
        return request;
    }
    public void setRequest(String request) {
        this.request = request;
    }
    public String getInterfaceName() {
        return interfaceName;
    }
    public void setInterfaceName(String interfaceName) {
        this.interfaceName = interfaceName;
    }
    public String getMethod() {
        return method;
    }
    public void setMethod(String method) {
        this.method = method;
    }
    public int getType() {
        return type;
    }
    public void setType(int type) {
        this.type = type;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getResponse() {
        return response;
    }
    public void setResponse(String response) {
        this.response = response;
    }
    public Date getTime() {
        return time;
    }
    public void setTime(Date time) {
        this.time = time;
    }
    public int getState() {
        return state;
    }
    public void setState(int state) {
        this.state = state;
    }
    public String getWorkType() {
        return workType;
    }
    public void setWorkType(String workType) {
        this.workType = workType;
    }
    public String getExplanation() {
        return explanation;
    }
    public void setExplanation(String explanation) {
        this.explanation = explanation;
    }
    @Transient
    public String getCount() {
        return count;
    }
    public void setCount(String count) {
        this.count = count;
    }
    @Transient
    public String getFailureRate() {
        return failureRate;
    }
    public void setFailureRate(String failureRate) {
        this.failureRate = failureRate;
    }
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/iot/IotRequestMapping.java

@ -135,6 +135,7 @@ public class IotRequestMapping {
        public static final String delProduct = "delProduct";
        public static final String maintenanceUnitById = "maintenanceUnitById";
        public static final String setInventoryById = "setInventoryById";
        public static final String findAll = "findAll";
    }
@ -302,6 +303,7 @@ public class IotRequestMapping {
        public static final String findById = "findById";
        public static final String findPlanTimeByOrderNo = "findPlanTimeByOrderNo";
        public static final String remindTimePlan = "remindTimePlan";
        public static final String findAll = "findAll";
    }

+ 32 - 0
svr/svr-iot-job/src/main/java/com/yihu/jw/job/wlw/SimSetMealJob.java

@ -0,0 +1,32 @@
package com.yihu.jw.job.wlw;
import com.yihu.jw.service.channel.DeviceQualityPlanService;
import com.yihu.jw.service.channel.SimSetMealService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2020/5/11
 */
public class SimSetMealJob implements Job {
    private static final Logger logger = LoggerFactory.getLogger(SimSetMealJob.class);
    @Autowired
    private SimSetMealService simSetMealService;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.info("START========SimSetMealJob========");
        try {
            simSetMealService.autoPush();
            logger.info("END========SimSetMealJob========");
        } catch (Exception e) {
            e.printStackTrace();
            logger.error("END===ERROE===SimSetMealJob,message:"+e.getMessage());
        }
    }
}

+ 23 - 2
svr/svr-iot-job/src/main/java/com/yihu/jw/service/channel/SimBalanceService.java

@ -1,5 +1,6 @@
package com.yihu.jw.service.channel;
import com.yihu.iot.dao.device.IotDeviceSimDao;
import com.yihu.iot.dao.dict.IotSystemDictDao;
import com.yihu.iot.dao.message.IotMessageDao;
import com.yihu.iot.service.device.IotDeviceSimService;
@ -32,13 +33,15 @@ public class SimBalanceService {
    @Autowired
    private IotMessageDao iotMessageDao;
    @Autowired
    private IotDeviceSimDao iotDeviceSimDao;
    public  void autoPush() {
        logger.info("autoPush start");
        IotSystemDictDO simBalanceRemind = iotSystemDictDao.findByDictName("SIM_BALANCE_REMIND").get(0);
       List<IotDeviceSimDO> list  = iotDeviceSimService.findAllRemindSim(simBalanceRemind.getTime(),simBalanceRemind.getCode());
        //余额不足
       list.forEach(one->{
           IotMessageDO iotMessageDO = new IotMessageDO();
           iotMessageDO.setTitle("SIM卡续费通知");
@ -49,11 +52,29 @@ public class SimBalanceService {
           iotMessageDao.save(iotMessageDO);
       });
        //欠费提醒
        Integer status = simBalanceRemind.getStatus();
        String simStatus = status + "";
        if (simStatus.equalsIgnoreCase("1")){
            List<IotDeviceSimDO> arrearsSim = iotDeviceSimDao.findArrearsSim();
            arrearsSim.forEach(one->{
                float balance = Math.abs(one.getRemainingBalance());
                String arrears = Float.toString(balance);
                IotMessageDO iotMessageDO = new IotMessageDO();
                iotMessageDO.setTitle("SIM卡续费通知");
                iotMessageDO.setContent("您的:"+one.getDeviceName()+"设备绑定的SIM卡:"+one.getSim()+"已欠费"+arrears+"元,请及时充值,避免设备离线");
                iotMessageDO.setReadMsg("0");
                iotMessageDO.setDel("0");
                iotMessageDO.setType("1");
                iotMessageDao.save(iotMessageDO);
            });
        }
    }
    public String getCron(){
        IotSystemDictDO simBalanceRemind = iotSystemDictDao.findByDictName("SIM_BALANCE_REMIND").get(0);
        return "0 58 16 "+simBalanceRemind.getTime()+" * ?";
        return "0 0 12 "+simBalanceRemind.getTime()+" * ?";
    }
}

+ 39 - 0
svr/svr-iot-job/src/main/java/com/yihu/jw/service/channel/SimSetMealService.java

@ -0,0 +1,39 @@
package com.yihu.jw.service.channel;
import com.yihu.iot.dao.device.IotDeviceSimDao;
import com.yihu.jw.entity.iot.device.IotDeviceSimDO;
import com.yihu.jw.entity.iot.dict.IotSystemDictDO;
import com.yihu.jw.entity.iot.message.IotMessageDO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2020/5/11
 */
@Service
@Transactional
public class SimSetMealService {
    private static Logger logger = LoggerFactory.getLogger(SimSetMealService.class);
    @Autowired
    private IotDeviceSimDao iotDeviceSimDao;
    public  void autoPush() {
        logger.info("autoPush start");
        List<IotDeviceSimDO> list = iotDeviceSimDao.findAllByDel();
        list.forEach(one->{
            one.setRemainingBalance(one.getRemainingBalance()-one.getPayment());
            iotDeviceSimDao.save(one);
        });
    }
}

+ 6 - 32
svr/svr-iot/src/main/java/com/yihu/iot/controller/device/IotDeviceQualityController.java

@ -111,38 +111,6 @@ public class IotDeviceQualityController extends EnvelopRestEndpoint {
            if(size == null){
                size = 10;
            }
//            String filters = "";
//            String semicolon = "";
//            if(StringUtils.isNotBlank(purcharseId)){
//                filters += semicolon +"purchaseId="+purcharseId;
//                semicolon = ";";
//            }
//            if(StringUtils.isNotBlank(orderNo)){
//                filters += semicolon +"orderNo="+orderNo;
//                semicolon = ";";
//            }
//            if(StringUtils.isNotBlank(startTime)){
//                filters += semicolon +"planTime>="+startTime;
//                semicolon = ";";
//            }
//            if(StringUtils.isNotBlank(endTime)){
//                filters += semicolon +"planTime<="+endTime;
//                semicolon = ";";
//            }
//            if(StringUtils.isBlank(filters)){
//                filters+= semicolon + "del=1";
//            }
//            String sorts = "-updateTime";
//            //得到list数据
//            List<IotDeviceQualityInspectionPlanDO> list = iotDeviceQualityInspectionPlanService.search(null, filters, sorts, page, size);
//            //获取总数
//            long count = iotDeviceQualityInspectionPlanService.getCount(filters);
//
//            //DO转VO
//            List<IotDeviceQualityInspectionPlanVO> voList = convertToModels(list,new ArrayList<>(list.size()),IotDeviceQualityInspectionPlanVO.class);
//
//            return Envelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find_functions,voList, page, size,count);
            return iotDeviceQualityInspectionPlanService.queryPage(status, orderNo, startTime, endTime, page, size);
        } catch (Exception e) {
            e.printStackTrace();
@ -216,5 +184,11 @@ public class IotDeviceQualityController extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = IotRequestMapping.DeviceQuality.findAll)
    @ApiOperation(value = "获取所有质检计划", notes = "获取所有质检计划")
    public MixEnvelop<IotDeviceQualityInspectionPlanVO, IotDeviceQualityInspectionPlanVO> findAll(){
        return iotDeviceQualityInspectionPlanService.findAll();
    }
}

+ 1 - 3
svr/svr-iot/src/main/java/com/yihu/iot/controller/platform/IotInterfaceController.java

@ -1,9 +1,8 @@
package com.yihu.iot.controller.platform;
import com.alibaba.fastjson.JSONObject;
import com.yihu.iot.service.company.IotCompanyService;
import com.yihu.iot.service.platform.IotCompanyAppInterfaceService;
import com.yihu.iot.service.platform.IotInterfaceLogService;
import com.yihu.iot.service.log.IotInterfaceLogService;
import com.yihu.iot.service.platform.IotShareInterfaceService;
import com.yihu.jw.entity.iot.company.IotCompanyDO;
import com.yihu.jw.entity.iot.platform.IotCompanyAppInterfaceDO;
@ -20,7 +19,6 @@ import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**

+ 8 - 0
svr/svr-iot/src/main/java/com/yihu/iot/controller/product/IotProductController.java

@ -216,4 +216,12 @@ public class IotProductController extends EnvelopRestEndpoint {
            return MixEnvelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = IotRequestMapping.Product.findAll)
    @ApiOperation(value = "获取所有产品信息")
    public MixEnvelop<IotProductVO, IotProductVO> findAll() {
        return iotProductBaseInfoService.findAll();
    }
}

+ 7 - 0
svr/svr-iot/src/main/java/com/yihu/iot/dao/company/IotCompanyAppDao.java

@ -3,6 +3,7 @@ package com.yihu.iot.dao.company;
import com.yihu.jw.entity.iot.company.IotCompanyAppDO;
import com.yihu.jw.entity.iot.company.IotCompanyDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
@ -14,5 +15,11 @@ import java.util.List;
 */
public interface IotCompanyAppDao extends PagingAndSortingRepository<IotCompanyAppDO, String>,
        JpaSpecificationExecutor<IotCompanyAppDO> {
        @Query("from IotCompanyAppDO w where w.companyId =?1 and w.del=1")
        List<IotCompanyAppDO> findByCompanyId(String companyId);
        @Query("from IotCompanyAppDO w where w.id =?1 and w.del=1")
        IotCompanyAppDO findById(String appId);
        }

+ 4 - 0
svr/svr-iot/src/main/java/com/yihu/iot/dao/device/IotDeviceQualityInspectionPlanDao.java

@ -31,6 +31,10 @@ public interface IotDeviceQualityInspectionPlanDao extends PagingAndSortingRepos
    @Query(value = "SELECT a.* from iot_device_quality_inspection_plan a WHERE a.purchase_id = ?1 and a.status=?2 and a.del=1 ORDER BY a.plan_time asc limit 1",nativeQuery = true)
    IotDeviceQualityInspectionPlanDO findFirstByPurchaseId(String purchaseId,String status);
    @Query("from IotDeviceQualityInspectionPlanDO c where c.del=1")
    List<IotDeviceQualityInspectionPlanDO> findByOrderNo(String orderNo);
    @Query("from IotDeviceQualityInspectionPlanDO c where c.del=1")
    List<IotDeviceQualityInspectionPlanDO> findAllByDel();
}

+ 9 - 0
svr/svr-iot/src/main/java/com/yihu/iot/dao/device/IotDeviceSimDao.java

@ -2,8 +2,11 @@ package com.yihu.iot.dao.device;
import com.yihu.jw.entity.iot.device.IotDeviceSimDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * @author HZY
 * @vsrsion 1.0
@ -12,4 +15,10 @@ import org.springframework.data.repository.PagingAndSortingRepository;
public interface IotDeviceSimDao extends PagingAndSortingRepository<IotDeviceSimDO,String>, JpaSpecificationExecutor<IotDeviceSimDO> {
    IotDeviceSimDO  findBySim(String sim);
    @Query("from IotDeviceSimDO c WHERE c.remainingBalance < 0 AND c.del=0")
    List<IotDeviceSimDO> findArrearsSim();
    @Query("from IotDeviceSimDO c WHERE c.status <>-1  and c.del=0 ")
    List<IotDeviceSimDO> findAllByDel();
}

+ 0 - 2
svr/svr-iot/src/main/java/com/yihu/iot/dao/platform/IotCompanyAppInterfaceDao.java

@ -1,8 +1,6 @@
package com.yihu.iot.dao.platform;
import com.yihu.jw.entity.iot.company.IotCompanyAppDO;
import com.yihu.jw.entity.iot.platform.IotCompanyAppInterfaceDO;
import com.yihu.jw.entity.iot.platform.IotInterfaceLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;

+ 0 - 13
svr/svr-iot/src/main/java/com/yihu/iot/dao/platform/IotInterfaceLogDao.java

@ -1,13 +0,0 @@
package com.yihu.iot.dao.platform;
import com.yihu.jw.entity.iot.platform.IotInterfaceLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2020/4/28
 */
public interface IotInterfaceLogDao extends PagingAndSortingRepository<IotInterfaceLogDO,String>, JpaSpecificationExecutor<IotInterfaceLogDO> {
}

+ 5 - 0
svr/svr-iot/src/main/java/com/yihu/iot/dao/product/IotProductBaseInfoDao.java

@ -5,6 +5,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * @author yeshijie on 2018/1/16.
 */
@ -13,4 +15,7 @@ public interface IotProductBaseInfoDao extends PagingAndSortingRepository<IotPro
    @Query("from IotProductBaseInfoDO w where w.id =?1 and w.del = 1")
    IotProductBaseInfoDO findById(String id);
    @Query("from IotProductBaseInfoDO w where w.del = 1")
    List<IotProductBaseInfoDO> findAllByDel();
}

+ 2 - 0
svr/svr-iot/src/main/java/com/yihu/iot/dao/product/IotProductDataTransmissionDao.java

@ -15,4 +15,6 @@ public interface IotProductDataTransmissionDao extends PagingAndSortingRepositor
    @Query("from IotProductDataTransmissionDO w where w.productId =?1")
    List<IotProductDataTransmissionDO> findByProductId(String productId);
}

+ 5 - 0
svr/svr-iot/src/main/java/com/yihu/iot/dao/product/IotProductExtendInfoDao.java

@ -5,6 +5,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * @author yeshijie on 2018/1/16.
 */
@ -13,4 +15,7 @@ public interface IotProductExtendInfoDao extends PagingAndSortingRepository<IotP
    @Query("from IotProductExtendInfoDO w where w.productId =?1 and w.del=1")
    IotProductExtendInfoDO findByProductId(String productId);
    @Query("from IotProductExtendInfoDO w where w.del=1")
    List<IotProductExtendInfoDO> findAllByDel();
}

+ 0 - 2
svr/svr-iot/src/main/java/com/yihu/iot/dao/workType/IotWorkTypeDao.java

@ -1,8 +1,6 @@
package com.yihu.iot.dao.workType;
import com.yihu.jw.entity.iot.platform.IotInterfaceLogDO;
import com.yihu.jw.entity.iot.workType.IotWorkTypeDO;
import org.springframework.data.jpa.mapping.JpaPersistentEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;

+ 10 - 12
svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotDeviceQualityInspectionPlanService.java

@ -2,23 +2,18 @@ package com.yihu.iot.service.device;
import com.alibaba.fastjson.JSONObject;
import com.yihu.iot.dao.device.IotDeviceDao;
import com.yihu.iot.dao.device.IotDeviceOrderDao;
import com.yihu.iot.dao.device.IotDeviceQualityInspectionPlanDao;
import com.yihu.iot.dao.device.IotOrderPurchaseDao;
import com.yihu.iot.dao.dict.IotSystemDictDao;
import com.yihu.iot.dao.message.IotMessageDao;
import com.yihu.iot.service.dict.IotSystemDictService;
import com.yihu.jw.entity.iot.device.IotDeviceQualityInspectionPlanDO;
import com.yihu.jw.entity.iot.device.IotOrderPurchaseDO;
import com.yihu.jw.entity.iot.dict.IotSystemDictDO;
import com.yihu.jw.entity.iot.message.IotMessageDO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.iot.device.IotDeviceQualityInspectionPlanVO;
import com.yihu.jw.rm.iot.IotRequestMapping;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.network.HttpUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
@ -38,14 +33,8 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev
    @Autowired
    private IotDeviceQualityInspectionPlanDao iotDeviceQualityInspectionPlanDao;
    @Autowired
    private IotOrderPurchaseService iotOrderPurchaseService;
    @Autowired
    private IotOrderPurchaseDao iotOrderPurchaseDao;
    @Autowired
    private IotDeviceOrderService iotDeviceOrderService;
    @Autowired
    private IotDeviceOrderDao iotDeviceOrderDao;
    @Autowired
    private JdbcTemplate jdbcTempalte;
    @Autowired
    private IotSystemDictService iotSystemDictService;
@ -56,7 +45,6 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev
    private IotSystemDictDao iotSystemDictDao;
    private final static String jobUrl = "http://localhost:10031/job/reStartById?taskId=data_device_quality_plan_job";
    /**
     * 新增
     * @param iotDeviceQualityInspectionPlan
@ -319,4 +307,14 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev
        long count = list.size();
        return MixEnvelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find_functions,list,page,size,count);
    }
    /**
     * 获取所有质检计划
     * @return
     */
    public MixEnvelop<IotDeviceQualityInspectionPlanVO, IotDeviceQualityInspectionPlanVO> findAll() {
        List<IotDeviceQualityInspectionPlanDO> list = iotDeviceQualityInspectionPlanDao.findAllByDel();
        List<IotDeviceQualityInspectionPlanVO> listVO = transforList(list);
        return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_find,listVO);
    }
}

+ 8 - 0
svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotDeviceService.java

@ -57,6 +57,8 @@ public class IotDeviceService extends BaseJpaService<IotDeviceDO,IotDeviceDao> {
    private IotProductDataTransmissionDao iotProductDataTransmissionDao;
    @Autowired
    private IotDeviceOrderDao iotDeviceOrderDao;
    @Autowired
    private IotDeviceSimDao iotDeviceSimDao;
    /**
     * 新增
@ -166,6 +168,12 @@ public class IotDeviceService extends BaseJpaService<IotDeviceDO,IotDeviceDao> {
        IotDeviceDO deviceDO = findById(id);
        deviceDO.setSimNo(sim);
        iotDeviceDao.save(deviceDO);
        //修改SIM卡管理列表
        IotDeviceSimDO simDO = iotDeviceSimDao.findBySim(sim);
        simDO.setDeviceSn(deviceDO.getDeviceSn());
        simDO.setDeviceName(deviceDO.getName());
        simDO.setDel("0");
        iotDeviceSimDao.save(simDO);
        return Envelop.getSuccess("修改成功");
    }

+ 8 - 5
svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotDeviceSimService.java

@ -77,7 +77,7 @@ public class IotDeviceSimService  extends BaseJpaService<IotDeviceSimDO, IotDevi
    }
    /**
     *
     *新增SIM卡
     * @param json
     */
    public MixEnvelop<IotOrderVO, IotOrderVO> addSIM(String json) {
@ -103,6 +103,7 @@ public class IotDeviceSimService  extends BaseJpaService<IotDeviceSimDO, IotDevi
        }
        sim.setRemainingBalance(sim.getAdvancePayment()-sim.getPayment());
        sim.setStatus(1);
        sim.setDel("0");
        iotDeviceSimDao.save(sim);
        return MixEnvelop.getSuccess(IotRequestMapping.DeviceSim.message_success_add);
    }
@ -118,8 +119,8 @@ public class IotDeviceSimService  extends BaseJpaService<IotDeviceSimDO, IotDevi
     */
    public MixEnvelop<IotDeviceSimDO, IotDeviceSimDO> conditionQueryPage(Integer page, Integer size, String status, String sim, String sn){
        StringBuffer sql = new StringBuffer("SELECT DISTINCT c.* from iot_device_sim c WHERE 1=1 ");
        StringBuffer sqlCount = new StringBuffer("SELECT COUNT(DISTINCT c.id) count from iot_device_sim c  WHERE 1=1 ");
        StringBuffer sql = new StringBuffer("SELECT c.* from iot_device_sim c WHERE 1=1 ");
        StringBuffer sqlCount = new StringBuffer("SELECT COUNT(c.id) count from iot_device_sim c  WHERE 1=1 ");
        List<Object> args = new ArrayList<>();
        if(StringUtils.isNotBlank(status)){
            sql.append(" and c.status=? ");
@ -146,7 +147,7 @@ public class IotDeviceSimService  extends BaseJpaService<IotDeviceSimDO, IotDevi
    /**
     * 分页查找所有应用申请信息
     * 分页查找所有应用SIM卡信息
     * @param page
     * @param size
     * @return
@ -185,7 +186,7 @@ public class IotDeviceSimService  extends BaseJpaService<IotDeviceSimDO, IotDevi
    }
    /**
     * 获取所有需要提醒的SIM卡
     * 获取所有需要余额提醒的SIM卡
     * @param time
     * @param code
     * @return
@ -208,4 +209,6 @@ public class IotDeviceSimService  extends BaseJpaService<IotDeviceSimDO, IotDevi
        return list;
    }
}

+ 15 - 0
svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotPatientDeviceService.java

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.elasticsearch.ElasticSearchHelper;
import com.yihu.iot.dao.device.IotDeviceDao;
import com.yihu.iot.dao.device.IotDeviceOverhaulDao;
import com.yihu.iot.dao.device.IotDeviceSimDao;
import com.yihu.iot.dao.device.IotPatientDeviceDao;
import com.yihu.iot.datainput.util.ConstantUtils;
import com.yihu.iot.service.common.ElasticSearchQueryGenerator;
@ -11,6 +12,7 @@ import com.yihu.iot.service.dict.IotSystemDictService;
import com.yihu.jw.device.LocationDataDO;
import com.yihu.jw.entity.iot.device.IotDeviceDO;
import com.yihu.jw.entity.iot.device.IotDeviceOverhaulDO;
import com.yihu.jw.entity.iot.device.IotDeviceSimDO;
import com.yihu.jw.entity.iot.device.IotPatientDeviceDO;
import com.yihu.jw.entity.iot.dict.IotSystemDictDO;
import com.yihu.jw.restmodel.iot.device.IotPatientDeviceVO;
@ -57,6 +59,8 @@ public class IotPatientDeviceService extends BaseJpaService<IotPatientDeviceDO,
    private IotSystemDictService iotSystemDictService;
    @Autowired
    private IotDeviceOverhaulDao deviceOverhaulDao;
    @Autowired
    private IotDeviceSimDao iotDeviceSimDao;
    /**
     * 新增
@ -90,6 +94,17 @@ public class IotPatientDeviceService extends BaseJpaService<IotPatientDeviceDO,
            }
            deviceOverhaulDao.save(deviceOverhaulDOS);
        }
        //更新SIM管理的SIM卡信息
        IotDeviceSimDO sim = iotDeviceSimDao.findBySim(patientDevice.getSim());
        sim.setDeviceName(patientDevice.getDeviceName());
        sim.setDeviceSn(patientDevice.getDeviceSn());
        sim.setContactsName(patientDevice.getPatientName());
        sim.setContactsMobile(patientDevice.getMobile());
        sim.setDel("0");
        iotDeviceSimDao.save(sim);
        return patientDeviceDO;
    }

+ 0 - 131
svr/svr-iot/src/main/java/com/yihu/iot/service/platform/IotInterfaceLogService.java

@ -1,131 +0,0 @@
package com.yihu.iot.service.platform;
import com.sun.org.apache.bcel.internal.generic.NEW;
import com.yihu.iot.dao.platform.IotInterfaceLogDao;
import com.yihu.iot.service.useragent.UserAgent;
import com.yihu.jw.entity.iot.company.IotCompanyDO;
import com.yihu.jw.entity.iot.platform.IotInterfaceLogDO;
import com.yihu.jw.restmodel.iot.platform.IotInterfaceLogVO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.iot.IotRequestMapping;
import com.yihu.mysql.query.BaseJpaService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.swing.plaf.PanelUI;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2020/4/28
 */
@Service
public class IotInterfaceLogService extends BaseJpaService<IotInterfaceLogDO,IotInterfaceLogDao> {
    private static final Logger logger = LoggerFactory.getLogger(IotInterfaceLogService.class);
    @Autowired
    private IotInterfaceLogDao iotInterfaceLogDao;
    @Autowired
    private UserAgent userAgent;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 分页查询日志信息
     * @param page
     * @param size
     * @return
     * @throws ParseException
     */
    public MixEnvelop<IotInterfaceLogVO,IotInterfaceLogVO> findAll(Integer page, Integer size) throws ParseException {
        String sql = "select * from iot_interface_log where 1=1;";
        String sorts = "-updateTime";//按更新时间降序
//        List<IotInterfaceLogDO> list = search(null, filters, sorts, page, size);
        List<IotInterfaceLogDO> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper(IotInterfaceLogDO.class));
        ArrayList<IotInterfaceLogVO> resultList = new ArrayList<>();
        list.forEach(one->{
            IotInterfaceLogVO target = new IotInterfaceLogVO();
            BeanUtils.copyProperties(one,target);
            resultList.add(target);
        });
        long count =list.size();
        return MixEnvelop.getSuccessListWithPage(IotRequestMapping.Platform.message_success_find,resultList,page, size,count);
    }
    /**
     * 分页查询接口调用信息
     * @param page
     * @param size
     * @return
     */
    public MixEnvelop<IotInterfaceLogVO,IotInterfaceLogVO> dataConsumption(Integer page,Integer size){
        String sqlTotal="SELECT COUNT(id) num,app_name,interface_name,work_type FROM iot_interface_log GROUP BY app_name,interface_name;";
        String sql="SELECT COUNT(id) num,app_name,interface_name,work_type FROM iot_interface_log  WHERE state=0 GROUP BY app_name,interface_name;";
        List<IotInterfaceLogVO> list = new ArrayList<>();
        List<Map<String, Object>> total = jdbcTemplate.queryForList(sqlTotal);
        List<Map<String, Object>> failCount = jdbcTemplate.queryForList(sql);
        total.forEach(one->{
            IotInterfaceLogVO iotInterfaceLogVO = new IotInterfaceLogVO();
            iotInterfaceLogVO.setAppName(one.get("app_name").toString());
            iotInterfaceLogVO.setInterfaceName(one.get("interface_name").toString());
            iotInterfaceLogVO.setWorkType(one.get("work_type").toString());
            iotInterfaceLogVO.setCount(one.get("num").toString());
            list.add(iotInterfaceLogVO);
        });
        Long totalCount = (long) list.size();
        if (failCount==null){
            list.forEach(one->{
                one.setFailureRate("0.00");
            });
            return MixEnvelop.getSuccessListWithPage(IotRequestMapping.Platform.message_success_find,list,page, size,totalCount);
        }
        list.forEach(iotInterfaceLogVO->{
            failCount.forEach(one->{
                if(iotInterfaceLogVO.getAppName().equalsIgnoreCase(one.get("app_name").toString())
                        && iotInterfaceLogVO.getInterfaceName().equalsIgnoreCase(one.get("interface_name").toString()) ){
                    String num = one.get("num").toString();
                    Double value = Double.valueOf(num);
                    String count = iotInterfaceLogVO.getCount();
                    Double all = Double.valueOf(count);
                    DecimalFormat df=new DecimalFormat("0.00");//设置保留位数
                    String format = df.format(value / all);
                    iotInterfaceLogVO.setFailureRate(format);
                }
            });
        });
        return MixEnvelop.getSuccessListWithPage(IotRequestMapping.Platform.message_success_find,list,page, size,totalCount);
    }
}

+ 40 - 0
svr/svr-iot/src/main/java/com/yihu/iot/service/product/IotProductBaseInfoService.java

@ -7,6 +7,8 @@ import com.yihu.iot.dao.product.*;
import com.yihu.iot.service.dict.IotSystemDictService;
import com.yihu.jw.entity.iot.product.*;
import com.yihu.jw.restmodel.iot.product.*;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.iot.IotRequestMapping;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang.StringUtils;
@ -357,4 +359,42 @@ public class IotProductBaseInfoService extends BaseJpaService<IotProductBaseInfo
        iotProductBaseInfoDao.save(list);
        return list;
    }
    /**
     * 获取所有产品信息
     * @return
     */
    public MixEnvelop<IotProductVO, IotProductVO> findAll() {
        List<IotProductVO> list = new ArrayList<>();
        List<IotProductBaseInfoDO> baseInfoDOS = iotProductBaseInfoDao.findAllByDel();
        baseInfoDOS.forEach(one->{
            IotProductVO iotProductVO = new IotProductVO();
            IotProductBaseInfoVO iotProductBaseInfoVO = convertToModel(one, IotProductBaseInfoVO.class);
            List<IotProductDataTransmissionDO> transmissionDOList = iotProductDataTransmissionDao.findByProductId(one.getId());
            List<IotProductDataTransmissionVO> dataTransmissionVOList =
                    convertToModels(transmissionDOList,new ArrayList<>(transmissionDOList.size()),IotProductDataTransmissionVO.class);
            iotProductBaseInfoVO.setDataTransmissionVOList(dataTransmissionVOList);
            IotProductExtendInfoDO extendInfoDO = iotProductExtendInfoDao.findByProductId(one.getId());
            IotProductExtendInfoVO extendInfoVO = convertToModel(extendInfoDO, IotProductExtendInfoVO.class);
            List<IotProductAttachmentDO> attachmentDOS = iotProductAttachmentDao.findByProductId(one.getId());
            List<IotProductAttachmentVO> attachmentVOList = convertToModels(attachmentDOS, new ArrayList<>(attachmentDOS.size()), IotProductAttachmentVO.class);
            extendInfoVO.setAttachmentVOList(attachmentVOList);
            List<IotProductMeasuredDataDO> measuredDataDOList = iotProductMeasuredDataDao.findByProductId(one.getId());
            List<IotProductMeasuredDataVO> measuredDataVOList = convertToModels(measuredDataDOList, new ArrayList<>(measuredDataDOList.size()), IotProductMeasuredDataVO.class);
            iotProductVO.setIotProductBaseInfo(iotProductBaseInfoVO);
            iotProductVO.setIotProductExtendInfo(extendInfoVO);
            iotProductVO.setMeasuredDataVOList(measuredDataVOList);
            list.add(iotProductVO);
        });
        return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_find,list);
    }
}

+ 0 - 5
svr/svr-iot/src/main/java/com/yihu/iot/service/workType/IotWorkTypeService.java

@ -2,16 +2,11 @@ package com.yihu.iot.service.workType;
import com.alibaba.fastjson.JSONObject;
import com.yihu.iot.dao.workType.IotWorkTypeDao;
import com.yihu.jw.entity.iot.company.IotCompanyDO;
import com.yihu.jw.entity.iot.platform.IotInterfaceLogDO;
import com.yihu.jw.entity.iot.platform.IotShareInterfaceDO;
import com.yihu.jw.entity.iot.workType.IotWorkTypeDO;
import com.yihu.jw.restmodel.iot.platform.IotInterfaceLogVO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.iot.IotRequestMapping;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;