报错消除(未完)
This commit is contained in:
parent
4598550fb3
commit
d761ef143b
@ -1,41 +0,0 @@
|
||||
package club.joylink.rtss.controller;
|
||||
|
||||
import club.joylink.rtss.services.IScriptService;
|
||||
import club.joylink.rtss.vo.client.PageVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptQueryVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Api(tags = { "仿真剧本接口" })
|
||||
@RestController
|
||||
@RequestMapping(path = "/api/script")
|
||||
public class ScriptController {
|
||||
|
||||
@Autowired
|
||||
private IScriptService iScriptService;
|
||||
|
||||
@ApiOperation(value = "分页查询上线的剧本")
|
||||
@GetMapping(path = "/paging/online")
|
||||
public PageVO<ScriptVO> pagingQueryOnlineScript(ScriptQueryVO scriptQueryVO) {
|
||||
return iScriptService.pagingQueryOnlineScript(scriptQueryVO);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "通过id查询剧本详细信息")
|
||||
@GetMapping(path = "/{id}/detail")
|
||||
public ScriptVO getDetailInfoById(@PathVariable @NotNull Long id) {
|
||||
return iScriptService.getDetailForClientById(id);
|
||||
}
|
||||
|
||||
// @ApiOperation(value = "分页查询已经发布的剧本")
|
||||
// @GetMapping(path = "/paging/published")
|
||||
// public PageVO<ScriptVO> queryPublishedScript(ScriptQueryVO queryVO){
|
||||
// return iScriptService.queryPublishedScript(queryVO);
|
||||
// }
|
||||
}
|
@ -25,47 +25,6 @@ public class RaceTheoryController {
|
||||
@Autowired
|
||||
private IRaceTheoryService iRaceTheoryService;
|
||||
|
||||
// /**查询竞赛理论题
|
||||
// * @return*/
|
||||
// @ApiOperation(value = "查询本竞赛用的理论")
|
||||
// @GetMapping(path = "/competition/{competitionId}")
|
||||
// public TheoryQuestionVO getCompetitionTheory(@ApiIgnore @RequestAttribute UserVO user, @PathVariable Long competitionId) {
|
||||
//
|
||||
// return iRaceTheoryService.getCompetitionTheory(user.getId(), competitionId);
|
||||
// }
|
||||
//
|
||||
// /**提交理论成绩*/
|
||||
// @ApiOperation(value = "提交理论")
|
||||
// @PostMapping(path = "/submit")
|
||||
// public void submitTheoryQuestion(@ApiIgnore @RequestAttribute UserVO user, @Validated @RequestBody CompetitionTheoryAnswerVO answerVO) {
|
||||
// iRaceTheoryService.submitTheoryQuestion(user, answerVO);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// /**参赛者查询理论题作答结果
|
||||
// * @return*/
|
||||
// @ApiOperation(value = "查询理论题作答结果")
|
||||
// @GetMapping(path = "/result/competition/{competitionId}")
|
||||
// public List<RaceResultVO> getTheoryAnswerResult(@PathVariable Long competitionId, @ApiIgnore @RequestAttribute UserVO user) {
|
||||
// return iRaceTheoryService.getTheoryAnswerResult(competitionId, user);
|
||||
// }
|
||||
//
|
||||
// /**参赛者查询理论题作答详情
|
||||
// * @return*/
|
||||
// @ApiOperation(value = "查询当前人员理论题作答详情")
|
||||
// @GetMapping(path = "/detail/competition/{competitionId}")
|
||||
// public List<RaceResultDetailVO> getTheoryAnswerDetails(@PathVariable Long competitionId, @ApiIgnore @RequestAttribute UserVO user) {
|
||||
// return iRaceTheoryService.getTheoryAnswerDetails(competitionId, user);
|
||||
// }
|
||||
//
|
||||
// /**裁判查询理论题作答详情
|
||||
// * @return*/
|
||||
// @ApiOperation(value = "裁判查询参赛者理论题作答详情")
|
||||
// @GetMapping(path = "/detail/competition/{competitionId}/raceUser/{raceUserId}")
|
||||
// public List<RaceResultDetailVO> getContestantTheoryAnswerDetails(@PathVariable Long competitionId,@PathVariable Long raceUserId, @ApiIgnore @RequestAttribute UserVO user) {
|
||||
// return iRaceTheoryService.getContestantTheoryAnswerDetails(competitionId, raceUserId);
|
||||
// }
|
||||
|
||||
//------------------------------------ 项目理论题部分----------------------------------------
|
||||
/**获取项目理论题*/
|
||||
@ApiOperation(value = "获取项目理论题")
|
||||
|
@ -121,119 +121,4 @@ public class PermissionDistributeController {
|
||||
this.permissionDistributeService.handleOldDataColumnPackage();
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ApiOperation(value = "处理旧数据是否包")
|
||||
@PutMapping(path = "/package")
|
||||
public void handleOldDataColumnPackage() {
|
||||
this.permissionDistributeService.handleOldDataColumnPackage();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "从订单分发权限,获取二维码")
|
||||
@PostMapping(path = "/{orderCode}/distribute")
|
||||
public String givePermission(@PathVariable String orderCode, @RequestBody PermissionTransVO transVO,
|
||||
@RequestAttribute @ApiIgnore UserVO user) {
|
||||
return permissionDistributeService.getDistributeQrCodeFromOrder(orderCode, transVO.getDistribute(), user);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "用户权限转增分发打包生成权限")
|
||||
@PostMapping(path = "/packageUserPermission")
|
||||
public String packageUserPermission(@RequestBody @Validated UserPermissionDistributeVO userPermissionAndAmountVO, @RequestAttribute @ApiIgnore UserVO user) {
|
||||
|
||||
return permissionDistributeService.packageUserPermission(userPermissionAndAmountVO, user);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "权限分发")
|
||||
@PostMapping(path="/distribute")
|
||||
public String distributePermission(@RequestBody @Validated DistributeParamVO distributeParamVO,
|
||||
@RequestAttribute @ApiIgnore UserVO user) {
|
||||
return permissionDistributeService.distributePermission(distributeParamVO, user);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "权限转赠")
|
||||
@PostMapping(path="/transfer")
|
||||
public String transferPermission(@RequestBody @Validated DistributeParamVO distributeParamVO,
|
||||
@RequestAttribute @ApiIgnore UserVO user) {
|
||||
return permissionDistributeService.transferPermission(distributeParamVO, user);
|
||||
}
|
||||
|
||||
*/
|
||||
/**
|
||||
* 从权限分发主键获取权限
|
||||
* @param state
|
||||
* @param user
|
||||
* @return
|
||||
*//*
|
||||
|
||||
@ApiOperation(value = "权限获取")
|
||||
@GetMapping(path = "/getPermission")
|
||||
public List<UserPermissionVO> getPermission(Long state, @RequestAttribute @ApiIgnore UserVO user) {
|
||||
return this.permissionDistributeService.getUserPermission(state, user);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "微信小程序扫码获取权限")
|
||||
@GetMapping(path = "/permission")
|
||||
public List<UserPermissionVO> wmGetPermission(String wmCode, Long id) {
|
||||
return this.permissionDistributeService.wmGetPermission(wmCode, id);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "分页查询权限分发数据")
|
||||
@GetMapping(path = "")
|
||||
public PageVO<PermissionDistributeListVO> queryPagedDistribute(PermissionDistributeQueryVO queryVO) {
|
||||
return this.permissionDistributeService.queryPagedDistribute(queryVO);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "权限回收")
|
||||
@PutMapping(path = "/{id}/restore")
|
||||
public void restore(@PathVariable Long id) {
|
||||
this.permissionDistributeService.restoreDistributeToUserPermission(id);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "权限分发打包详情")
|
||||
@GetMapping(path = "/package/{id}/detail")
|
||||
public PageVO<PermissionDistributeListVO> getPackageDetail(@PathVariable Long id, PermissionDistributeQueryVO queryVO) {
|
||||
return this.permissionDistributeService.getPackageDetail(id, queryVO);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "生成打包分发二维码")
|
||||
@GetMapping(path = "/package/qrCode")
|
||||
public String generateQrCode(Long id) {
|
||||
return this.permissionDistributeService.generateQrCode(id);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "获取权限分发详情")
|
||||
@GetMapping(path = "/{id}")
|
||||
public Object getDetail(@PathVariable Long id) {
|
||||
return this.permissionDistributeService.getDetail(id);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询个人权限分发列表")
|
||||
@GetMapping(path = "/personal")
|
||||
public List<PermissionDistributeListVO> queryPersonalDistributeList(@RequestAttribute @ApiIgnore UserVO user) {
|
||||
return permissionDistributeService.queryPersonalDistributeList(user);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询权限分发领取用户列表")
|
||||
@GetMapping(path = "/{id}/users")
|
||||
public List<UserPermissionVO> queryDistributeGetUsers(@PathVariable Long id, @RequestAttribute @ApiIgnore UserVO user) {
|
||||
return permissionDistributeService.queryDistributeGetUsers(id, user);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "回收用户权限到权限分发中")
|
||||
@PutMapping(path = "/{id}/back")
|
||||
public void restorePermissionToDistribute(@PathVariable Long id,
|
||||
@RequestBody @Validated UserPermissionVO userPermissionVO,
|
||||
@RequestAttribute @ApiIgnore UserVO user) {
|
||||
permissionDistributeService.restorePermissionToDistribute(id, userPermissionVO, user);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "权限分发立即失效")
|
||||
@GetMapping(path = "/{id}/invalid")
|
||||
public void immediateInvalid(@PathVariable String id) {
|
||||
permissionDistributeService.immediateInvalid(id);
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
@ -159,6 +159,7 @@ public class MapController {
|
||||
|
||||
@ApiOperation(value = "发布地图上线")
|
||||
@PutMapping(value = "/{id}/onLine")
|
||||
@Role({RoleEnum.SuperAdmin,RoleEnum.Admin})
|
||||
public void onLine(@PathVariable Long id, @RequestAttribute UserVO user) {
|
||||
this.iMapService.onLine(id, user);
|
||||
}
|
||||
|
@ -1,80 +0,0 @@
|
||||
package club.joylink.rtss.controller.race;//package club.joylink.rtss.controller.race;
|
||||
//
|
||||
//import club.joylink.rtss.services.race.IRaceService;
|
||||
//import club.joylink.rtss.vo.UserVO;
|
||||
//import club.joylink.rtss.vo.client.PageVO;
|
||||
//import club.joylink.rtss.vo.client.race.*;
|
||||
//import io.swagger.annotations.Api;
|
||||
//import io.swagger.annotations.ApiOperation;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.validation.annotation.Validated;
|
||||
//import org.springframework.web.bind.annotation.*;
|
||||
//import springfox.documentation.annotations.ApiIgnore;
|
||||
//
|
||||
//import java.util.List;
|
||||
//
|
||||
//@Api(tags = "竞赛信息相关接口")
|
||||
//@RestController
|
||||
//@RequestMapping("/api/race")
|
||||
//public class RaceController {
|
||||
// @Autowired
|
||||
// private IRaceService iRaceService;
|
||||
//
|
||||
// @ApiOperation("创建竞赛")
|
||||
// @PostMapping("")
|
||||
// public void create(@RequestBody @Validated RaceCreateVO createVO, @RequestAttribute @ApiIgnore UserVO user) {
|
||||
// iRaceService.create(createVO, user);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("分页查询竞赛")
|
||||
// @GetMapping("")
|
||||
// public PageVO<RaceVO> query(RaceQueryVO queryVO) {
|
||||
// return iRaceService.query(queryVO);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("根据id查询竞赛信息")
|
||||
// @GetMapping("/{id}")
|
||||
// public RaceVO getById(@PathVariable Long id) {
|
||||
// return iRaceService.getById(id);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("修改竞赛信息")
|
||||
// @PutMapping("/{id}")
|
||||
// public void update(@PathVariable Long id, @RequestBody RaceUpdateVO updateVO) {
|
||||
// iRaceService.update(id, updateVO);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("报名")
|
||||
// @PostMapping("/{id}/signUp")
|
||||
// public void signUp(@PathVariable Long id, @RequestBody @Validated RaceSignUpInfoVO signUpInfo, @RequestAttribute @ApiIgnore UserVO user) {
|
||||
// iRaceService.signUp(id, signUpInfo, user);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("查询竞赛报名人员列表")
|
||||
// @GetMapping("/{raceId}/raceUser/list")
|
||||
// public List<RaceUserVO> queryRaceUser(@PathVariable Long raceId) {
|
||||
// return iRaceService.getRaceContestant(raceId);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("查询竞赛报名人员详情")
|
||||
// @GetMapping("/{raceId}/raceUser")
|
||||
// public RaceUserVO getRaceUser(@PathVariable Long raceId, @RequestAttribute @ApiIgnore UserVO user) {
|
||||
// return iRaceService.getRaceUser(raceId, user);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("分页查询竞赛报名人员")
|
||||
// @GetMapping("/{raceId}/raceUser/page")
|
||||
// public PageVO<RaceUserVO> pagingQueryRaceUser(@PathVariable Long raceId, RaceUserQueryVO queryVO) {
|
||||
// return iRaceService.pagingQueryRaceUser(raceId, queryVO);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("查询用户是否已经报名该竞赛")
|
||||
// @GetMapping("/{raceId}/isSignUp")
|
||||
// public boolean isSignUp(@PathVariable Long raceId, @RequestAttribute @ApiIgnore UserVO user, boolean isLogin) {
|
||||
// if (isLogin) {
|
||||
// return iRaceService.isSignUpForLogin(raceId, user);
|
||||
// }
|
||||
// return iRaceService.isSignUp(raceId, user);
|
||||
// }
|
||||
//
|
||||
//}
|
@ -1,6 +1,6 @@
|
||||
package club.joylink.rtss.controller.script;
|
||||
|
||||
import club.joylink.rtss.services.script.IScriptService2;
|
||||
import club.joylink.rtss.services.script.IScriptService;
|
||||
import club.joylink.rtss.vo.client.PageVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptQueryVO;
|
||||
@ -17,19 +17,19 @@ import javax.validation.constraints.NotNull;
|
||||
@Api(tags = "新版剧本接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/script/v1")
|
||||
public class ScriptController2 {
|
||||
public class ScriptController {
|
||||
@Autowired
|
||||
private IScriptService2 iScriptService2;
|
||||
private IScriptService iScriptService;
|
||||
|
||||
@ApiOperation(value = "分页查询上线的剧本")
|
||||
@GetMapping(path = "/paging/online")
|
||||
public PageVO<ScriptVO> pagingQueryOnlineScript(ScriptQueryVO scriptQueryVO) {
|
||||
return iScriptService2.pagingQueryOnlineScript(scriptQueryVO);
|
||||
return iScriptService.pagingQueryOnlineScript(scriptQueryVO);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "通过id查询剧本详细信息")
|
||||
@GetMapping(path = "/{id}/detail")
|
||||
public ScriptVO getDetailInfoById(@PathVariable @NotNull Long id) {
|
||||
return iScriptService2.getDetailForClientById(id);
|
||||
return iScriptService.getDetailForClientById(id);
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package club.joylink.rtss.controller;
|
||||
package club.joylink.rtss.controller.script;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.script.ScriptUpdateVO;
|
||||
import club.joylink.rtss.entity.ScriptDraftWithBLOBs;
|
@ -7,8 +7,8 @@ import club.joylink.rtss.services.simulation.IScriptSimulationService;
|
||||
import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
import club.joylink.rtss.vo.client.script.MapLocationVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewUpdateVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionUpdateVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptVO;
|
||||
import club.joylink.rtss.vo.client.simulationv1.SimulationMemberVO;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -52,13 +52,13 @@ public class ScriptSimulationController {
|
||||
|
||||
@ApiOperation(value = "获取剧本所有动作")
|
||||
@GetMapping("/{group}/allAction")
|
||||
public List<ScriptActionNewVO> getAllAction(@PathVariable @NotBlank String group) {
|
||||
public List<ScriptActionVO> getAllAction(@PathVariable @NotBlank String group) {
|
||||
return iScriptSimulationService.getAllAction(group);
|
||||
}
|
||||
|
||||
@ApiOperation("修改剧本会话动作")
|
||||
@PutMapping("/{group}/action/update")
|
||||
public void updateAction(@PathVariable @NotBlank String group, @RequestBody @NotNull @Validated ScriptActionNewUpdateVO updateVO) {
|
||||
public void updateAction(@PathVariable @NotBlank String group, @RequestBody @NotNull @Validated ScriptActionUpdateVO updateVO) {
|
||||
iScriptSimulationService.updateAction(group, updateVO);
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,5 @@
|
||||
package club.joylink.rtss.services;
|
||||
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.google.common.collect.Lists;
|
||||
import club.joylink.rtss.dao.CommandDefinitionDAO;
|
||||
import club.joylink.rtss.entity.CommandDefinition;
|
||||
import club.joylink.rtss.entity.CommandDefinitionExample;
|
||||
@ -11,12 +8,14 @@ import club.joylink.rtss.vo.client.CommandCopyVO;
|
||||
import club.joylink.rtss.vo.client.CommandDefinitionQueryVO;
|
||||
import club.joylink.rtss.vo.client.CommandDefinitionVO;
|
||||
import club.joylink.rtss.vo.client.PageVO;
|
||||
import org.springframework.util.StringUtils;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@ -53,11 +52,11 @@ public class CommandService implements ICommandService {
|
||||
CommandDefinitionExample commandDefinitionExample = new CommandDefinitionExample();
|
||||
CommandDefinitionExample.Criteria criteria = commandDefinitionExample.createCriteria();
|
||||
//条件:线路
|
||||
if (StringUtils.isNotEmpty(lineCode)) {
|
||||
if (!lineCode.isEmpty()) {
|
||||
criteria.andLineCodeEqualTo(lineCode);
|
||||
}
|
||||
//条件:操作对象
|
||||
if (StringUtils.isNotEmpty(queryVO.getOperateObject())) {
|
||||
if (!queryVO.getOperateObject().isEmpty()) {
|
||||
criteria.andOperateObjectEqualTo(queryVO.getOperateObject());
|
||||
|
||||
}
|
||||
@ -65,7 +64,7 @@ public class CommandService implements ICommandService {
|
||||
Page<CommandDefinition> page = (Page<CommandDefinition>) commandDefinitionDAO.selectByExample(commandDefinitionExample);
|
||||
List<CommandDefinition> commandDefinitions = page.getResult();
|
||||
if (CollectionUtils.isEmpty(commandDefinitions)) {
|
||||
return PageVO.convert(page, Lists.newArrayList());
|
||||
return PageVO.convert(page, new ArrayList<>());
|
||||
}
|
||||
return PageVO.convert(page, CommandDefinitionVO.convert2VOList(commandDefinitions));
|
||||
}
|
||||
@ -87,14 +86,14 @@ public class CommandService implements ICommandService {
|
||||
|
||||
//条件:线路
|
||||
CommandDefinitionExample commandDefinitionExample = new CommandDefinitionExample();
|
||||
if (StringUtils.isNotEmpty(lineCode)) {
|
||||
if (!lineCode.isEmpty()) {
|
||||
CommandDefinitionExample.Criteria criteria = commandDefinitionExample.createCriteria();
|
||||
criteria.andLineCodeEqualTo(lineCode);
|
||||
if (StringUtils.isNotEmpty(simulationRole)) {
|
||||
if (!simulationRole.isEmpty()) {
|
||||
//+操作对象过滤
|
||||
criteria.andSimulationRoleEqualTo(simulationRole);
|
||||
}
|
||||
if (StringUtils.isNotEmpty(prdType)) {
|
||||
if (!prdType.isEmpty()) {
|
||||
criteria.andPrdTypeEqualTo(prdType);
|
||||
}
|
||||
|
||||
|
@ -1,44 +0,0 @@
|
||||
package club.joylink.rtss.services;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.script.ScriptBO;
|
||||
import club.joylink.rtss.entity.ScriptDraftWithBLOBs;
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
import club.joylink.rtss.vo.client.PageVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptQueryVO;
|
||||
|
||||
public interface IScriptService {
|
||||
|
||||
/**
|
||||
* 根据id获取剧本详细数据
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ScriptVO getScriptDetailById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询上线的剧本
|
||||
* @param scriptQueryVO
|
||||
* @return
|
||||
*/
|
||||
PageVO<ScriptVO> pagingQueryOnlineScript(ScriptQueryVO scriptQueryVO);
|
||||
|
||||
/**
|
||||
* 获取客户端需要的剧本详细数据
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ScriptVO getDetailForClientById(Long id);
|
||||
|
||||
/**
|
||||
* 发布
|
||||
*/
|
||||
void publish(ScriptDraftWithBLOBs script, UserVO user);
|
||||
|
||||
void copy(Long sourceMapId, Long targetMapId, UserVO user);
|
||||
|
||||
/**
|
||||
* 获取剧本操作对象
|
||||
*/
|
||||
ScriptBO getScriptBOById(Long scriptId, Simulation simulation);
|
||||
}
|
@ -86,6 +86,11 @@ public interface ISysUserService {
|
||||
*/
|
||||
boolean isAdmin(UserVO userVO);
|
||||
|
||||
/**
|
||||
* 确认用户是管理员,否则,报错
|
||||
*/
|
||||
void confirmAdmin(UserVO user);
|
||||
|
||||
/**
|
||||
* 根据地图id查询订阅人员
|
||||
* @param mapId
|
||||
|
@ -1,10 +1,9 @@
|
||||
package club.joylink.rtss.services;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessException;
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.joylink.base.exception.BusinessException;
|
||||
import com.joylink.base.exception.DBException;
|
||||
import com.joylink.base.exception.constant.ExceptionMapping;
|
||||
import club.joylink.rtss.simulation.cbtc.exception.SimulationException;
|
||||
import club.joylink.rtss.simulation.cbtc.exception.SimulationExceptionType;
|
||||
import club.joylink.rtss.configuration.configProp.WeChatConfig;
|
||||
@ -13,7 +12,6 @@ import club.joylink.rtss.dao.LearnCommentDAO;
|
||||
import club.joylink.rtss.dao.LearnMessageDAO;
|
||||
import club.joylink.rtss.dao.LearnPostDAO;
|
||||
import club.joylink.rtss.entity.*;
|
||||
import club.joylink.rtss.util.ConvertUtil;
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
import club.joylink.rtss.vo.client.PageQueryVO;
|
||||
import club.joylink.rtss.vo.client.PageVO;
|
||||
@ -26,11 +24,9 @@ import club.joylink.rtss.vo.client.post.LearnMessageVO;
|
||||
import club.joylink.rtss.wechat.MiniProgramService;
|
||||
import club.joylink.rtss.wechat.vo.WxError;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@ -87,16 +83,13 @@ public class LearnService implements ILearnService {
|
||||
// comment.setCreatorId(userVO.getIdLong());
|
||||
// comment.setCreateTime(LocalDateTime.now());
|
||||
// learnCommentDAO.insertSelective(comment);
|
||||
return ConvertUtil.long2Str(post.getId());
|
||||
return post.getId().toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void likePost(Long postId, UserVO userVO) {
|
||||
LearnPost post = learnPostDAO.selectByPrimaryKey(postId);
|
||||
if (Objects.isNull(post)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
LearnPost post = getPostEntity(postId);
|
||||
post.setLike(post.getLike() + 1);
|
||||
learnPostDAO.updateByPrimaryKey(post);
|
||||
}
|
||||
@ -104,20 +97,14 @@ public class LearnService implements ILearnService {
|
||||
@Override
|
||||
@Transactional
|
||||
public void unlikePost(Long postId, UserVO userVO) {
|
||||
LearnPost post = learnPostDAO.selectByPrimaryKey(postId);
|
||||
if (Objects.isNull(post)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
LearnPost post = getPostEntity(postId);
|
||||
post.setUnlike(post.getUnlike() + 1);
|
||||
learnPostDAO.updateByPrimaryKey(post);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LearnPostVO getPostInfo(Long postId) {
|
||||
LearnPost post = learnPostDAO.selectByPrimaryKey(postId);
|
||||
if (Objects.isNull(post)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
LearnPost post = getPostEntity(postId);
|
||||
LearnPostVO postVO = new LearnPostVO(post);
|
||||
// 用户昵称
|
||||
UserVO user = iSysUserService.findUserById(post.getCreatorId());
|
||||
@ -128,7 +115,7 @@ public class LearnService implements ILearnService {
|
||||
|
||||
@Override
|
||||
public PageVO<LearnCommentVO> pagedQueryComment(Long messageId, PageQueryVO queryVO) {
|
||||
checkMessage(messageId);
|
||||
checkMessageExist(messageId);
|
||||
List<LearnCommentVO> commentVOList = new ArrayList<>();
|
||||
PageHelper.startPage(queryVO.getPageNum(), queryVO.getPageSize());
|
||||
LearnCommentExample commentExample = new LearnCommentExample();
|
||||
@ -173,7 +160,7 @@ public class LearnService implements ILearnService {
|
||||
|
||||
@Override
|
||||
public void addComment(Long messageId, LearnCreateVO postCreateVO, UserVO userVO) {
|
||||
checkMessage(messageId);
|
||||
checkMessageExist(messageId);
|
||||
checkContent(postCreateVO.getContent());
|
||||
LearnComment comment = new LearnComment();
|
||||
comment.setContent(postCreateVO.getContent());
|
||||
@ -186,7 +173,7 @@ public class LearnService implements ILearnService {
|
||||
|
||||
@Override
|
||||
public void addComment(Long messageId, Long commentId, LearnCreateVO postCreateVO, UserVO userVO) {
|
||||
checkMessage(messageId);
|
||||
checkMessageExist(messageId);
|
||||
checkContent(postCreateVO.getContent());
|
||||
LearnComment comment = new LearnComment();
|
||||
comment.setContent(postCreateVO.getContent());
|
||||
@ -206,10 +193,7 @@ public class LearnService implements ILearnService {
|
||||
@Override
|
||||
@Transactional
|
||||
public void likeComment(Long commentId, UserVO userVO) {
|
||||
LearnComment comment = learnCommentDAO.selectByPrimaryKey(commentId);
|
||||
if (Objects.isNull(comment)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
LearnComment comment = getCommentEntity(commentId);
|
||||
comment.setLike(comment.getLike() + 1);
|
||||
learnCommentDAO.updateByPrimaryKey(comment);
|
||||
}
|
||||
@ -217,10 +201,7 @@ public class LearnService implements ILearnService {
|
||||
@Override
|
||||
@Transactional
|
||||
public void unlikeComment(Long commentId, UserVO userVO) {
|
||||
LearnComment comment = learnCommentDAO.selectByPrimaryKey(commentId);
|
||||
if (Objects.isNull(comment)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
LearnComment comment = getCommentEntity(commentId);
|
||||
comment.setUnlike(comment.getUnlike() + 1);
|
||||
learnCommentDAO.updateByPrimaryKey(comment);
|
||||
}
|
||||
@ -256,26 +237,24 @@ public class LearnService implements ILearnService {
|
||||
|
||||
@Override
|
||||
public void adminDeleteComment(Long commentId, UserVO user) {
|
||||
adminCheck(user);
|
||||
iSysUserService.confirmAdmin(user);
|
||||
learnCommentDAO.deleteByPrimaryKey(commentId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void userDeleteComment(Long commentId, UserVO user) {
|
||||
LearnComment comment = getComment(commentId);
|
||||
LearnComment comment = getCommentEntity(commentId);
|
||||
if (!comment.getCreatorId().equals(user.getId())) {
|
||||
log.error(String.format("用户[%s]意外尝试删除别人的评论[%s]", user.getId(), commentId));
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "无法删除非本人的评论");
|
||||
throw BusinessExceptionAssertEnum.INVALID_OPERATION.exception("无法删除非本人的评论");
|
||||
}
|
||||
learnCommentDAO.deleteByPrimaryKey(commentId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long createMessage(LearnMessageCreateVO messageCreateVO, UserVO user) {
|
||||
if (StringUtils.isBlank(messageCreateVO.getContent())
|
||||
&& CollectionUtils.isEmpty(messageCreateVO.getPictureUrls())) {
|
||||
throw new BusinessException(ExceptionMapping.ARGUMENT_ILLEGAL, "文字和图片不能都为空");
|
||||
}
|
||||
BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.assertTrue(!messageCreateVO.getContent().isBlank(),
|
||||
"内容不能空白");
|
||||
checkContent(messageCreateVO.getContent());
|
||||
LearnMessageWithBLOBs message = messageCreateVO.convert2DB(user.getId());
|
||||
learnMessageDAO.insert(message);
|
||||
@ -289,23 +268,23 @@ public class LearnService implements ILearnService {
|
||||
PageHelper.startPage(queryVO.getPageNum(), queryVO.getPageSize());
|
||||
Page<LearnMessageVO> page = (Page<LearnMessageVO>) learnMessageDAO.select(postId, queryVO);
|
||||
for (LearnMessageVO vo : page.getResult()) {
|
||||
vo.setComments(pagedQueryComment(vo.getId(), new PageQueryVO(1,3)));
|
||||
vo.setComments(pagedQueryComment(vo.getId(), new PageQueryVO(1, 3)));
|
||||
}
|
||||
return PageVO.convert(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adminDeleteMessage(Long messageId, UserVO user) {
|
||||
adminCheck(user);
|
||||
iSysUserService.confirmAdmin(user);
|
||||
deleteMessage(messageId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void userDeleteMessage(Long messageId, UserVO user) {
|
||||
LearnMessage message = getMessage(messageId);
|
||||
LearnMessage message = getMessageEntity(messageId);
|
||||
if (!message.getCreatorId().equals(user.getId())) {
|
||||
log.error(String.format("用户[%s]意外尝试删除别人的留言[%s]", user.getId(), messageId));
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "无法删除非本人的留言");
|
||||
throw BusinessExceptionAssertEnum.INVALID_OPERATION.exception("无法删除非本人的留言");
|
||||
}
|
||||
deleteMessage(messageId);
|
||||
}
|
||||
@ -322,7 +301,7 @@ public class LearnService implements ILearnService {
|
||||
public PageVO<LearnMessageVO> pagedQueryMessageByProject(Project project, LearnMessagePagedQueryVO queryVO) {
|
||||
LearnPostVO post = queryPost(project);
|
||||
if (post == null) {
|
||||
log.error(String.format("项目[%s]的留言板不存在",project));
|
||||
log.error(String.format("项目[%s]的留言板不存在", project));
|
||||
throw new SimulationException(SimulationExceptionType.System_Fault, "该项目的留言板不存在");
|
||||
}
|
||||
return pagedQueryMessageByPostId(post.getId(), queryVO);
|
||||
@ -344,15 +323,14 @@ public class LearnService implements ILearnService {
|
||||
// return message.getUnlike();
|
||||
// }
|
||||
|
||||
private LearnComment findComment(Long commentId) {
|
||||
private LearnComment findCommentEntity(Long commentId) {
|
||||
return learnCommentDAO.selectByPrimaryKey(commentId);
|
||||
}
|
||||
|
||||
private LearnComment getComment(Long commentId) {
|
||||
LearnComment comment = findComment(commentId);
|
||||
if (comment == null) {
|
||||
throw new BusinessException(ExceptionMapping.DATA_NOT_EXIST, "该评论不存在或已被删除");
|
||||
}
|
||||
private LearnComment getCommentEntity(Long commentId) {
|
||||
LearnComment comment = findCommentEntity(commentId);
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(comment,
|
||||
"该评论不存在或已被删除");
|
||||
return comment;
|
||||
}
|
||||
|
||||
@ -368,22 +346,15 @@ public class LearnService implements ILearnService {
|
||||
}
|
||||
|
||||
private LearnPost topCheck(Long postId, UserVO userVO) {
|
||||
if (!iSysUserService.isAdmin(userVO)) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION);
|
||||
}
|
||||
LearnPost post = learnPostDAO.selectByPrimaryKey(postId);
|
||||
if (Objects.isNull(post)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
iSysUserService.confirmAdmin(userVO);
|
||||
LearnPost post = getPostEntity(postId);
|
||||
return post;
|
||||
}
|
||||
|
||||
private void checkContent(String content) {
|
||||
WxError wxError = this.miniProgramService.msgSecCheck(content);
|
||||
if (wxError.isError()) {
|
||||
log.error(String.format("内容校验不通过: [%s]", wxError.toString()));
|
||||
throw new BusinessException(ExceptionMapping.CONTENT_SECURITY_CHECK);
|
||||
}
|
||||
BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.assertNotTrue(wxError.isError(),
|
||||
String.format("内容校验不通过: [%s]", wxError.toString()));
|
||||
// Map<String, String> param = new HashMap<>();
|
||||
// param.put("content", content);
|
||||
// WxBaseResp resp = restTemplate.postForObject(weChatConfig.getMsgSecCheckUrl(), param, WxBaseResp.class);
|
||||
@ -401,34 +372,28 @@ public class LearnService implements ILearnService {
|
||||
/**
|
||||
* 留言检查
|
||||
*/
|
||||
private void checkMessage(Long messageId) {
|
||||
if (findMessage(messageId) == null) {
|
||||
throw new BusinessException(ExceptionMapping.DATA_NOT_EXIST, String.format("id为[%s]的留言不存在", messageId));
|
||||
}
|
||||
private void checkMessageExist(Long messageId) {
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(findMessageEntity(messageId),
|
||||
String.format("id为[%s]的留言不存在", messageId));
|
||||
}
|
||||
|
||||
private LearnMessageWithBLOBs findMessage(Long messageId) {
|
||||
private LearnMessageWithBLOBs findMessageEntity(Long messageId) {
|
||||
return learnMessageDAO.selectByPrimaryKey(messageId);
|
||||
}
|
||||
|
||||
private LearnMessageWithBLOBs getMessage(Long messageId) {
|
||||
LearnMessageWithBLOBs message = findMessage(messageId);
|
||||
if (message == null) {
|
||||
throw new BusinessException(ExceptionMapping.DATA_NOT_EXIST, String.format("id为[%s]的留言不存在", messageId));
|
||||
}
|
||||
private LearnMessageWithBLOBs getMessageEntity(Long messageId) {
|
||||
LearnMessageWithBLOBs message = findMessageEntity(messageId);
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(message, String.format("id为[%s]的留言不存在", messageId));
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认用户是管理员
|
||||
*/
|
||||
private void adminCheck(UserVO user) {
|
||||
if (!iSysUserService.isAdmin(user)) {
|
||||
log.error(String.format("用户[%s]意外使用管理员的功能", user.getId()));
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "非管理员无法使用此功能");
|
||||
}
|
||||
private LearnPost findPostEntity(Long postId) {
|
||||
return learnPostDAO.selectByPrimaryKey(postId);
|
||||
}
|
||||
|
||||
private void test(LearnMessagePagedQueryVO queryVO) {
|
||||
private LearnPost getPostEntity(Long postId) {
|
||||
LearnPost post = findPostEntity(postId);
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(post);
|
||||
return post;
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
package club.joylink.rtss.services;
|
||||
|
||||
import club.joylink.rtss.exception.BaseException;
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.services.training.ITrainingV1Service;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.joylink.base.exception.BusinessException;
|
||||
import com.joylink.base.exception.DBException;
|
||||
import com.joylink.base.exception.constant.ExceptionMapping;
|
||||
import club.joylink.rtss.services.cache.ICacheService;
|
||||
import club.joylink.rtss.simulation.cbtc.build.SimulationBuildParams;
|
||||
import club.joylink.rtss.simulation.cbtc.build.SimulationBuilder;
|
||||
@ -15,12 +14,6 @@ import club.joylink.rtss.constants.Project;
|
||||
import club.joylink.rtss.dao.*;
|
||||
import club.joylink.rtss.entity.*;
|
||||
import club.joylink.rtss.services.simulation.SchedulingService;
|
||||
import club.joylink.rtss.simulation.Simulation;
|
||||
import club.joylink.rtss.simulation.SimulationAdapter;
|
||||
import club.joylink.rtss.simulation.SimulationConstructData;
|
||||
import club.joylink.rtss.simulation.data.DataService;
|
||||
import club.joylink.rtss.simulation.data.device.RouteUnit;
|
||||
import club.joylink.rtss.util.ConvertUtil;
|
||||
import club.joylink.rtss.util.JsonUtils;
|
||||
import club.joylink.rtss.util.VersionUtil;
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
@ -79,15 +72,6 @@ public class MapService implements IMapService {
|
||||
@Autowired
|
||||
private ISysUserService iSysUserService;
|
||||
|
||||
@Autowired
|
||||
private SimulationAdapter simulationAdapter;
|
||||
|
||||
@Autowired
|
||||
private IRunPlanDraftService iRunPlanDraftService;
|
||||
|
||||
@Autowired
|
||||
private MpStationRunningDAO stationRunningDAO;
|
||||
|
||||
@Autowired
|
||||
private ISysDictionaryService iSysDictionaryService;
|
||||
|
||||
@ -109,9 +93,6 @@ public class MapService implements IMapService {
|
||||
@Autowired
|
||||
private IExamService iExamService;
|
||||
|
||||
@Autowired
|
||||
private IScriptService iScriptService;
|
||||
|
||||
@Autowired
|
||||
private IMapSystemService iMapSystemService;
|
||||
|
||||
@ -161,10 +142,10 @@ public class MapService implements IMapService {
|
||||
example.setOrderByClause("order_number");
|
||||
MapInfoExample.Criteria criteria = example.createCriteria();
|
||||
criteria.andStatusEqualTo(MapStatus.Online.getCode());
|
||||
if (!StringUtils.isBlank(mapVO.getName())) {
|
||||
if (!mapVO.getName().isBlank()) {
|
||||
criteria.andNameLike(String.format("%%%s%%", mapVO.getName()));
|
||||
}
|
||||
if (!StringUtils.isBlank(mapVO.getCityCode())) {
|
||||
if (!mapVO.getCityCode().isBlank()) {
|
||||
criteria.andCityCodeEqualTo(mapVO.getCityCode());
|
||||
}
|
||||
// criteria.andDrawWayEqualTo(mapVO.isDrawWay());
|
||||
@ -229,9 +210,8 @@ public class MapService implements IMapService {
|
||||
public MapVO getMapInfoById(Long id) {
|
||||
Objects.requireNonNull(id, "id 不能为null");
|
||||
MapVO mapVO = this.findMapBaseInfoById(id);
|
||||
if (Objects.isNull(mapVO)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST, String.format("id为‘%s’的地图数据不存在", id));
|
||||
}
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(mapVO,
|
||||
String.format("id为[%s]的地图数据不存在", id));
|
||||
String version = this.findMapVersion(id);
|
||||
mapVO.setVersion(version);
|
||||
return mapVO;
|
||||
@ -277,10 +257,8 @@ public class MapService implements IMapService {
|
||||
MapDataExample example = new MapDataExample();
|
||||
example.createCriteria().andMapIdEqualTo(mapId);
|
||||
List<MapDataWithBLOBs> mapDataList = this.mapDataDAO.selectByExampleWithBLOBs(example);
|
||||
if (CollectionUtils.isEmpty(mapDataList)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST,
|
||||
String.format("地图id[%s]的地图数据不存在", mapId));
|
||||
}
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertTrue(!CollectionUtils.isEmpty(mapDataList),
|
||||
String.format("地图id[%s]的地图数据不存在", mapId));
|
||||
return new MapDataVO(mapDataList.get(0), drayWay);
|
||||
}
|
||||
|
||||
@ -321,7 +299,7 @@ public class MapService implements IMapService {
|
||||
@Transactional
|
||||
public void deleteMap(Long id, UserVO userVO) {
|
||||
// 判断地图数据是否存在
|
||||
MapInfo map = mapInfoDAO.selectByPrimaryKey(id);
|
||||
MapInfo map = findMapInfoEntity(id);
|
||||
if (Objects.isNull(map)) {
|
||||
return;
|
||||
}
|
||||
@ -333,27 +311,28 @@ public class MapService implements IMapService {
|
||||
@Override
|
||||
public void onLine(Long id, UserVO userVO) {
|
||||
// 判断地图数据是否存在
|
||||
MapInfo map = mapInfoDAO.selectByPrimaryKey(id);
|
||||
if (map == null) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
if (!iSysUserService.isAdmin(userVO)) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION);
|
||||
}
|
||||
MapInfo map = getMapInfoEntity(id);
|
||||
iSysUserService.confirmAdmin(userVO);
|
||||
map.setStatus(MapStatus.Online.getCode());
|
||||
mapInfoDAO.updateByPrimaryKey(map);
|
||||
}
|
||||
|
||||
private MapInfo findMapInfoEntity(Long id) {
|
||||
return mapInfoDAO.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
private MapInfo getMapInfoEntity(Long id) {
|
||||
MapInfo map = findMapInfoEntity(id);
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(map,
|
||||
String.format("id为[%s]的MapInfo不存在", id));
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void offLine(Long id, UserVO userVO) {
|
||||
// 判断地图数据是否存在
|
||||
MapInfo map = mapInfoDAO.selectByPrimaryKey(id);
|
||||
if (map == null) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
if (!iSysUserService.isAdmin(userVO)) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION);
|
||||
}
|
||||
MapInfo map = getMapInfoEntity(id);
|
||||
iSysUserService.confirmAdmin(userVO);
|
||||
map.setStatus(MapStatus.Offline.getCode());
|
||||
mapInfoDAO.updateByPrimaryKey(map);
|
||||
}
|
||||
@ -381,16 +360,12 @@ public class MapService implements IMapService {
|
||||
} else {
|
||||
map = mapInfoList.get(0);
|
||||
if (!MapStatus.Delete.getCode().equals(map.getStatus())) {
|
||||
|
||||
if (!Objects.equals(map.getLineCode(), mapVO.getLineCode())) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "存在名称相同但基于不同真实线路的地图");
|
||||
}
|
||||
if (!Objects.equals(map.getDrawWay(), mapVO.isDrawWay())) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "存在名称相同但基于不同绘制方式的地图");
|
||||
}
|
||||
if (!Objects.equals(map.getCityCode(), mapVO.getCityCode())) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "存在名称相同但基于不同关联城市的地图");
|
||||
}
|
||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(map.getLineCode(), mapVO.getLineCode(),
|
||||
"存在名称相同但基于不同真实线路的地图");
|
||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(map.getDrawWay(), mapVO.isDrawWay(),
|
||||
"存在名称相同但基于不同绘制方式的地图");
|
||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(map.getCityCode(), mapVO.getCityCode(),
|
||||
"存在名称相同但基于不同关联城市的地图");
|
||||
}
|
||||
}
|
||||
// 地图数据
|
||||
@ -426,10 +401,8 @@ public class MapService implements IMapService {
|
||||
// 地图版本
|
||||
MapVersion newMapVersion = buildAndInsertMapVersion(map, userVO);
|
||||
// 保存站间运行数据
|
||||
if (!map.getDrawWay()) {
|
||||
this.constructAndSaveStationRunning(map.getId(), mapDataVO);
|
||||
}
|
||||
ICacheService.remove(BusinessConsts.CachePrefix.Map + map.getId());
|
||||
BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.assertTrue(map.getDrawWay());
|
||||
iCacheService.remove(BusinessConsts.CachePrefix.Map + map.getId());
|
||||
MapVO newMapVO = new MapVO(map);
|
||||
newMapVO.setVersion(newMapVersion.getVersion());
|
||||
MapDataVO dataVO = new MapDataVO(mapData, map.getDrawWay());
|
||||
@ -446,21 +419,15 @@ public class MapService implements IMapService {
|
||||
.andStatusNotEqualTo(MapStatus.Delete.getCode());
|
||||
List<MapInfo> mapInfoList = mapInfoDAO.selectByExample(infoExample);
|
||||
MapInfo map;
|
||||
if (ObjectUtils.isEmpty(mapInfoList)) {
|
||||
throw new BusinessException(ExceptionMapping.DATA_NOT_EXIST,
|
||||
String.format("地图名称为[%s]的发布地图数据不存在", mapVO.getName()));
|
||||
} else {
|
||||
map = mapInfoList.get(0);
|
||||
if (!Objects.equals(map.getLineCode(), mapVO.getLineCode())) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "存在名称相同但基于不同真实线路的地图");
|
||||
}
|
||||
if (!Objects.equals(map.getDrawWay(), mapVO.isDrawWay())) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "存在名称相同但基于不同绘制方式的地图");
|
||||
}
|
||||
if (!Objects.equals(map.getCityCode(), mapVO.getCityCode())) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "存在名称相同但基于不同关联城市的地图");
|
||||
}
|
||||
}
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertTrue(!ObjectUtils.isEmpty(mapInfoList),
|
||||
String.format("地图名称为[%s]的发布地图数据不存在", mapVO.getName()));
|
||||
map = mapInfoList.get(0);
|
||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(map.getLineCode(), mapVO.getLineCode(),
|
||||
"存在名称相同但基于不同真实线路的地图");
|
||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(map.getDrawWay(), mapVO.isDrawWay(),
|
||||
"存在名称相同但基于不同绘制方式的地图");
|
||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(map.getCityCode(), mapVO.getCityCode(),
|
||||
"存在名称相同但基于不同关联城市的地图");
|
||||
if (Objects.nonNull(map3dDataVO)) {
|
||||
Map3dDataExample map3dDataExample = new Map3dDataExample();
|
||||
map3dDataExample.createCriteria().andMapIdEqualTo(map.getId());
|
||||
@ -478,7 +445,7 @@ public class MapService implements IMapService {
|
||||
map3dData.setUpdateTime(LocalDateTime.now());
|
||||
map3dDataDAO.updateByPrimaryKeySelective(map3dData);
|
||||
}
|
||||
ICacheService.remove(BusinessConsts.CachePrefix.Map_3d + map.getId());
|
||||
iCacheService.remove(BusinessConsts.CachePrefix.Map_3d + map.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@ -515,28 +482,17 @@ public class MapService implements IMapService {
|
||||
|
||||
@Override
|
||||
public void updateName(Long id, String name, UserVO userVO) {
|
||||
if (!this.iSysUserService.isAdmin(userVO)) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION);
|
||||
}
|
||||
if (this.isNameExistExcept(name, id)) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "名称已存在");
|
||||
}
|
||||
MapInfo map = mapInfoDAO.selectByPrimaryKey(id);
|
||||
if (Objects.isNull(map)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
iSysUserService.confirmAdmin(userVO);
|
||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertNotTrue(isNameExistExcept(name, id));
|
||||
MapInfo map = getMapInfoEntity(id);
|
||||
map.setName(name);
|
||||
mapInfoDAO.updateByPrimaryKey(map);
|
||||
// // 自动更新商品名称
|
||||
// iGoodsService.autoUpdateSimulateGoods(new MapVO(map));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateBelongCity(Long id, String cityCode, UserVO user) {
|
||||
if (!this.iSysUserService.isAdmin(user)) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION);
|
||||
}
|
||||
MapInfo mapInfo = this.mapInfoDAO.selectByPrimaryKey(id);
|
||||
iSysUserService.confirmAdmin(user);
|
||||
MapInfo mapInfo = findMapInfoEntity(id);
|
||||
if (Objects.nonNull(mapInfo)) {
|
||||
mapInfo.setCityCode(cityCode);
|
||||
mapInfoDAO.updateByPrimaryKey(mapInfo);
|
||||
@ -546,11 +502,10 @@ public class MapService implements IMapService {
|
||||
@Override
|
||||
public void updateBelongProject(Long id, boolean project, String projectCode, UserVO user) {
|
||||
Objects.requireNonNull(id, "地图id不能为空");
|
||||
MapInfo mapInfo = this.mapInfoDAO.selectByPrimaryKey(id);
|
||||
MapInfo mapInfo = findMapInfoEntity(id);
|
||||
if (project) {
|
||||
if (StringUtils.isBlank(projectCode)) {
|
||||
throw new BusinessException(ExceptionMapping.ARGUMENT_ILLEGAL, "定制项目不能为空");
|
||||
}
|
||||
BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.assertNotTrue(projectCode.isBlank(),
|
||||
"定制项目不能为空");
|
||||
}
|
||||
mapInfo.setProject(project);
|
||||
mapInfo.setProjectCode(projectCode);
|
||||
@ -582,87 +537,6 @@ public class MapService implements IMapService {
|
||||
return MapVO.convert2VOList(mapInfoList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造并保存站间运行数据
|
||||
*
|
||||
* @param mapId
|
||||
* @param mapDataVO
|
||||
*/
|
||||
private void constructAndSaveStationRunning(Long mapId, MapDataVO mapDataVO) {
|
||||
Objects.requireNonNull(mapId);
|
||||
List<MapRouteUnitVO> routeUnitList = null;
|
||||
List<MapRoutingVO> routingList = null;
|
||||
if (!mapDataVO.isDrawWay()) {
|
||||
// if (CollectionUtils.isEmpty(mapDataVO.getLogicDataNew().getRoutingList())) {
|
||||
// return;
|
||||
// }
|
||||
// MapLogicDataNewVO logicData = mapDataVO.getLogicDataNew();
|
||||
// routingList = logicData.getRoutingList();
|
||||
// routeUnitList = logicData.getRouteUnitList();
|
||||
// } else {
|
||||
|
||||
if (CollectionUtils.isEmpty(mapDataVO.getLogicData().getRoutingList())) {
|
||||
return;
|
||||
}
|
||||
MapLogicDataVO logicData = mapDataVO.getLogicData();
|
||||
routingList = logicData.getRoutingList();
|
||||
routeUnitList = logicData.getRouteUnitList();
|
||||
}
|
||||
SimulationConstructData constructData = SimulationConstructData.buildFunctionalConstructData(mapDataVO, null);
|
||||
Simulation simulation = simulationAdapter.constructSimulation(constructData);
|
||||
Map<String, MpStationRunning> stationRunningMap = new HashMap<>();
|
||||
// 路径单元
|
||||
Map<String, MapRouteUnitVO> routeUnitVOMap = routeUnitList.stream()
|
||||
.collect(Collectors.toMap(routeUnit ->
|
||||
String.format("%s-%s", routeUnit.getStartSectionCode(), routeUnit.getEndSectionCode()), Function.identity()));
|
||||
// 交路区段
|
||||
List<MapRoutingSectionVO> routingSectionVOList = new ArrayList<>();
|
||||
routingList.forEach(routingVO -> routingSectionVOList.addAll(routingVO.getRoutingSectionList()));
|
||||
Map<String, List<MapRoutingSectionVO>> routingSectionMap = routingSectionVOList.stream()
|
||||
.collect(Collectors.groupingBy(MapRoutingSectionVO::getRoutingCode));
|
||||
// 交路
|
||||
routingList.forEach(routingVO -> {
|
||||
List<MapRoutingSectionVO> routingSectionList = routingSectionMap.get(routingVO.getCode());
|
||||
for (int i = 0; i < routingSectionList.size() - 1; i++) {
|
||||
MapRoutingSectionVO startSection = routingSectionList.get(i);
|
||||
MapRoutingSectionVO endSection = routingSectionList.get(i + 1);
|
||||
String key = String.format("%s-%s", startSection.getSectionCode(), endSection.getSectionCode());
|
||||
if (Objects.isNull(stationRunningMap.get(key))) {
|
||||
MpStationRunning stationRunning = new MpStationRunning();
|
||||
stationRunning.setMapId(mapId);
|
||||
stationRunning.setStartStationCode(startSection.getStationCode());
|
||||
stationRunning.setStartSectionCode(startSection.getSectionCode());
|
||||
stationRunning.setEndStationCode(endSection.getStationCode());
|
||||
stationRunning.setEndSectionCode(endSection.getSectionCode());
|
||||
stationRunning.setDirectionCode(routingVO.getDirectionCode());
|
||||
// 计算距离
|
||||
MapRouteUnitVO mapRouteUnitVO = routeUnitVOMap.get(key);
|
||||
if (Objects.isNull(mapRouteUnitVO)) {
|
||||
log.error(String.format("%s路径单元不存在", key));
|
||||
stationRunning.setDistance(100000);
|
||||
} else {
|
||||
RouteUnit routeUnit = simulation.getDeviceRepository().getDeviceByCode(mapRouteUnitVO.getCode(), RouteUnit.class);
|
||||
float distance = DataService.CalculateService.calculateDistance(simulation, routeUnit);
|
||||
stationRunning.setDistance(ConvertUtil.float2IntegerByWeight(distance, 100));
|
||||
}
|
||||
stationRunningMap.put(key, stationRunning);
|
||||
}
|
||||
}
|
||||
});
|
||||
// 删除旧数据,插入新数据 (后续处理比较)
|
||||
MpStationRunningExample stationRunningExample = new MpStationRunningExample();
|
||||
stationRunningExample.createCriteria().andMapIdEqualTo(mapId);
|
||||
List<MpStationRunning> stationRunningList = this.stationRunningDAO.selectByExample(stationRunningExample);
|
||||
List<Long> stationRunningIdList = stationRunningList.stream().map(MpStationRunning::getId).collect(Collectors.toList());
|
||||
iRunPlanDraftService.deleteRunPlanLevelByStationRunningId(stationRunningIdList);
|
||||
this.stationRunningDAO.deleteByExample(stationRunningExample);
|
||||
stationRunningMap.values().forEach(stationRunning -> {
|
||||
stationRunning.setMapId(mapId);
|
||||
this.stationRunningDAO.insert(stationRunning);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MapVO> queryOnlineMapInfos() {
|
||||
MapInfoExample example = new MapInfoExample();
|
||||
@ -704,7 +578,7 @@ public class MapService implements IMapService {
|
||||
|
||||
@Override
|
||||
public MapVO findMapBaseInfoById(Long id) {
|
||||
MapInfo mapInfo = this.mapInfoDAO.selectByPrimaryKey(id);
|
||||
MapInfo mapInfo = findMapInfoEntity(id);
|
||||
if (Objects.nonNull(mapInfo)) {
|
||||
return new MapVO(mapInfo);
|
||||
}
|
||||
@ -717,9 +591,8 @@ public class MapService implements IMapService {
|
||||
// 获取源地图数据
|
||||
MapVO mapVO = this.getMapDetail(id);
|
||||
// 检查名称
|
||||
if (this.isMapNameExist(copyOption.getName())) {
|
||||
throw new BusinessException(ExceptionMapping.ARGUMENT_ILLEGAL, String.format("地图名称为[%s]的地图已经存在", copyOption.getName()));
|
||||
}
|
||||
BusinessExceptionAssertEnum.DATA_UNIQUE_PROPERTY_REPEAT.assertNotTrue(isMapNameExist(copyOption.getName()),
|
||||
String.format("地图名称为[%s]的地图已经存在", copyOption.getName()));
|
||||
// 拷贝地图数据
|
||||
mapVO.setName(copyOption.getName());
|
||||
MapDataVO mapDataVO = new MapDataVO(mapVO);
|
||||
@ -744,8 +617,8 @@ public class MapService implements IMapService {
|
||||
}
|
||||
//拷贝system
|
||||
this.iMapSystemService.copyOfMap(id, mapNewVO.getId());
|
||||
//拷贝剧本
|
||||
this.iScriptService.copy(id, mapNewVO.getId(), user);
|
||||
// //拷贝剧本
|
||||
// this.iScriptService.copy(id, mapNewVO.getId(), user);
|
||||
}
|
||||
}
|
||||
|
||||
@ -769,7 +642,7 @@ public class MapService implements IMapService {
|
||||
|
||||
@Override
|
||||
public boolean isExist(Long id) {
|
||||
MapInfo mapInfo = mapInfoDAO.selectByPrimaryKey(id);
|
||||
MapInfo mapInfo = findMapInfoEntity(id);
|
||||
if (mapInfo == null) {
|
||||
return false;
|
||||
}
|
||||
@ -829,12 +702,11 @@ public class MapService implements IMapService {
|
||||
|
||||
@Override
|
||||
public void updateBasicInfo(Long id, MapInfoUpdateVO updateVO, UserVO user) {
|
||||
MapInfo mapInfo = this.mapInfoDAO.selectByPrimaryKey(id);
|
||||
MapInfo mapInfo = findMapInfoEntity(id);
|
||||
boolean update = false;
|
||||
if (StringUtils.hasText(updateVO.getName())) {
|
||||
if (this.isNameExistExcept(updateVO.getName(), id)) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "名称已存在");
|
||||
}
|
||||
BusinessExceptionAssertEnum.DATA_UNIQUE_PROPERTY_REPEAT.assertNotTrue(isNameExistExcept(updateVO.getName(), id),
|
||||
"名称已存在");
|
||||
mapInfo.setName(updateVO.getName());
|
||||
update = true;
|
||||
}
|
||||
@ -917,14 +789,14 @@ public class MapService implements IMapService {
|
||||
try {
|
||||
//子系统
|
||||
iMapSystemService.generateSystem(mapId);
|
||||
} catch (DBException e) {
|
||||
log.warn("生成地图[{}]子系统{}",mapId,e.getMessage());
|
||||
} catch (BaseException e) {
|
||||
log.warn("生成地图[{}]子系统{}", mapId, e.getMessage());
|
||||
}
|
||||
try {
|
||||
//权限
|
||||
iPermissionService.generatePermission(mapId, createUser);
|
||||
} catch (BusinessException | DBException e) {
|
||||
log.warn("生成地图[{}]权限:{}",mapId,e.getMessage());
|
||||
} catch (BaseException e) {
|
||||
log.warn("生成地图[{}]权限:{}", mapId, e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,8 @@
|
||||
package club.joylink.rtss.services;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.joylink.base.exception.BusinessException;
|
||||
import com.joylink.base.exception.DBException;
|
||||
import com.joylink.base.exception.constant.ExceptionMapping;
|
||||
import club.joylink.rtss.constants.MapPrdTypeEnum;
|
||||
import club.joylink.rtss.constants.MapSystemType;
|
||||
import club.joylink.rtss.constants.Project;
|
||||
@ -61,9 +59,8 @@ public class MapSystemService implements IMapSystemService {
|
||||
@Override
|
||||
@Transactional
|
||||
public void generateSystem(Long mapId) {
|
||||
if (!iMapService.isExist(mapId)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST, String.format("id为[%s]的地图不存在", mapId));
|
||||
}
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertTrue(iMapService.isExist(mapId),
|
||||
String.format("id为[%s]的地图不存在", mapId));
|
||||
for (MapPrdTypeEnum value : MapPrdTypeEnum.values()) {
|
||||
MapSystem system = new MapSystem();
|
||||
system.setName(value.getMsg());
|
||||
@ -135,9 +132,8 @@ public class MapSystemService implements IMapSystemService {
|
||||
.andMapIdEqualTo(mapSystemVO.getMapId())
|
||||
.andPrdTypeEqualTo(mapSystemVO.getPrdType())
|
||||
.andTypeEqualTo(mapSystemVO.getType());
|
||||
if (mapSystemDAO.countByExample(mapSystemExample) > 0) {
|
||||
throw new DBException(ExceptionMapping.DATA_EXISTS);
|
||||
}
|
||||
BusinessExceptionAssertEnum.DATA_ALREADY_EXIST.assertTrue(mapSystemDAO.countByExample(mapSystemExample) == 0,
|
||||
"子系统已经存在");
|
||||
MapSystem mapSystem = new MapSystem();
|
||||
mapSystem.setName(mapSystemVO.getName());
|
||||
mapSystem.setType(mapSystemVO.getType());
|
||||
@ -150,10 +146,7 @@ public class MapSystemService implements IMapSystemService {
|
||||
|
||||
@Override
|
||||
public void updateMapSystem(Long id, MapSystemVO mapSystemVO) {
|
||||
MapSystem mapSystem = mapSystemDAO.selectByPrimaryKey(id);
|
||||
if (Objects.isNull(mapSystem)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
MapSystem mapSystem = getEntity(id);
|
||||
if (StringUtils.hasText(mapSystemVO.getName()) && !Objects.equals(mapSystem.getName(), mapSystemVO.getName())) {
|
||||
mapSystem.setName(mapSystemVO.getName());
|
||||
mapSystemDAO.updateByPrimaryKey(mapSystem);
|
||||
@ -162,10 +155,7 @@ public class MapSystemService implements IMapSystemService {
|
||||
|
||||
@Override
|
||||
public MapSystemVO getMapSystem(Long id) {
|
||||
MapSystem mapSystem = mapSystemDAO.selectByPrimaryKey(id);
|
||||
if (Objects.isNull(mapSystem)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
MapSystem mapSystem = getEntity(id);
|
||||
return new MapSystemVO(mapSystem);
|
||||
}
|
||||
|
||||
@ -216,10 +206,7 @@ public class MapSystemService implements IMapSystemService {
|
||||
*/
|
||||
@Override
|
||||
public MapSystemDetailVO getMapSystemDetail(Long id, UserVO userVO) {
|
||||
MapSystem mapSystem = mapSystemDAO.selectByPrimaryKey(id);
|
||||
if (Objects.isNull(mapSystem)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
MapSystem mapSystem = getEntity(id);
|
||||
MapSystemDetailVO mapSystemDetailVO = new MapSystemDetailVO(mapSystem);
|
||||
|
||||
if (MapSystemType.Simulation.name().equals(mapSystem.getType())) {
|
||||
@ -264,9 +251,7 @@ public class MapSystemService implements IMapSystemService {
|
||||
|
||||
@Override
|
||||
public void delete(Long id, UserVO userVO) {
|
||||
if (!iSysUserService.isAdmin(userVO)) {
|
||||
throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION);
|
||||
}
|
||||
iSysUserService.confirmAdmin(userVO);
|
||||
mapSystemDAO.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
@ -293,4 +278,15 @@ public class MapSystemService implements IMapSystemService {
|
||||
List<MapSystem> mapSystemList = mapSystemDAO.selectByExample(example);
|
||||
return mapSystemList.stream().map(MapSystemVO::new).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
private MapSystem findEntity(Long id) {
|
||||
return mapSystemDAO.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
private MapSystem getEntity(Long id) {
|
||||
MapSystem entity = findEntity(id);
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(entity);
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
@ -1,125 +0,0 @@
|
||||
package club.joylink.rtss.services;
|
||||
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.joylink.base.exception.BusinessException;
|
||||
import com.joylink.base.exception.constant.ExceptionMapping;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.script.ScriptBO;
|
||||
import club.joylink.rtss.constants.BusinessConsts;
|
||||
import club.joylink.rtss.constants.StatusEnum;
|
||||
import club.joylink.rtss.dao.ScriptDAO;
|
||||
import club.joylink.rtss.entity.Script;
|
||||
import club.joylink.rtss.entity.ScriptDraftWithBLOBs;
|
||||
import club.joylink.rtss.entity.ScriptExample;
|
||||
import club.joylink.rtss.entity.ScriptWithBLOBs;
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
import club.joylink.rtss.vo.client.PageVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptQueryVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service
|
||||
public class ScriptService implements IScriptService {
|
||||
|
||||
@Autowired
|
||||
private ScriptDAO scriptDAO;
|
||||
|
||||
@Override
|
||||
public PageVO<ScriptVO> pagingQueryOnlineScript(ScriptQueryVO queryVO) {
|
||||
PageHelper.startPage(queryVO.getPageNum(), queryVO.getPageSize());
|
||||
ScriptExample example = new ScriptExample();
|
||||
ScriptExample.Criteria criteria = example.createCriteria();
|
||||
criteria.andStatusEqualTo(BusinessConsts.STATUS_USE);
|
||||
if (Objects.nonNull(queryVO.getMapId())) {
|
||||
criteria.andMapIdEqualTo(queryVO.getMapId());
|
||||
}
|
||||
Page<Script> dbList = (Page<Script>) scriptDAO.selectByExample(example);
|
||||
List<ScriptVO> scriptVOList = ScriptVO.convert2VOList(dbList.getResult());
|
||||
return PageVO.convert(dbList, scriptVOList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScriptVO getScriptDetailById(Long id) {
|
||||
Objects.requireNonNull(id, "剧本id不能为空");
|
||||
ScriptWithBLOBs scriptWithBLOBs = scriptDAO.selectByPrimaryKey(id);
|
||||
if(Objects.isNull(scriptWithBLOBs)) {
|
||||
throw new BusinessException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
return new ScriptVO(scriptWithBLOBs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScriptVO getDetailForClientById(Long id) {
|
||||
ScriptVO scriptVO = getScriptDetailById(id);
|
||||
scriptVO.filterDetailForClient();
|
||||
return scriptVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void publish(ScriptDraftWithBLOBs script, UserVO user) {
|
||||
ScriptWithBLOBs scriptWithBLOBs = this.convertScriptDraft2Script(script);
|
||||
ScriptExample example = new ScriptExample();
|
||||
example.createCriteria().andMapIdEqualTo(script.getMapId()).andNameEqualTo(script.getName());
|
||||
List<Script> scriptList = scriptDAO.selectByExample(example);
|
||||
if (CollectionUtils.isEmpty(scriptList)){
|
||||
scriptWithBLOBs.setCreatorId(user.getId());
|
||||
scriptDAO.insert(scriptWithBLOBs);
|
||||
} else {
|
||||
scriptWithBLOBs.setId(scriptList.get(0).getId());
|
||||
scriptDAO.updateByPrimaryKeySelective(scriptWithBLOBs);
|
||||
}
|
||||
}
|
||||
|
||||
private ScriptWithBLOBs convertScriptDraft2Script(ScriptDraftWithBLOBs scriptDraft) {
|
||||
ScriptWithBLOBs script = new ScriptWithBLOBs();
|
||||
script.setMapId(scriptDraft.getMapId());
|
||||
script.setName(scriptDraft.getName());
|
||||
script.setLang(scriptDraft.getLang());
|
||||
script.setDescription(scriptDraft.getDescription());
|
||||
script.setMapLocationJson(scriptDraft.getMapLocationJson());
|
||||
script.setBgScenesJson(scriptDraft.getBgScenesJson());
|
||||
script.setFinalScenesJson(scriptDraft.getFinalScenesJson());
|
||||
script.setMembersJson(scriptDraft.getMembersJson());
|
||||
script.setPlayersJson(scriptDraft.getPlayersJson());
|
||||
script.setActionsJson(scriptDraft.getActionsJson());
|
||||
script.setFullMarksDuration(scriptDraft.getFullMarksDuration());
|
||||
script.setPassingGradeDuration(scriptDraft.getPassingGradeDuration());
|
||||
script.setZeroDuration(scriptDraft.getZeroDuration());
|
||||
script.setStatus(BusinessConsts.STATUS_USE);
|
||||
script.setCreatorId(scriptDraft.getCreatorId());
|
||||
script.setCreateTime(scriptDraft.getCreateTime());
|
||||
return script;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void copy(Long sourceMapId, Long targetMapId, UserVO user) {
|
||||
ScriptExample example = new ScriptExample();
|
||||
example.createCriteria()
|
||||
.andMapIdEqualTo(sourceMapId)
|
||||
.andStatusEqualTo(StatusEnum.Valid.getCode());
|
||||
List<ScriptWithBLOBs> scriptList = this.scriptDAO.selectByExampleWithBLOBs(example);
|
||||
if(!CollectionUtils.isEmpty(scriptList)) {
|
||||
scriptList.forEach(script -> {
|
||||
script.setId(null);
|
||||
script.setMapId(targetMapId);
|
||||
script.setCreatorId(user.getId());
|
||||
script.setCreateTime(LocalDateTime.now());
|
||||
this.scriptDAO.insert(script);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScriptBO getScriptBOById(Long scriptId, Simulation simulation) {
|
||||
ScriptWithBLOBs scriptWithBLOBs = scriptDAO.selectByPrimaryKey(scriptId);
|
||||
return new ScriptBO(scriptWithBLOBs, simulation);
|
||||
}
|
||||
}
|
@ -270,6 +270,11 @@ public class SysUserService implements ISysUserService {
|
||||
return roles.contains(BusinessConsts.ROLE_04) || roles.contains(BusinessConsts.ROLE_05);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void confirmAdmin(UserVO user) {
|
||||
BusinessExceptionAssertEnum.INSUFFICIENT_PERMISSIONS.assertTrue(isAdmin(user));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isExist(Long id) {
|
||||
SysUser user = sysUserDAO.selectByPrimaryKey(id);
|
||||
|
@ -8,7 +8,7 @@ import club.joylink.rtss.entity.CompetitionExample;
|
||||
import club.joylink.rtss.entity.CompetitionRecord;
|
||||
import club.joylink.rtss.entity.CompetitionWithBLOBs;
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.services.script.IScriptService2;
|
||||
import club.joylink.rtss.services.script.IScriptService;
|
||||
import club.joylink.rtss.services.simulation.IScriptSimulationService;
|
||||
import club.joylink.rtss.services.simulation.ProjectSimulationService;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.ATSMessageCollectAndDispatcher;
|
||||
@ -26,7 +26,7 @@ import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
import club.joylink.rtss.vo.client.PageVO;
|
||||
import club.joylink.rtss.vo.client.competition.*;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptVO;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
@ -65,7 +65,7 @@ public class CompetitionPracticalService implements ICompetitionPracticalService
|
||||
private CompetitionRecordDAO competitionRecordDAO;
|
||||
|
||||
@Autowired
|
||||
private IScriptService2 iScriptService2;
|
||||
private IScriptService iScriptService;
|
||||
|
||||
@Autowired
|
||||
private CompetitionAndScriptManager competitionAndScriptManager;
|
||||
@ -128,11 +128,11 @@ public class CompetitionPracticalService implements ICompetitionPracticalService
|
||||
* 检查数据是否正确
|
||||
*/
|
||||
private void checkData(CompetitionVO competitionVO) {
|
||||
ScriptVO scriptDetail = iScriptService2.getDetailById(competitionVO.getScriptId());
|
||||
Map<String, ScriptActionNewVO> actionMap = scriptDetail.getActionList()
|
||||
.stream().collect(Collectors.toMap(ScriptActionNewVO::getId, Function.identity()));
|
||||
ScriptVO scriptDetail = iScriptService.getDetailById(competitionVO.getScriptId());
|
||||
Map<String, ScriptActionVO> actionMap = scriptDetail.getActionList()
|
||||
.stream().collect(Collectors.toMap(ScriptActionVO::getId, Function.identity()));
|
||||
for (CommandPublishStatisticVO rule : competitionVO.getCommandEvaluationRuleVOs()) {
|
||||
ScriptActionNewVO action = actionMap.get(rule.getActionId());
|
||||
ScriptActionVO action = actionMap.get(rule.getActionId());
|
||||
Float score = rule.getScore();
|
||||
Integer timeOut = rule.getTimeOut();
|
||||
Float deductScore = rule.getDeductScore();
|
||||
|
@ -1,135 +0,0 @@
|
||||
package club.joylink.rtss.services.completition;//package club.joylink.rtss.services.completition;
|
||||
//
|
||||
//import com.joylink.base.exception.BusinessException;
|
||||
//import com.joylink.base.exception.constant.ExceptionMapping;
|
||||
//import club.joylink.rtss.simulation.cbtc.GroupSimulationCache;
|
||||
//import club.joylink.rtss.simulation.cbtc.GroupSimulationService;
|
||||
//import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
//import club.joylink.rtss.simulation.cbtc.member.SimulationUser;
|
||||
//import club.joylink.rtss.constants.RaceUserStatusEnum;
|
||||
//import club.joylink.rtss.manager.CompetitionManager;
|
||||
//import club.joylink.rtss.services.race.IRaceService;
|
||||
//import club.joylink.rtss.services.record.ISimulationProcessRecordService;
|
||||
//import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||
//import club.joylink.rtss.vo.UserVO;
|
||||
//import club.joylink.rtss.vo.client.JointTrainingRoomRequestVO;
|
||||
//import club.joylink.rtss.vo.client.competition.CompetitionPaper;
|
||||
//import club.joylink.rtss.vo.client.competition.PracticalQuestionVO;
|
||||
//import club.joylink.rtss.vo.client.race.RaceUserVO;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//import org.springframework.util.CollectionUtils;
|
||||
//
|
||||
//import java.util.List;
|
||||
//import java.util.Objects;
|
||||
//
|
||||
//@Service
|
||||
//public class CompetitionServiceImpl implements ICompetitionService {
|
||||
//
|
||||
//
|
||||
// @Autowired
|
||||
// private GroupSimulationService groupSimulationService;
|
||||
//
|
||||
// @Autowired
|
||||
// private IRaceService raceService;
|
||||
//
|
||||
// @Autowired
|
||||
// private CompetitionManager competitionManager;
|
||||
//
|
||||
// @Autowired
|
||||
// private ISimulationProcessRecordService recordService;
|
||||
//
|
||||
// @Autowired
|
||||
// private GroupSimulationCache groupSimulationCache;
|
||||
//
|
||||
// @Autowired
|
||||
// private ICompetitionPracticalService iCompetitionPracticalService;
|
||||
//
|
||||
//
|
||||
// /**参赛者创建竞赛演练房间*/
|
||||
// @Override
|
||||
// public String createCompetitionRoom(LoginUserInfoVO loginUserInfoVO, Long competitionId, JointTrainingRoomRequestVO requestVO) {
|
||||
// //根据竞赛查找用户
|
||||
// RaceUserVO raceUser = raceService.getRaceUser(competitionId, loginUserInfoVO.getUserVO());
|
||||
// if (Objects.isNull(raceUser)) {
|
||||
// throw new BusinessException(ExceptionMapping.DATA_NOT_EXIST, "不是参赛成员!");
|
||||
// }
|
||||
// String group = groupSimulationService.simulation(requestVO.getMapId(), requestVO.getPrdType(), loginUserInfoVO);
|
||||
// recordService.startRecordSimulation(loginUserInfoVO.getUserVO(), group);
|
||||
// Simulation simulation = groupSimulationCache.getSimulationByGroup(group);
|
||||
// List<PracticalQuestionVO> practicals = competitionManager.getCompetitionPractical(competitionId);
|
||||
// if (!CollectionUtils.isEmpty(practicals)) {
|
||||
// //加载剧本到仿真中并给参赛者扮演成员
|
||||
// iCompetitionPracticalService.loadPractical(simulation, practicals.get(0), raceUser);
|
||||
// }
|
||||
// competitionManager.updateSimulationStatus(competitionId, loginUserInfoVO.getUserVO().getId(), RaceUserStatusEnum.Practical_The_Arena, group);
|
||||
// return group;
|
||||
// }
|
||||
//
|
||||
// /**结束实操竞赛*/
|
||||
// @Override
|
||||
// public int finishPracticalCompetition(Long competitionId, String group, int score, UserVO user) {
|
||||
// //TODO 计算实操总分并返回
|
||||
//
|
||||
// competitionManager.updatePracticeScore(competitionId, user.getId(), (float) score);
|
||||
// //销毁竞赛仿真
|
||||
// groupSimulationService.clearSimulation(group, user);
|
||||
// //保存分数
|
||||
// return score;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void exitCompetitionArena(Long competitionId, String group, UserVO user) {
|
||||
// if (Objects.nonNull(group)) {
|
||||
// //销毁竞赛仿真
|
||||
// groupSimulationService.clearSimulation(group, user);
|
||||
// }
|
||||
// competitionManager.updateStatus(competitionId, user.getId(), RaceUserStatusEnum.Enter_The_Arena);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void loadCompetitionPaper(Long competitionId, CompetitionPaper competitionPaper) {
|
||||
// if (!competitionId.equals(competitionPaper.getCompetitionId())) {
|
||||
// throw new BusinessException(ExceptionMapping.ARGUMENT_ILLEGAL, "加载竞赛与试题不匹配,请选择本竞赛使用的试卷.");
|
||||
// }
|
||||
// competitionManager.saveCompetitionPaper(competitionId, competitionPaper);
|
||||
// iCompetitionPracticalService.loadPractical(competitionId, competitionPaper);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public CompetitionPaper getCompetitionPaper(Long competitionId) {
|
||||
// return competitionManager.getCompetitionPaper(competitionId);
|
||||
// }
|
||||
//
|
||||
// /**裁判进入仿真*/
|
||||
// @Override
|
||||
// public void refereeEntranceSimulation(String group, LoginUserInfoVO loginUserInfoVO) {
|
||||
// Simulation simulation = groupSimulationService.getSimulationByGroup(group);
|
||||
// SimulationUser simulationUser = new SimulationUser(simulation, loginUserInfoVO);
|
||||
// simulation.addSimulationUser(simulationUser);
|
||||
//// memberManager.addAndPlayTheRoleMember(, SimulationMember.Role.REFEREE, referee);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// /**裁判退出仿真*/
|
||||
// @Override
|
||||
// public void refereeExitSimulation(String group, UserVO refree) {
|
||||
// Simulation simulation = groupSimulationService.getSimulationByGroup(group);
|
||||
// simulation.removeSimulationUser(refree.getId());
|
||||
//// memberManager.remove(groupSimulationService.getSimulationByGroup(group), refree.getId());
|
||||
//
|
||||
// }
|
||||
//
|
||||
// /**裁判打分*/
|
||||
// @Override
|
||||
// public void refereeScoring(RaceUserVO userScore) {
|
||||
//
|
||||
// if (Objects.nonNull(userScore.getArtificialTheoryScore())) {
|
||||
// competitionManager.artificialTheoryScore(userScore.getRaceId(), userScore.getUserId(), userScore.getArtificialTheoryScore());
|
||||
// }
|
||||
// if (Objects.nonNull(userScore.getArtificialPracticeScore())) {
|
||||
// competitionManager.artificialPracticeScore(userScore.getRaceId(), userScore.getUserId(), userScore.getArtificialPracticeScore());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//}
|
@ -1,27 +0,0 @@
|
||||
package club.joylink.rtss.services.completition;//package club.joylink.rtss.services.completition;
|
||||
//
|
||||
//import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||
//import club.joylink.rtss.vo.UserVO;
|
||||
//import club.joylink.rtss.vo.client.JointTrainingRoomRequestVO;
|
||||
//import club.joylink.rtss.vo.client.competition.CompetitionPaper;
|
||||
//import club.joylink.rtss.vo.client.race.RaceUserVO;
|
||||
//
|
||||
//public interface ICompetitionService {
|
||||
//
|
||||
//
|
||||
// String createCompetitionRoom(LoginUserInfoVO loginUserInfoVO, Long id, JointTrainingRoomRequestVO requestVO);
|
||||
//
|
||||
// int finishPracticalCompetition(Long competitionId, String group,int score, UserVO user);
|
||||
//
|
||||
// void exitCompetitionArena(Long competitionId, String group, UserVO user);
|
||||
//
|
||||
// void loadCompetitionPaper(Long competition, CompetitionPaper competitionPaper);
|
||||
//
|
||||
// void refereeEntranceSimulation(String group, LoginUserInfoVO userLoginInfo);
|
||||
//
|
||||
// void refereeExitSimulation(String group, UserVO refree);
|
||||
//
|
||||
// void refereeScoring(RaceUserVO scores);
|
||||
//
|
||||
// CompetitionPaper getCompetitionPaper(Long competitionId);
|
||||
//}
|
@ -9,24 +9,6 @@ import java.util.List;
|
||||
|
||||
public interface IRaceTheoryService {
|
||||
|
||||
|
||||
// TheoryQuestionVO getCompetitionTheory(Long userId, Long competitionId);
|
||||
//
|
||||
// /**
|
||||
// * 提交理论试题
|
||||
// * @param user
|
||||
// */
|
||||
// void submitTheoryQuestion(UserVO user, CompetitionTheoryAnswerVO answer);
|
||||
//
|
||||
// /**获取理论题作答结果*/
|
||||
// List<RaceResultVO> getTheoryAnswerResult(Long competitionId, UserVO userVO);
|
||||
//
|
||||
// List<RaceResultDetailVO> getTheoryAnswerDetails(Long competitionId, UserVO userVO);
|
||||
//
|
||||
// List<RaceResultDetailVO> getContestantTheoryAnswerDetails(Long competitionId, Long raceUserId);
|
||||
|
||||
// void deleteTheoryAnswerDetails(Long competitionId, UserVO userVO);
|
||||
|
||||
List<QuestionVO> getProjectTheory(String mode, String projectCode, Integer companyId, UserVO user);
|
||||
|
||||
List<RaceResultDetailVO> submitProjectTheory(UserVO user, String projectCode, Integer companyId, ProjectTheoryAnswerVO theoryAnswers);
|
||||
|
@ -56,143 +56,6 @@ public class RaceTheoryService implements IRaceTheoryService {
|
||||
@Autowired
|
||||
private IRaceQuestionsRuleService iRaceQuestionsRuleService;
|
||||
|
||||
// @Override
|
||||
// public TheoryQuestionVO getCompetitionTheory(Long userId, Long competitionId) {
|
||||
// List<QuestionVO> theoryQuestions = competitionManager.getCompetitionTheory(competitionId);
|
||||
// if (!CollectionUtils.isEmpty((theoryQuestions))) {
|
||||
// competitionManager.updateStatus(competitionId, userId, RaceUserStatusEnum.Theory_The_Arena);
|
||||
// }
|
||||
// List<QuestionVO> collect = theoryQuestions.stream().map(questionVO -> {
|
||||
// try {
|
||||
// QuestionVO clone = questionVO.clone();
|
||||
// clone.getOptionList().forEach(questionOptionVO -> questionOptionVO.setCorrect(null));
|
||||
// return clone;
|
||||
// } catch (CloneNotSupportedException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// return null;
|
||||
// }).collect(Collectors.toList());
|
||||
// if (collect.contains(null)) {
|
||||
// return null;
|
||||
// }
|
||||
// Integer theoryDuration = competitionManager.getCompetitionTheoryDuration(competitionId);
|
||||
// return new TheoryQuestionVO(theoryDuration,collect);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void submitTheoryQuestion(UserVO user, CompetitionTheoryAnswerVO answer) {
|
||||
// //验证每道题答案
|
||||
// List<Float> scores = new ArrayList<Float>() {{
|
||||
// add(0f);
|
||||
// }};
|
||||
// RaceUserVO raceUser = raceService.getRaceUser(answer.getCompetitionId(), user);
|
||||
// List<RaceResult> raceResults = new ArrayList<>();
|
||||
// //*******************
|
||||
// if (CollectionUtils.isEmpty(answer.getTheoryAnswers())) {
|
||||
// competitionManager.getCompetitionTheory(answer.getCompetitionId()).forEach(question -> {
|
||||
// RaceResult raceResult = new RaceResult();
|
||||
// raceResult.setUserRaceId(raceUser.getId());
|
||||
// raceResult.setQuestionTopic(question.getTopic());
|
||||
// raceResult.setQuestionId(question.getId());
|
||||
// raceResult.setQuestionOptionId(null);
|
||||
// raceResult.setTotalScore(question.getScore());
|
||||
// raceResult.setAnswerContent("");
|
||||
// raceResult.setCorrect(false);
|
||||
// raceResult.setScore(0f);
|
||||
// raceResult.setRemarks("未作答");
|
||||
// raceResults.add(raceResult);
|
||||
// });
|
||||
// } else {
|
||||
// Map<Long, List<Long>> questionAnswerMap = answer.getTheoryAnswers().stream().collect(Collectors.toMap(o-> o.getQuestionId(),o-> TheoryAnswerVO.getOptionIds(o.getAnswerContents()) ,(oldVal,newVal)->newVal));
|
||||
// competitionManager.getCompetitionTheory(answer.getCompetitionId()).forEach(question -> {
|
||||
// question.getOptionList().stream().filter(QuestionOptionVO::getCorrect).forEach(questionOption -> {
|
||||
// RaceResult raceResult = new RaceResult();
|
||||
// raceResult.setUserRaceId(raceUser.getId());
|
||||
// raceResult.setQuestionTopic(question.getTopic());
|
||||
// raceResult.setQuestionId(question.getId());
|
||||
// raceResult.setTotalScore(question.getScore());
|
||||
// if (Objects.equals(questionOption.getId(), questionAnswerMap.get(question.getId()).get(0))) {
|
||||
// raceResult.setQuestionOptionId(JsonUtils.writeValueAsString(Arrays.asList(questionOption.getId())));
|
||||
// raceResult.setAnswerContent(questionOption.getContent());
|
||||
// raceResult.setCorrect(true);
|
||||
// raceResult.setScore(question.getScore());
|
||||
// scores.add(question.getScore());
|
||||
// } else {
|
||||
// raceResult.setCorrect(false);
|
||||
// raceResult.setScore(0f);
|
||||
// if (Objects.isNull(questionAnswerMap.get(question.getId()))) {
|
||||
// raceResult.setQuestionOptionId(null);
|
||||
// raceResult.setAnswerContent("");
|
||||
// raceResult.setRemarks("未作答");
|
||||
// } else {
|
||||
// raceResult.setQuestionOptionId(JsonUtils.writeValueAsString(Arrays.asList(questionAnswerMap.get(question.getId()).get(0))));
|
||||
// raceResult.setAnswerContent(question.getOptionList().stream().filter(questionOptionVO -> Objects.equals(questionOptionVO.getId(), questionAnswerMap.get(question.getId()))).findFirst().get().getContent());
|
||||
// raceResult.setRemarks(String.format("作答内容错误:[%s];正确答案为:[%s]", raceResult.getAnswerContent(), questionOption.getContent()));
|
||||
// }
|
||||
// }
|
||||
// raceResults.add(raceResult);
|
||||
// });
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// //*******************
|
||||
//
|
||||
// deleteTheoryAnswerDetails(answer.getCompetitionId(), user);
|
||||
// raceResultDAO.batchInsert(raceResults);
|
||||
// competitionManager.updateTheoryScore(answer.getCompetitionId(), user.getId(), scores.stream().reduce(Float::sum).get());
|
||||
//
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<RaceResultVO> getTheoryAnswerResult(Long competitionId, UserVO userVO) {
|
||||
// //根据竞赛id和用户查找参赛id
|
||||
// RaceUserVO raceUser = raceService.getRaceUser(competitionId, userVO);
|
||||
// //根据参赛id获取参赛成绩信息
|
||||
// RaceResultExample example = new RaceResultExample();
|
||||
// example.createCriteria().andUserRaceIdEqualTo(raceUser.getId());
|
||||
// List<RaceResult> raceResults = raceResultDAO.selectByExample(example);
|
||||
// return raceResults.stream().map(RaceResultVO::new).collect(Collectors.toList());
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<RaceResultDetailVO> getTheoryAnswerDetails(Long competitionId, UserVO userVO) {
|
||||
// //根据竞赛id和用户查找参赛id
|
||||
// RaceUserVO raceUser = raceService.getRaceUser(competitionId, userVO);
|
||||
// //根据参赛id获取参赛成绩信息
|
||||
// RaceResultExample example = new RaceResultExample();
|
||||
// example.createCriteria().andUserRaceIdEqualTo(raceUser.getId());
|
||||
// List<RaceResult> raceResults = raceResultDAO.selectByExample(example);
|
||||
// return raceResults.stream().map(RaceResultDetailVO::new).map(resultDetailVO -> {
|
||||
// QuestionVO question = questionBankService.getQuestion(resultDetailVO.getQuestionId());
|
||||
// resultDetailVO.setQuestion(question);
|
||||
// return resultDetailVO;
|
||||
// }).collect(Collectors.toList());
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<RaceResultDetailVO> getContestantTheoryAnswerDetails(Long competitionId, Long raceUserId) {
|
||||
// //根据参赛id获取参赛成绩信息
|
||||
// RaceResultExample example = new RaceResultExample();
|
||||
// example.createCriteria().andUserRaceIdEqualTo(raceUserId);
|
||||
// List<RaceResult> raceResults = raceResultDAO.selectByExample(example);
|
||||
// return raceResults.stream().map(RaceResultDetailVO::new).map(resultDetailVO -> {
|
||||
// QuestionVO question = questionBankService.getQuestion(resultDetailVO.getQuestionId());
|
||||
// resultDetailVO.setQuestion(question);
|
||||
// return resultDetailVO;
|
||||
// }).collect(Collectors.toList());
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void deleteTheoryAnswerDetails(Long competitionId, UserVO userVO) {
|
||||
// //根据竞赛id和用户查找参赛id
|
||||
// RaceUserVO raceUser = raceService.getRaceUser(competitionId, userVO);
|
||||
// //根据参赛id获取参赛成绩信息
|
||||
// RaceResultExample example = new RaceResultExample();
|
||||
// example.createCriteria().andUserRaceIdEqualTo(raceUser.getId());
|
||||
// raceResultDAO.deleteByExample(example);
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
* 获取项目题目或者根据模式生成试卷
|
||||
*
|
||||
|
@ -1,32 +0,0 @@
|
||||
package club.joylink.rtss.services.fault;
|
||||
|
||||
import club.joylink.rtss.vo.client.PageVO;
|
||||
import club.joylink.rtss.vo.client.fault.FaultRuleQueryVO;
|
||||
import club.joylink.rtss.vo.client.fault.FaultRuleVO;
|
||||
|
||||
public interface IFaultRuleService {
|
||||
/**
|
||||
* 添加故障规则
|
||||
*/
|
||||
void addFaultRule(FaultRuleVO faultRuleVO);
|
||||
|
||||
/**
|
||||
* 更新故障规则
|
||||
*/
|
||||
void updateFaultRule(FaultRuleVO faultRuleVO);
|
||||
|
||||
/**
|
||||
* 删除故障规则
|
||||
*/
|
||||
void deleteFaultRule(Long id);
|
||||
|
||||
/**
|
||||
* 分页查找故障规则列表
|
||||
*/
|
||||
PageVO<FaultRuleVO> getByPage(FaultRuleQueryVO queryVO);
|
||||
|
||||
/**
|
||||
* 根据故障id查找故障规则
|
||||
*/
|
||||
FaultRuleVO getBy(Long id);
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
package club.joylink.rtss.services.race;//package club.joylink.rtss.services.race;
|
||||
//
|
||||
//import club.joylink.rtss.vo.UserVO;
|
||||
//import club.joylink.rtss.vo.client.PageVO;
|
||||
//import club.joylink.rtss.vo.client.race.*;
|
||||
//
|
||||
//import java.util.List;
|
||||
//
|
||||
//public interface IRaceService {
|
||||
// /**
|
||||
// * 创建赛事
|
||||
// */
|
||||
// void create(RaceCreateVO createVO, UserVO user);
|
||||
//
|
||||
// /**
|
||||
// * 查询赛事
|
||||
// */
|
||||
// PageVO<RaceVO> query(RaceQueryVO queryVO);
|
||||
//
|
||||
// List<RaceVO> queryRaceList();
|
||||
//
|
||||
// /**
|
||||
// * 更新竞赛信息
|
||||
// */
|
||||
// void update(Long id, RaceUpdateVO updateVO);
|
||||
//
|
||||
// /**
|
||||
// * 用户报名
|
||||
// */
|
||||
// void signUp(Long id, RaceSignUpInfoVO signUpInfo, UserVO user);
|
||||
//
|
||||
// /**
|
||||
// * 分页查询竞赛的参赛者
|
||||
// */
|
||||
// PageVO<RaceUserVO> pagingQueryRaceUser(Long raceId, RaceUserQueryVO queryVO);
|
||||
//
|
||||
// /**
|
||||
// * 该用户是否已经报名竞赛
|
||||
// */
|
||||
// boolean isSignUp(Long raceId, UserVO user);
|
||||
//
|
||||
// boolean isSignUpForLogin(Long raceId, UserVO user);
|
||||
//
|
||||
// /**
|
||||
// * 根据id获取竞赛信息
|
||||
// */
|
||||
// RaceVO getById(Long id);
|
||||
//
|
||||
// RaceUserVO getRaceUser(Long raceId, UserVO user);
|
||||
//
|
||||
// /**
|
||||
// * 获取竞赛参赛者列表
|
||||
// */
|
||||
// List<RaceUserVO> getRaceContestant(Long raceId);
|
||||
//
|
||||
// /**
|
||||
// * 更新参赛者信息
|
||||
// */
|
||||
// void updateRaceUser(RaceUserVO raceUserVO);
|
||||
//}
|
@ -1,302 +0,0 @@
|
||||
package club.joylink.rtss.services.race;//package club.joylink.rtss.services.race;
|
||||
//
|
||||
//import com.github.pagehelper.Page;
|
||||
//import com.github.pagehelper.PageHelper;
|
||||
//import com.joylink.base.exception.BusinessException;
|
||||
//import com.joylink.base.exception.DBException;
|
||||
//import com.joylink.base.exception.SysBizException;
|
||||
//import com.joylink.base.exception.constant.ExceptionMapping;
|
||||
//import club.joylink.rtss.services.cache.ICacheService;
|
||||
//import club.joylink.rtss.constants.BusinessConsts;
|
||||
//import club.joylink.rtss.constants.RaceStatusEnum;
|
||||
//import club.joylink.rtss.constants.RaceUserStatusEnum;
|
||||
//import club.joylink.rtss.dao.RaceDAO;
|
||||
//import club.joylink.rtss.dao.RaceUserDAO;
|
||||
//import club.joylink.rtss.entity.Race;
|
||||
//import club.joylink.rtss.entity.RaceExample;
|
||||
//import club.joylink.rtss.entity.RaceUser;
|
||||
//import club.joylink.rtss.entity.RaceUserExample;
|
||||
//import club.joylink.rtss.services.IMapService;
|
||||
//import club.joylink.rtss.services.ISysUserService;
|
||||
//import club.joylink.rtss.manager.CompetitionManager;
|
||||
//import club.joylink.rtss.vo.UserVO;
|
||||
//import club.joylink.rtss.vo.VdCode;
|
||||
//import club.joylink.rtss.vo.client.PageVO;
|
||||
//import club.joylink.rtss.vo.client.race.*;
|
||||
//import org.springframework.util.StringUtils;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//import org.springframework.util.CollectionUtils;
|
||||
//
|
||||
//import java.time.LocalDateTime;
|
||||
//import java.util.Comparator;
|
||||
//import java.util.List;
|
||||
//import java.util.concurrent.ConcurrentHashMap;
|
||||
//import java.util.stream.Collectors;
|
||||
//
|
||||
//@Service
|
||||
//public class RaceService implements IRaceService {
|
||||
// @Autowired
|
||||
// private RaceDAO raceDAO;
|
||||
//
|
||||
// @Autowired
|
||||
// private RaceUserDAO raceUserDAO;
|
||||
//
|
||||
// @Autowired
|
||||
// private ICacheService iCacheService;
|
||||
//
|
||||
// @Autowired
|
||||
// private IMapService iMapService;
|
||||
//
|
||||
// @Autowired
|
||||
// private ISysUserService iSysUserService;
|
||||
//
|
||||
// @Autowired
|
||||
// private CompetitionManager competitionManager;
|
||||
//
|
||||
// @Override
|
||||
// public void create(RaceCreateVO createVO, UserVO user) {
|
||||
// createRaceCheck(createVO);
|
||||
// Race race = createVO.convert2DB();
|
||||
// race.setCreatorId(user.getId());
|
||||
// race.setCreateTime(LocalDateTime.now());
|
||||
// race.setStatus(RaceStatusEnum.Not_Started.getCode());
|
||||
// raceDAO.insert(race);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 创建竞赛条件检查
|
||||
// */
|
||||
// private void createRaceCheck(RaceCreateVO createVO) {
|
||||
// RaceExample example = new RaceExample();
|
||||
// example.createCriteria().andNameEqualTo(createVO.getName());
|
||||
// if (raceDAO.countByExample(example)>0) {
|
||||
// throw new BusinessException(ExceptionMapping.NAME_REPEAT);
|
||||
// }
|
||||
// if (!iMapService.isExist(createVO.getMapId())) {
|
||||
// throw new DBException(ExceptionMapping.DATA_NOT_EXIST, String.format("id为[%s]的地图不存在",createVO.getMapId()));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public PageVO<RaceVO> query(RaceQueryVO queryVO) {
|
||||
// RaceExample example = new RaceExample();
|
||||
// example.setOrderByClause("id desc");
|
||||
// RaceExample.Criteria criteria = example.createCriteria();
|
||||
// if (StringUtils.hasText(queryVO.getRaceName())) {
|
||||
// criteria.andNameLike(String.format("%%%s%%", queryVO.getRaceName()));
|
||||
// }
|
||||
// criteria.andStatusEqualTo(RaceStatusEnum.Not_Started.getCode());
|
||||
// PageHelper.startPage(queryVO.getPageNum(), queryVO.getPageSize());
|
||||
// Page<Race> page = (Page<Race>) raceDAO.selectByExample(example);
|
||||
// List<RaceVO> vos = page.getResult().stream().map(RaceVO::new).collect(Collectors.toList());
|
||||
// vos.forEach(vo->{
|
||||
// UserVO user = iSysUserService.getUserById(vo.getCreatorId());
|
||||
// vo.setCreatorName(user.getNickname());
|
||||
// });
|
||||
// return PageVO.convert(page, vos);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<RaceVO> queryRaceList() {
|
||||
// RaceExample example = new RaceExample();
|
||||
//
|
||||
// List<Race> races = raceDAO.selectByExample(example);
|
||||
// List<RaceVO> vos = races.stream().map(RaceVO::new).collect(Collectors.toList());
|
||||
// return vos;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void update(Long id, RaceUpdateVO updateVO) {
|
||||
// Race entity = findRaceById(id);
|
||||
// if (entity == null) {
|
||||
// return;
|
||||
// }
|
||||
// updateVO.overWrite(entity);
|
||||
// raceDAO.updateByPrimaryKey(entity);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void signUp(Long id, RaceSignUpInfoVO signUpInfo, UserVO user) {
|
||||
// signUpCheck(id, signUpInfo, user);
|
||||
// //验证码检验
|
||||
// VdCode object = (VdCode) iCacheService.get(user.getNationcode() + signUpInfo.getMobile());
|
||||
// if (null == object || object.isTimeout(BusinessConsts.VDCODE_TIMEOUT)) {
|
||||
// throw new SysBizException(ExceptionMapping.VDCODE_EXPIRE);
|
||||
// } else if (!object.getVdcode().equals(signUpInfo.getVdCode())) {
|
||||
// throw new SysBizException(ExceptionMapping.VDCODE_INCORRECT);
|
||||
// }
|
||||
// RaceUser raceUser = signUpInfo.buildDB();
|
||||
// raceUser.setRaceId(id);
|
||||
// raceUser.setUserId(user.getId());
|
||||
// raceUser.setTime(LocalDateTime.now());
|
||||
// raceUser.setStatus(RaceUserStatusEnum.Not_Yet_Entered.getCode());
|
||||
// raceUserDAO.insert(raceUser);
|
||||
// competitionManager.addContestant(id, new RaceUserVO(raceUser));
|
||||
// }
|
||||
//
|
||||
// private void signUpCheck(Long id, RaceSignUpInfoVO signUpInfo, UserVO user) {
|
||||
// RaceVO race = getById(id);
|
||||
// if (RaceStatusEnum.Not_Started.getCode() != race.getStatus()) {
|
||||
// throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "只有尚未开始的竞赛才可报名");
|
||||
// }
|
||||
// if (isSignUp(id, user)) {
|
||||
// throw new BusinessException(ExceptionMapping.ILLEGAL_OPERATION, "已经报过名了,无需重复报名");
|
||||
// }
|
||||
// if (!race.getOptionTypes().contains(signUpInfo.getType())) {
|
||||
// throw new BusinessException(ExceptionMapping.ARGUMENT_ILLEGAL, "所选角色不在竞赛可选范围内");
|
||||
// }
|
||||
// if (isMobileExist(id, signUpInfo.getMobile())) {
|
||||
// throw new BusinessException(ExceptionMapping.ARGUMENT_ILLEGAL, "该手机号已被使用");
|
||||
// }
|
||||
// if (isIdNumberExist(id, signUpInfo.getIdNumber())) {
|
||||
// throw new BusinessException(ExceptionMapping.ARGUMENT_ILLEGAL, "该身份证已被使用");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 该手机号是否已经报名过
|
||||
// */
|
||||
// private boolean isMobileExist(Long raceId, String mobile) {
|
||||
// RaceUserExample example = new RaceUserExample();
|
||||
// example.createCriteria().andRaceIdEqualTo(raceId).andMobileEqualTo(mobile);
|
||||
// long count = raceUserDAO.countByExample(example);
|
||||
// return count > 0;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 该身份证是否已经报名过
|
||||
// */
|
||||
// private boolean isIdNumberExist(Long raceId, String idNumber) {
|
||||
// RaceUserExample example = new RaceUserExample();
|
||||
// example.createCriteria().andRaceIdEqualTo(raceId).andIdNumberEqualTo(idNumber);
|
||||
// long count = raceUserDAO.countByExample(example);
|
||||
// return count > 0;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public PageVO<RaceUserVO> pagingQueryRaceUser(Long raceId, RaceUserQueryVO queryVO) {
|
||||
// ConcurrentHashMap<Long, RaceUserVO> contestantMap = competitionManager.getCompetitionContestantMap().get(raceId);
|
||||
// List<RaceUserVO> list = contestantMap.values().stream().sorted(Comparator.comparing(RaceUserVO::getId)).collect(Collectors.toList());
|
||||
// if (StringUtils.hasText(queryVO.getName())) {
|
||||
// list = list.stream().filter(vo -> vo.getName().contains(queryVO.getName())).collect(Collectors.toList());
|
||||
// }
|
||||
// if (StringUtils.hasText(queryVO.getOrganization())) {
|
||||
// list = list.stream().filter(vo -> vo.getOrganization().contains(queryVO.getOrganization())).collect(Collectors.toList());
|
||||
// }
|
||||
//// RaceUserExample example = new RaceUserExample();
|
||||
//// example.setOrderByClause("id desc");
|
||||
//// RaceUserExample.Criteria criteria = example.createCriteria().andRaceIdEqualTo(raceId);
|
||||
//// PageHelper.startPage(queryVO.getPageNum(), queryVO.getPageSize());
|
||||
//// Page<RaceUser> page = (Page<RaceUser>) raceUserDAO.selectByExample(example);
|
||||
//// List<RaceUserVO> vos = page.getResult().stream().map(RaceUserVO::new).collect(Collectors.toList());
|
||||
//// Page<RaceUser> page = (Page<RaceUser>) list;
|
||||
// int toIndex = queryVO.getPageSize() * queryVO.getPageNum();
|
||||
// List<RaceUserVO> pageList = list.subList(queryVO.getOffset(), list.size()>toIndex?toIndex:list.size());
|
||||
// return new PageVO(queryVO.getPageNum(),queryVO.getPageSize(),list.size(), pageList);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean isSignUp(Long raceId, UserVO user) {
|
||||
// RaceUserExample example = new RaceUserExample();
|
||||
// example.createCriteria()
|
||||
// .andRaceIdEqualTo(raceId)
|
||||
// .andUserIdEqualTo(user.getId());
|
||||
// long num = raceUserDAO.countByExample(example);
|
||||
// return num>0;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean isSignUpForLogin(Long raceId, UserVO user) {
|
||||
// RaceUserExample example = new RaceUserExample();
|
||||
// example.createCriteria()
|
||||
// .andRaceIdEqualTo(raceId)
|
||||
// .andUserIdEqualTo(user.getId());
|
||||
// long num = raceUserDAO.countByExample(example);
|
||||
// if(num>0){
|
||||
// competitionManager.updateStatus(raceId,user.getId(), RaceUserStatusEnum.Enter_The_Arena);
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public RaceVO getById(Long id) {
|
||||
// Race race = getRaceById(id);
|
||||
// RaceVO vo = new RaceVO(race);
|
||||
// vo.setCreatorName(iSysUserService.getUserById(race.getCreatorId()).getNickname());
|
||||
// return vo;
|
||||
// }
|
||||
//
|
||||
// private Race getRaceByName(String raceName) {
|
||||
// RaceExample example = new RaceExample();
|
||||
// example.createCriteria().andNameEqualTo(raceName);
|
||||
// List<Race> races = raceDAO.selectByExample(example);
|
||||
// if (CollectionUtils.isEmpty(races)) {
|
||||
// throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
// }
|
||||
// return races.get(0);
|
||||
// }
|
||||
//
|
||||
// private Race findRaceById(Long id) {
|
||||
// return raceDAO.selectByPrimaryKey(id);
|
||||
// }
|
||||
//
|
||||
// private Race getRaceById(Long id) {
|
||||
// Race race = this.findRaceById(id);
|
||||
// if (race == null) {
|
||||
// throw new DBException(ExceptionMapping.DATA_NOT_EXIST, String.format("id为[%s]的竞赛不存在", id));
|
||||
// }
|
||||
// return race;
|
||||
// }
|
||||
//
|
||||
// /**查询竞赛的参赛者*/
|
||||
// @Override
|
||||
// public List<RaceUserVO> getRaceContestant(Long raceId){
|
||||
// RaceUserExample example = new RaceUserExample();
|
||||
// example.setOrderByClause("id");
|
||||
// example.createCriteria().andRaceIdEqualTo(raceId);
|
||||
// List<RaceUser> raceUsers = raceUserDAO.selectByExample(example);
|
||||
// return raceUsers.stream().map(RaceUserVO::new).collect(Collectors.toList());
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void updateRaceUser(RaceUserVO raceUserVO) {
|
||||
// if (raceUserVO.getId() == null) {
|
||||
// throw new BusinessException(ExceptionMapping.ARGUMENT_ILLEGAL, "id不能为空");
|
||||
// }
|
||||
// RaceUser raceUser = raceUserVO.buildDB();
|
||||
// raceUserDAO.updateByPrimaryKey(raceUser);
|
||||
// }
|
||||
//
|
||||
// /**查询竞赛参赛者信息*/
|
||||
// @Override
|
||||
// public RaceUserVO getRaceUser(Long raceId, UserVO user){
|
||||
// if (CollectionUtils.isEmpty(competitionManager.getCompetitionContestantMap())) {
|
||||
// return null;
|
||||
// }
|
||||
// ConcurrentHashMap<Long, RaceUserVO> contestantMap = competitionManager.getCompetitionContestantMap().get(raceId);
|
||||
// if (CollectionUtils.isEmpty(contestantMap)) {
|
||||
// return null;
|
||||
// }
|
||||
// List<RaceUserVO> collect = contestantMap.values()
|
||||
// .stream()
|
||||
// .filter(vo -> vo.getUserId().equals(user.getId()))
|
||||
// .limit(1)
|
||||
// .collect(Collectors.toList());
|
||||
// if (CollectionUtils.isEmpty(collect)) {
|
||||
// return null;
|
||||
// }
|
||||
// return collect.get(0);
|
||||
//
|
||||
//// RaceUserExample example = new RaceUserExample();
|
||||
//// example.createCriteria()
|
||||
//// .andRaceIdEqualTo(raceId)
|
||||
//// .andUserIdEqualTo(user);
|
||||
//// List<RaceUser> raceUsers = raceUserDAO.selectByExample(example);
|
||||
//// if(CollectionUtils.isEmpty(raceUsers)){
|
||||
//// return null;
|
||||
//// }
|
||||
//// return new RaceUserVO(raceUsers.get(0));
|
||||
// }
|
||||
//}
|
@ -4,7 +4,7 @@ import club.joylink.rtss.vo.client.PageVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptQueryVO;
|
||||
|
||||
public interface IScriptService2 {
|
||||
public interface IScriptService {
|
||||
|
||||
/**
|
||||
* 分页查询上线的剧本
|
@ -1,9 +1,8 @@
|
||||
package club.joylink.rtss.services.script;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.joylink.base.exception.DBException;
|
||||
import com.joylink.base.exception.constant.ExceptionMapping;
|
||||
import club.joylink.rtss.constants.BusinessConsts;
|
||||
import club.joylink.rtss.dao.ScriptDAO;
|
||||
import club.joylink.rtss.entity.Script;
|
||||
@ -19,7 +18,7 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service
|
||||
public class ScriptService2 implements IScriptService2 {
|
||||
public class ScriptService implements IScriptService {
|
||||
|
||||
@Autowired
|
||||
private ScriptDAO scriptDAO;
|
||||
@ -52,10 +51,17 @@ public class ScriptService2 implements IScriptService2 {
|
||||
*/
|
||||
@Override
|
||||
public ScriptVO getDetailById(Long id) {
|
||||
ScriptWithBLOBs script = scriptDAO.selectByPrimaryKey(id);
|
||||
if (Objects.isNull(script)) {
|
||||
throw new DBException(ExceptionMapping.DATA_NOT_EXIST);
|
||||
}
|
||||
return new ScriptVO(script);
|
||||
return new ScriptVO(getEntity(id));
|
||||
}
|
||||
|
||||
private ScriptWithBLOBs findEntity(Long id) {
|
||||
return scriptDAO.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
private ScriptWithBLOBs getEntity(Long id) {
|
||||
ScriptWithBLOBs entity = findEntity(id);
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertNotNull(entity,
|
||||
String.format("id为[%s]的剧本不存在", id));
|
||||
return entity;
|
||||
}
|
||||
}
|
@ -6,8 +6,8 @@ import club.joylink.rtss.simulation.cbtc.script.ScriptBO;
|
||||
import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
import club.joylink.rtss.vo.client.script.MapLocationVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewUpdateVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionUpdateVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptVO;
|
||||
import club.joylink.rtss.vo.client.simulationv1.SimulationMemberVO;
|
||||
|
||||
@ -33,7 +33,7 @@ public interface IScriptSimulationService {
|
||||
/**
|
||||
* 获取剧本的所有动作
|
||||
*/
|
||||
List<ScriptActionNewVO> getAllAction(String group);
|
||||
List<ScriptActionVO> getAllAction(String group);
|
||||
|
||||
/**
|
||||
* 重置剧本
|
||||
@ -73,7 +73,7 @@ public interface IScriptSimulationService {
|
||||
/**
|
||||
* 修改剧本动作
|
||||
*/
|
||||
void updateAction(String group, ScriptActionNewUpdateVO updateVO);
|
||||
void updateAction(String group, ScriptActionUpdateVO updateVO);
|
||||
|
||||
/**
|
||||
* 添加动作
|
||||
|
@ -19,16 +19,15 @@ import club.joylink.rtss.simulation.cbtc.script.ScriptBO;
|
||||
import club.joylink.rtss.entity.ScriptDraftWithBLOBs;
|
||||
import club.joylink.rtss.listener.simulation.script.ScriptWritingListener;
|
||||
import club.joylink.rtss.services.IScriptDraftService;
|
||||
import club.joylink.rtss.services.IScriptService;
|
||||
import club.joylink.rtss.services.script.IScriptService2;
|
||||
import club.joylink.rtss.services.script.IScriptService;
|
||||
import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
import club.joylink.rtss.vo.client.SocketMessageVO;
|
||||
import club.joylink.rtss.vo.client.WebSocketMessageType;
|
||||
import club.joylink.rtss.vo.client.factory.SocketMessageFactory;
|
||||
import club.joylink.rtss.vo.client.script.MapLocationVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewUpdateVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionUpdateVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptVO;
|
||||
import club.joylink.rtss.vo.client.simulationv1.SimulationMemberVO;
|
||||
import club.joylink.rtss.websocket.StompMessageService;
|
||||
@ -74,10 +73,10 @@ public class ScriptSimulationService implements IScriptSimulationService {
|
||||
private ATSMessageCollectAndDispatcher atsMessageCollectAndDispatcher;
|
||||
|
||||
@Autowired
|
||||
private IScriptService2 iScriptService2;
|
||||
private IScriptService iScriptService;
|
||||
|
||||
@Autowired
|
||||
private IScriptService iScriptService;
|
||||
private club.joylink.rtss.services.IScriptService iScriptService;
|
||||
|
||||
@Autowired
|
||||
private ScriptWritingListener scriptWritingListener;
|
||||
@ -123,9 +122,9 @@ public class ScriptSimulationService implements IScriptSimulationService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ScriptActionNewVO> getAllAction(String group) {
|
||||
public List<ScriptActionVO> getAllAction(String group) {
|
||||
Simulation simulation = groupSimulationCache.getSimulationByGroup(group);
|
||||
return ScriptActionNewVO.convertFromBOList(simulation.getScript().getActionList());
|
||||
return ScriptActionVO.convertFromBOList(simulation.getScript().getActionList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -221,7 +220,7 @@ public class ScriptSimulationService implements IScriptSimulationService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAction(String group, ScriptActionNewUpdateVO updateVO) {
|
||||
public void updateAction(String group, ScriptActionUpdateVO updateVO) {
|
||||
Simulation simulation = groupSimulationCache.getSimulationByGroup(group);
|
||||
ScriptBO script = simulation.getScript();
|
||||
ScriptActionBO action = script.getActionById(updateVO.getId());
|
||||
@ -240,7 +239,7 @@ public class ScriptSimulationService implements IScriptSimulationService {
|
||||
throw new SimulationException(SimulationExceptionType.System_Fault, "仿真中没有剧本");
|
||||
}
|
||||
script.addAction(action);
|
||||
SocketMessageVO<ScriptActionNewVO> message = SocketMessageFactory.buildScriptActionMessage(simulation.getGroup(), new ScriptActionNewVO(action));
|
||||
SocketMessageVO<ScriptActionVO> message = SocketMessageFactory.buildScriptActionMessage(simulation.getGroup(), new ScriptActionVO(action));
|
||||
stompMessageService.sendToUser(simulation.getSimulationUserIds(), message);
|
||||
}
|
||||
|
||||
@ -374,7 +373,7 @@ public class ScriptSimulationService implements IScriptSimulationService {
|
||||
@Override
|
||||
public void loadScript(String group, Long scriptId) {
|
||||
Simulation simulation = groupSimulationCache.getSimulationByGroup(group);
|
||||
ScriptVO detailById = iScriptService2.getDetailById(scriptId);
|
||||
ScriptVO detailById = iScriptService.getDetailById(scriptId);
|
||||
groupSimulationService.loadScenes(simulation.getGroup(), detailById.getBgScenesJson());
|
||||
ScriptBO scriptBO = iScriptService.getScriptBOById(scriptId, simulation);
|
||||
this.scriptCoverSimulation(simulation, scriptBO);
|
||||
|
@ -6,7 +6,7 @@ import club.joylink.rtss.constants.MapPrdTypeEnum;
|
||||
import club.joylink.rtss.constants.SystemEnv;
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.services.*;
|
||||
import club.joylink.rtss.services.script.IScriptService2;
|
||||
import club.joylink.rtss.services.script.IScriptService;
|
||||
import club.joylink.rtss.services.simulation.IScriptSimulationService;
|
||||
import club.joylink.rtss.services.simulation.SchedulingService;
|
||||
import club.joylink.rtss.services.training.ITrainingV1Service;
|
||||
@ -118,10 +118,10 @@ public class GroupSimulationServiceImpl implements GroupSimulationService {
|
||||
private StompMessageService stompMessageService;
|
||||
|
||||
@Autowired
|
||||
private IScriptService scriptService;
|
||||
private club.joylink.rtss.services.IScriptService scriptService;
|
||||
|
||||
@Autowired
|
||||
private IScriptService2 iScriptService2;
|
||||
private IScriptService iScriptService;
|
||||
|
||||
@Autowired
|
||||
private OtherConfig otherConfig;
|
||||
@ -602,7 +602,7 @@ public class GroupSimulationServiceImpl implements GroupSimulationService {
|
||||
|
||||
@Override
|
||||
public void loadScript(Simulation simulation, Long scriptId) {
|
||||
ScriptVO detailById = iScriptService2.getDetailById(scriptId);
|
||||
ScriptVO detailById = iScriptService.getDetailById(scriptId);
|
||||
this.loadScenes(simulation.getGroup(), detailById.getBgScenesJson());
|
||||
ScriptBO scriptBO = scriptService.getScriptBOById(scriptId, simulation);
|
||||
iScriptSimulationService.scriptCoverSimulation(simulation, scriptBO);
|
||||
|
@ -38,7 +38,7 @@ import club.joylink.rtss.services.simulation.ScriptExecuteService;
|
||||
import club.joylink.rtss.vo.client.SocketMessageVO;
|
||||
import club.joylink.rtss.vo.client.WebSocketMessageType;
|
||||
import club.joylink.rtss.vo.client.factory.SocketMessageFactory;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionVO;
|
||||
import club.joylink.rtss.vo.client.simulationv1.SimulationMemberMessageVO;
|
||||
import club.joylink.rtss.vo.client.simulationv1.SimulationUserMessageVO;
|
||||
import club.joylink.rtss.websocket.StompMessageService;
|
||||
@ -734,13 +734,13 @@ public class SimulationMainThread {
|
||||
public void simulationScriptTip(SimulationScriptTipEvent event) {
|
||||
Simulation simulation = event.getSimulation();
|
||||
ScriptActionBO action = event.getAction();
|
||||
ScriptActionNewVO actionVO = ScriptActionNewVO.buildScriptTipVO(action);
|
||||
ScriptActionVO actionVO = ScriptActionVO.buildScriptTipVO(action);
|
||||
if (actionVO.getType().equals(ScriptActionBO.ActionType.Conversation)) {
|
||||
LocalDateTime correctSystemTime = simulation.getCorrectSystemTime();
|
||||
String currentTime = correctSystemTime.getHour() + "点" + correctSystemTime.getMinute() + "分";
|
||||
actionVO.setContent(String.format(actionVO.getContent(), currentTime));
|
||||
}
|
||||
SocketMessageVO<ScriptActionNewVO> message =
|
||||
SocketMessageVO<ScriptActionVO> message =
|
||||
SocketMessageFactory.buildScriptTipMessage(simulation.getGroup(), actionVO);
|
||||
stompMessageService.sendToUser(action.getMember().getUserIdStr(), message);
|
||||
log.info(String.format("仿真[%s]剧本提示成员[%s]执行动作[%s]", simulation.getGroup(), action.getMember().getId(), action.getId()));
|
||||
@ -758,8 +758,8 @@ public class SimulationMainThread {
|
||||
public void simulationScriptActionFinish(SimulationScriptActionFinishEvent event) {
|
||||
Simulation simulation = event.getSimulation();
|
||||
ScriptActionBO action = event.getScriptActionBO();
|
||||
ScriptActionNewVO vo = ScriptActionNewVO.buildFinishTipVO(action);
|
||||
SocketMessageVO<ScriptActionNewVO> message =
|
||||
ScriptActionVO vo = ScriptActionVO.buildFinishTipVO(action);
|
||||
SocketMessageVO<ScriptActionVO> message =
|
||||
SocketMessageFactory.buildSimulationScriptActionFinishMessage(simulation.getGroup(), vo);
|
||||
stompMessageService.sendToUser(action.getMember().getUserIdStr(), message);
|
||||
log.info(String.format("用户[%s]完成仿真[%s]id为[%s]的剧本动作", simulation.getGroup(), action.getMember().getUserId(), action.getId()));
|
||||
|
@ -2,7 +2,6 @@ package club.joylink.rtss.simulation.cbtc.event;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.script.ScriptActionBO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
|
@ -12,7 +12,7 @@ import club.joylink.rtss.simulation.cbtc.data.vo.SwitchStatusVO;
|
||||
import club.joylink.rtss.simulation.cbtc.data.vo.TrainInfo;
|
||||
import club.joylink.rtss.simulation.cbtc.data.vo.TrainStatusVO;
|
||||
import club.joylink.rtss.simulation.cbtc.member.SimulationMember;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionVO;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
@ -118,7 +118,7 @@ public class ScriptActionBO {
|
||||
*/
|
||||
private String conversationMessageId;
|
||||
|
||||
public ScriptActionBO(Simulation simulation, ScriptActionNewVO actionVO) {
|
||||
public ScriptActionBO(Simulation simulation, ScriptActionVO actionVO) {
|
||||
SimulationMember member = simulation.findMemberById(actionVO.getMemberId());
|
||||
this.id = simulation.getIdGenerator().nextActionId();
|
||||
this.type = actionVO.getType();
|
||||
|
@ -1,25 +0,0 @@
|
||||
package club.joylink.rtss.vo.client;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ExamLessonVO {
|
||||
/**
|
||||
* 课程ID
|
||||
*/
|
||||
private String lessonId;
|
||||
|
||||
/**
|
||||
* 课程名称
|
||||
*/
|
||||
private String lessonName;
|
||||
|
||||
/**
|
||||
* 试题信息
|
||||
*/
|
||||
private List<ExamDefinitionVO> examDefinitionVOList;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package club.joylink.rtss.vo.client;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "故障模式设置")
|
||||
public class FailureModeSettingVO {
|
||||
|
||||
@ApiModelProperty(value = "自动/人工")
|
||||
private boolean auto;
|
||||
|
||||
@ApiModelProperty(value = "自动时选择的规则id")
|
||||
private String ruleId;
|
||||
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
package club.joylink.rtss.vo.client;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ApiModel(value = "地图产品查询对象")
|
||||
@Getter
|
||||
@Setter
|
||||
public class MapPrdQueryVO extends PageQueryVO {
|
||||
|
||||
@ApiModelProperty(value = "产品名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "产品编号")
|
||||
private String code;
|
||||
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package club.joylink.rtss.vo.client.competition;
|
||||
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionVO;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
@ -22,7 +22,7 @@ public class CommandPublishStatisticVO {
|
||||
@NotNull
|
||||
private String actionId;
|
||||
|
||||
private ScriptActionNewVO actionVO;
|
||||
private ScriptActionVO actionVO;
|
||||
|
||||
/**
|
||||
* 语音识别关键词列表
|
||||
@ -68,7 +68,7 @@ public class CommandPublishStatisticVO {
|
||||
public CommandPublishStatisticVO(CommandPublishStatisticBO bo) {
|
||||
this.id = bo.getId();
|
||||
this.actionId = bo.getAction().getId();
|
||||
this.actionVO = new ScriptActionNewVO(bo.getAction());
|
||||
this.actionVO = new ScriptActionVO(bo.getAction());
|
||||
this.keyWords = bo.getKeyWords();
|
||||
this.timeOut = bo.getTimeOut();
|
||||
this.score = bo.getScore();
|
||||
|
@ -1,48 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.competition;
|
||||
|
||||
import club.joylink.rtss.vo.client.question.QuestionVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Positive;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(value = "竞赛试卷")
|
||||
@Getter
|
||||
@Setter
|
||||
public class CompetitionPaper {
|
||||
|
||||
@ApiModelProperty(value="竞赛id")
|
||||
@NotNull(message = "竞赛id不能为空")
|
||||
private Long competitionId;
|
||||
|
||||
@ApiModelProperty(value="理论题")
|
||||
@NotNull(message = "竞赛理论题不能为空")
|
||||
@Valid
|
||||
private List<QuestionVO> theoryQuestions;
|
||||
|
||||
@ApiModelProperty(value="实操题")
|
||||
@NotNull(message = "竞赛实操题不能为空")
|
||||
private List<PracticalQuestionVO> practicalQuestions= new ArrayList<>();
|
||||
|
||||
@ApiModelProperty(value="竞赛理论作答时间/min")
|
||||
@NotNull(message = "理论答题时长需要设置")
|
||||
@Positive(message = "理论答题时长需要设置为正数")
|
||||
private Integer theoryExamTime;
|
||||
|
||||
@ApiModelProperty(value="竞赛实操作答时间/min")
|
||||
@NotNull(message = "实操答题时长需要设置")
|
||||
@Positive(message = "实操答题时长需要设置为正数")
|
||||
private Integer practicalExamTime;
|
||||
|
||||
@ApiModelProperty(value="竞赛理论总分值")
|
||||
private Float theoryScore;
|
||||
|
||||
@ApiModelProperty(value="竞赛实操总分值")
|
||||
private Float practicalScore;
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.competition;
|
||||
|
||||
import club.joylink.rtss.vo.client.PageQueryVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ApiModel(value = "竞赛实操题查询对象")
|
||||
@Getter
|
||||
@Setter
|
||||
public class CompetitionPracticalQueryVO extends PageQueryVO {
|
||||
|
||||
private Long mapId;
|
||||
|
||||
private String name;
|
||||
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.competition;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 竞赛记录
|
||||
*/
|
||||
public class CompetitionRecordVO {
|
||||
private Long id;
|
||||
|
||||
private Long userId;
|
||||
|
||||
private Long competitionId;
|
||||
|
||||
private Float score;
|
||||
|
||||
private LocalDate date;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.competition;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(value = "竞赛理论题答题VO")
|
||||
@Getter
|
||||
@Setter
|
||||
public class CompetitionTheoryAnswerVO {
|
||||
|
||||
@ApiModelProperty(value = "竞赛id")
|
||||
@NotNull(message = "竞赛id不能为空")
|
||||
private Long competitionId;
|
||||
|
||||
@ApiModelProperty(value = "理论题作答模式")
|
||||
private String mode;
|
||||
|
||||
@ApiModelProperty(value = "理论答题")
|
||||
@Valid
|
||||
private List<TheoryAnswerVO> theoryAnswers;
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.competition;
|
||||
|
||||
import club.joylink.rtss.vo.client.PageQueryVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ApiModel(value = "竞赛理论题查询对象")
|
||||
@Getter
|
||||
@Setter
|
||||
public class CompetitionTheoryQueryVO extends PageQueryVO {
|
||||
|
||||
|
||||
private Long mapId;
|
||||
|
||||
private Long competitionId;
|
||||
|
||||
private String name;
|
||||
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.competition;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import club.joylink.rtss.entity.ScriptDraftWithBLOBs;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PracticalQuestionVO {
|
||||
|
||||
/**
|
||||
* 题号
|
||||
*/
|
||||
@ApiModelProperty("题号")
|
||||
@NotNull(message = "题号不能为空")
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 题目
|
||||
*/
|
||||
@ApiModelProperty("题目")
|
||||
@NotNull(message = "题目不能为空")
|
||||
private ScriptDraftWithBLOBs question;
|
||||
|
||||
/**
|
||||
* 分值
|
||||
*/
|
||||
@ApiModelProperty("分值")
|
||||
@NotNull(message = "分值不能为空")
|
||||
private Float score;
|
||||
|
||||
private Long creatorId;
|
||||
|
||||
private Long creatorName;
|
||||
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.competition;
|
||||
|
||||
import club.joylink.rtss.vo.client.question.QuestionVO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class TheoryQuestionVO {
|
||||
|
||||
/**理论试题作答时长*/
|
||||
private Integer theoryExamTime;
|
||||
/**理论题目*/
|
||||
private List<QuestionVO> questions;
|
||||
|
||||
}
|
@ -16,7 +16,7 @@ import club.joylink.rtss.record.SimulationRecordEvent;
|
||||
import club.joylink.rtss.record.SocketMessagePO;
|
||||
import club.joylink.rtss.vo.client.SocketMessageVO;
|
||||
import club.joylink.rtss.vo.client.WebSocketMessageType;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionNewVO;
|
||||
import club.joylink.rtss.vo.client.script.ScriptActionVO;
|
||||
import club.joylink.rtss.vo.client.simulationv1.SimulationMemberMessageVO;
|
||||
import club.joylink.rtss.vo.client.simulationv1.SimulationUserMessageVO;
|
||||
import org.springframework.beans.BeansException;
|
||||
@ -283,7 +283,7 @@ public class SocketMessageFactory {
|
||||
/**
|
||||
* 构建剧本动作消息
|
||||
*/
|
||||
public static SocketMessageVO<ScriptActionNewVO> buildScriptActionMessage(String group, ScriptActionNewVO actionNewVO) {
|
||||
public static SocketMessageVO<ScriptActionVO> buildScriptActionMessage(String group, ScriptActionVO actionNewVO) {
|
||||
return build(WebSocketMessageType.Simulation_Script_Action, group, actionNewVO);
|
||||
}
|
||||
|
||||
@ -299,14 +299,14 @@ public class SocketMessageFactory {
|
||||
/**
|
||||
* 构建仿真剧本提示消息
|
||||
*/
|
||||
public static SocketMessageVO<ScriptActionNewVO> buildScriptTipMessage(String group, ScriptActionNewVO action) {
|
||||
public static SocketMessageVO<ScriptActionVO> buildScriptTipMessage(String group, ScriptActionVO action) {
|
||||
return build(WebSocketMessageType.Simulation_Script_Action_Tip, group, action);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建仿真剧本动作完成消息
|
||||
*/
|
||||
public static SocketMessageVO<ScriptActionNewVO> buildSimulationScriptActionFinishMessage(String group, ScriptActionNewVO action) {
|
||||
public static SocketMessageVO<ScriptActionVO> buildSimulationScriptActionFinishMessage(String group, ScriptActionVO action) {
|
||||
return build(WebSocketMessageType.Simulation_Script_Action_Finish, group, action);
|
||||
}
|
||||
|
||||
|
@ -1,21 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.fault;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "故障模式设置")
|
||||
public class FaultModeSettingVO {
|
||||
|
||||
@ApiModelProperty(value = "自动/人工")
|
||||
private boolean auto;
|
||||
|
||||
@ApiModelProperty(value = "自动时选择的规则id")
|
||||
private Long ruleId;
|
||||
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.fault;
|
||||
|
||||
import club.joylink.rtss.vo.client.PageQueryVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
|
||||
@ApiModel(value = "故障规则查询对象")
|
||||
@Getter
|
||||
@Setter
|
||||
public class FaultRuleQueryVO extends PageQueryVO {
|
||||
|
||||
@ApiModelProperty(value = "线路编号")
|
||||
@NotBlank(message = "线路code不能为空")
|
||||
private String lineCode;
|
||||
|
||||
@ApiModelProperty(value = "设备类型")
|
||||
private String deviceType;
|
||||
|
||||
@ApiModelProperty(value = "设备编码")
|
||||
private String deviceCode;
|
||||
|
||||
@ApiModelProperty(value = "故障类型")
|
||||
private String faultType;
|
||||
|
||||
@ApiModelProperty(value = "触发条件")
|
||||
private String triggerCondition;
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.order;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import club.joylink.rtss.entity.SaleGoods;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "goodItem")
|
||||
public class GoodItem implements Serializable {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message = "商品名称不能为空")
|
||||
@ApiModelProperty(value = "商品名称",required = true)
|
||||
private String name;
|
||||
|
||||
@NotNull(message = "权限主键")
|
||||
@ApiModelProperty(value = "权限主键",required = true,example = "92")
|
||||
private Long permissionId;
|
||||
@ApiModelProperty(value = "权限名称",required = true,example = "成都仿真权限打包")
|
||||
private String permissionName;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@ApiModelProperty(value = "商品描述",required = false,example = "成都三号线打包万能权限")
|
||||
private String remarks;
|
||||
public GoodItem(SaleGoods saleGoods){
|
||||
this.id=saleGoods.getId();
|
||||
this.name=saleGoods.getName();
|
||||
this.permissionId=saleGoods.getPermissionId();
|
||||
this.remarks=saleGoods.getRemarks();
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.order;
|
||||
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@ApiModel(value = "orderItemDetailVO")
|
||||
@NoArgsConstructor
|
||||
@Getter
|
||||
@Setter
|
||||
/***
|
||||
* 订单的条目
|
||||
* 每一条数据对象
|
||||
* **/
|
||||
public class OrderItemDetailVO {
|
||||
|
||||
/**
|
||||
* 订单每一个商品项目
|
||||
*里面有权限id(基础权限)
|
||||
* 如果是包权限(万能权限)包权限id需要额外创建
|
||||
* **/
|
||||
@ApiModelProperty(value = "商品",required = true)
|
||||
private GoodItem goodItem;
|
||||
|
||||
private Integer itemNumber;
|
||||
|
||||
/**
|
||||
* 权限类型
|
||||
* 课程权限,仿真权限,仿真权限,大屏权限
|
||||
* **/
|
||||
@ApiModelProperty(value = "权限类型",required = true,example = "2")
|
||||
private Integer permissionType;
|
||||
|
||||
|
||||
}
|
@ -1,145 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.order;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(value = "订单对象")
|
||||
@NoArgsConstructor
|
||||
@Getter
|
||||
@Setter
|
||||
/**
|
||||
* 订单创建对象
|
||||
* 从订单创建分发
|
||||
* 从分发
|
||||
* */
|
||||
public class OrderJsonVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 组织/企业id
|
||||
*/
|
||||
@ApiModelProperty(value="企业组织id",example = "124",required=true)
|
||||
private Long organizationId;
|
||||
/**
|
||||
* 订单类型(个人/企业合同/合约赠送/内部分配等)
|
||||
*/
|
||||
@ApiModelProperty(value = "订单类型(个人/企业合同/合约赠送/内部分配等)",example = "1",required = true)
|
||||
private String orderType;
|
||||
|
||||
@ApiModelProperty(value = "购买权限数量",example = "5",required = true)
|
||||
private Integer packageNum;
|
||||
|
||||
@ApiModelProperty(value = "能否分发")
|
||||
private Boolean canDistribute;
|
||||
/**
|
||||
* 业务类型(续费延时/增加权限等)
|
||||
*/
|
||||
@ApiModelProperty(value = "业务类型",example = "1",required = true)
|
||||
private String bizType;
|
||||
|
||||
@ApiModelProperty(value = "选择的基础权限主键列表",example = "[1,2,3]",required = true)
|
||||
private List<Long> relPermissions;
|
||||
|
||||
/**
|
||||
* 订单里多个项目详情
|
||||
*基础权限包
|
||||
* **/
|
||||
@ApiModelProperty(value="订单条目列表")
|
||||
private List<OrderItemDetailVO> orderDetailList;
|
||||
|
||||
@ApiModelProperty(value = "订单总价格;单位(分)",example = "20")
|
||||
private Long totalPrice;
|
||||
|
||||
@ApiModelProperty(value = "打包商品价格",example = "20")
|
||||
private Long price;
|
||||
/**
|
||||
* 支付方式:
|
||||
*/
|
||||
@ApiModelProperty(value="支付方式:线下/微信/支付宝",example = "weixin",required = true)
|
||||
private String payWays;
|
||||
|
||||
/**
|
||||
* 支付状态
|
||||
*/
|
||||
@ApiModelProperty(value = "支付状态",required = true)
|
||||
private String payStatus;
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
|
||||
private String status;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "销售人员",example = "12345")
|
||||
private Long sellerId;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
@ApiModelProperty(value = "合同编号",example = "12345")
|
||||
private String contractNo;
|
||||
|
||||
/**
|
||||
* 是否永久
|
||||
* **/
|
||||
@ApiModelProperty(value = "是否永久",example = "0",required = true)
|
||||
private Boolean forever;
|
||||
|
||||
|
||||
|
||||
@ApiModelProperty(value = "万能权限1/基础权限0",required = true)
|
||||
private Boolean isPackage;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "权限转增类型;公用1/专用权限0",example = "0",required = true)
|
||||
private Boolean distributeType;
|
||||
|
||||
|
||||
/**
|
||||
* 权限包名称
|
||||
* 当权限类型为万能权限时必填参数
|
||||
*/
|
||||
@ApiModelProperty(value = "权限包名称,当权限类型为万能权限时必填参数",example = "权限包")
|
||||
private String packageName;
|
||||
/**
|
||||
* 权限包名称描述
|
||||
* 万能权限必填参数
|
||||
* **/
|
||||
@ApiModelProperty(value = "权限包描述",example = "打包多个权限为万能权限")
|
||||
private String remarks;
|
||||
|
||||
@ApiModelProperty(value = "是否可以试用",required = true)
|
||||
private Boolean tryUse;
|
||||
|
||||
@ApiModelProperty(value = "试用时间",example = "10",required = true)
|
||||
private Integer tryUseTime;
|
||||
@ApiModelProperty(value = "试用时间单位:年/月/日/时/分/秒",example = "5",required = true)
|
||||
private String tryUseTimeUnit;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate startTime;
|
||||
|
||||
@ApiModelProperty(value = "购买月数",example = "5",required = true)
|
||||
private Integer monthAmount;
|
||||
}
|
@ -1,113 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.permission;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@ApiModel(value = "订单列表对象")
|
||||
@NoArgsConstructor
|
||||
@Getter
|
||||
@Setter
|
||||
public class OrderListVO {
|
||||
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 组织/企业id
|
||||
*/
|
||||
private String organizationId;
|
||||
|
||||
/**
|
||||
* 组织/企业id
|
||||
*/
|
||||
private String organizationName;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
private String userMobile;
|
||||
|
||||
/**
|
||||
* 商品id
|
||||
*/
|
||||
private String goodsName;
|
||||
|
||||
/**
|
||||
* 购买数量
|
||||
*/
|
||||
private Integer amount;
|
||||
|
||||
/**
|
||||
* 购买月数
|
||||
*/
|
||||
private Integer monthAmount;
|
||||
|
||||
/**
|
||||
* 总价:单位分
|
||||
*/
|
||||
private Float totalPrice;
|
||||
|
||||
/**
|
||||
* 是否永久:true/false
|
||||
*/
|
||||
private Boolean forever;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 支付方式:线下/微信/支付宝
|
||||
*/
|
||||
private String payWays;
|
||||
|
||||
/**
|
||||
* 支付状态
|
||||
*/
|
||||
private String payStatus;
|
||||
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractNo;
|
||||
|
||||
/**
|
||||
* 订单类型(个人/企业合同/合约赠送/内部分配等)
|
||||
*/
|
||||
private String orderType;
|
||||
|
||||
/**
|
||||
* 业务类型(续费延时/增加权限等)
|
||||
*/
|
||||
private String bizType;
|
||||
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 二维码是否已经生成过
|
||||
*/
|
||||
private Boolean qrCodeGenerated;
|
||||
|
||||
/**
|
||||
* 销售员id
|
||||
*/
|
||||
private String sellerName;
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.permission;
|
||||
|
||||
import club.joylink.rtss.vo.client.goods.GoodsVO;
|
||||
import club.joylink.rtss.vo.client.order.OrderCreateVO;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 一键生成订单的实体类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class PermissionGoodsOrderVo implements Serializable {
|
||||
/**
|
||||
* 创建权限的参数
|
||||
*/
|
||||
private PermissionCreateVO createVO;
|
||||
/**
|
||||
* 创建商品的参数
|
||||
*/
|
||||
private GoodsVO goodsVO;
|
||||
/**
|
||||
* 创建订单生成的参数
|
||||
*/
|
||||
private List<OrderCreateVO> orderList;
|
||||
/**
|
||||
* 公用或者私用
|
||||
*/
|
||||
private boolean canDistribute;
|
||||
}
|
@ -1,69 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.permission;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
@ApiModel(value="权限分发对象")
|
||||
@NoArgsConstructor
|
||||
@Getter
|
||||
@Setter
|
||||
public class PermissionTransVO {
|
||||
|
||||
/**
|
||||
* 权限类型
|
||||
*/
|
||||
@ApiModelProperty(value="权限类型")
|
||||
@NotBlank(message="权限类型不能为空")
|
||||
private String permissionType;
|
||||
|
||||
/**
|
||||
* 地图id
|
||||
*/
|
||||
@ApiModelProperty(value="地图id")
|
||||
private Long mapId;
|
||||
|
||||
/**
|
||||
* 地图产品编码
|
||||
*/
|
||||
@ApiModelProperty(value="地图产品编码")
|
||||
private String mapProductCode;
|
||||
|
||||
/**
|
||||
* 课程id
|
||||
*/
|
||||
@ApiModelProperty(value="课程id")
|
||||
private Long lessonId;
|
||||
|
||||
/**
|
||||
* 权限分发总数
|
||||
*/
|
||||
@ApiModelProperty(value="权限分发总数")
|
||||
@NotNull(message="数量不能为空")
|
||||
private Integer amount;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@ApiModelProperty(value="开始时间")
|
||||
@NotNull(message="开始时间不能为空")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@ApiModelProperty(value="结束时间")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 权限是否可以转赠
|
||||
*/
|
||||
@ApiModelProperty(value="权限是否可以转赠")
|
||||
private Boolean canDistribute;
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.permissionDistribute;
|
||||
|
||||
import club.joylink.rtss.vo.client.order.OrderCreateVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "权限分发快速创建")
|
||||
public class DistributeCreateQuicklyVO {
|
||||
|
||||
@Valid
|
||||
private OrderCreateVO orderCreateVO;
|
||||
|
||||
@NotNull(message = "是否可以分发不能为空")
|
||||
private Boolean canDistribute;
|
||||
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.permissionDistribute;
|
||||
|
||||
public class DistributeCreateVO {
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.plan;
|
||||
|
||||
import club.joylink.rtss.vo.client.map.newmap.MapRoutingDataVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@ApiModel(value = "用户交路数据对象")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class UserRoutingVO extends MapRoutingDataVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long mapId;
|
||||
|
||||
private Long userId;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.plan;
|
||||
|
||||
import club.joylink.rtss.vo.client.map.newmap.MapStationParkingTimeVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(value = "用户车站区段停站时间数据对象")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class UserStationParkingTimeVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long mapId;
|
||||
|
||||
private List<MapStationParkingTimeVO> stationParkingTimeVOList;
|
||||
|
||||
private Long userId;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.plan;
|
||||
|
||||
import club.joylink.rtss.vo.client.map.newmap.MapStationRunLevelVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(value = "用户站间距离和运行等级(站间运行时间)对象")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class UserStationRunLevelVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long mapId;
|
||||
|
||||
private List<MapStationRunLevelVO> stationRunLevelVOList;
|
||||
|
||||
private Long userId;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
@ -1,9 +1,6 @@
|
||||
package club.joylink.rtss.vo.client.plc;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.joylink.base.exception.BusinessException;
|
||||
import com.joylink.base.exception.constant.ExceptionMapping;
|
||||
import club.joylink.rtss.simulation.data.virtual.VirtualScreenDoor;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -1,19 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.plc;
|
||||
|
||||
import club.joylink.rtss.vo.client.PageQueryVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "plc网关配置查询对象")
|
||||
public class PLCGatewayConfigQueryVO extends PageQueryVO {
|
||||
|
||||
@ApiModelProperty(value = "网关名称")
|
||||
private String gatewayName;
|
||||
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.race;
|
||||
|
||||
import club.joylink.rtss.vo.client.competition.PracticalQuestionVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 竞赛实操题结果
|
||||
*/
|
||||
@ApiModel("竞赛实操题结果")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RacePracticalResultVO {
|
||||
|
||||
@ApiModelProperty("试题名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("试题描述")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty("总分")
|
||||
private Float totalScore;
|
||||
|
||||
@ApiModelProperty("得分")
|
||||
private Float score;
|
||||
|
||||
public RacePracticalResultVO(PracticalQuestionVO queryVO, RaceUserVO raceUserVO) {
|
||||
this.name = queryVO.getQuestion().getName();
|
||||
this.description = queryVO.getQuestion().getDescription();
|
||||
this.totalScore = queryVO.getScore();
|
||||
this.score = raceUserVO.getPracticeScore();
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.race;
|
||||
|
||||
import club.joylink.rtss.vo.client.PageQueryVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@ApiModel("竞赛查询")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class RaceQueryVO extends PageQueryVO {
|
||||
@ApiModelProperty("竞赛名称")
|
||||
private String raceName;
|
||||
|
||||
// @ApiModelProperty("是否仅查询未开始的竞赛")
|
||||
// private Boolean notStarted;
|
||||
}
|
@ -65,7 +65,7 @@ public class RaceResultDetailVO {
|
||||
public RaceResultDetailVO(RaceResult raceResult) {
|
||||
this.userRaceId = raceResult.getUserRaceId();
|
||||
this.questionId = raceResult.getQuestionId();
|
||||
if(StringUtils.isBlank(raceResult.getQuestionOptionId())){
|
||||
if(raceResult.getQuestionOptionId().isBlank()){
|
||||
this.answerOptionId = null;
|
||||
}else{
|
||||
this.answerOptionId = JsonUtils.read(raceResult.getQuestionOptionId(),JsonUtils.getCollectionType(List.class, Long.class));
|
||||
|
@ -1,80 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.race;
|
||||
|
||||
import club.joylink.rtss.entity.RaceResult;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class RaceResultVO {
|
||||
|
||||
/**
|
||||
* 用户竞赛id
|
||||
*/
|
||||
private Long userRaceId;
|
||||
|
||||
/**
|
||||
* 竞赛题目
|
||||
*/
|
||||
private String topic;
|
||||
|
||||
/**
|
||||
* 作答内容
|
||||
*/
|
||||
private String answerContent;
|
||||
|
||||
/**
|
||||
* 是否正确
|
||||
*/
|
||||
private Boolean correct;
|
||||
|
||||
/**
|
||||
* 得分
|
||||
*/
|
||||
private Float score;
|
||||
|
||||
/**
|
||||
* 题目分值
|
||||
*/
|
||||
private Float totalScore;
|
||||
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remarks;
|
||||
private Long userId;
|
||||
private String projectCode;
|
||||
private Integer companyId;
|
||||
|
||||
|
||||
public RaceResultVO(RaceResult raceResult) {
|
||||
this.topic = raceResult.getQuestionTopic();
|
||||
this.userRaceId = raceResult.getUserRaceId();
|
||||
this.answerContent = raceResult.getAnswerContent();
|
||||
this.correct = raceResult.getCorrect();
|
||||
this.score = raceResult.getScore();
|
||||
this.totalScore = raceResult.getTotalScore();
|
||||
this.remarks = raceResult.getRemarks();
|
||||
this.userId = raceResult.getUserId();
|
||||
this.projectCode = raceResult.getProjectCode();
|
||||
this.companyId = raceResult.getCompanyId();
|
||||
}
|
||||
|
||||
public RaceResult convert2DB() {
|
||||
RaceResult raceResult = new RaceResult();
|
||||
raceResult.setUserRaceId(userRaceId);
|
||||
raceResult.setQuestionTopic(topic);
|
||||
raceResult.setAnswerContent(answerContent);
|
||||
raceResult.setScore(score);
|
||||
raceResult.setTotalScore(totalScore);
|
||||
raceResult.setCorrect(correct);
|
||||
raceResult.setRemarks(remarks);
|
||||
raceResult.setUserId(userId);
|
||||
raceResult.setProjectCode(projectCode);
|
||||
raceResult.setCompanyId(companyId);
|
||||
return raceResult;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.race;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.member.SimulationMember;
|
||||
import club.joylink.rtss.entity.RaceUser;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
|
||||
@ApiModel("竞赛报名信息")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class RaceSignUpInfoVO {
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@NotBlank(message = "身份证号不能为空")
|
||||
@Pattern(regexp = "^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$",
|
||||
message = "身份证号格式不正确")
|
||||
@ApiModelProperty("身份证号")
|
||||
private String idNumber;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@Length(max = 10, message = "姓名长度不能超过10个字符")
|
||||
@NotBlank(message = "姓名不能为空")
|
||||
@ApiModelProperty("姓名")
|
||||
private String name;
|
||||
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
@Length(max = 11, message = "手机号长度不能超过11位")
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
@NotBlank(message = "验证码不能为空")
|
||||
@ApiModelProperty("验证码")
|
||||
private String vdCode;
|
||||
|
||||
/**
|
||||
* 所属组织/企业/学校
|
||||
*/
|
||||
@NotBlank(message = "所属组织/企业/学校不能为空")
|
||||
@Length(max = 30, message = "所属组织/企业/学校名称长度不能超过30个字符")
|
||||
@ApiModelProperty("所属组织/企业/学校")
|
||||
private String organization;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@NotBlank(message = "所属部门不能为空")
|
||||
@Length(max = 20, message = "所属部门名称长度不能超过20个字符")
|
||||
@ApiModelProperty("所属部门/专业")
|
||||
private String department;
|
||||
|
||||
/**
|
||||
* 职位
|
||||
*/
|
||||
@NotBlank(message = "职位不能为空")
|
||||
@Length(max = 20, message = "职位名称长度不能超过20个字符")
|
||||
@ApiModelProperty("职位")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 所选角色
|
||||
*/
|
||||
@NotNull(message = "角色不能为空")
|
||||
@ApiModelProperty("所选角色")
|
||||
private SimulationMember.Type type;
|
||||
|
||||
public RaceUser buildDB() {
|
||||
RaceUser user = new RaceUser();
|
||||
user.setIdNumber(this.idNumber);
|
||||
user.setName(this.name);
|
||||
user.setMobile(this.mobile);
|
||||
user.setOrganization(this.organization);
|
||||
user.setDepartment(this.department);
|
||||
user.setPosition(this.position);
|
||||
user.setRole(type.name());
|
||||
return user;
|
||||
}
|
||||
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.race;
|
||||
|
||||
import club.joylink.rtss.entity.Race;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@ApiModel("竞赛信息更新")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class RaceUpdateVO {
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("竞赛名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("开始日期")
|
||||
private LocalDate startDate;
|
||||
|
||||
@ApiModelProperty("结束日期")
|
||||
private LocalDate endDate;
|
||||
|
||||
@ApiModelProperty("关联的地图id")
|
||||
private Long mapId;
|
||||
|
||||
/**
|
||||
* 以当前对象的属性值覆盖数据库对象的对应属性值
|
||||
*/
|
||||
public void overWrite(Race race) {
|
||||
race.setName(this.name);
|
||||
race.setStartDate(this.startDate);
|
||||
race.setEndDate(this.endDate);
|
||||
race.setMapId(this.mapId);
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.race;
|
||||
|
||||
import club.joylink.rtss.vo.client.PageQueryVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@ApiModel("参赛者分页查询接口")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class RaceUserQueryVO extends PageQueryVO {
|
||||
/**
|
||||
* 参赛者名称
|
||||
*/
|
||||
@ApiModelProperty("参赛者名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 参赛者所属组织/企业/学校
|
||||
*/
|
||||
@ApiModelProperty("参赛者所属组织/企业/学校")
|
||||
private String organization;
|
||||
}
|
@ -1,141 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.race;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import club.joylink.rtss.simulation.cbtc.member.SimulationMember;
|
||||
import club.joylink.rtss.entity.RaceUser;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@ApiModel("竞赛参赛者")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class RaceUserVO {
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 赛事id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long raceId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 身份证
|
||||
*/
|
||||
private String idNumber;
|
||||
|
||||
/**
|
||||
* 报名时填写的名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 报名时填写的手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
private String organization;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
private String department;
|
||||
|
||||
/**
|
||||
* 职位
|
||||
*/
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 岗位
|
||||
*/
|
||||
@ApiModelProperty("在竞赛中扮演的成员的岗位")
|
||||
private SimulationMember.Type type;
|
||||
|
||||
/**
|
||||
* 报名时间
|
||||
*/
|
||||
@ApiModelProperty("报名时间")
|
||||
private LocalDateTime time;
|
||||
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 理论考试分数
|
||||
*/
|
||||
private Float theoryScore;
|
||||
|
||||
/**
|
||||
* 理论人工打分
|
||||
*/
|
||||
private Float artificialTheoryScore;
|
||||
|
||||
/**
|
||||
* 实操考试分数
|
||||
*/
|
||||
private Float practiceScore;
|
||||
|
||||
/**
|
||||
* 实操人工打分
|
||||
*/
|
||||
private Float artificialPracticeScore;
|
||||
|
||||
/**
|
||||
* 总分
|
||||
*/
|
||||
private Float totalScore;
|
||||
|
||||
/**
|
||||
* 所在仿真组
|
||||
*/
|
||||
private String group;
|
||||
|
||||
public RaceUserVO(RaceUser raceUser) {
|
||||
this.id = raceUser.getId();
|
||||
this.raceId = raceUser.getRaceId();
|
||||
this.userId = raceUser.getUserId();
|
||||
this.idNumber = raceUser.getIdNumber();
|
||||
this.name = raceUser.getName();
|
||||
this.mobile = raceUser.getMobile();
|
||||
this.organization = raceUser.getOrganization();
|
||||
this.department = raceUser.getDepartment();
|
||||
this.position = raceUser.getPosition();
|
||||
this.type = SimulationMember.Type.valueOf(raceUser.getRole());
|
||||
this.time = raceUser.getTime();
|
||||
this.status = raceUser.getStatus();
|
||||
this.theoryScore = raceUser.getTheoryScore();
|
||||
this.practiceScore = raceUser.getPracticeScore();
|
||||
}
|
||||
|
||||
public RaceUser buildDB() {
|
||||
RaceUser raceUser = new RaceUser();
|
||||
raceUser.setId(this.id);
|
||||
raceUser.setRaceId(this.raceId);
|
||||
raceUser.setUserId(this.userId);
|
||||
raceUser.setIdNumber(this.idNumber);
|
||||
raceUser.setName(this.name);
|
||||
raceUser.setMobile(this.mobile);
|
||||
raceUser.setOrganization(this.organization);
|
||||
raceUser.setDepartment(this.department);
|
||||
raceUser.setPosition(this.position);
|
||||
raceUser.setRole(this.type.name());
|
||||
raceUser.setTime(this.time);
|
||||
raceUser.setStatus(this.status);
|
||||
raceUser.setTheoryScore(this.theoryScore);
|
||||
raceUser.setPracticeScore(this.practiceScore);
|
||||
return raceUser;
|
||||
}
|
||||
}
|
@ -1,79 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.race;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import club.joylink.rtss.simulation.cbtc.member.SimulationMember;
|
||||
import club.joylink.rtss.entity.Race;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class RaceVO {
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 竞赛名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
private Long mapId;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
private LocalDate startDate;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 可选角色
|
||||
*/
|
||||
@ApiModelProperty("可选角色")
|
||||
private List<SimulationMember.Type> optionTypes;
|
||||
|
||||
/**
|
||||
* 创建者的id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long creatorId;
|
||||
|
||||
/**
|
||||
* 创建者姓名
|
||||
*/
|
||||
private String creatorName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 赛事状态
|
||||
*/
|
||||
private int status;
|
||||
|
||||
public RaceVO(Race race) {
|
||||
this.id = race.getId();
|
||||
this.name = race.getName();
|
||||
this.mapId = race.getMapId();
|
||||
this.startDate = race.getStartDate();
|
||||
this.endDate = race.getEndDate();
|
||||
this.optionTypes = Arrays.stream(race.getOptionalRoles().split(","))
|
||||
.map(SimulationMember.Type::valueOf).collect(Collectors.toList());
|
||||
this.creatorId = race.getCreatorId();
|
||||
this.createTime = race.getCreateTime();
|
||||
this.status = race.getStatus();
|
||||
}
|
||||
}
|
@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull;
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class ScriptActionNewUpdateVO {
|
||||
public class ScriptActionUpdateVO {
|
||||
@NotNull(message = "动作id不能为空")
|
||||
private String id;
|
||||
|
@ -24,7 +24,7 @@ import java.util.stream.Collectors;
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "剧本动作")
|
||||
public class ScriptActionNewVO {
|
||||
public class ScriptActionVO {
|
||||
|
||||
private String id;
|
||||
|
||||
@ -101,7 +101,7 @@ public class ScriptActionNewVO {
|
||||
@ApiModelProperty(value = "动作触发条件")
|
||||
private ScriptActionBO.Condition condition;
|
||||
|
||||
public ScriptActionNewVO(ScriptActionBO action) {
|
||||
public ScriptActionVO(ScriptActionBO action) {
|
||||
this.id = action.getId();
|
||||
this.type = action.getType();
|
||||
this.memberId = action.getMember().getId();
|
||||
@ -119,7 +119,7 @@ public class ScriptActionNewVO {
|
||||
this.condition = action.getCondition();
|
||||
}
|
||||
|
||||
public ScriptActionNewVO(ScriptActionPO action) {
|
||||
public ScriptActionVO(ScriptActionPO action) {
|
||||
this.id = action.getId();
|
||||
this.type = action.getType();
|
||||
this.memberId = action.getMemberId();
|
||||
@ -139,8 +139,8 @@ public class ScriptActionNewVO {
|
||||
/**
|
||||
* 构建剧本提示VO
|
||||
*/
|
||||
public static ScriptActionNewVO buildScriptTipVO(ScriptActionBO action) {
|
||||
ScriptActionNewVO vo = new ScriptActionNewVO(action);
|
||||
public static ScriptActionVO buildScriptTipVO(ScriptActionBO action) {
|
||||
ScriptActionVO vo = new ScriptActionVO(action);
|
||||
vo.setCondition(null);
|
||||
return vo;
|
||||
}
|
||||
@ -148,21 +148,21 @@ public class ScriptActionNewVO {
|
||||
/**
|
||||
* 构建剧本动作完成提示VO
|
||||
*/
|
||||
public static ScriptActionNewVO buildFinishTipVO(ScriptActionBO action) {
|
||||
ScriptActionNewVO vo = new ScriptActionNewVO();
|
||||
public static ScriptActionVO buildFinishTipVO(ScriptActionBO action) {
|
||||
ScriptActionVO vo = new ScriptActionVO();
|
||||
vo.setId(action.getId());
|
||||
return vo;
|
||||
}
|
||||
|
||||
public static List<ScriptActionNewVO> convertFromBOList(List<ScriptActionBO> list) {
|
||||
List<ScriptActionNewVO> voList = new ArrayList<>();
|
||||
public static List<ScriptActionVO> convertFromBOList(List<ScriptActionBO> list) {
|
||||
List<ScriptActionVO> voList = new ArrayList<>();
|
||||
if(!CollectionUtils.isEmpty(list)) {
|
||||
list.forEach(scriptAction -> voList.add(new ScriptActionNewVO(scriptAction)));
|
||||
list.forEach(scriptAction -> voList.add(new ScriptActionVO(scriptAction)));
|
||||
}
|
||||
return voList;
|
||||
}
|
||||
|
||||
public static List<ScriptActionNewVO> convertFromPOList(List<ScriptActionPO> actionPOList) {
|
||||
return actionPOList.stream().map(ScriptActionNewVO::new).collect(Collectors.toList());
|
||||
public static List<ScriptActionVO> convertFromPOList(List<ScriptActionPO> actionPOList) {
|
||||
return actionPOList.stream().map(ScriptActionVO::new).collect(Collectors.toList());
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package club.joylink.rtss.vo.client.script;
|
||||
|
||||
import club.joylink.rtss.vo.UserVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "剧本用户选择扮演的角色")
|
||||
public class ScriptUserPlayRole {
|
||||
|
||||
private UserVO userVO;
|
||||
|
||||
private String memberId;
|
||||
|
||||
public ScriptUserPlayRole(UserVO userVO, String memberId) {
|
||||
this.userVO = userVO;
|
||||
this.memberId = memberId;
|
||||
}
|
||||
|
||||
}
|
@ -86,7 +86,7 @@ public class ScriptVO {
|
||||
/**
|
||||
* 剧本动作
|
||||
*/
|
||||
private List<ScriptActionNewVO> actionList = new ArrayList<>();
|
||||
private List<ScriptActionVO> actionList = new ArrayList<>();
|
||||
|
||||
private Integer fullMarksDuration;
|
||||
|
||||
@ -129,7 +129,7 @@ public class ScriptVO {
|
||||
this.mapLocation = script.getMapLocation();
|
||||
this.bgSet = Objects.nonNull(script.getBgScenesJson());
|
||||
this.memberList = SimulationMemberVO.convert2VOList(script.getMemberList());
|
||||
this.actionList = ScriptActionNewVO.convertFromBOList(script.getActionList());
|
||||
this.actionList = ScriptActionVO.convertFromBOList(script.getActionList());
|
||||
this.fullMarksDuration = script.getFullMarksDuration();
|
||||
this.passingGradeDuration = script.getPassingGradeDuration();
|
||||
this.zeroDuration = script.getZeroDuration();
|
||||
@ -191,7 +191,7 @@ public class ScriptVO {
|
||||
}
|
||||
if (Objects.nonNull(script.getActionsJson())) {
|
||||
List<ScriptActionPO> actionPOList = JsonUtils.read(script.getActionsJson(), JsonUtils.getCollectionType(ArrayList.class, ScriptActionPO.class));
|
||||
this.actionList = ScriptActionNewVO.convertFromPOList(actionPOList);
|
||||
this.actionList = ScriptActionVO.convertFromPOList(actionPOList);
|
||||
}
|
||||
this.bgScenesJson = script.getBgScenesJson();
|
||||
this.finalScenesJson = script.getFinalScenesJson();
|
||||
|
Loading…
Reference in New Issue
Block a user