feat:完成更改结算单状态接口;补充相关的swagger文档
This commit is contained in:
parent
46517c7c28
commit
e63d51c064
@ -804,10 +804,46 @@ public class OrderBiz {
|
|||||||
*
|
*
|
||||||
* @param settlementOrderId 结算订单ID
|
* @param settlementOrderId 结算订单ID
|
||||||
* @param settlementOrderStatus {@link SettlementStatusEnum} 更新的状态枚举值
|
* @param settlementOrderStatus {@link SettlementStatusEnum} 更新的状态枚举值
|
||||||
* @return Boolean
|
|
||||||
*/
|
*/
|
||||||
public Boolean updateSettlementOrderStatus(Long settlementOrderId, Integer settlementOrderStatus) {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
return true;
|
public void updateSettlementOrderStatus(Long settlementOrderId, Integer settlementOrderStatus) {
|
||||||
|
SettlementMain settlementMain = settlementMainService.obtainSettlementMainById(settlementOrderId);
|
||||||
|
if (ObjectUtil.isNull(settlementMain)) {
|
||||||
|
throw new BadRequestException("结算订单不存在");
|
||||||
|
}
|
||||||
|
// 结算单状态相同或者结算完成,则不处理
|
||||||
|
if (settlementOrderStatus.equals(settlementMain.getSettlementStatus())
|
||||||
|
|| SettlementStatusEnum.CONFIRMED.getCode().equals(settlementMain.getSettlementStatus())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 如果结算单状态本身为取消则不许再处理
|
||||||
|
if (SettlementStatusEnum.CANCELED.getCode().equals(settlementMain.getSettlementStatus())) {
|
||||||
|
throw new BadRequestException("结算单已取消,无法变更状态");
|
||||||
|
}
|
||||||
|
// 查询出所有明细
|
||||||
|
List<SettlementDetail> settlementDetailList = settlementDetailService.obtainDetailBySettlementOrderId(settlementOrderId);
|
||||||
|
|
||||||
|
// 获取所有订单ID
|
||||||
|
List<Long> orderIds = settlementDetailList.stream().map(SettlementDetail::getOrderId).toList();
|
||||||
|
// 获取id
|
||||||
|
List<Long> ids = settlementDetailList.stream().map(SettlementDetail::getId).toList();
|
||||||
|
// 更新结算单的状态
|
||||||
|
settlementMainService.updateSettlementStatus(settlementOrderId, settlementOrderStatus);
|
||||||
|
// 订单等于完成或取消才去更新结算单的状态
|
||||||
|
if (SettlementStatusEnum.SETTLING.getCode().equals(settlementOrderStatus) ||
|
||||||
|
SettlementStatusEnum.SETTLED.getCode().equals(settlementOrderStatus)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Integer updateStatus = null;
|
||||||
|
if (SettlementStatusEnum.CANCELED.getCode().equals(settlementOrderStatus)) {
|
||||||
|
updateStatus = OrderSettlementStatusEnum.NOT_SETTLED.getCode();
|
||||||
|
} else {
|
||||||
|
updateStatus = OrderSettlementStatusEnum.SETTLED.getCode();
|
||||||
|
}
|
||||||
|
// 更新订单表的状态
|
||||||
|
orderMainService.updateSettlementStatus(orderIds, updateStatus);
|
||||||
|
// 更新结算订单状态
|
||||||
|
settlementDetailService.updateSettlementOrderStatus(ids, updateStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -72,12 +72,13 @@ public class SettlementMainController {
|
|||||||
|
|
||||||
@ApiOperation("更新结算单状态")
|
@ApiOperation("更新结算单状态")
|
||||||
@PutMapping("/updateSettlementOrderStatus/{settlementOrderId}/{settlementOrderStatus}")
|
@PutMapping("/updateSettlementOrderStatus/{settlementOrderId}/{settlementOrderStatus}")
|
||||||
public ResponseEntity<Boolean> updateSettlementOrderStatus(
|
public ResponseEntity<Object> updateSettlementOrderStatus(
|
||||||
@ApiParam(value = "结算订单ID", required = true, example = "1946509536383438850")
|
@ApiParam(value = "结算订单ID", required = true, example = "1946509536383438850")
|
||||||
@PathVariable("settlementOrderId") Long settlementOrderId,
|
@PathVariable("settlementOrderId") Long settlementOrderId,
|
||||||
@ApiParam(value = "结算单状态: 0=结算中, 1=已确认, 2=已完成, 3=结算完成, 4=已取消", required = true, example = "1")
|
@ApiParam(value = "结算单状态: 0=结算中, 1=已确认, 2=已完成, 3=结算完成, 4=已取消", required = true, example = "1")
|
||||||
@PathVariable("settlementOrderStatus") Integer settlementOrderStatus) {
|
@PathVariable("settlementOrderStatus") Integer settlementOrderStatus) {
|
||||||
return new ResponseEntity<>(orderBiz.updateSettlementOrderStatus(settlementOrderId, settlementOrderStatus),HttpStatus.OK);
|
orderBiz.updateSettlementOrderStatus(settlementOrderId, settlementOrderStatus);
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "获取生成结算单确认列表")
|
@ApiOperation(value = "获取生成结算单确认列表")
|
||||||
|
@ -32,7 +32,7 @@ public class OrderMainPageQueryVO {
|
|||||||
/**
|
/**
|
||||||
* 订单状态
|
* 订单状态
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "订单状态")
|
@ApiModelProperty(value = "订单状态(0=未进行,1=进行中,2=已完成,3=已取消)")
|
||||||
private Integer mainOrderStatus;
|
private Integer mainOrderStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -93,7 +93,7 @@ public class OrderMainPageQueryVO {
|
|||||||
/**
|
/**
|
||||||
* 结算状态
|
* 结算状态
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "结算状态: 0=未结算, 1=已结算")
|
@ApiModelProperty(value = "结算状态: 0=未结算, 1=结算中, 2=结算完成")
|
||||||
private Integer settlementStatus;
|
private Integer settlementStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,4 +29,12 @@ public interface ISettlementDetailService extends IService<SettlementDetail> {
|
|||||||
* @return List<SettlementDetail>
|
* @return List<SettlementDetail>
|
||||||
*/
|
*/
|
||||||
List<SettlementDetail> obtainDetailBySettlementOrderId(Long settlementOrderId);
|
List<SettlementDetail> obtainDetailBySettlementOrderId(Long settlementOrderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新结算单状态
|
||||||
|
*
|
||||||
|
* @param ids id集合
|
||||||
|
* @param updateStatus 状态
|
||||||
|
*/
|
||||||
|
void updateSettlementOrderStatus(List<Long> ids, Integer updateStatus);
|
||||||
}
|
}
|
||||||
|
@ -41,4 +41,13 @@ public interface ISettlementMainService extends IService<SettlementMain> {
|
|||||||
* @return {@link SettlementMain}
|
* @return {@link SettlementMain}
|
||||||
*/
|
*/
|
||||||
SettlementMain obtainSettlementMainById(Long settlementOrderId);
|
SettlementMain obtainSettlementMainById(Long settlementOrderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 更新结算单状态
|
||||||
|
*
|
||||||
|
* @param settlementOrderId 结算单ID
|
||||||
|
* @param settlementOrderStatus 结算单状态: 0=结算中, 1=已确认, 2=已完成, 3=结算完成, 4=已取消
|
||||||
|
*/
|
||||||
|
void updateSettlementStatus(Long settlementOrderId, Integer settlementOrderStatus);
|
||||||
}
|
}
|
||||||
|
@ -31,4 +31,11 @@ public class SettlementDetailServiceImpl extends ServiceImpl<SettlementDetailMap
|
|||||||
.eq(SettlementDetail::getSettlementMainId, settlementOrderId)
|
.eq(SettlementDetail::getSettlementMainId, settlementOrderId)
|
||||||
.orderByDesc(SettlementDetail::getId));
|
.orderByDesc(SettlementDetail::getId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateSettlementOrderStatus(List<Long> ids, Integer updateStatus) {
|
||||||
|
this.update(Wrappers.lambdaUpdate(SettlementDetail.class)
|
||||||
|
.set(SettlementDetail::getSettlementStatus, updateStatus)
|
||||||
|
.in(SettlementDetail::getId, ids));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import com.aircraft.modules.order.domain.SettlementMain;
|
|||||||
import com.aircraft.modules.order.mapper.SettlementMainMapper;
|
import com.aircraft.modules.order.mapper.SettlementMainMapper;
|
||||||
import com.aircraft.modules.order.service.ISettlementMainService;
|
import com.aircraft.modules.order.service.ISettlementMainService;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -38,4 +39,11 @@ public class SettlementMainServiceImpl extends ServiceImpl<SettlementMainMapper,
|
|||||||
public SettlementMain obtainSettlementMainById(Long settlementOrderId) {
|
public SettlementMain obtainSettlementMainById(Long settlementOrderId) {
|
||||||
return this.getById(settlementOrderId);
|
return this.getById(settlementOrderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateSettlementStatus(Long settlementOrderId, Integer settlementOrderStatus) {
|
||||||
|
this.update(Wrappers.<SettlementMain>lambdaUpdate()
|
||||||
|
.eq(SettlementMain::getId, settlementOrderId)
|
||||||
|
.set(SettlementMain::getSettlementStatus, settlementOrderStatus));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user