From 120933024f0c2a5a799beefebc1dfbbbb01866e8 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 16:35:04 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=A7=81=E5=9F=9F=E5=BC=95=E6=B5=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/DrainageConfigController.java | 56 ++++++++++++ .../czg/market/dto/MkDrainageConfigDTO.java | 51 +++++++++++ .../czg/market/entity/MkDrainageConfig.java | 88 +++++++++++++++++++ .../service/MkDrainageConfigService.java | 19 ++++ .../com/czg/market/vo/MkDrainageConfigVO.java | 87 ++++++++++++++++++ .../market/mapper/MkDrainageConfigMapper.java | 14 +++ .../impl/MkDrainageConfigServiceImpl.java | 60 +++++++++++++ .../mapper/MkDrainageConfigMapper.xml | 7 ++ 8 files changed, 382 insertions(+) create mode 100644 cash-api/market-server/src/main/java/com/czg/controller/admin/DrainageConfigController.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDrainageConfigDTO.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDrainageConfig.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDrainageConfigService.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/market/vo/MkDrainageConfigVO.java create mode 100644 cash-service/market-service/src/main/java/com/czg/service/market/mapper/MkDrainageConfigMapper.java create mode 100644 cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDrainageConfigServiceImpl.java create mode 100644 cash-service/market-service/src/main/resources/mapper/MkDrainageConfigMapper.xml diff --git a/cash-api/market-server/src/main/java/com/czg/controller/admin/DrainageConfigController.java b/cash-api/market-server/src/main/java/com/czg/controller/admin/DrainageConfigController.java new file mode 100644 index 00000000..e8f2a4df --- /dev/null +++ b/cash-api/market-server/src/main/java/com/czg/controller/admin/DrainageConfigController.java @@ -0,0 +1,56 @@ +package com.czg.controller.admin; + +import com.czg.annotation.SaAdminCheckPermission; +import com.czg.market.dto.MkBirthdayGiftDTO; +import com.czg.market.dto.MkDrainageConfigDTO; +import com.czg.market.entity.MkDrainageConfig; +import com.czg.market.service.MkBirthdayGiftService; +import com.czg.market.service.MkDrainageConfigService; +import com.czg.market.vo.MkBirthdayGiftRecordSummaryVO; +import com.czg.market.vo.MkBirthdayGiftRecordVO; +import com.czg.market.vo.MkBirthdayGiftVO; +import com.czg.market.vo.MkDrainageConfigVO; +import com.czg.resp.CzgResult; +import com.czg.sa.StpKit; +import com.mybatisflex.core.paginate.Page; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; + +/** + * 私域引流配置 + * @author Administrator + */ +@RestController +@RequestMapping("/admin/drainageConfig") +public class DrainageConfigController { + + @Resource + private MkDrainageConfigService service; + + /** + * 配置信息获取 + * 权限标识: activate:list + */ + @SaAdminCheckPermission(value = "drainageConfig:detail", name = "私域引流详情") + @GetMapping + public CzgResult detail() { + return CzgResult.success(service.detail(StpKit.USER.getShopId())); + } + + /** + * 配置信息修改 + * @return 是否成功 + */ + @SaAdminCheckPermission(value = "drainageConfig:edit", name = "私域引流修改") + @PostMapping + public CzgResult edit(@Validated @RequestBody MkDrainageConfigDTO config) { + return CzgResult.success(service.edit(StpKit.USER.getShopId(), config)); + } + + + + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDrainageConfigDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDrainageConfigDTO.java new file mode 100644 index 00000000..6c5f5224 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDrainageConfigDTO.java @@ -0,0 +1,51 @@ +package com.czg.market.dto; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import jakarta.validation.constraints.Max; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class MkDrainageConfigDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 堂食 dine-in 外带 take-out 外卖 take-away + */ + private List useType; + + /** + * 群二维码 + */ + private String qrCode; + + /** + * 标题 + */ + private String title; + + /** + * 内容 + */ + @Max(value = 50, message = "内容最大长度为50") + private String content; + + /** + * 提示语 + */ + private String note; + + /** + * 是否开启 + */ + private Integer isEnable; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDrainageConfig.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDrainageConfig.java new file mode 100644 index 00000000..f873dabe --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDrainageConfig.java @@ -0,0 +1,88 @@ +package com.czg.market.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 私域引流表 实体类。 + * + * @author zs + * @since 2025-10-14 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("mk_drainage_config") +public class MkDrainageConfig implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 堂食 dine-in 外带 take-out 外卖 take-away + */ + private String useType; + + /** + * 群二维码 + */ + private String qrCode; + + /** + * 标题 + */ + private String title; + + /** + * 内容 + */ + private String content; + + /** + * 提示语 + */ + private String note; + + /** + * 是否开启 + */ + private Integer isEnable; + + /** + * 主店id + */ + private Long mainShopId; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 修改时间 + */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + + /** + * 创建时间 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDrainageConfigService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDrainageConfigService.java new file mode 100644 index 00000000..590f5d15 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDrainageConfigService.java @@ -0,0 +1,19 @@ +package com.czg.market.service; + +import com.czg.market.dto.MkDrainageConfigDTO; +import com.czg.market.vo.MkDrainageConfigVO; +import com.mybatisflex.core.service.IService; +import com.czg.market.entity.MkDrainageConfig; + +/** + * 私域引流表 服务层。 + * + * @author zs + * @since 2025-10-14 + */ +public interface MkDrainageConfigService extends IService { + + MkDrainageConfigVO detail(Long shopId); + + Boolean edit(Long shopId, MkDrainageConfigDTO config); +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/vo/MkDrainageConfigVO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/vo/MkDrainageConfigVO.java new file mode 100644 index 00000000..68101f68 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/vo/MkDrainageConfigVO.java @@ -0,0 +1,87 @@ +package com.czg.market.vo; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 私域引流表 实体类。 + * + * @author zs + * @since 2025-10-14 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MkDrainageConfigVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 堂食 dine-in 外带 take-out 外卖 take-away + */ + private List useType; + + /** + * 群二维码 + */ + private String qrCode; + + /** + * 标题 + */ + private String title; + + /** + * 内容 + */ + private String content; + + /** + * 提示语 + */ + private String note; + + /** + * 是否开启 + */ + private Integer isEnable; + + /** + * 主店id + */ + private Long mainShopId; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 修改时间 + */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + + /** + * 创建时间 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + +} diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/mapper/MkDrainageConfigMapper.java b/cash-service/market-service/src/main/java/com/czg/service/market/mapper/MkDrainageConfigMapper.java new file mode 100644 index 00000000..c6c85ee8 --- /dev/null +++ b/cash-service/market-service/src/main/java/com/czg/service/market/mapper/MkDrainageConfigMapper.java @@ -0,0 +1,14 @@ +package com.czg.service.market.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.market.entity.MkDrainageConfig; + +/** + * 私域引流表 映射层。 + * + * @author zs + * @since 2025-10-14 + */ +public interface MkDrainageConfigMapper extends BaseMapper { + +} diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDrainageConfigServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDrainageConfigServiceImpl.java new file mode 100644 index 00000000..3b54461d --- /dev/null +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDrainageConfigServiceImpl.java @@ -0,0 +1,60 @@ +package com.czg.service.market.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson2.JSONArray; +import com.czg.account.entity.ShopInfo; +import com.czg.account.service.ShopInfoService; +import com.czg.market.dto.MkConsumeCashbackDTO; +import com.czg.market.dto.MkDrainageConfigDTO; +import com.czg.market.entity.MkConsumeCashback; +import com.czg.market.vo.MkDrainageConfigVO; +import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.market.entity.MkDrainageConfig; +import com.czg.market.service.MkDrainageConfigService; +import com.czg.service.market.mapper.MkDrainageConfigMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +/** + * 私域引流表 服务层实现。 + * + * @author zs + * @since 2025-10-14 + */ +@Service +public class MkDrainageConfigServiceImpl extends ServiceImpl implements MkDrainageConfigService{ + @Resource + private ShopInfoService shopInfoService; + @Override + public MkDrainageConfigVO detail(Long shopId) { + Long mainShopId = shopInfoService.getMainIdByShopId(shopId); + MkDrainageConfig config = getOne(new QueryWrapper().eq(MkDrainageConfig::getMainShopId, shopId)); + if (config == null) { + config = new MkDrainageConfig(); + config.setMainShopId(mainShopId); + config.setShopId(shopId); + save(config); + config = getOne(new QueryWrapper().eq(MkConsumeCashback::getMainShopId, shopId)); + } + MkDrainageConfigVO info = BeanUtil.copyProperties(config, MkDrainageConfigVO.class, "useType"); + if (StrUtil.isNotBlank(config.getUseType())) { + info.setUseType(JSONArray.parseArray(config.getUseType()).toList(String.class)); + } + + return info; + } + + @Override + public Boolean edit(Long shopId, MkDrainageConfigDTO config) { + MkDrainageConfig info = getOne(new QueryWrapper().eq(MkDrainageConfig::getMainShopId, shopId)); + BeanUtil.copyProperties(config, info); + if (config.getUseType() != null) { + info.setUseType(JSONArray.toJSONString(config.getUseType())); + } + return updateById(info); + } + + +} diff --git a/cash-service/market-service/src/main/resources/mapper/MkDrainageConfigMapper.xml b/cash-service/market-service/src/main/resources/mapper/MkDrainageConfigMapper.xml new file mode 100644 index 00000000..696accfd --- /dev/null +++ b/cash-service/market-service/src/main/resources/mapper/MkDrainageConfigMapper.xml @@ -0,0 +1,7 @@ + + + + + From f2f90221ed3f702421ae4ecaff6d256f035af29f 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 16:36:52 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=A7=81=E5=9F=9F=E5=BC=95=E6=B5=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/UDrainageConfigController.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 cash-api/market-server/src/main/java/com/czg/controller/user/UDrainageConfigController.java diff --git a/cash-api/market-server/src/main/java/com/czg/controller/user/UDrainageConfigController.java b/cash-api/market-server/src/main/java/com/czg/controller/user/UDrainageConfigController.java new file mode 100644 index 00000000..b2b72e28 --- /dev/null +++ b/cash-api/market-server/src/main/java/com/czg/controller/user/UDrainageConfigController.java @@ -0,0 +1,38 @@ +package com.czg.controller.user; + +import com.czg.annotation.SaAdminCheckPermission; +import com.czg.market.dto.MkDrainageConfigDTO; +import com.czg.market.service.MkDrainageConfigService; +import com.czg.market.vo.MkDrainageConfigVO; +import com.czg.resp.CzgResult; +import com.czg.sa.StpKit; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * 私域引流配置 + * @author Administrator + */ +@RestController +@RequestMapping("/user/drainageConfig") +public class UDrainageConfigController { + + @Resource + private MkDrainageConfigService service; + + /** + * 配置信息获取 + * 权限标识: activate:list + */ + @GetMapping + public CzgResult detail(@RequestParam Long shopId) { + return CzgResult.success(service.detail(shopId)); + } + + + + + + +} From 28584639281dfabdde7dd6f1d1b36ccb2b92ce29 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 16:44:42 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E9=9C=B8=E7=8E=8B=E9=A4=90=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/account/entity/FreeDineConfig.java | 2 +- .../src/main/java/com/czg/account/vo/FreeDineConfigVO.java | 2 +- .../account/service/impl/FreeDineConfigServiceImpl.java | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) 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 4a6907f0..644a0340 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 @@ -64,7 +64,7 @@ public class FreeDineConfig implements Serializable { // /** // * 使用类型 dine-in店内 takeout 自取 post快递,takeaway外卖 // */ -// private String useType; + private String useType; /** * 门店id 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 index 93921c6a..f88fbf4a 100644 --- 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 @@ -48,7 +48,7 @@ public class FreeDineConfigVO implements Serializable { // /** // * 使用类型 dine-in店内 takeout 自取 post快递,takeaway外卖 // */ -// private String useType; + private List useType; /** * 门店id 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 760bb0f7..24f1a1d2 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 @@ -34,6 +34,10 @@ public class FreeDineConfigServiceImpl extends ServiceImpl Date: Tue, 14 Oct 2025 16:53:49 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E9=9C=B8=E7=8E=8B=E9=A4=90=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/account/service/impl/FreeDineConfigServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 24f1a1d2..de47817f 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 @@ -47,7 +47,7 @@ public class FreeDineConfigServiceImpl extends ServiceImpl Date: Tue, 14 Oct 2025 16:55:08 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E9=9C=B8=E7=8E=8B=E9=A4=90=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/account/service/impl/FreeDineConfigServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 de47817f..504295a6 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 @@ -47,7 +47,7 @@ public class FreeDineConfigServiceImpl extends ServiceImpl Date: Tue, 14 Oct 2025 16:57:43 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E9=9C=B8=E7=8E=8B=E9=A4=90=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account/service/impl/FreeDineConfigServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 504295a6..8e6f54b4 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 @@ -2,6 +2,7 @@ package com.czg.service.account.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson2.JSONArray; import com.czg.account.dto.freeding.FreeDineConfigEditDTO; import com.czg.account.entity.FreeDineConfig; @@ -51,9 +52,9 @@ public class FreeDineConfigServiceImpl extends ServiceImpl