package com.xiaopeng.order.controller;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.xiaopeng.api.model.order.XpOrderReassign;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.order.service.IXpOrderReassignService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
*
* 订单改派 前端控制器
*
*
* @author mitao
* @since 2026-02-03
*/
@RestController
@Api(tags = "订单改派")
@RequiredArgsConstructor
public class XpOrderReassignController {
@Resource
private IXpOrderReassignService xpOrderReassignService;
/**
* 获取获取订单改派数据(内部接口)
*
* @return
*/
@ApiOperation(value = "获取获取订单改派数据", tags = {"内部接口"})
@PostMapping("/logan/inner/orderReassign/findList")
public R> findListOrderReassign() {
return R.ok(xpOrderReassignService.findListNotComplete());
}
/**
* 保存(内部接口)
* @return
*/
@ApiOperation(value = "保存", tags = {"内部接口"})
@PostMapping("/logan/inner/orderReassign/save")
public R saveOrderReassign(@RequestBody XpOrderReassign entity) {
entity.setCreateTime(LocalDateTime.now());
entity.setUpdateTime(LocalDateTime.now());
boolean save = xpOrderReassignService.saveInfo(entity);
if (!save) {
return R.fail("保存失败");
}
return R.ok(entity.getId());
}
/**
* 修改数据
* @return
*/
@ApiOperation(value = "修改数据", tags = {"内部接口"})
@PostMapping("/logan/inner/orderReassign/update")
public R updateByIdOrderReassign(@RequestBody XpOrderReassign entity) {
entity.setUpdateTime(LocalDateTime.now());
boolean save = xpOrderReassignService.updateById(entity);
if (!save) {
return R.fail("修改失败");
}
return R.ok();
}
/**
* 修改是否完成
* @return
*/
@ApiOperation(value = "修改是否完成", tags = {"内部接口"})
@PostMapping("/logan/inner/orderReassign/updateComplete")
public R updateCompleteOrderReassign(@RequestBody XpOrderReassign entity) {
LambdaUpdateWrapper update = new LambdaUpdateWrapper<>();
update.eq(XpOrderReassign::getIsComplete,false);
update.eq(XpOrderReassign::getReassignNum,3);//改派小于3次
update.set(XpOrderReassign::getUpdateTime,LocalDateTime.now());
update.set(XpOrderReassign::getReassignNum,entity.getReassignNum());
if(entity.getIsComplete()){
update.set(XpOrderReassign::getNewVehicleId,entity.getNewVehicleId());
update.set(XpOrderReassign::getNewFleetId,entity.getNewFleetId());
update.set(XpOrderReassign::getIsComplete,true);
}
boolean b = xpOrderReassignService.update(update);
if (!b) {
return R.fail("修改失败");
}
return R.ok();
}
}