新购模块优化

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

View File

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