新购模块优化

This commit is contained in:
sxu 2024-11-18 18:43:50 +08:00
parent 5d0dfc02fa
commit 3d7dd6bb2c
3 changed files with 64 additions and 63 deletions

View File

@ -80,7 +80,7 @@ public interface PurchaseBindMapper {
* @param updatedStatus
* @param purchaseId
*/
void updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") String purchaseId);
int updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") String purchaseId);
/**
* 更新数量

View File

@ -158,17 +158,17 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
}
}
}
PurchaseDto purchaseDto = new PurchaseDto();
purchaseDto.setTaskId(dto.getTaskId());
List<PurchaseVo> list = purchaseBindMapper.getDetails(purchaseDto);
Map<Integer, List<Integer>> groupedByIdStatus = list.stream()
.collect(Collectors.groupingBy(
PurchaseVo::getTaskId,
Collectors.mapping(PurchaseVo::getStatus, Collectors.toList())
));
result += groupedByIdStatus.entrySet().stream()
.mapToInt(entry -> updateTaskStatus(entry.getKey(), entry.getValue()))
.sum();
// PurchaseDto purchaseDto = new PurchaseDto();
// purchaseDto.setTaskId(dto.getTaskId());
// List<PurchaseVo> list = purchaseBindMapper.getDetails(purchaseDto);
// Map<Integer, List<Integer>> groupedByIdStatus = list.stream()
// .collect(Collectors.groupingBy(
// PurchaseVo::getTaskId,
// Collectors.mapping(PurchaseVo::getStatus, Collectors.toList())
// ));
// result += groupedByIdStatus.entrySet().stream()
// .mapToInt(entry -> updateTaskStatus(entry.getKey(), entry.getValue()))
// .sum();
if (result > 0) {
return AjaxResult.success("绑定成功");
}
@ -181,17 +181,17 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
* @param statusList
* @return
*/
private int updateTaskStatus(Integer taskId, List<Integer> statusList) {
if (statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) ||
statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())) {
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
} else if (!statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) &&
!statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus()) &&
statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), taskId.toString());
}
return 0;
}
// private int updateTaskStatus(Integer taskId, List<Integer> statusList) {
// if (statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) ||
// statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())) {
// return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
// } else if (!statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) &&
// !statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus()) &&
// statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
// return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), taskId.toString());
// }
// return 0;
// }
/**
* 下载二维码
@ -243,27 +243,27 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
}
}
}
result += tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, dto.getTaskId());
//result += tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, dto.getTaskId());
}
//二级页面驳回
if (dto.getPurchaseId() != null) {
List<String> idList = Arrays.asList(dto.getPurchaseId().split(","));
for (String purchaseId : idList) {
purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseId);
}
for (String id : idList) {
//根据二级页面驳回状态更新任务状态
dto.setPurchaseId(id);
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
if (CollectionUtils.isNotEmpty(list)) {
for (PurchaseVo purchaseVo : list) {
PurchaseDto purchaseDto = new PurchaseDto();
purchaseDto.setTaskId(purchaseVo.getTaskId().toString());
List<PurchaseVo> voList = purchaseBindMapper.getDetails(purchaseDto);
result = getResult(result, voList);
}
}
result += purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseId);
}
// for (String id : idList) {
// //根据二级页面驳回状态更新任务状态
// dto.setPurchaseId(id);
// List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
// if (CollectionUtils.isNotEmpty(list)) {
// for (PurchaseVo purchaseVo : list) {
// PurchaseDto purchaseDto = new PurchaseDto();
// purchaseDto.setTaskId(purchaseVo.getTaskId().toString());
// List<PurchaseVo> voList = purchaseBindMapper.getDetails(purchaseDto);
// result = getResult(result, voList);
// }
// }
// }
}
if (result > 0) {
return AjaxResult.success("操作成功");
@ -277,27 +277,27 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
* @param voList
* @return
*/
private int getResult(int result, List<PurchaseVo> voList) {
Map<Integer, List<Integer>> groupedByIdStatus = voList.stream()
.collect(Collectors.groupingBy(
PurchaseVo::getTaskId,
Collectors.mapping(PurchaseVo::getStatus, Collectors.toList())
));
result += groupedByIdStatus.entrySet().stream()
.mapToInt(entry -> {
Integer taskId = entry.getKey();
List<Integer> statusList = entry.getValue();
if (statusList.contains(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus()) ||
statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())) {
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
} else if (!statusList.contains(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus()) && !statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())
&& statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), taskId.toString());
}
return 0;
}).sum();
return result;
}
// private int getResult(int result, List<PurchaseVo> voList) {
// Map<Integer, List<Integer>> groupedByIdStatus = voList.stream()
// .collect(Collectors.groupingBy(
// PurchaseVo::getTaskId,
// Collectors.mapping(PurchaseVo::getStatus, Collectors.toList())
// ));
// result += groupedByIdStatus.entrySet().stream()
// .mapToInt(entry -> {
// Integer taskId = entry.getKey();
// List<Integer> statusList = entry.getValue();
// if (statusList.contains(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus()) ||
// statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())) {
// return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
// } else if (!statusList.contains(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus()) && !statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())
// && statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
// return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), taskId.toString());
// }
// return 0;
// }).sum();
// return result;
// }
/**
* 内层二维码下载

View File

@ -317,10 +317,11 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
.mapToInt(entry -> {
Integer id = entry.getKey();
List<Integer> statusList = entry.getValue();
if (statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus()) || statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus())) {
return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus(), id.toString());
} else if (!statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus()) && !statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus())
&& statusList.stream().allMatch(status -> status.equals(PurchaseTaskStatusEnum.IN_STORE.getStatus()))) {
// if (statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus()) || statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus())) {
// return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus(), id.toString());
// } else
if (!statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus()) && !statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus())
&& statusList.stream().allMatch(status -> status.equals(PurchaseTaskStatusEnum.IN_STORE.getStatus()))) {
return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.TASK_FINISHED.getStatus(), id.toString());
}
return 0;