You've already forked FrameTour-BE
各种sql、缓存优化
This commit is contained in:
@ -40,28 +40,5 @@ public class FaceSampleController {
|
|||||||
public ApiResponse<FaceSampleRespVO> getDetail(@PathVariable("id") Long id) {
|
public ApiResponse<FaceSampleRespVO> getDetail(@PathVariable("id") Long id) {
|
||||||
return FaceSampleService.getById(id);
|
return FaceSampleService.getById(id);
|
||||||
}
|
}
|
||||||
@ApiOperation("添加人脸样本")
|
|
||||||
@PostMapping("/add")
|
|
||||||
public ApiResponse<Integer> add(@RequestBody FaceSampleEntity FaceSample) {
|
|
||||||
return FaceSampleService.add(FaceSample);
|
|
||||||
}
|
|
||||||
@ApiOperation("删除人脸样本")
|
|
||||||
@PostMapping("/deleteById/{id}")
|
|
||||||
public ApiResponse<Integer> deleteById(@PathVariable Long id) {
|
|
||||||
return FaceSampleService.deleteById(id);
|
|
||||||
}
|
|
||||||
@ApiOperation("批量删除人脸样本")
|
|
||||||
@PostMapping("/deleteByIds")
|
|
||||||
public ApiResponse<Integer> deleteByIds(@RequestBody List<Long> ids) {
|
|
||||||
return FaceSampleService.deleteByIds(ids);
|
|
||||||
}
|
|
||||||
@ApiOperation("修改人脸样本信息")
|
|
||||||
@PostMapping("/update")
|
|
||||||
public ApiResponse<Integer> update(@RequestBody FaceSampleEntity FaceSample) {
|
|
||||||
return FaceSampleService.update(FaceSample);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -315,7 +315,7 @@ public class ViidController {
|
|||||||
AddFaceResp addFaceResp = faceBodyAdapter.addFace(scenicId.toString(), faceSample.getId().toString(), url, newFaceSampleId.toString());
|
AddFaceResp addFaceResp = faceBodyAdapter.addFace(scenicId.toString(), faceSample.getId().toString(), url, newFaceSampleId.toString());
|
||||||
if (addFaceResp != null) {
|
if (addFaceResp != null) {
|
||||||
faceSample.setScore(addFaceResp.getScore());
|
faceSample.setScore(addFaceResp.getScore());
|
||||||
faceSampleMapper.update(faceSample);
|
faceSampleMapper.updateScore(faceSample.getId(), addFaceResp.getScore());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (deviceConfig != null && Integer.valueOf(1).equals(deviceConfig.getEnablePreBook())) {
|
if (deviceConfig != null && Integer.valueOf(1).equals(deviceConfig.getEnablePreBook())) {
|
||||||
@ -377,7 +377,7 @@ public class ViidController {
|
|||||||
AddFaceResp addFaceResp = faceBodyAdapter.addFace(scenicId.toString(), faceSample.getId().toString(), url, newFaceSampleId.toString());
|
AddFaceResp addFaceResp = faceBodyAdapter.addFace(scenicId.toString(), faceSample.getId().toString(), url, newFaceSampleId.toString());
|
||||||
if (addFaceResp != null) {
|
if (addFaceResp != null) {
|
||||||
faceSample.setScore(addFaceResp.getScore());
|
faceSample.setScore(addFaceResp.getScore());
|
||||||
faceSampleMapper.update(faceSample);
|
faceSampleMapper.updateScore(faceSample.getId(), addFaceResp.getScore());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Integer.valueOf(1).equals(deviceConfig.getEnablePreBook())) {
|
if (Integer.valueOf(1).equals(deviceConfig.getEnablePreBook())) {
|
||||||
|
@ -27,4 +27,6 @@ public interface FaceSampleMapper {
|
|||||||
|
|
||||||
FaceSampleEntity getEntity(Long faceSampleId);
|
FaceSampleEntity getEntity(Long faceSampleId);
|
||||||
List<FaceSampleEntity> listEntityBeforeDate(Long scenicId, Date endDate);
|
List<FaceSampleEntity> listEntityBeforeDate(Long scenicId, Date endDate);
|
||||||
|
|
||||||
|
void updateScore(Long id, Float score);
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.ycwl.basic.model.task.req;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ -15,4 +16,5 @@ public class ClientStatusReqVo {
|
|||||||
private BigDecimal memory_total;
|
private BigDecimal memory_total;
|
||||||
private BigDecimal memory_available;
|
private BigDecimal memory_available;
|
||||||
private List<String> support_feature;
|
private List<String> support_feature;
|
||||||
|
private Date updateAt;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,75 @@
|
|||||||
|
package com.ycwl.basic.repository;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.ycwl.basic.mapper.RenderWorkerMapper;
|
||||||
|
import com.ycwl.basic.model.pc.renderWorker.entity.RenderWorkerEntity;
|
||||||
|
import com.ycwl.basic.model.task.req.ClientStatusReqVo;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class RenderWorkerRepository {
|
||||||
|
@Autowired
|
||||||
|
private RedisTemplate<String, String> redisTemplate;
|
||||||
|
public static final String RENDER_WORKER_CACHE_KEY = "render_worker:%s";
|
||||||
|
public static final String RENDER_WORKER_STATUS_CACHE_KEY = "render_worker:host_status:%s";
|
||||||
|
@Autowired
|
||||||
|
private RenderWorkerMapper mapper;
|
||||||
|
|
||||||
|
public RenderWorkerEntity getWorkerByAccessKey(String accessKey) {
|
||||||
|
String key = String.format(RENDER_WORKER_CACHE_KEY, accessKey);
|
||||||
|
if (redisTemplate.hasKey(key)) {
|
||||||
|
return JSONObject.parseObject(redisTemplate.opsForValue().get(key), RenderWorkerEntity.class);
|
||||||
|
}
|
||||||
|
RenderWorkerEntity renderWorker = mapper.findByAccessKey(accessKey);
|
||||||
|
if (renderWorker != null) {
|
||||||
|
redisTemplate.opsForValue().set(key, JSONObject.toJSONString(renderWorker), 1, TimeUnit.HOURS);
|
||||||
|
redisTemplate.opsForValue().set(String.format(RENDER_WORKER_CACHE_KEY, renderWorker.getId()), JSONObject.toJSONString(renderWorker), 1, TimeUnit.HOURS);
|
||||||
|
}
|
||||||
|
return renderWorker;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RenderWorkerEntity getWorker(Long id) {
|
||||||
|
String key = String.format(RENDER_WORKER_CACHE_KEY, id);
|
||||||
|
if (redisTemplate.hasKey(key)) {
|
||||||
|
return JSONObject.parseObject(redisTemplate.opsForValue().get(key), RenderWorkerEntity.class);
|
||||||
|
}
|
||||||
|
RenderWorkerEntity renderWorker = mapper.getById(id);
|
||||||
|
if (renderWorker != null) {
|
||||||
|
redisTemplate.opsForValue().set(key, JSONObject.toJSONString(renderWorker), 1, TimeUnit.HOURS);
|
||||||
|
redisTemplate.opsForValue().set(String.format(RENDER_WORKER_CACHE_KEY, renderWorker.getAccessKey()), JSONObject.toJSONString(renderWorker), 1, TimeUnit.HOURS);
|
||||||
|
}
|
||||||
|
return renderWorker;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWorkerHostStatus(Long id, ClientStatusReqVo status) {
|
||||||
|
String key = String.format(RENDER_WORKER_STATUS_CACHE_KEY, id);
|
||||||
|
if (status == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
status.setUpdateAt(new Date());
|
||||||
|
redisTemplate.opsForValue().set(key, JSONObject.toJSONString(status), 1, TimeUnit.HOURS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ClientStatusReqVo getWorkerHostStatus(Long id) {
|
||||||
|
String key = String.format(RENDER_WORKER_STATUS_CACHE_KEY, id);
|
||||||
|
if (redisTemplate.hasKey(key)) {
|
||||||
|
String status = redisTemplate.opsForValue().get(key);
|
||||||
|
return JSONObject.parseObject(status, ClientStatusReqVo.class);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clearCache(Long id) {
|
||||||
|
RenderWorkerEntity worker = getWorker(id);
|
||||||
|
redisTemplate.delete(String.format(RENDER_WORKER_CACHE_KEY, id));
|
||||||
|
if (worker != null) {
|
||||||
|
redisTemplate.delete(String.format(RENDER_WORKER_CACHE_KEY, worker.getAccessKey()));
|
||||||
|
}
|
||||||
|
redisTemplate.delete(String.format(RENDER_WORKER_STATUS_CACHE_KEY, id));
|
||||||
|
}
|
||||||
|
}
|
@ -2,7 +2,6 @@ package com.ycwl.basic.service.mobile.impl;
|
|||||||
|
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.ycwl.basic.constant.BaseContextHandler;
|
import com.ycwl.basic.constant.BaseContextHandler;
|
||||||
import com.ycwl.basic.constant.NumberConstant;
|
import com.ycwl.basic.constant.NumberConstant;
|
||||||
import com.ycwl.basic.enums.BizCodeEnum;
|
import com.ycwl.basic.enums.BizCodeEnum;
|
||||||
@ -13,7 +12,6 @@ import com.ycwl.basic.model.jwt.JwtInfo;
|
|||||||
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoDTO;
|
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoDTO;
|
||||||
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoUpdateDTO;
|
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoUpdateDTO;
|
||||||
import com.ycwl.basic.model.pc.member.entity.MemberEntity;
|
import com.ycwl.basic.model.pc.member.entity.MemberEntity;
|
||||||
import com.ycwl.basic.model.pc.member.req.MemberReqQuery;
|
|
||||||
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
|
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
|
||||||
import com.ycwl.basic.model.pc.mp.MpConfigEntity;
|
import com.ycwl.basic.model.pc.mp.MpConfigEntity;
|
||||||
import com.ycwl.basic.repository.ScenicRepository;
|
import com.ycwl.basic.repository.ScenicRepository;
|
||||||
@ -88,13 +86,9 @@ public class AppMemberServiceImpl implements AppMemberService {
|
|||||||
throw new AppException(BizCodeEnum.SERVER_UNKONWN_ERROR, "未获取到当前用户openId");
|
throw new AppException(BizCodeEnum.SERVER_UNKONWN_ERROR, "未获取到当前用户openId");
|
||||||
}
|
}
|
||||||
|
|
||||||
MemberRespVO memberRespVO = new MemberRespVO();
|
|
||||||
JwtInfo jwtInfo = new JwtInfo();
|
JwtInfo jwtInfo = new JwtInfo();
|
||||||
// 根据返回的openId,判断用户是否是新用户,是的话,将用户信息存到数据库;
|
MemberRespVO memberRespVO = memberMapper.getByOpenId(openId.toString());
|
||||||
MemberReqQuery memberReqQuery = new MemberReqQuery();
|
if (memberRespVO == null) {
|
||||||
memberReqQuery.setOpenId(openId.toString());
|
|
||||||
List<MemberRespVO> list = memberMapper.list(memberReqQuery);
|
|
||||||
if (list.isEmpty()) {
|
|
||||||
MemberEntity memberEntity = new MemberEntity();
|
MemberEntity memberEntity = new MemberEntity();
|
||||||
memberEntity.setId(SnowFlakeUtil.getLongId());
|
memberEntity.setId(SnowFlakeUtil.getLongId());
|
||||||
memberEntity.setScenicId(scenicId);
|
memberEntity.setScenicId(scenicId);
|
||||||
@ -107,6 +101,7 @@ public class AppMemberServiceImpl implements AppMemberService {
|
|||||||
memberEntity.setProvince(userInfoDTO.getProvince());
|
memberEntity.setProvince(userInfoDTO.getProvince());
|
||||||
memberEntity.setCity(userInfoDTO.getCity());
|
memberEntity.setCity(userInfoDTO.getCity());
|
||||||
memberMapper.add(memberEntity);
|
memberMapper.add(memberEntity);
|
||||||
|
memberRespVO = new MemberRespVO();
|
||||||
memberRespVO.setId(memberEntity.getId());
|
memberRespVO.setId(memberEntity.getId());
|
||||||
memberRespVO.setOpenId(memberEntity.getOpenId());
|
memberRespVO.setOpenId(memberEntity.getOpenId());
|
||||||
memberRespVO.setNickname(memberEntity.getNickname());
|
memberRespVO.setNickname(memberEntity.getNickname());
|
||||||
@ -117,18 +112,6 @@ public class AppMemberServiceImpl implements AppMemberService {
|
|||||||
memberRespVO.setProvince(memberEntity.getProvince());
|
memberRespVO.setProvince(memberEntity.getProvince());
|
||||||
memberRespVO.setCity(memberEntity.getCity());
|
memberRespVO.setCity(memberEntity.getCity());
|
||||||
memberRespVO.setScenicId(memberEntity.getScenicId());
|
memberRespVO.setScenicId(memberEntity.getScenicId());
|
||||||
} else {
|
|
||||||
MemberRespVO temp = list.getFirst();
|
|
||||||
memberRespVO.setId(temp.getId());
|
|
||||||
memberRespVO.setOpenId(temp.getOpenId());
|
|
||||||
memberRespVO.setNickname(temp.getNickname());
|
|
||||||
memberRespVO.setAvatarUrl(temp.getAvatarUrl());
|
|
||||||
memberRespVO.setAgreement(1);
|
|
||||||
memberRespVO.setPhone(temp.getPhone());
|
|
||||||
memberRespVO.setCountry(temp.getCountry());
|
|
||||||
memberRespVO.setProvince(temp.getProvince());
|
|
||||||
memberRespVO.setCity(temp.getCity());
|
|
||||||
memberRespVO.setScenicId(temp.getScenicId());
|
|
||||||
}
|
}
|
||||||
jwtInfo.setUserId(memberRespVO.getId());
|
jwtInfo.setUserId(memberRespVO.getId());
|
||||||
jwtInfo.setName(memberRespVO.getNickname());
|
jwtInfo.setName(memberRespVO.getNickname());
|
||||||
|
@ -20,8 +20,5 @@ public interface FaceSampleService {
|
|||||||
ApiResponse<List<FaceSampleRespVO>> list(FaceSampleReqQuery faceSampleReqQuery);
|
ApiResponse<List<FaceSampleRespVO>> list(FaceSampleReqQuery faceSampleReqQuery);
|
||||||
ApiResponse<FaceSampleRespVO> getById(Long id);
|
ApiResponse<FaceSampleRespVO> getById(Long id);
|
||||||
ApiResponse<Integer> add(FaceSampleEntity face);
|
ApiResponse<Integer> add(FaceSampleEntity face);
|
||||||
ApiResponse<Integer> deleteById(Long id);
|
|
||||||
ApiResponse<Integer> deleteByIds(List<Long> ids);
|
|
||||||
ApiResponse<Integer> update(FaceSampleEntity face);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -50,31 +50,4 @@ public class FaceSampleServiceImpl implements FaceSampleService {
|
|||||||
}
|
}
|
||||||
return ApiResponse.success(i);
|
return ApiResponse.success(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ApiResponse<Integer> deleteById(Long id) {
|
|
||||||
int i = faceSampleMapper.deleteById(id);
|
|
||||||
if (i == 0) {
|
|
||||||
return ApiResponse.fail("删除失败");
|
|
||||||
}
|
|
||||||
return ApiResponse.success(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ApiResponse<Integer> deleteByIds(List<Long> ids) {
|
|
||||||
int i = faceSampleMapper.deleteByIds(ids);
|
|
||||||
if (i == 0) {
|
|
||||||
return ApiResponse.fail("删除失败");
|
|
||||||
}
|
|
||||||
return ApiResponse.success(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ApiResponse<Integer> update(FaceSampleEntity faceSample) {
|
|
||||||
int i = faceSampleMapper.update(faceSample);
|
|
||||||
if (i == 0) {
|
|
||||||
return ApiResponse.fail("修改失败");
|
|
||||||
}
|
|
||||||
return ApiResponse.success(i);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,8 @@ import com.github.pagehelper.PageInfo;
|
|||||||
import com.ycwl.basic.mapper.RenderWorkerMapper;
|
import com.ycwl.basic.mapper.RenderWorkerMapper;
|
||||||
import com.ycwl.basic.model.pc.renderWorker.entity.RenderWorkerEntity;
|
import com.ycwl.basic.model.pc.renderWorker.entity.RenderWorkerEntity;
|
||||||
import com.ycwl.basic.model.pc.renderWorker.req.RenderWorkerReqQuery;
|
import com.ycwl.basic.model.pc.renderWorker.req.RenderWorkerReqQuery;
|
||||||
|
import com.ycwl.basic.model.task.req.ClientStatusReqVo;
|
||||||
|
import com.ycwl.basic.repository.RenderWorkerRepository;
|
||||||
import com.ycwl.basic.service.pc.RenderWorkerService;
|
import com.ycwl.basic.service.pc.RenderWorkerService;
|
||||||
import com.ycwl.basic.utils.ApiResponse;
|
import com.ycwl.basic.utils.ApiResponse;
|
||||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||||
@ -12,6 +14,8 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,23 +27,76 @@ public class RenderWorkerServiceImpl implements RenderWorkerService {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RenderWorkerMapper renderWorkerMapper;
|
private RenderWorkerMapper renderWorkerMapper;
|
||||||
|
@Autowired
|
||||||
|
private RenderWorkerRepository renderWorkerRepository;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<PageInfo<RenderWorkerEntity>> pageQuery(RenderWorkerReqQuery renderWorkerReqQuery) {
|
public ApiResponse<PageInfo<RenderWorkerEntity>> pageQuery(RenderWorkerReqQuery renderWorkerReqQuery) {
|
||||||
PageHelper.startPage(renderWorkerReqQuery.getPageNum(), renderWorkerReqQuery.getPageSize());
|
PageHelper.startPage(renderWorkerReqQuery.getPageNum(), renderWorkerReqQuery.getPageSize());
|
||||||
List<RenderWorkerEntity> list = renderWorkerMapper.list(renderWorkerReqQuery);
|
List<RenderWorkerEntity> list = renderWorkerMapper.list(renderWorkerReqQuery);
|
||||||
|
list.forEach(worker -> {
|
||||||
|
ClientStatusReqVo clientStatus = renderWorkerRepository.getWorkerHostStatus(worker.getId());
|
||||||
|
if (clientStatus == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
worker.setCpuCount(clientStatus.getCpu_count());
|
||||||
|
worker.setCpuUsage(clientStatus.getCpu_usage());
|
||||||
|
// 上报的是字节,存储的是兆
|
||||||
|
worker.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||||
|
worker.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||||
|
|
||||||
|
worker.setPlatform(clientStatus.getPlatform());
|
||||||
|
worker.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||||
|
worker.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||||
|
worker.setVersion(clientStatus.getVersion());
|
||||||
|
worker.setUpdateAt(clientStatus.getUpdateAt());
|
||||||
|
});
|
||||||
PageInfo<RenderWorkerEntity> pageInfo = new PageInfo<>(list);
|
PageInfo<RenderWorkerEntity> pageInfo = new PageInfo<>(list);
|
||||||
return ApiResponse.success(pageInfo);
|
return ApiResponse.success(pageInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<List<RenderWorkerEntity>> list(RenderWorkerReqQuery renderWorkerReqQuery) {
|
public ApiResponse<List<RenderWorkerEntity>> list(RenderWorkerReqQuery renderWorkerReqQuery) {
|
||||||
return ApiResponse.success(renderWorkerMapper.list(renderWorkerReqQuery));
|
List<RenderWorkerEntity> list = renderWorkerMapper.list(renderWorkerReqQuery);
|
||||||
|
list.forEach(worker -> {
|
||||||
|
ClientStatusReqVo clientStatus = renderWorkerRepository.getWorkerHostStatus(worker.getId());
|
||||||
|
if (clientStatus == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
worker.setCpuCount(clientStatus.getCpu_count());
|
||||||
|
worker.setCpuUsage(clientStatus.getCpu_usage());
|
||||||
|
// 上报的是字节,存储的是兆
|
||||||
|
worker.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||||
|
worker.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||||
|
|
||||||
|
worker.setPlatform(clientStatus.getPlatform());
|
||||||
|
worker.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||||
|
worker.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||||
|
worker.setVersion(clientStatus.getVersion());
|
||||||
|
worker.setUpdateAt(clientStatus.getUpdateAt());
|
||||||
|
});
|
||||||
|
return ApiResponse.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<RenderWorkerEntity> detail(Long id) {
|
public ApiResponse<RenderWorkerEntity> detail(Long id) {
|
||||||
return ApiResponse.success(renderWorkerMapper.getById(id));
|
RenderWorkerEntity worker = renderWorkerMapper.getById(id);
|
||||||
|
|
||||||
|
ClientStatusReqVo clientStatus = renderWorkerRepository.getWorkerHostStatus(worker.getId());
|
||||||
|
if (clientStatus != null) {
|
||||||
|
worker.setCpuCount(clientStatus.getCpu_count());
|
||||||
|
worker.setCpuUsage(clientStatus.getCpu_usage());
|
||||||
|
// 上报的是字节,存储的是兆
|
||||||
|
worker.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||||
|
worker.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||||
|
|
||||||
|
worker.setPlatform(clientStatus.getPlatform());
|
||||||
|
worker.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||||
|
worker.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||||
|
worker.setVersion(clientStatus.getVersion());
|
||||||
|
worker.setUpdateAt(clientStatus.getUpdateAt());
|
||||||
|
}
|
||||||
|
return ApiResponse.success(worker);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -59,11 +116,13 @@ public class RenderWorkerServiceImpl implements RenderWorkerService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<Integer> deleteById(Long id) {
|
public ApiResponse<Integer> deleteById(Long id) {
|
||||||
|
renderWorkerRepository.clearCache(id);
|
||||||
return ApiResponse.success(renderWorkerMapper.deleteById(id));
|
return ApiResponse.success(renderWorkerMapper.deleteById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<Integer> update(RenderWorkerEntity renderWorker) {
|
public ApiResponse<Integer> update(RenderWorkerEntity renderWorker) {
|
||||||
|
renderWorkerRepository.clearCache(renderWorker.getId());
|
||||||
int update = renderWorkerMapper.update(renderWorker);
|
int update = renderWorkerMapper.update(renderWorker);
|
||||||
if (update == 0) {
|
if (update == 0) {
|
||||||
return ApiResponse.fail("渲染机修改失败");
|
return ApiResponse.fail("渲染机修改失败");
|
||||||
@ -74,6 +133,7 @@ public class RenderWorkerServiceImpl implements RenderWorkerService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<Integer> updateStatus(Long id) {
|
public ApiResponse<Integer> updateStatus(Long id) {
|
||||||
|
renderWorkerRepository.clearCache(id);
|
||||||
return ApiResponse.success(renderWorkerMapper.updateStatus(id));
|
return ApiResponse.success(renderWorkerMapper.updateStatus(id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,7 @@ import com.ycwl.basic.notify.entity.NotifyContent;
|
|||||||
import com.ycwl.basic.notify.enums.NotifyType;
|
import com.ycwl.basic.notify.enums.NotifyType;
|
||||||
import com.ycwl.basic.repository.DeviceRepository;
|
import com.ycwl.basic.repository.DeviceRepository;
|
||||||
import com.ycwl.basic.repository.FaceRepository;
|
import com.ycwl.basic.repository.FaceRepository;
|
||||||
|
import com.ycwl.basic.repository.RenderWorkerRepository;
|
||||||
import com.ycwl.basic.repository.ScenicRepository;
|
import com.ycwl.basic.repository.ScenicRepository;
|
||||||
import com.ycwl.basic.repository.VideoRepository;
|
import com.ycwl.basic.repository.VideoRepository;
|
||||||
import com.ycwl.basic.repository.VideoTaskRepository;
|
import com.ycwl.basic.repository.VideoTaskRepository;
|
||||||
@ -81,14 +82,10 @@ import java.util.stream.Collectors;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class TaskTaskServiceImpl implements TaskService {
|
public class TaskTaskServiceImpl implements TaskService {
|
||||||
@Autowired
|
|
||||||
private TemplateMapper templateMapper;
|
|
||||||
@Autowired
|
|
||||||
private RenderWorkerMapper renderWorkerMapper;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private TaskMapper taskMapper;
|
private TaskMapper taskMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RedisTemplate<String, String> redisTemplate;
|
private RenderWorkerRepository repository;
|
||||||
@Autowired
|
@Autowired
|
||||||
private FaceMapper faceMapper;
|
private FaceMapper faceMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -124,13 +121,12 @@ public class TaskTaskServiceImpl implements TaskService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private VideoReUploader videoReUploader;
|
private VideoReUploader videoReUploader;
|
||||||
|
|
||||||
|
|
||||||
private RenderWorkerEntity getWorker(@NonNull WorkerAuthReqVo req) {
|
private RenderWorkerEntity getWorker(@NonNull WorkerAuthReqVo req) {
|
||||||
String accessKey = req.getAccessKey();
|
String accessKey = req.getAccessKey();
|
||||||
if (accessKey == null) {
|
if (accessKey == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return renderWorkerMapper.findByAccessKey(accessKey);
|
return repository.getWorkerByAccessKey(accessKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -144,23 +140,7 @@ public class TaskTaskServiceImpl implements TaskService {
|
|||||||
worker.setStatus(null);
|
worker.setStatus(null);
|
||||||
// get status
|
// get status
|
||||||
ClientStatusReqVo clientStatus = req.getClientStatus();
|
ClientStatusReqVo clientStatus = req.getClientStatus();
|
||||||
if (clientStatus != null) {
|
repository.setWorkerHostStatus(worker.getId(), clientStatus);
|
||||||
// 临时这么用下
|
|
||||||
worker.setCpuCount(clientStatus.getCpu_count());
|
|
||||||
worker.setCpuUsage(clientStatus.getCpu_usage());
|
|
||||||
// 上报的是字节,存储的是兆
|
|
||||||
worker.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
|
||||||
worker.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
|
||||||
|
|
||||||
worker.setPlatform(clientStatus.getPlatform());
|
|
||||||
worker.setRuntimeVersion(clientStatus.getRuntime_version());
|
|
||||||
worker.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
|
||||||
worker.setVersion(clientStatus.getVersion());
|
|
||||||
|
|
||||||
worker.setUpdateAt(new Date());
|
|
||||||
redisTemplate.opsForValue().set(TaskConstant.TASK_ONLINE_WORKER_KEY_PFX + worker.getId(), JSON.toJSONString(clientStatus), 60, TimeUnit.SECONDS);
|
|
||||||
}
|
|
||||||
renderWorkerMapper.update(worker);
|
|
||||||
TaskSyncRespVo resp = new TaskSyncRespVo();
|
TaskSyncRespVo resp = new TaskSyncRespVo();
|
||||||
// Template
|
// Template
|
||||||
List<TemplateRespVO> updTemplateList;
|
List<TemplateRespVO> updTemplateList;
|
||||||
|
@ -36,6 +36,11 @@
|
|||||||
</set>
|
</set>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
<update id="updateScore">
|
||||||
|
update face_sample
|
||||||
|
set score = #{score}
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
<delete id="deleteById">
|
<delete id="deleteById">
|
||||||
delete from face_sample where id = #{id}
|
delete from face_sample where id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
Reference in New Issue
Block a user