|
|
|
@ -94,7 +94,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
@Operation(summary="小程序产品规格类型-添加") |
|
|
|
// @RequiresPermissions("appletproductspectype:appletproductspectype:add") |
|
|
|
@PostMapping(value = "/add") |
|
|
|
public Result<String> add(@RequestBody Appletproductspectype appletproductspectype) { |
|
|
|
public Result<String> add(Appletproductspectype appletproductspectype) { |
|
|
|
// 参数校验:产品ID、类型必填;并约束二级分类的父子关系 |
|
|
|
if (oConvertUtils.isEmpty(appletproductspectype.getProductId()) || oConvertUtils.isEmpty(appletproductspectype.getType())) { |
|
|
|
return Result.error("缺少产品ID或类型"); |
|
|
|
@ -112,7 +112,9 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
return Result.error("规格项必须关联父规格类型"); |
|
|
|
} |
|
|
|
QueryWrapper<Appletproductspectype> parentQuery = new QueryWrapper<>(); |
|
|
|
parentQuery.eq("id", pid).eq("product_id", appletproductspectype.getProductId()).eq("type", "0"); |
|
|
|
parentQuery.lambda().eq(Appletproductspectype::getId, pid) |
|
|
|
.eq(Appletproductspectype::getProductId, appletproductspectype.getProductId()) |
|
|
|
.eq(Appletproductspectype::getType, "0"); |
|
|
|
Appletproductspectype parentType = appletproductspectypeService.getOne(parentQuery); |
|
|
|
if (parentType == null) { |
|
|
|
return Result.error("父规格类型不存在或不匹配该产品"); |
|
|
|
@ -133,7 +135,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
@Operation(summary="小程序产品规格类型-编辑") |
|
|
|
// @RequiresPermissions("appletproductspectype:appletproductspectype:edit") |
|
|
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
|
|
|
public Result<String> edit(@RequestBody Appletproductspectype appletproductspectype) { |
|
|
|
public Result<String> edit(Appletproductspectype appletproductspectype) { |
|
|
|
if (oConvertUtils.isEmpty(appletproductspectype.getId())) { |
|
|
|
return Result.error("缺少ID"); |
|
|
|
} |
|
|
|
@ -163,7 +165,9 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
return Result.error("规格项必须关联父规格类型"); |
|
|
|
} |
|
|
|
QueryWrapper<Appletproductspectype> parentQuery = new QueryWrapper<>(); |
|
|
|
parentQuery.eq("id", pid).eq("product_id", appletproductspectype.getProductId()).eq("type", "0"); |
|
|
|
parentQuery.lambda().eq(Appletproductspectype::getId, pid) |
|
|
|
.eq(Appletproductspectype::getProductId, appletproductspectype.getProductId()) |
|
|
|
.eq(Appletproductspectype::getType, "0"); |
|
|
|
Appletproductspectype parentType = appletproductspectypeService.getOne(parentQuery); |
|
|
|
if (parentType == null) { |
|
|
|
return Result.error("父规格类型不存在或不匹配该产品"); |
|
|
|
@ -201,7 +205,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
if ("0".equals(entity.getType())) { |
|
|
|
// 如果是规格类型,需要检查其下的所有规格项 |
|
|
|
QueryWrapper<Appletproductspectype> childQuery = new QueryWrapper<>(); |
|
|
|
childQuery.eq("pid", id); |
|
|
|
childQuery.lambda().eq(Appletproductspectype::getPid, id); |
|
|
|
List<Appletproductspectype> childItems = appletproductspectypeService.list(childQuery); |
|
|
|
for (Appletproductspectype item : childItems) { |
|
|
|
if (appletProductSpecService.hasOnShelfAssociatedSpecs(productId, item.getTitle())) { |
|
|
|
@ -232,7 +236,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
Appletproductspectype entity = appletproductspectypeService.getById(id); |
|
|
|
if (entity != null && "0".equals(entity.getType())) { |
|
|
|
QueryWrapper<Appletproductspectype> childQuery = new QueryWrapper<>(); |
|
|
|
childQuery.eq("pid", id); |
|
|
|
childQuery.lambda().eq(Appletproductspectype::getPid, id); |
|
|
|
appletproductspectypeService.remove(childQuery); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -268,8 +272,8 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
public Result<Map<String, Object>> queryByProductId(@RequestParam(name="productId",required=true) String productId) { |
|
|
|
try { |
|
|
|
QueryWrapper<Appletproductspectype> queryWrapper = new QueryWrapper<>(); |
|
|
|
queryWrapper.eq("product_id", productId); |
|
|
|
queryWrapper.orderByAsc("type", "create_time"); |
|
|
|
queryWrapper.lambda().eq(Appletproductspectype::getProductId, productId) |
|
|
|
.orderByAsc(Appletproductspectype::getType, Appletproductspectype::getCreateTime); |
|
|
|
|
|
|
|
List<Appletproductspectype> allSpecs = appletproductspectypeService.list(queryWrapper); |
|
|
|
|
|
|
|
@ -305,8 +309,8 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
try { |
|
|
|
// 查询该产品的所有规格类型和规格项 |
|
|
|
QueryWrapper<Appletproductspectype> queryWrapper = new QueryWrapper<>(); |
|
|
|
queryWrapper.eq("product_id", productId); |
|
|
|
queryWrapper.orderByAsc("type", "create_time"); |
|
|
|
queryWrapper.lambda().eq(Appletproductspectype::getProductId, productId) |
|
|
|
.orderByAsc(Appletproductspectype::getType, Appletproductspectype::getCreateTime); |
|
|
|
|
|
|
|
List<Appletproductspectype> allSpecs = appletproductspectypeService.list(queryWrapper); |
|
|
|
|
|
|
|
@ -316,7 +320,7 @@ public class AppletproductspectypeController extends JeecgController<Appletprodu |
|
|
|
|
|
|
|
// 获取所有已存在的规格实体,用于后续清理 |
|
|
|
QueryWrapper<AppletProductSpec> allExistingSpecsQuery = new QueryWrapper<>(); |
|
|
|
allExistingSpecsQuery.eq("product_id", productId); |
|
|
|
allExistingSpecsQuery.lambda().eq(AppletProductSpec::getProductId, productId); |
|
|
|
List<AppletProductSpec> allExistingSpecs = appletProductSpecService.list(allExistingSpecsQuery); |
|
|
|
|
|
|
|
// 用于存储新生成的规格名称,以便与现有规格进行比较 |
|
|
|
|