feat(可回溯): 重构
重构为mysql
This commit is contained in:
+8
-23
@@ -1,5 +1,6 @@
|
||||
package com.wabestway.recall.trace.controller;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -10,16 +11,13 @@ import com.wabestway.recall.trace.service.RecallOrderApiService;
|
||||
import com.wabestway.commons.http.Paging;
|
||||
import com.wabestway.commons.http.ResObj;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author wangH
|
||||
* @company 北京华焱坤泰科技有限公司
|
||||
* @Time 2023-05-06 17:37:03
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/trace/recallOrder")
|
||||
@RequestMapping("/order")
|
||||
@Api(tags = {"-接口"}, description = "-接口")
|
||||
public class RecallOrderController {
|
||||
@Autowired
|
||||
@@ -44,26 +42,13 @@ public class RecallOrderController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
* 生成回溯MP4文件
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/save")
|
||||
@ApiOperation(value = "保存", notes = "保存", httpMethod = "POST")
|
||||
public ResObj saveRecallOrder(@RequestBody RecallOrderDTO paramRequest) {
|
||||
return recallOrderApiService.saveRecallOrder(paramRequest);
|
||||
@GetMapping("/ffmpeg")
|
||||
public ResObj createMp4() {
|
||||
return recallOrderApiService.traceVideo();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
@PostMapping("/update")
|
||||
@ApiOperation(value = "修改", notes = "修改", httpMethod = "POST")
|
||||
public ResObj updateRecallOrder(@RequestBody RecallOrderDTO paramRequest) {
|
||||
return recallOrderApiService.updateRecallOrder(paramRequest);
|
||||
}
|
||||
|
||||
@PostMapping("/changeStatus")
|
||||
@ApiOperation(value = "启禁用更新", notes = "启禁用更新", httpMethod = "POST")
|
||||
public ResObj changeStatus(@RequestBody RecallOrderDTO paramRequest) {
|
||||
return recallOrderApiService.changeStatus(paramRequest.getId(), paramRequest.getStatus());
|
||||
}
|
||||
}
|
||||
|
||||
+4
-39
@@ -1,69 +1,34 @@
|
||||
package com.wabestway.recall.trace.controller;
|
||||
|
||||
import com.wabestway.recall.trace.dto.TraceDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.wabestway.recall.trace.dto.RecallRecordDTO;
|
||||
import com.wabestway.recall.trace.vo.RecallRecordVO;
|
||||
import com.wabestway.recall.trace.service.RecallRecordApiService;
|
||||
import com.wabestway.commons.http.Paging;
|
||||
import com.wabestway.commons.http.ResObj;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author wangH
|
||||
* @company 北京华焱坤泰科技有限公司
|
||||
* @Time 2023-05-06 17:37:03
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/trace/recallRecord")
|
||||
@RequestMapping("/track")
|
||||
@Api(tags = {"-接口"}, description = "-接口")
|
||||
public class RecallRecordController {
|
||||
@Autowired
|
||||
private RecallRecordApiService recallRecordApiService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@PostMapping("/list")
|
||||
@ApiOperation(value = "分页列表查询", notes = "条件分页查询列表", httpMethod = "POST")
|
||||
public ResObj<Paging<RecallRecordVO>> list(@RequestBody RecallRecordDTO paramRequest) {
|
||||
return recallRecordApiService.list(paramRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* 信息
|
||||
*/
|
||||
@GetMapping("/info/{id}")
|
||||
@ApiOperation(value = "根据id查详情", notes = "根据id查详情", httpMethod = "GET")
|
||||
public ResObj<RecallRecordVO> info(@PathVariable("id") String id) {
|
||||
return recallRecordApiService.getRecallRecord(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@PostMapping("/save")
|
||||
@ApiOperation(value = "保存", notes = "保存", httpMethod = "POST")
|
||||
public ResObj saveRecallRecord(@RequestBody RecallRecordDTO paramRequest) {
|
||||
return recallRecordApiService.saveRecallRecord(paramRequest);
|
||||
public ResObj saveRecallRecord(@RequestBody TraceDTO record) {
|
||||
return recallRecordApiService.save(record);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
@PostMapping("/update")
|
||||
@ApiOperation(value = "修改", notes = "修改", httpMethod = "POST")
|
||||
public ResObj updateRecallRecord(@RequestBody RecallRecordDTO paramRequest) {
|
||||
return recallRecordApiService.updateRecallRecord(paramRequest);
|
||||
}
|
||||
|
||||
@PostMapping("/changeStatus")
|
||||
@ApiOperation(value = "启禁用更新", notes = "启禁用更新", httpMethod = "POST")
|
||||
public ResObj changeStatus(@RequestBody RecallRecordDTO paramRequest) {
|
||||
return recallRecordApiService.changeStatus(paramRequest.getId(), paramRequest.getStatus());
|
||||
}
|
||||
}
|
||||
|
||||
+3
-19
@@ -29,26 +29,10 @@ public interface RecallOrderApiService {
|
||||
* @return
|
||||
*/
|
||||
ResObj<RecallOrderVO> getRecallOrder(String id);
|
||||
|
||||
ResObj<RecallOrderVO> getRecallOrderByOrderId(String orderId);
|
||||
/**
|
||||
* 保存
|
||||
* @param paramReq
|
||||
* 根据回溯文件生成MP4视频
|
||||
* @return
|
||||
*/
|
||||
ResObj saveRecallOrder(RecallOrderDTO paramReq);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
* @param paramReq
|
||||
* @return
|
||||
*/
|
||||
ResObj updateRecallOrder(RecallOrderDTO paramReq);
|
||||
|
||||
/**
|
||||
* 启禁用
|
||||
* @param id
|
||||
* @param status
|
||||
* @return
|
||||
*/
|
||||
ResObj changeStatus(String id, String status);
|
||||
ResObj traceVideo();
|
||||
}
|
||||
|
||||
+6
-33
@@ -1,15 +1,15 @@
|
||||
package com.wabestway.recall.trace.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.wabestway.recall.trace.dto.RecallRecordDTO;
|
||||
import com.wabestway.recall.trace.dto.TraceDTO;
|
||||
import com.wabestway.recall.trace.vo.RecallRecordVO;
|
||||
import com.wabestway.commons.http.Paging;
|
||||
import com.wabestway.commons.http.ResObj;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author wangH
|
||||
* @company 北京华焱坤泰科技有限公司
|
||||
* @Time 2023-05-06 17:37:03
|
||||
@@ -17,38 +17,11 @@ import com.wabestway.commons.http.ResObj;
|
||||
public interface RecallRecordApiService {
|
||||
|
||||
/**
|
||||
* 列表
|
||||
* @param paramReq
|
||||
* 回溯数据记录
|
||||
*
|
||||
* @param record
|
||||
* @return
|
||||
*/
|
||||
ResObj<Paging<RecallRecordVO>> list(RecallRecordDTO paramReq);
|
||||
ResObj save(TraceDTO record);
|
||||
|
||||
/**
|
||||
* 查询详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ResObj<RecallRecordVO> getRecallRecord(String id);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
* @param paramReq
|
||||
* @return
|
||||
*/
|
||||
ResObj saveRecallRecord(RecallRecordDTO paramReq);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
* @param paramReq
|
||||
* @return
|
||||
*/
|
||||
ResObj updateRecallRecord(RecallRecordDTO paramReq);
|
||||
|
||||
/**
|
||||
* 启禁用
|
||||
* @param id
|
||||
* @param status
|
||||
* @return
|
||||
*/
|
||||
ResObj changeStatus(String id, String status);
|
||||
}
|
||||
|
||||
+129
-41
@@ -1,31 +1,48 @@
|
||||
package com.wabestway.recall.trace.service.impl;
|
||||
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.wabestway.commons.http.Paging;
|
||||
import com.wabestway.commons.http.ResObj;
|
||||
import com.wabestway.commons.enums.DataValidEnum;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import com.wabestway.ins.utils.UUIDUtil;
|
||||
import com.wabestway.engine.api.dfs.UploadFileDTO;
|
||||
import com.wabestway.engine.api.dfs.UploadRespVO;
|
||||
import com.wabestway.engine.api.feign.DfsStorageFeignClient;
|
||||
import com.wabestway.recall.trace.entity.RecallOrderEntity;
|
||||
import com.wabestway.recall.trace.entity.RecallRecordEntity;
|
||||
import com.wabestway.recall.trace.service.RecallOrderService;
|
||||
import com.wabestway.recall.trace.service.RecallRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.wabestway.recall.trace.dto.RecallOrderDTO;
|
||||
import com.wabestway.recall.trace.vo.RecallOrderVO;
|
||||
import com.wabestway.recall.trace.service.RecallOrderApiService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.wabestway.recall.trace.util.HeaderDataUtil;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author wangH
|
||||
* @company 北京华焱坤泰科技有限公司
|
||||
* @Time 2023-05-06 17:37:03
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class RecallOrderApiServiceImpl implements RecallOrderApiService {
|
||||
@Autowired
|
||||
private RecallOrderService recallOrderService;
|
||||
@Autowired
|
||||
private DfsStorageFeignClient storageFeignClient;
|
||||
@Autowired
|
||||
private RecallRecordService recallRecordService;
|
||||
|
||||
@Override
|
||||
public ResObj<Paging<RecallOrderVO>> list(RecallOrderDTO paramReq) {
|
||||
@@ -38,48 +55,119 @@ public class RecallOrderApiServiceImpl implements RecallOrderApiService {
|
||||
@Override
|
||||
public ResObj<RecallOrderVO> getRecallOrder(String id) {
|
||||
RecallOrderVO recallOrderVO = recallOrderService.queryRecallOrderById(id);
|
||||
|
||||
return ResObj.ok(recallOrderVO);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResObj saveRecallOrder(RecallOrderDTO paramReq) {
|
||||
RecallOrderEntity recallOrder = new RecallOrderEntity();
|
||||
BeanUtils.copyProperties(paramReq, recallOrder);
|
||||
public ResObj<RecallOrderVO> getRecallOrderByOrderId(String orderId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
recallOrder.setId(UUIDUtil.generate());//赋值id
|
||||
recallOrder.setStatus(DataValidEnum.VALID.getCode());
|
||||
recallOrder.setCreateBy(HeaderDataUtil.getUserId());//创建人
|
||||
recallOrder.setCreateTime(System.currentTimeMillis());//创建时间
|
||||
recallOrder.setUpdateBy(HeaderDataUtil.getUserId());//更新人
|
||||
recallOrder.setUpdateTime(System.currentTimeMillis());//更新时间
|
||||
@Override
|
||||
public ResObj traceVideo() {
|
||||
LambdaQueryWrapper<RecallOrderEntity> orderQuery = Wrappers.lambdaQuery();
|
||||
orderQuery.eq(RecallOrderEntity::getComplete, "1");
|
||||
orderQuery.isNull(RecallOrderEntity::getFileId);
|
||||
orderQuery.orderByDesc(RecallOrderEntity::getCompleteDate);
|
||||
List<RecallOrderEntity> orderList = recallOrderService.getBaseMapper().selectList(orderQuery);
|
||||
orderList.forEach(order -> {
|
||||
LambdaQueryWrapper<RecallRecordEntity> recordQuery = Wrappers.lambdaQuery();
|
||||
recordQuery.eq(RecallRecordEntity::getTraceId, order.getTraceId());
|
||||
recordQuery.orderByAsc(RecallRecordEntity::getCreateTime);
|
||||
List<RecallRecordEntity> recordList = recallRecordService.getBaseMapper().selectList(recordQuery);
|
||||
|
||||
recallOrderService.save(recallOrder);
|
||||
List<String> events = recordList.stream()
|
||||
.flatMap(entity -> entity.getEvents().stream())
|
||||
.collect(Collectors.toList());
|
||||
JSONArray array = JSONArray.parseArray(JSON.toJSONString(events));
|
||||
try {
|
||||
createVideo(order, array.toJSONString());
|
||||
} catch (IOException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
});
|
||||
return ResObj.ok();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResObj updateRecallOrder(RecallOrderDTO paramReq) {
|
||||
RecallOrderEntity recallOrder = new RecallOrderEntity();
|
||||
BeanUtils.copyProperties(paramReq, recallOrder);
|
||||
recallOrder.setUpdateBy(HeaderDataUtil.getUserId());//更新人
|
||||
recallOrder.setUpdateTime(System.currentTimeMillis());//更新时间
|
||||
recallOrderService.updateById(recallOrder);
|
||||
return ResObj.ok();
|
||||
void createVideo(RecallOrderEntity fo, String jsonData) throws IOException {
|
||||
|
||||
// 创建临时目录
|
||||
Path tempDir = null;
|
||||
try {
|
||||
tempDir = Files.createTempDirectory("ts");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
System.out.println("Created temporary directory: " + tempDir);
|
||||
|
||||
try {
|
||||
File tempFile = new File(tempDir.toFile(), "traces.json");
|
||||
FileWriter fw = new FileWriter(tempFile);
|
||||
BufferedWriter bw = new BufferedWriter(fw);
|
||||
bw.write(jsonData);
|
||||
bw.flush();
|
||||
bw.close();
|
||||
fw.close();
|
||||
String[] command = {"ts-node", "/opt/trace-transform/src/index.ts"};
|
||||
ProcessBuilder processBuilder = new ProcessBuilder(command);
|
||||
processBuilder.directory(tempDir.toFile());
|
||||
// 在临时目录下执行命令
|
||||
Process process = processBuilder.start();
|
||||
|
||||
Thread processThread = new Thread(() -> {
|
||||
try {
|
||||
// 读取命令输出
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
System.out.println(line);
|
||||
}
|
||||
reader.close();
|
||||
// 等待命令执行完成
|
||||
int exitCode = process.waitFor();
|
||||
|
||||
System.out.println("Command exited with code " + exitCode);
|
||||
} catch (InterruptedException | IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
processThread.start();
|
||||
|
||||
// Continue with other tasks here...
|
||||
|
||||
try {
|
||||
processThread.join();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
File file = new File(tempDir.toFile(), "video.mp4");
|
||||
if (file.exists()) {
|
||||
log.info(String.valueOf(file.length()));
|
||||
//byte[] fileBytes = Files.readAllBytes(file.toPath());
|
||||
byte[] fileBytes = FileUtil.readBytes(file);
|
||||
String titles = fo.getOrderId() + ".mp4";
|
||||
UploadFileDTO uploadFileDTO = new UploadFileDTO(fileBytes, "RECALL", titles);
|
||||
|
||||
ResObj<UploadRespVO> uploadResObj = storageFeignClient.uploadBytes(uploadFileDTO);
|
||||
log.info(JSON.toJSONString(uploadResObj));
|
||||
if (uploadResObj.isOk()) {
|
||||
fo.setFileId(uploadResObj.getData().getFileId());
|
||||
fo.setFileUrl(uploadResObj.getData().getFileUrl());
|
||||
fo.setUpdateTime(System.currentTimeMillis());
|
||||
recallOrderService.updateRecallOrderById(fo);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage());
|
||||
} finally {
|
||||
// 删除临时目录
|
||||
Files.walk(tempDir)
|
||||
.sorted(Comparator.reverseOrder())
|
||||
.map(Path::toFile)
|
||||
.forEach(File::delete);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResObj changeStatus(String id, String status) {
|
||||
RecallOrderEntity recallOrder = new RecallOrderEntity();
|
||||
recallOrder.setId(id);
|
||||
recallOrder.setStatus(status);
|
||||
recallOrder.setUpdateBy(HeaderDataUtil.getUserId());
|
||||
recallOrder.setUpdateTime(System.currentTimeMillis());
|
||||
recallOrderService.updateRecallOrderById(recallOrder);
|
||||
|
||||
return ResObj.ok();
|
||||
}
|
||||
}
|
||||
|
||||
+58
-58
@@ -1,85 +1,85 @@
|
||||
package com.wabestway.recall.trace.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.wabestway.commons.http.Paging;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.wabestway.commons.http.ResObj;
|
||||
import com.wabestway.commons.enums.DataValidEnum;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import com.wabestway.ins.utils.UUIDUtil;
|
||||
import com.wabestway.recall.trace.dto.TraceDTO;
|
||||
import com.wabestway.recall.trace.entity.RecallOrderEntity;
|
||||
import com.wabestway.recall.trace.entity.RecallRecordEntity;
|
||||
import com.wabestway.recall.trace.dto.RecallRecordDTO;
|
||||
import com.wabestway.recall.trace.vo.RecallRecordVO;
|
||||
import com.wabestway.recall.trace.service.RecallOrderService;
|
||||
import com.wabestway.recall.trace.service.RecallRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.wabestway.recall.trace.service.RecallRecordApiService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.wabestway.recall.trace.util.HeaderDataUtil;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author wangH
|
||||
* @company 北京华焱坤泰科技有限公司
|
||||
* @Time 2023-05-06 17:37:03
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class RecallRecordApiServiceImpl implements RecallRecordApiService {
|
||||
@Autowired
|
||||
private RecallRecordService recallRecordService;
|
||||
@Autowired
|
||||
private RecallOrderService recallOrderService;
|
||||
|
||||
@Override
|
||||
public ResObj<Paging<RecallRecordVO>> list(RecallRecordDTO paramReq) {
|
||||
IPage<RecallRecordVO> resultPage = recallRecordService.queryRecallRecordByCondition(paramReq.getPage(), paramReq.getPageSize(), paramReq);
|
||||
public ResObj save(TraceDTO record) {
|
||||
String orderId = record.getOrderId();
|
||||
String traceId = Optional.ofNullable(orderId)
|
||||
.map(recallOrderService::queryRecallOrderByOrderId)
|
||||
.map(RecallOrderEntity::getTraceId)
|
||||
.orElse(UUID.randomUUID().toString().replace("-", ""));
|
||||
|
||||
Paging<RecallRecordVO> paging = new Paging(resultPage.getRecords(), paramReq.getPage(), resultPage.getSize(), resultPage.getTotal());
|
||||
return ResObj.ok(paging);
|
||||
}
|
||||
boolean isLastEvent = record.isLast();
|
||||
|
||||
@Override
|
||||
public ResObj<RecallRecordVO> getRecallRecord(String id) {
|
||||
RecallRecordVO recallRecordVO = recallRecordService.queryRecallRecordById(id);
|
||||
RecallOrderEntity order = Optional.ofNullable(orderId)
|
||||
.flatMap(id -> Optional.ofNullable(recallOrderService.queryRecallOrderByOrderId(id)))
|
||||
.orElseGet(() -> {
|
||||
RecallOrderEntity newOrder = new RecallOrderEntity();
|
||||
newOrder.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
newOrder.setOrderId(orderId);
|
||||
newOrder.setTraceId(traceId);
|
||||
newOrder.setProductCode(record.getProductCode());
|
||||
newOrder.setProductName(record.getProductName());
|
||||
newOrder.setCreateTime(System.currentTimeMillis());
|
||||
newOrder.setUpdateTime(System.currentTimeMillis());
|
||||
newOrder.setAppKey(record.getAppKey());
|
||||
newOrder.setArchived("0");
|
||||
newOrder.setComplete(isLastEvent ? "1" : "0");
|
||||
if (isLastEvent) {
|
||||
newOrder.setCompleteDate(System.currentTimeMillis());
|
||||
}
|
||||
recallOrderService.save(newOrder);
|
||||
|
||||
return ResObj.ok(recallRecordVO);
|
||||
}
|
||||
record.setTraceId(traceId);
|
||||
record.setOrderId(orderId);
|
||||
return newOrder;
|
||||
});
|
||||
|
||||
if (isLastEvent) {
|
||||
order.setComplete("1");
|
||||
order.setCompleteDate(System.currentTimeMillis());
|
||||
order.setUpdateTime(System.currentTimeMillis());
|
||||
recallOrderService.updateRecallOrderById(order);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResObj saveRecallRecord(RecallRecordDTO paramReq) {
|
||||
RecallRecordEntity recallRecord = new RecallRecordEntity();
|
||||
BeanUtils.copyProperties(paramReq, recallRecord);
|
||||
|
||||
recallRecord.setId(UUIDUtil.generate());//赋值id
|
||||
recallRecord.setStatus(DataValidEnum.VALID.getCode());
|
||||
recallRecord.setCreateBy(HeaderDataUtil.getUserId());//创建人
|
||||
recallRecord.setCreateTime(System.currentTimeMillis());//创建时间
|
||||
recallRecord.setUpdateBy(HeaderDataUtil.getUserId());//更新人
|
||||
recallRecord.setUpdateTime(System.currentTimeMillis());//更新时间
|
||||
|
||||
BeanUtils.copyProperties(record, recallRecord);
|
||||
recallRecord.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
recallRecord.setCreateTime(System.currentTimeMillis());
|
||||
recallRecordService.save(recallRecord);
|
||||
return ResObj.ok();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResObj updateRecallRecord(RecallRecordDTO paramReq) {
|
||||
RecallRecordEntity recallRecord = new RecallRecordEntity();
|
||||
BeanUtils.copyProperties(paramReq, recallRecord);
|
||||
recallRecord.setUpdateBy(HeaderDataUtil.getUserId());//更新人
|
||||
recallRecord.setUpdateTime(System.currentTimeMillis());//更新时间
|
||||
recallRecordService.updateById(recallRecord);
|
||||
return ResObj.ok();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResObj changeStatus(String id, String status) {
|
||||
RecallRecordEntity recallRecord = new RecallRecordEntity();
|
||||
recallRecord.setId(id);
|
||||
recallRecord.setStatus(status);
|
||||
recallRecord.setUpdateBy(HeaderDataUtil.getUserId());
|
||||
recallRecord.setUpdateTime(System.currentTimeMillis());
|
||||
recallRecordService.updateRecallRecordById(recallRecord);
|
||||
|
||||
return ResObj.ok();
|
||||
record.setEvents(null);
|
||||
log.info("保存数据:{}", JSON.toJSONString(record));
|
||||
return ResObj.ok(record);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user