package com.xiaopeng.maintenance.controller;
|
|
import com.xiaopeng.api.feignClient.operation.XpPricingClient;
|
import com.xiaopeng.api.model.maintenance.XpVehicleModel;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.common.core.web.page.PageInfo;
|
import com.xiaopeng.maintenance.model.query.XpVehicleModelPageQuery;
|
import com.xiaopeng.maintenance.service.IXpVehicleModelService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.validation.Valid;
|
import java.util.List;
|
|
@Slf4j
|
@Api(tags = "车型")
|
@RestController
|
@RequestMapping("")
|
public class XpVehicleModelController {
|
|
@Autowired
|
IXpVehicleModelService xpVehicleModelService;
|
@Resource
|
private XpPricingClient xpPricingClient;
|
|
|
@ApiOperation(value = "分页列表", tags = "管理后台-分页列表")
|
@PostMapping("/logan/inner/xpVehicleModel/pageList")
|
public R<PageInfo<XpVehicleModel>> pageList(@RequestBody XpVehicleModelPageQuery query) {
|
PageInfo<XpVehicleModel> pageInfo = xpVehicleModelService.pageList(query);
|
return R.ok(pageInfo);
|
}
|
@ApiOperation(value = "根据ID查询", tags = "管理后台-车型根据ID查询")
|
@GetMapping("/logan/inner/xpVehicleModel/getById")
|
public R<XpVehicleModel> getById(@RequestParam String id) {
|
if (id == null || id.isEmpty()) {
|
return R.fail("参数错误");
|
}
|
XpVehicleModel model = xpVehicleModelService.getById(id);
|
if (model == null) {
|
return R.fail("数据不存在");
|
}
|
return R.ok(model);
|
}
|
|
|
@ApiOperation(value = "新增", tags = "管理后台-车型新增")
|
@PostMapping("/logan/inner/xpVehicleModel/add")
|
public R<String> add(@RequestBody @Valid XpVehicleModel dto) {
|
// 根据名称查询车辆型号,验证是否已存在
|
List<XpVehicleModel> existingModel = xpVehicleModelService.queryByName(dto.getName());
|
if (existingModel != null) {
|
return R.fail("车辆型号名称已存在");
|
}
|
boolean b = xpVehicleModelService.save(dto);
|
if(b){
|
return R.ok();
|
}
|
return R.fail("保存失败");
|
}
|
|
@ApiOperation(value = "编辑", tags = "管理后台-车型编辑")
|
@PostMapping("/logan/inner/xpVehicleModel/edit")
|
public R<String> edit(@RequestBody @Valid XpVehicleModel dto) {
|
if(dto.getId() == null){
|
return R.fail("参数错误");
|
}
|
XpVehicleModel model = xpVehicleModelService.getById(dto.getId());
|
if(model == null){
|
return R.fail("参数错误");
|
}
|
if(!model.getName().equals(dto.getName())){
|
List<XpVehicleModel> existingModel = xpVehicleModelService.queryByName(dto.getName());
|
if (existingModel != null) {
|
return R.fail("车辆型号名称已存在");
|
}
|
}
|
boolean b = xpVehicleModelService.updateById(dto);
|
if(b){
|
return R.ok();
|
}
|
return R.fail("保存失败");
|
}
|
|
@ApiOperation(value = "删除", tags = "管理后台-车型删除")
|
@DeleteMapping("/logan/inner/xpVehicleModel/deleteById")
|
public R<String> deleteById(@RequestParam String id) {
|
/*
|
1.判断车型是否被 车辆 xp_vehicle使用。
|
2.判断车型是否被 定价管理 xp_pricing使用。
|
*/
|
int vehicleCount = xpVehicleModelService.getVehicleCount(id);
|
if (vehicleCount > 0) {
|
return R.fail("车辆型号已被车辆使用");
|
}
|
R<Long> priceCountByVmidR = xpPricingClient.getPriceCountByVmid(id);
|
if (priceCountByVmidR.getCode() != R.SUCCESS || priceCountByVmidR.getData() == null) {
|
return R.fail("根据车型获取定价策略失败");
|
}
|
if(priceCountByVmidR.getData()>0){
|
return R.fail("车辆型号已被定价策略使用");
|
}
|
boolean b = xpVehicleModelService.logicalRemoveById(id);
|
if(b){
|
return R.ok();
|
}
|
return R.fail("删除失败");
|
}
|
|
|
@ApiOperation(value = "全列表查询", tags = "管理后台-车型全列表查询")
|
@PostMapping("/logan/inner/xpVehicleModel/list")
|
public R<List<XpVehicleModel>> list() {
|
List<XpVehicleModel> list = xpVehicleModelService.queryList();
|
return R.ok(list);
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|