From 9d86c376ec7a17126859ddab07535fce0f77f299 Mon Sep 17 00:00:00 2001 From: Tankaikai Date: Sun, 16 Feb 2025 12:06:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=A8=A1=E5=9D=97=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...oller.java => ShopProdSpecController.java} | 56 ++++---- ...oductSpecDTO.java => ShopProdSpecDTO.java} | 10 +- .../czg/product/entity/ShopProdCategory.java | 2 +- ...ShopProductSpec.java => ShopProdSpec.java} | 15 ++- .../com/czg/product/entity/ShopProdUnit.java | 72 +++++----- .../product/service/ShopProdSpecService.java | 33 +++++ .../service/ShopProductSpecService.java | 33 ----- .../product/mapper/ShopProductSpecMapper.java | 4 +- .../impl/ShopProductSpecServiceImpl.java | 127 ++++++++++-------- 9 files changed, 191 insertions(+), 161 deletions(-) rename cash-api/product-server/src/main/java/com/czg/controller/{ShopProductSpecController.java => ShopProdSpecController.java} (56%) rename cash-common/cash-common-service/src/main/java/com/czg/product/dto/{ShopProductSpecDTO.java => ShopProdSpecDTO.java} (89%) rename cash-common/cash-common-service/src/main/java/com/czg/product/entity/{ShopProductSpec.java => ShopProdSpec.java} (74%) create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdSpecService.java delete mode 100644 cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProductSpecService.java diff --git a/cash-api/product-server/src/main/java/com/czg/controller/ShopProductSpecController.java b/cash-api/product-server/src/main/java/com/czg/controller/ShopProdSpecController.java similarity index 56% rename from cash-api/product-server/src/main/java/com/czg/controller/ShopProductSpecController.java rename to cash-api/product-server/src/main/java/com/czg/controller/ShopProdSpecController.java index 29fb45d2..dabebf9f 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/ShopProductSpecController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/ShopProdSpecController.java @@ -1,8 +1,8 @@ package com.czg.controller; import com.czg.log.annotation.OperationLog; -import com.czg.product.dto.ShopProductSpecDTO; -import com.czg.product.service.ShopProductSpecService; +import com.czg.product.dto.ShopProdSpecDTO; +import com.czg.product.service.ShopProdSpecService; import com.czg.resp.CzgResult; import com.czg.utils.AssertUtil; import com.czg.validator.ValidatorUtil; @@ -16,85 +16,85 @@ import java.util.List; /** -* 商品规格 -* -* @author Tankaikai tankaikai@aliyun.com -* @since 1.0 2025-02-13 -*/ + * 商品规格 + * + * @author Tankaikai tankaikai@aliyun.com + * @since 1.0 2025-02-13 + */ @AllArgsConstructor @RestController @RequestMapping("/admin/prod/spec") -public class ShopProductSpecController { - private final ShopProductSpecService shopProductSpecService; +public class ShopProdSpecController { + private final ShopProdSpecService shopProdSpecService; @GetMapping("list") @OperationLog("商品规格-列表") - //@SaAdminCheckPermission("product:spec:list") - public CzgResult> list(ShopProductSpecDTO param){ - List data = shopProductSpecService.list(param); + //@SaAdminCheckPermission("shopProductSpec:list") + public CzgResult> list(ShopProdSpecDTO param) { + List data = shopProdSpecService.getShopProdSpecList(param); return CzgResult.success(data); } @GetMapping("{id}") @OperationLog("商品规格-详情") - //@SaAdminCheckPermission("product:spec:info") - public CzgResult get(@PathVariable("id") Long id){ + //@SaAdminCheckPermission("shopProductSpec:info") + public CzgResult get(@PathVariable("id") Long id) { AssertUtil.isNull(id, "{}不能为空", "id"); - ShopProductSpecDTO data = shopProductSpecService.get(id); + ShopProdSpecDTO data = shopProdSpecService.getShopProdSpecById(id); return CzgResult.success(data); } @PostMapping @OperationLog("商品规格-新增") - //@SaAdminCheckPermission("product:spec:save") - public CzgResult save(@RequestBody ShopProductSpecDTO dto){ + //@SaAdminCheckPermission("shopProductSpec:save") + public CzgResult save(@RequestBody ShopProdSpecDTO dto) { //效验数据 ValidatorUtil.validateEntity(dto, InsertGroup.class, DefaultGroup.class); - shopProductSpecService.save(dto); + shopProdSpecService.addShopProdSpec(dto); return CzgResult.success(); } @PutMapping @OperationLog("商品规格-修改") - //@SaAdminCheckPermission("product:spec:update") - public CzgResult update(@RequestBody ShopProductSpecDTO dto){ + //@SaAdminCheckPermission("shopProductSpec:update") + public CzgResult update(@RequestBody ShopProdSpecDTO dto) { //效验数据 ValidatorUtil.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - shopProductSpecService.update(dto); + shopProdSpecService.updateShopProdSpec(dto); return CzgResult.success(); } @DeleteMapping("{id}") @OperationLog("商品规格-删除") - //@SaAdminCheckPermission("product:spec:delete") - public CzgResult delete(@PathVariable("id") Long id){ + //@SaAdminCheckPermission("shopProductSpec:delete") + public CzgResult delete(@PathVariable("id") Long id) { //效验数据 AssertUtil.isNull(id, "{}不能为空", "id"); - shopProductSpecService.delete(id); + shopProdSpecService.deleteShopProdSpec(id); return CzgResult.success(); } @PostMapping("disable/{id}") @OperationLog("商品规格-禁用") - //@SaAdminCheckPermission("product:spec:able") + //@SaAdminCheckPermission("shopProductSpec:able") public CzgResult disable(@PathVariable("id") Long id) { //效验数据 AssertUtil.isNull(id, "{}不能为空", "id"); - shopProductSpecService.disable(id); + shopProdSpecService.disableShopProdSpec(id); return CzgResult.success(); } @PostMapping("enable/{id}") @OperationLog("商品规格-启用") - //@SaAdminCheckPermission("product:spec:able") + //@SaAdminCheckPermission("shopProductSpec:able") public CzgResult enable(@PathVariable("id") Long id) { //效验数据 AssertUtil.isNull(id, "{}不能为空", "id"); - shopProductSpecService.enable(id); + shopProdSpecService.enableShopProdSpec(id); return CzgResult.success(); } } \ No newline at end of file diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ShopProductSpecDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ShopProdSpecDTO.java similarity index 89% rename from cash-common/cash-common-service/src/main/java/com/czg/product/dto/ShopProductSpecDTO.java rename to cash-common/cash-common-service/src/main/java/com/czg/product/dto/ShopProdSpecDTO.java index 0ad11a37..8cc5624d 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ShopProductSpecDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ShopProdSpecDTO.java @@ -21,7 +21,7 @@ import java.time.LocalDateTime; */ @Data @EqualsAndHashCode(callSuper = true) -public class ShopProductSpecDTO extends TreeNode implements Serializable { +public class ShopProdSpecDTO extends TreeNode implements Serializable { @Serial private static final long serialVersionUID = 1L; @@ -37,6 +37,10 @@ public class ShopProductSpecDTO extends TreeNode implements */ @NotBlank(message = "规格名称不能为空", groups = DefaultGroup.class) private String name; + /** + * 完整规格名称 + */ + private String fullName; /** * 规格级别 */ @@ -55,6 +59,10 @@ public class ShopProductSpecDTO extends TreeNode implements */ @NotNull(message = "请选择上级规格", groups = DefaultGroup.class) private Long pid; + /** + * 所有上级id,用逗号分隔 + */ + private String pids; /** * 店铺 id */ diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdCategory.java b/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdCategory.java index 1706cd5b..e8fe2a04 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdCategory.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdCategory.java @@ -73,6 +73,6 @@ public class ShopProdCategory implements Serializable { /** * 更新时间 */ - @Column(onUpdateValue = "now()") + @Column(onInsertValue = "now()", onUpdateValue = "now()") private LocalDateTime updateTime; } \ No newline at end of file diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProductSpec.java b/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdSpec.java similarity index 74% rename from cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProductSpec.java rename to cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdSpec.java index 96c5aed8..62c2e91b 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProductSpec.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdSpec.java @@ -1,5 +1,6 @@ package com.czg.product.entity; +import com.mybatisflex.annotation.Column; import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.Table; @@ -17,8 +18,8 @@ import java.time.LocalDateTime; * @since 1.0 2025-02-13 */ @Data -@Table("tb_shop_product_spec") -public class ShopProductSpec implements Serializable { +@Table("tb_shop_prod_spec") +public class ShopProdSpec implements Serializable { @Serial private static final long serialVersionUID = 1L; @@ -32,6 +33,10 @@ public class ShopProductSpec implements Serializable { * 规格名称 */ private String name; + /** + * 完整规格名称 + */ + private String fullName; /** * 规格级别 */ @@ -44,6 +49,10 @@ public class ShopProductSpec implements Serializable { * 上级 id */ private Long pid; + /** + * 所有上级id,用逗号分隔 + */ + private String pids; /** * 店铺 id */ @@ -55,9 +64,11 @@ public class ShopProductSpec implements Serializable { /** * 创建时间 */ + @Column(onInsertValue = "now()") private LocalDateTime createTime; /** * 更新时间 */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") private LocalDateTime updateTime; } \ No newline at end of file diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdUnit.java b/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdUnit.java index b1190af8..5e20e37b 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdUnit.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/entity/ShopProdUnit.java @@ -22,41 +22,41 @@ import java.time.LocalDateTime; public class ShopProdUnit implements Serializable { @Serial - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - /** - * id - */ - @Id(keyType = KeyType.Generator, value = KeyGenerators.snowFlakeId) - private Long id; - /** - * 单位名称 - */ - private String name; - /** - * 单位类型 number-计数 weight-记重 - */ - private String unitType; - /** - * 单位来源 1-系统预设 0-商家创建 - */ - private Integer isSystem; - /** - * 状态 0-禁用 1-启用 - */ - private Integer status; - /** - * 店铺id - */ - private Long shopId; - /** - * 创建时间 - */ - @Column(onInsertValue = "now()") - private LocalDateTime createTime; - /** - * 更新时间 - */ - @Column(onUpdateValue = "now()") - private LocalDateTime updateTime; + /** + * id + */ + @Id(keyType = KeyType.Generator, value = KeyGenerators.snowFlakeId) + private Long id; + /** + * 单位名称 + */ + private String name; + /** + * 单位类型 number-计数 weight-记重 + */ + private String unitType; + /** + * 单位来源 1-系统预设 0-商家创建 + */ + private Integer isSystem; + /** + * 状态 0-禁用 1-启用 + */ + private Integer status; + /** + * 店铺id + */ + private Long shopId; + /** + * 创建时间 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + /** + * 更新时间 + */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; } \ No newline at end of file diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdSpecService.java b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdSpecService.java new file mode 100644 index 00000000..1d214855 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdSpecService.java @@ -0,0 +1,33 @@ +package com.czg.product.service; + +import com.czg.product.dto.ShopProdSpecDTO; +import com.czg.product.entity.ShopProdSpec; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.service.IService; + +import java.util.List; + +/** + * 商品规格 + * + * @author Tankaikai tankaikai@aliyun.com + * @since 1.0 2025-02-13 + */ +public interface ShopProdSpecService extends IService { + Page getShopProdSpecPage(ShopProdSpecDTO param); + + List getShopProdSpecList(ShopProdSpecDTO param); + + ShopProdSpecDTO getShopProdSpecById(Long id); + + boolean addShopProdSpec(ShopProdSpecDTO dto); + + boolean deleteShopProdSpec(Long id); + + boolean updateShopProdSpec(ShopProdSpecDTO dto); + + boolean disableShopProdSpec(Long id); + + boolean enableShopProdSpec(Long id); + +} \ No newline at end of file diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProductSpecService.java b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProductSpecService.java deleted file mode 100644 index e7d8c076..00000000 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProductSpecService.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.czg.product.service; - -import com.czg.product.dto.ShopProductSpecDTO; -import com.czg.product.entity.ShopProductSpec; -import com.mybatisflex.core.paginate.Page; -import com.mybatisflex.core.service.IService; - -import java.util.List; - -/** - * 商品规格 - * - * @author Tankaikai tankaikai@aliyun.com - * @since 1.0 2025-02-13 - */ -public interface ShopProductSpecService extends IService { - Page page(ShopProductSpecDTO param); - - List list(ShopProductSpecDTO param); - - ShopProductSpecDTO get(Long id); - - boolean save(ShopProductSpecDTO dto); - - boolean delete(Long id); - - boolean update(ShopProductSpecDTO dto); - - boolean disable(Long id); - - boolean enable(Long id); - -} \ No newline at end of file diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/mapper/ShopProductSpecMapper.java b/cash-service/product-service/src/main/java/com/czg/service/product/mapper/ShopProductSpecMapper.java index 365c1773..a59a520e 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/mapper/ShopProductSpecMapper.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/mapper/ShopProductSpecMapper.java @@ -1,6 +1,6 @@ package com.czg.service.product.mapper; -import com.czg.product.entity.ShopProductSpec; +import com.czg.product.entity.ShopProdSpec; import com.mybatisflex.core.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -11,6 +11,6 @@ import org.apache.ibatis.annotations.Mapper; * @since 1.0 2025-02-13 */ @Mapper -public interface ShopProductSpecMapper extends BaseMapper { +public interface ShopProductSpecMapper extends BaseMapper { } \ No newline at end of file diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProductSpecServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProductSpecServiceImpl.java index 09df178b..fcac6632 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProductSpecServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProductSpecServiceImpl.java @@ -5,10 +5,9 @@ import cn.hutool.core.util.StrUtil; import com.czg.constant.GlobalConstant; import com.czg.enums.StatusEnum; import com.czg.exception.CzgException; -import com.czg.product.dto.ShopProductSpecDTO; -import com.czg.product.entity.ShopProdCategory; -import com.czg.product.entity.ShopProductSpec; -import com.czg.product.service.ShopProductSpecService; +import com.czg.product.dto.ShopProdSpecDTO; +import com.czg.product.entity.ShopProdSpec; +import com.czg.product.service.ShopProdSpecService; import com.czg.sa.StpKit; import com.czg.service.product.mapper.ShopProductSpecMapper; import com.czg.utils.PageUtil; @@ -18,9 +17,12 @@ import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.update.UpdateChain; import com.mybatisflex.spring.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; +import static com.czg.product.entity.table.ShopProdSpecTableDef.SHOP_PROD_SPEC; + /** * 商品规格 @@ -29,117 +31,126 @@ import java.util.List; * @since 1.0 2025-02-13 */ @Service -public class ShopProductSpecServiceImpl extends ServiceImpl implements ShopProductSpecService { +public class ShopProductSpecServiceImpl extends ServiceImpl implements ShopProdSpecService { - private QueryWrapper buildQueryWrapper(ShopProductSpecDTO param) { + private QueryWrapper buildQueryWrapper(ShopProdSpecDTO param) { QueryWrapper queryWrapper = PageUtil.buildSortQueryWrapper(); if (StrUtil.isNotEmpty(param.getName())) { - queryWrapper.like(ShopProductSpec::getName, param.getName()); + queryWrapper.like(ShopProdSpec::getName, param.getName()); } Long shopId = StpKit.USER.getLoginIdAsLong(); - queryWrapper.eq(ShopProductSpec::getShopId, shopId); - queryWrapper.orderBy(ShopProductSpec::getId, false); + queryWrapper.eq(ShopProdSpec::getShopId, shopId); + queryWrapper.orderBy(ShopProdSpec::getSort, true); + queryWrapper.orderBy(ShopProdSpec::getId, false); return queryWrapper; } @Override - public Page page(ShopProductSpecDTO param) { + public Page getShopProdSpecPage(ShopProdSpecDTO param) { QueryWrapper queryWrapper = buildQueryWrapper(param); - return super.pageAs(PageUtil.buildPage(), queryWrapper, ShopProductSpecDTO.class); + return super.pageAs(PageUtil.buildPage(), queryWrapper, ShopProdSpecDTO.class); } @Override - public List list(ShopProductSpecDTO param) { + public List getShopProdSpecList(ShopProdSpecDTO param) { QueryWrapper queryWrapper = buildQueryWrapper(param); - queryWrapper.eq(ShopProductSpec::getStatus, StatusEnum.ENABLED.value()); - List list = super.listAs(queryWrapper, ShopProductSpecDTO.class); + queryWrapper.eq(ShopProdSpec::getStatus, StatusEnum.ENABLED.value()); + List list = super.listAs(queryWrapper, ShopProdSpecDTO.class); return TreeUtils.build(list, GlobalConstant.TREE_ROOT); } @Override - public ShopProductSpecDTO get(Long id) { + public ShopProdSpecDTO getShopProdSpecById(Long id) { Long shopId = StpKit.USER.getLoginIdAsLong(); - return super.getOneAs(query().eq(ShopProductSpec::getId, id).eq(ShopProductSpec::getShopId, shopId), ShopProductSpecDTO.class); + return super.getOneAs(query().eq(ShopProdSpec::getId, id).eq(ShopProdSpec::getShopId, shopId), ShopProdSpecDTO.class); } @Override - public boolean save(ShopProductSpecDTO dto) { + public boolean addShopProdSpec(ShopProdSpecDTO dto) { Long shopId = StpKit.USER.getLoginIdAsLong(); boolean exists = super.exists(query() - .eq(ShopProductSpec::getName, dto.getName()) - .eq(ShopProductSpec::getLevel, dto.getLevel()) - .eq(ShopProductSpec::getShopId, shopId)); + .eq(ShopProdSpec::getName, dto.getName()) + .eq(ShopProdSpec::getPid, dto.getPid()) + .eq(ShopProdSpec::getShopId, shopId)); if (exists) { throw new CzgException("商品规格已存在"); } - ShopProductSpec entity = BeanUtil.copyProperties(dto, ShopProductSpec.class); + ShopProdSpec entity = BeanUtil.copyProperties(dto, ShopProdSpec.class); + if (GlobalConstant.TREE_ROOT.equals(entity.getPid())) { + entity.setFullName(entity.getName()); + entity.setPids(GlobalConstant.TREE_ROOT.toString()); + } else { + ShopProdSpec parent = super.getById(entity.getPid()); + entity.setFullName(parent.getFullName() + " - " + entity.getName()); + String pids = parent.getPids(); + entity.setPids(pids + "," + entity.getPid()); + } entity.setStatus(StatusEnum.ENABLED.value()); entity.setShopId(shopId); return super.save(entity); } @Override - public boolean update(ShopProductSpecDTO dto) { + @Transactional(rollbackFor = Exception.class) + public boolean updateShopProdSpec(ShopProdSpecDTO dto) { //上级规格不能为自身 if (dto.getId().equals(dto.getPid())) { throw new CzgException("上级规格不能为自身"); } Long shopId = StpKit.USER.getLoginIdAsLong(); + dto.setShopId(shopId); boolean exists = super.exists(query() - .eq(ShopProductSpec::getName, dto.getName()) - .eq(ShopProductSpec::getLevel, dto.getLevel()) - .eq(ShopProductSpec::getShopId, shopId) - .ne(ShopProductSpec::getId, dto.getId())); + .eq(ShopProdSpec::getName, dto.getName()) + .eq(ShopProdSpec::getPid, dto.getPid()) + .eq(ShopProdSpec::getShopId, shopId) + .ne(ShopProdSpec::getId, dto.getId())); if (exists) { throw new CzgException("商品规格已存在"); } - ShopProductSpec entity = BeanUtil.copyProperties(dto, ShopProductSpec.class); + ShopProdSpec old = super.getById(dto.getId()); + ShopProdSpec entity = BeanUtil.copyProperties(dto, ShopProdSpec.class); + if (GlobalConstant.TREE_ROOT.equals(entity.getPid())) { + entity.setFullName(entity.getName()); + entity.setPids(GlobalConstant.TREE_ROOT.toString()); + } else { + ShopProdSpec parent = super.getById(entity.getPid()); + entity.setFullName(parent.getFullName() + " - " + entity.getName()); + String pids = parent.getPids(); + entity.setPids(pids + "," + entity.getPid()); + } + String oldName = old.getName(); + UpdateChain.of(ShopProdSpec.class) + .setRaw(ShopProdSpec::getFullName, StrUtil.format("replace(full_name, '{}', '{}')", oldName, entity.getName())) + .eq(ShopProdSpec::getShopId, entity.getShopId()).update(); return super.updateById(entity); } @Override - public boolean delete(Long id) { + public boolean deleteShopProdSpec(Long id) { Long shopId = StpKit.USER.getLoginIdAsLong(); - return super.remove( - query().eq(ShopProdCategory::getShopId, shopId) - .and(wrapper -> { - wrapper.eq(ShopProductSpec::getId, id) - .or(wrapper1 -> { - wrapper1.eq(ShopProductSpec::getPid, id); - }); - }) + return super.remove(query() + .where(SHOP_PROD_SPEC.SHOP_ID.eq(shopId) + .and(SHOP_PROD_SPEC.ID.eq(id).or(SHOP_PROD_SPEC.PIDS.like("," + id)))) ); } @Override - public boolean disable(Long id) { + public boolean disableShopProdSpec(Long id) { Long shopId = StpKit.USER.getLoginIdAsLong(); - return UpdateChain.of(ShopProductSpec.class) - .set(ShopProductSpec::getStatus, StatusEnum.DISABLE.value()) - .where(ShopProductSpec::getShopId).eq(shopId) - .and(wrapper -> { - wrapper.eq(ShopProductSpec::getId, id) - .or(wrapper1 -> { - wrapper1.eq(ShopProductSpec::getPid, id); - }); - }) - .update(); + return UpdateChain.of(ShopProdSpec.class) + .set(SHOP_PROD_SPEC.STATUS, StatusEnum.DISABLE.value()) + .where(SHOP_PROD_SPEC.SHOP_ID.eq(shopId) + .and(SHOP_PROD_SPEC.ID.eq(id).or(SHOP_PROD_SPEC.PIDS.like("," + id)))).update(); } @Override - public boolean enable(Long id) { + public boolean enableShopProdSpec(Long id) { Long shopId = StpKit.USER.getLoginIdAsLong(); - return UpdateChain.of(ShopProductSpec.class) - .set(ShopProductSpec::getStatus, StatusEnum.ENABLED.value()) - .where(ShopProductSpec::getShopId).eq(shopId) - .and(wrapper -> { - wrapper.eq(ShopProductSpec::getId, id) - .or(wrapper1 -> { - wrapper1.eq(ShopProductSpec::getPid, id); - }); - }) - .update(); + return UpdateChain.of(ShopProdSpec.class) + .set(SHOP_PROD_SPEC.STATUS, StatusEnum.ENABLED.value()) + .where(SHOP_PROD_SPEC.SHOP_ID.eq(shopId) + .and(SHOP_PROD_SPEC.ID.eq(id).or(SHOP_PROD_SPEC.PIDS.like("," + id)))).update(); } } \ No newline at end of file