From 2547a2b0d18075a0919983d87708f569b6d68152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Tue, 14 Oct 2025 13:48:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=B8=E7=8E=8B=E9=A4=90=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/FreeDingController.java | 4 +- .../dto/freeding/FreeDineConfigEditDTO.java | 3 + .../dto/shopuser/ShopUserDetailDTO.java | 3 +- .../czg/account/entity/FreeDineConfig.java | 3 +- .../service/FreeDineConfigService.java | 3 +- .../com/czg/account/vo/FreeDineConfigVO.java | 80 +++++++++++++++++++ .../impl/FreeDineConfigServiceImpl.java | 17 +++- 7 files changed, 104 insertions(+), 9 deletions(-) create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/vo/FreeDineConfigVO.java diff --git a/cash-api/account-server/src/main/java/com/czg/controller/admin/FreeDingController.java b/cash-api/account-server/src/main/java/com/czg/controller/admin/FreeDingController.java index 6976aff94..8ea13931e 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/admin/FreeDingController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/admin/FreeDingController.java @@ -1,8 +1,8 @@ package com.czg.controller.admin; import com.czg.account.dto.freeding.FreeDineConfigEditDTO; -import com.czg.account.entity.FreeDineConfig; import com.czg.account.service.FreeDineConfigService; +import com.czg.account.vo.FreeDineConfigVO; import com.czg.annotation.SaAdminCheckPermission; import com.czg.resp.CzgResult; import com.czg.sa.StpKit; @@ -25,7 +25,7 @@ public class FreeDingController { */ @SaAdminCheckPermission(value = "freeDing:detail", name = "获取霸王餐配置信息") @GetMapping - public CzgResult getConfig() { + public CzgResult getConfig() { return CzgResult.success(freeDineConfigService.getConfig(StpKit.USER.getShopId())); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/freeding/FreeDineConfigEditDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/freeding/FreeDineConfigEditDTO.java index 04538b717..f7cb76ba0 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/freeding/FreeDineConfigEditDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/freeding/FreeDineConfigEditDTO.java @@ -48,4 +48,7 @@ public class FreeDineConfigEditDTO { */ private List useType; + private String useShopType; + private List shopIdList; + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserDetailDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserDetailDTO.java index 182488f2e..c45719541 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserDetailDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserDetailDTO.java @@ -4,6 +4,7 @@ import com.czg.account.entity.FreeDineConfig; import com.czg.account.entity.ShopExtend; import com.czg.account.entity.ShopInfo; import com.czg.account.entity.ShopUser; +import com.czg.account.vo.FreeDineConfigVO; import lombok.Data; import lombok.EqualsAndHashCode; @@ -50,6 +51,6 @@ public class ShopUserDetailDTO extends ShopUser { /** * 霸王餐信息 */ - private FreeDineConfig freeDineConfig; + private FreeDineConfigVO freeDineConfig; } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/FreeDineConfig.java b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/FreeDineConfig.java index e650cd7f4..4a6907f08 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/FreeDineConfig.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/FreeDineConfig.java @@ -87,7 +87,8 @@ public class FreeDineConfig implements Serializable { /** * 可用的子门店id */ - private String childShopIdList; + private String shopIdList; + private String useShopType; public Integer getMultiple() { return rechargeTimes == null ? 2 : rechargeTimes; diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/FreeDineConfigService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/FreeDineConfigService.java index ac44a527d..1307d59a7 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/FreeDineConfigService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/FreeDineConfigService.java @@ -1,6 +1,7 @@ package com.czg.account.service; import com.czg.account.dto.freeding.FreeDineConfigEditDTO; +import com.czg.account.vo.FreeDineConfigVO; import com.mybatisflex.core.service.IService; import com.czg.account.entity.FreeDineConfig; @@ -12,7 +13,7 @@ import com.czg.account.entity.FreeDineConfig; */ public interface FreeDineConfigService extends IService { - FreeDineConfig getConfig(long shopId); + FreeDineConfigVO getConfig(long shopId); Boolean edit(long shopId, FreeDineConfigEditDTO freeDineConfigEditDTO); diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/vo/FreeDineConfigVO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/vo/FreeDineConfigVO.java new file mode 100644 index 000000000..93921c6a0 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/vo/FreeDineConfigVO.java @@ -0,0 +1,80 @@ +package com.czg.account.vo; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class FreeDineConfigVO implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 是否启用 + */ + private Boolean enable; + + /** + * 充值多少倍免单 + */ + private Integer rechargeTimes; + + /** + * 订单满多少元可以使用 + */ + private BigDecimal rechargeThreshold; + + /** + * 是否与优惠券共享 + */ + private Boolean withCoupon; + + /** + * 是否与积分同享 + */ + private Boolean withPoints; + + /** + * 充值说明 + */ + private String rechargeDesc; + +// /** +// * 使用类型 dine-in店内 takeout 自取 post快递,takeaway外卖 +// */ +// private String useType; + + /** + * 门店id + */ + @Id + private Long shopId; + + /** + * 创建时间 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + + /** + * 可用的子门店id + */ + private List shopIdList; + private String useShopType; + + public Integer getMultiple() { + return rechargeTimes == null ? 2 : rechargeTimes; + } +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/FreeDineConfigServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/FreeDineConfigServiceImpl.java index 69c85f570..760bb0f7e 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/FreeDineConfigServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/FreeDineConfigServiceImpl.java @@ -1,9 +1,12 @@ package com.czg.service.account.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson2.JSONArray; import com.czg.account.dto.freeding.FreeDineConfigEditDTO; import com.czg.account.entity.FreeDineConfig; import com.czg.account.service.FreeDineConfigService; +import com.czg.account.vo.FreeDineConfigVO; import com.czg.exception.ApiNotPrintException; import com.czg.service.account.mapper.FreeDineConfigMapper; import com.mybatisflex.core.query.QueryWrapper; @@ -19,7 +22,7 @@ import org.apache.dubbo.config.annotation.DubboService; @DubboService public class FreeDineConfigServiceImpl extends ServiceImpl implements FreeDineConfigService{ @Override - public FreeDineConfig getConfig(long shopId) { + public FreeDineConfigVO getConfig(long shopId) { FreeDineConfig freeDineConfig = getOne(new QueryWrapper().eq(FreeDineConfig::getShopId, shopId)); if (freeDineConfig == null) { freeDineConfig = new FreeDineConfig(); @@ -27,17 +30,23 @@ public class FreeDineConfigServiceImpl extends ServiceImpl