新增客户端上传心跳接口,新增拉取客户端设置表,新增客户端在线状态

cert
anthonywj 2 years ago
parent 4315256786
commit f4a2224f78

@ -1,5 +1,6 @@
package com.glxp.api.controller.sup;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
@ -8,11 +9,15 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.entity.sup.UserCompanyOnlineEntity;
import com.glxp.api.req.auth.FilterUserComapanyRequest;
import com.glxp.api.req.basic.ProductInfoFilterRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.auth.registComPerResponse;
import com.glxp.api.res.sup.UserCompanyOnlineResponse;
import com.glxp.api.service.sup.UserCompanyOnlineService;
import com.glxp.api.service.sup.UserCompanyService;
import com.glxp.api.util.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@ -38,10 +43,10 @@ public class UserComanyController extends BaseController {
@GetMapping("udi/auth/user/comapny/search")
public BaseResponse search(FilterUserComapanyRequest filterUserComapanyRequest) {
//获取部门id
if(filterUserComapanyRequest.getSearchKey() == null){
if (filterUserComapanyRequest.getSearchKey() == null) {
filterUserComapanyRequest.setSearchKey("");
}
List<UserCompanyEntity> userCompanyEntities = userCompanyService.list(new QueryWrapper<UserCompanyEntity>().like("companyName", filterUserComapanyRequest.getSearchKey()).eq("checkStatus",1));
List<UserCompanyEntity> userCompanyEntities = userCompanyService.list(new QueryWrapper<UserCompanyEntity>().like("companyName", filterUserComapanyRequest.getSearchKey()).eq("checkStatus", 1));
PageInfo<UserCompanyEntity> pageInfo;
pageInfo = new PageInfo<>(userCompanyEntities);
@ -64,4 +69,31 @@ public class UserComanyController extends BaseController {
pageSimpleResponse.setList(userCompanyEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@Resource
UserCompanyOnlineService userCompanyOnlineService;
@AuthRuleAnnotation("")
@GetMapping("udi/auth/user/comapny/status/filter")
public BaseResponse filterCompanyStaus(FilterUserComapanyRequest filterUserComapanyRequest) {
List<UserCompanyEntity> userCompanyEntities = userCompanyService.filterCompanyName(filterUserComapanyRequest);
if (CollUtil.isNotEmpty(userCompanyEntities)) {
for (UserCompanyEntity userCompanyEntity : userCompanyEntities) {
UserCompanyOnlineResponse userCompanyOnlineResponse = userCompanyOnlineService.findOnLineByConfig(userCompanyEntity.getId());
if (DateUtil.isExpire(userCompanyOnlineResponse.getUpdateTime(), userCompanyOnlineResponse.getHeartRate())) {
userCompanyEntity.setOnLineStatus(2);
} else
userCompanyEntity.setOnLineStatus(1);
}
}
PageInfo<UserCompanyEntity> pageInfo = new PageInfo<>(userCompanyEntities);
PageSimpleResponse<UserCompanyEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(userCompanyEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
}

@ -0,0 +1,29 @@
package com.glxp.api.controller.sup;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.sup.UserCompanyConfigEntity;
import com.glxp.api.service.sup.UserCompanyConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@Slf4j
public class UserCompanyConfigController {
@Resource
UserCompanyConfigService userCompanyConfigService;
//获取企业任务配置
@PostMapping("/admin/user/config/get")
public BaseResponse heartPost(String companyId) {
UserCompanyConfigEntity userCompanyConfigEntity = userCompanyConfigService.getOne(new QueryWrapper<UserCompanyConfigEntity>().eq("companyId", companyId));
return ResultVOUtils.success(userCompanyConfigEntity);
}
}

@ -1,12 +1,38 @@
package com.glxp.api.controller.sup;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.sup.UserCompanyOnlineEntity;
import com.glxp.api.req.sup.UserCompanyOnlineRequest;
import com.glxp.api.service.sup.UserCompanyOnlineService;
import com.glxp.api.util.BeanCopyUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
@RestController
@Slf4j
public class UserOnLineController {
@Resource
UserCompanyOnlineService userCompanyOnlineService;
/**
* 线
*
* @param userCompanyOnlineRequest
* @return
*/
@PostMapping("/admin/user/online/heart")
public BaseResponse heartPost(@RequestBody UserCompanyOnlineRequest userCompanyOnlineRequest) {
UserCompanyOnlineEntity userCompanyOnlineEntity = new UserCompanyOnlineEntity();
BeanCopyUtils.copy(userCompanyOnlineRequest, userCompanyOnlineEntity);
userCompanyOnlineService.saveOrUpdate(userCompanyOnlineEntity);
return ResultVOUtils.success("报告成功!");
}
}

@ -6,4 +6,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserCompanyConfigMapper extends BaseMapper<UserCompanyConfigEntity> {
}

@ -2,8 +2,11 @@ package com.glxp.api.dao.sup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.sup.UserCompanyOnlineEntity;
import com.glxp.api.res.sup.UserCompanyOnlineResponse;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserCompanyOnlineMapper extends BaseMapper<UserCompanyOnlineEntity> {
UserCompanyOnlineResponse findOnLineByConfig(Long companyId);
}

@ -88,5 +88,11 @@ public class UserCompanyEntity implements Serializable {
@TableField(value = "`reason`")
private String reason;
/**
* 线 1线2线
*/
@TableField(exist = false)
private Integer onLineStatus;
private static final long serialVersionUID = 1L;
}

@ -13,6 +13,7 @@ import lombok.Data;
@Data
@TableName(value = "user_company_online")
public class UserCompanyOnlineEntity implements Serializable {
@TableId(value = "companyId", type = IdType.INPUT)
private Long companyId;

@ -0,0 +1,15 @@
package com.glxp.api.req.sup;
import lombok.Data;
import java.util.Date;
@Data
public class UserCompanyOnlineRequest {
private Long companyId;
private Long userId;
private Date updateTime;
}

@ -0,0 +1,18 @@
package com.glxp.api.res.sup;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.util.Date;
@Data
public class UserCompanyOnlineResponse {
private Long companyId;
private Long userId;
private Date updateTime;
private Long heartRate;
}

@ -1,10 +1,29 @@
package com.glxp.api.service.sup;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.sup.UserCompanyOnlineMapper;
import com.glxp.api.entity.sup.UserCompanyOnlineEntity;
import com.glxp.api.res.sup.UserCompanyOnlineResponse;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
@Service
public class UserCompanyOnlineService extends ServiceImpl<UserCompanyOnlineMapper, UserCompanyOnlineEntity> {
@Resource
UserCompanyOnlineMapper userCompanyOnlineMapper;
public UserCompanyOnlineEntity findByCompnayId(Long companyId) {
return userCompanyOnlineMapper.selectOne(new QueryWrapper<UserCompanyOnlineEntity>().eq("companyId", companyId));
}
public UserCompanyOnlineResponse findOnLineByConfig(Long companyId) {
return userCompanyOnlineMapper.findOnLineByConfig(companyId);
}
}

@ -615,7 +615,6 @@ public class DateUtil extends DateUtils {
/**
*
*
* @param time
* @param hour
* @return
*/
@ -689,4 +688,11 @@ public class DateUtil extends DateUtils {
String formatDate = smdate.format(calendar.getTime());
return formatDate;
}
public static boolean isExpire(Date date, Long frequency) {
if (date == null || frequency == null)
return true;
return System.currentTimeMillis() - date.getTime() > frequency;
}
}

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.sup.UserCompanyOnlineMapper">
<select id="findOnLineByConfig"
resultType="com.glxp.api.res.sup.UserCompanyOnlineResponse">
SELECT user_company_online.*, ucc.heartRate
FROM user_company_online
left join user_company_config ucc on user_company_online.companyId = ucc.companyId
where user_company_online.companyId = #{companyId}
</select>
</mapper>

Loading…
Cancel
Save