Просмотр исходного кода

Merge remote-tracking branch 'origin/dev' into dev

tags/dev-23-08-04
yk 2 лет назад
Родитель
Сommit
1939dc98b4
6 измененных файлов: 99 добавлений и 13 удалений
  1. +2
    -0
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/digitalmans/domain/dto/DmSyncDigitalmanDto.java
  2. +15
    -0
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/digitalmans/domain/vo/DmBroadcastVo.java
  3. +22
    -0
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/digitalmans/feign/RemoteBroadcastService.java
  4. +11
    -4
      xueyi-modules/xueyi-message/src/main/java/com/xueyi/message/transfer/controller/ApiController.java
  5. +47
    -8
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/digitalmans/controller/DmBroadcastController.java
  6. +2
    -1
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/digitalmans/domain/po/DmBroadcastPo.java

+ 2
- 0
xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/digitalmans/domain/dto/DmSyncDigitalmanDto.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.xueyi.system.api.digitalmans.domain.dto;

import com.xueyi.system.api.digitalmans.domain.po.DmDigitalmanPo;
import com.xueyi.system.api.digitalmans.domain.po.DmDigitalmanWorktimePo;
import com.xueyi.system.api.digitalmans.domain.vo.DmBroadcastVo;
import com.xueyi.system.api.organize.domain.vo.SysDeptExt;
import com.xueyi.system.api.resource.domain.po.DmResourcesPo;
import lombok.Data;
@@ -22,5 +23,6 @@ public class DmSyncDigitalmanDto extends DmDigitalmanPo {
protected DmDigitalmanWorktimePo worktime;
protected SysDeptExt workdayHour;
protected String iconPos;
protected DmBroadcastVo broadcast;

}

+ 15
- 0
xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/digitalmans/domain/vo/DmBroadcastVo.java Просмотреть файл

@@ -0,0 +1,15 @@
package com.xueyi.system.api.digitalmans.domain.vo;

import com.alibaba.fastjson2.JSONObject;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
public class DmBroadcastVo {
Integer recycle;
Integer speed;
List<JSONObject> resource;
}

+ 22
- 0
xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/digitalmans/feign/RemoteBroadcastService.java Просмотреть файл

@@ -0,0 +1,22 @@
package com.xueyi.system.api.digitalmans.feign;

