Commit 0cdc8d47 by huangjinxin

fix:增加技能校验

1 parent f241e2af
......@@ -136,7 +136,9 @@ public enum StatusCodeEnum {
RESOURCE_USER_EXISTS_ROLE("025", "角色已绑定用户,请解绑用户后再删除角色!", false),
ORDER_EXISTS("026", "订单已存在", false);
ORDER_EXISTS("026", "订单已存在", false),
ORDER_SKILL_NOT_EXISTS("027", "订单所需技能不存在,请核对!", false);
/**
* 状态码
......
......@@ -227,6 +227,11 @@ public class FendanServiceImpl implements FendanService {
@Override
public Result<OrgTeamInfo> fendanToGroupCapacity(OrderDTO.OrderCreateRequest request, Integer isDate, LocalDate targetDate, LocalTime startTime, LocalTime endTime) {
List<OrgGroupInfo> orgGroupTeamInfos = new ArrayList<>();
String peaBrand = fixBrand(request.getBrand());
SkillInfoEntity skillInfo = skillInfoDao.getByBrandAndTypeAndSkill(peaBrand, request.getProductType(), request.getServiceType());
if (ObjectUtil.isNull(skillInfo)) {
return Result.failed(StatusCodeEnum.ORDER_SKILL_NOT_EXISTS);
}
//1:根据经纬度分单获取面
FendanDTO fendanDTO = new FendanDTO();
fendanDTO.setXy(request.getLocation().getLongitude() + "," + request.getLocation().getLatitude());
......@@ -236,7 +241,6 @@ public class FendanServiceImpl implements FendanService {
}
//2:根据服务范围匹配工作队
String peaBrand = fixBrand(request.getBrand());
List<String> blockIds = blockInfos.stream().map(SaasUtils.BlockInfo::getBlockId).distinct().collect(Collectors.toList());
List<MapBlockInfoEntity> mapBlockInBlockIdsList = new ArrayList<>();
//区划所在范围所有工作队
......@@ -296,8 +300,11 @@ public class FendanServiceImpl implements FendanService {
service.setBrand(peaBrand);
service.setProductType(request.getProductType());
service.setServiceType(request.getServiceType());
SkillInfoEntity skillInfo = skillInfoDao.getByBrandAndTypeAndSkill(peaBrand, request.getProductType(), request.getServiceType());
for (OrgGroupInfo orgGroupInfo : orgGroupTeamInfos) {
//网点无限容量直接返回
if (orgGroupInfo.getCategory() == 2) {
return Result.success(orgGroupInfo.getTeamInfos().get(0));
}
CapacityQueryDTO.Segment capacity = isDate == 1 ? capacityQueryService.queryCapacityByTeam(orgGroupInfo.getTeamInfos().get(0).getTeamId(), service, targetDate) :
capacityQueryService.queryCapacityByTeam(orgGroupInfo.getTeamInfos().get(0).getTeamId(), service, targetDate, startTime, endTime);
if (ObjectUtil.isNotNull(capacity) && capacity.getStatus() == 1 && capacity.getMaxDuration() > skillInfo.getTakeTime()) {
......
......@@ -159,6 +159,9 @@ public class OrderCreateServiceImpl implements OrderCreateService {
}
// 分单处理
Result<OrgTeamInfo> fendanResult = fendanService.fendanToGroupCapacity(req, 2, entity.getExpectTimeBegin().toLocalDate(), entity.getExpectTimeBegin().toLocalTime(), entity.getExpectTimeEnd().toLocalTime());
if (fendanResult.getCode().equals(StatusCodeEnum.ORDER_SKILL_NOT_EXISTS.getCode())) {
return fendanResult;
}
if (!fendanResult.getCode().equals(ResultEnum.SUCCESS.getCode()) || ObjectUtil.isNull(fendanResult.getResult())) {
if (fendanResult.getCode().equals(StatusCodeEnum.FENDAN_IS_TRANSCEND.getCode())) {
// 处理超派
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!