import com.xueyi.common.core.constant.basic.SecurityConstants;
import com.xueyi.common.core.constant.basic.ServiceConstants;
import com.xueyi.common.core.web.result.R;
import com.xueyi.system.api.digitalmans.domain.vo.DmBroadcastVo;
import com.xueyi.system.api.digitalmans.domain.vo.DmReceptionVo;
import com.xueyi.system.api.organize.feign.factory.RemoteUserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(contextId = "remoteBroadcastService", value = ServiceConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteBroadcastService {


@GetMapping("/broadcast/inner/list")
public R<DmBroadcastVo> innerlist(@RequestParam("manCode") String manCode,
@RequestHeader(SecurityConstants.ENTERPRISE_ID) Long enterpriseId, @RequestHeader(SecurityConstants.SOURCE_NAME) String sourceName, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);

}

+ 11
- 4
xueyi-modules/xueyi-message/src/main/java/com/xueyi/message/transfer/controller/ApiController.java Просмотреть файл

@@ -18,11 +18,9 @@ import com.xueyi.system.api.digitalmans.domain.dto.DmManDeviceDto;
import com.xueyi.system.api.digitalmans.domain.dto.DmSkillDto;
import com.xueyi.system.api.digitalmans.domain.dto.DmSyncDigitalmanDto;
import com.xueyi.system.api.digitalmans.domain.po.DmManDevicePo;
import com.xueyi.system.api.digitalmans.domain.vo.DmBroadcastVo;
import com.xueyi.system.api.digitalmans.domain.vo.DmReceptionVo;
import com.xueyi.system.api.digitalmans.feign.RemoteDigitalmanService;
import com.xueyi.system.api.digitalmans.feign.RemoteManDeviceService;
import com.xueyi.system.api.digitalmans.feign.RemoteReceptionService;
import com.xueyi.system.api.digitalmans.feign.RemoteSkillService;
import com.xueyi.system.api.digitalmans.feign.*;
import com.xueyi.system.api.model.Source;
import com.xueyi.system.api.organize.domain.dto.SysEnterpriseDto;
import com.xueyi.system.api.staff.domain.vo.DmStaffFeature;
@@ -69,6 +67,9 @@ public class ApiController {
@Autowired
RemoteManDeviceService manDeviceService;

@Autowired
RemoteBroadcastService remoteBroadcastService;


@RequestMapping(value = "/heartbeat", method = {RequestMethod.POST})
@ResponseBody
@@ -167,6 +168,12 @@ public class ApiController {
R<DmSyncDigitalmanDto> syncDmDto = remoteDigitalmanService.listInner(manDeviceDtoR.getData().getManCode(), vo.getTimestamp(), manDeviceDtoR.getData().getTId(), source.getMaster(), SecurityConstants.INNER);
if (syncDmDto.isFail())
return AjaxResult.warn("新增失败,请检查");
// 添加播报信息
R<DmBroadcastVo> broadcastVoR = remoteBroadcastService.innerlist(manDeviceDtoR.getData().getManCode(), manDeviceDtoR.getData().getTId(), source.getMaster(), SecurityConstants.INNER);
if (!broadcastVoR.isFail()) {
syncDmDto.getData().setBroadcast(broadcastVoR.getData());
}

return AjaxResult.success(syncDmDto.getData()).put("timestamp", timestamp);
case 3:
R<DmReceptionVo> receptionVo = remoteReceptionService.getReceptionTaskInner(manDeviceDtoR.getData().getManCode(), manDeviceDtoR.getData().getTId(), source.getMaster(), SecurityConstants.INNER);


+ 47
- 8
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/digitalmans/controller/DmBroadcastController.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.xueyi.system.digitalmans.controller;
import com.alibaba.fastjson2.JSONObject;
import com.xueyi.common.core.utils.core.IdUtil;
import com.xueyi.common.core.web.result.AjaxResult;
import com.xueyi.common.core.web.result.R;
import com.xueyi.common.core.web.validate.V_A;
import com.xueyi.common.core.web.validate.V_E;
import com.xueyi.common.log.annotation.Log;
@@ -10,24 +11,21 @@ import com.xueyi.common.log.enums.BusinessType;
import com.xueyi.common.security.annotation.Logical;
import com.xueyi.common.security.annotation.RequiresPermissions;
import com.xueyi.common.web.entity.controller.BaseController;
import com.xueyi.system.api.digitalmans.domain.vo.DmBroadcastVo;
import com.xueyi.system.digitalmans.domain.dto.DmBroadcastDto;
import com.xueyi.system.digitalmans.domain.dto.DmDigitalmanDto;
import com.xueyi.system.digitalmans.domain.merge.DmBroadcastResourceMerge;
import com.xueyi.system.digitalmans.domain.query.DmBroadcastQuery;
import com.xueyi.system.digitalmans.domain.query.DmDigitalmanQuery;
import com.xueyi.system.digitalmans.manager.impl.DmBroadcastManager;
import com.xueyi.system.digitalmans.service.IDmBroadcastService;
import com.xueyi.system.digitalmans.service.IDmDigitalmanService;
import com.xueyi.system.resource.domain.dto.DmResourcesDto;
import com.xueyi.system.resource.domain.model.DmResourcesConverter;
import com.xueyi.system.resource.mapper.DmResourcesMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import java.io.Serializable;
import java.util.ArrayList;
@@ -56,6 +54,47 @@ public class DmBroadcastController extends BaseController<DmBroadcastQuery, DmBr
@Autowired
private DmResourcesConverter resourcesConverter;

@Autowired
private IDmDigitalmanService digitalmanService;

/**
* 查询播报列表
*/
@GetMapping("/inner/list")
public R<DmBroadcastVo> innerlist(@RequestParam("manCode")String manCode) {
DmDigitalmanQuery query = new DmDigitalmanQuery();
query.setManCode(manCode);
List<DmDigitalmanDto> manList = digitalmanService.selectList(query);
DmBroadcastQuery broadcast = new DmBroadcastQuery();
broadcast.setManId(manList.get(0).getId());
List<DmBroadcastDto> list = baseService.selectListScope(broadcast);

if (list.size() > 0) {
// 定义DmBroadcastVo类型变量vo,将list.get(0)赋值给vo
DmBroadcastDto dto = list.get(0);
DmBroadcastVo vo = new DmBroadcastVo();
vo.setSpeed(dto.getSpeed());
vo.setRecycle(dto.getRecycle());
List<JSONObject> rList = new ArrayList<>();
List<DmBroadcastResourceMerge> mergeDtos = broadcastManager.selectBroadcastResourceMerge(dto.getId());
int order = 0;
for (DmBroadcastResourceMerge merge : mergeDtos) {
if (merge.getResourceId() != null && merge.getResourceId() > 0) {

DmResourcesDto resourcesDto = resourcesConverter.mapperDto(resourceMapper.selectById(merge.getResourceId()));
JSONObject json = new JSONObject();
json.put("order",order++);
json.put("ttsText",merge.getTtsText());
json.put("url", resourcesDto.getUrl());
rList.add(json);
}
}
vo.setResource(rList);
return R.ok(vo);
}
return R.fail("无法获取播报信息");
}

/**
* 查询播报列表
*/


+ 2
- 1
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/digitalmans/domain/po/DmBroadcastPo.java Просмотреть файл

@@ -1,7 +1,6 @@
package com.xueyi.system.digitalmans.domain.po;

import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.xueyi.system.digitalmans.domain.dto.DmBroadcastDto;
import com.xueyi.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -41,4 +40,6 @@ public class DmBroadcastPo extends TBaseEntity {
@Excel(name = "语速", readConverterExp = "0=:不播报;1:缓慢;2:默认;3:快速")
protected Integer speed;

protected Long manId;

}

Загрузка…
Отмена
Сохранить