From f029891719fbe7a3990a033c992a425a762071be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 5 Mar 2025 15:03:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/ShopShareController.java | 54 +++++++++++ .../com/czg/account/dto/ShopShareDTO.java | 93 ++++++++++++++++++ .../czg/account/dto/ShopShareRecordDTO.java | 77 +++++++++++++++ .../com/czg/account/entity/ShopShare.java | 95 +++++++++++++++++++ .../czg/account/entity/ShopShareRecord.java | 82 ++++++++++++++++ .../service/ShopShareRecordService.java | 14 +++ .../czg/account/service/ShopShareService.java | 23 +++++ .../com/czg/account/vo/ShopShareRecordVO.java | 17 ++++ .../java/com/czg/account/vo/ShopShareVO.java | 25 +++++ .../account/mapper/ShopShareMapper.java | 14 +++ .../account/mapper/ShopShareRecordMapper.java | 20 ++++ .../impl/ShopShareRecordServiceImpl.java | 18 ++++ .../service/impl/ShopShareServiceImpl.java | 87 +++++++++++++++++ .../main/resources/mapper/ShopShareMapper.xml | 7 ++ .../mapper/ShopShareRecordMapper.xml | 21 ++++ 15 files changed, 647 insertions(+) create mode 100644 cash-api/account-server/src/main/java/com/czg/controller/admin/ShopShareController.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopShareDTO.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopShareRecordDTO.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopShare.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopShareRecord.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopShareRecordService.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopShareService.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopShareRecordVO.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopShareVO.java create mode 100644 cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopShareMapper.java create mode 100644 cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopShareRecordMapper.java create mode 100644 cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopShareRecordServiceImpl.java create mode 100644 cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopShareServiceImpl.java create mode 100644 cash-service/account-service/src/main/resources/mapper/ShopShareMapper.xml create mode 100644 cash-service/account-service/src/main/resources/mapper/ShopShareRecordMapper.xml diff --git a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopShareController.java b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopShareController.java new file mode 100644 index 00000000..00997eab --- /dev/null +++ b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopShareController.java @@ -0,0 +1,54 @@ +package com.czg.controller.admin; + +import com.czg.account.dto.ShopShareDTO; +import com.czg.account.service.ShopShareService; +import com.czg.account.vo.ShopShareRecordVO; +import com.czg.account.vo.ShopShareVO; +import com.czg.annotation.SaAdminCheckPermission; +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.*; + +/** + * 小程序分享奖励管理 + * @author Administrator + */ +@RestController +@RequestMapping("/admin/shopShare") +public class ShopShareController { + @Resource + private ShopShareService shopShareService; + + /** + * 获取分享奖励配置 + */ + @SaAdminCheckPermission(value = "shopShare:list", name = "分享好友信息") + @GetMapping + public CzgResult get() { + return CzgResult.success(shopShareService.get(StpKit.USER.getShopId())); + } + + /** + * 修改分享奖励配置 + */ + @SaAdminCheckPermission(value = "shopShare:add", name = "分享好友信息添加") + @PostMapping + public CzgResult add(@RequestBody @Validated ShopShareDTO shopShareDTO) { + return CzgResult.success(shopShareService.add(StpKit.USER.getShopId(), shopShareDTO)); + } + + /** + * 分享奖励记录 + * @param key 邀请人/被邀请人手机号或昵称 + * @param status 0 非新用户 1 未领取 2 已领取 3 已使用 不传递为全部 + * @return 分页数据 + */ + @SaAdminCheckPermission(value = "shopShare:record", name = "分享邀请记录") + @GetMapping("/record") + public CzgResult> record(String key, Integer status) { + return CzgResult.success(shopShareService.recordPage(StpKit.USER.getShopId(), key, status)); + } +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopShareDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopShareDTO.java new file mode 100644 index 00000000..6f67e24a --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopShareDTO.java @@ -0,0 +1,93 @@ + +package com.czg.account.dto; + +import java.io.Serializable; +import java.time.LocalDateTime; +import com.alibaba.fastjson2.annotation.JSONField; +import java.io.Serial; +import java.util.List; + +import jakarta.validation.constraints.Size; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 店铺分享 实体类。 + * + * @author zs + * @since 2025-03-05 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ShopShareDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 标题 + */ + @Size(min = 1, message = "标题不为空") + private String title; + + /** + * 分享封面图 + */ + @Size(min = 1, message = "分享封面图不为空") + private String shareImg; + + /** + * 邀请顶部图 + */ + @Size(min = 1, message = "邀请顶部图不为空") + private String invitedImg; + + /** + * 被邀顶部图 + */ + @Size(min = 1, message = "被邀顶部图不为空") + private String beInvitedImg; + + /** + * 活动开始时间 + */ + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + + /** + * 活动结束时间 + */ + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + + /** + * 新用户获得券 + */ + private List newCouponIdList; + + /** + * 邀请人数 + */ + private Integer invitedNum; + + /** + * 奖励券 + */ + private List rewardCouponIdList; + + /** + * 获取方法 get-新用户领取获得 use-新用户使用获得 + */ + @Size(min = 1, message = "获取方法不为空") + private String getMethod; + + /** + * 0 关闭 1 开启 + */ + private Integer status; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopShareRecordDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopShareRecordDTO.java new file mode 100644 index 00000000..7502db7f --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopShareRecordDTO.java @@ -0,0 +1,77 @@ + +package com.czg.account.dto; + +import java.io.Serializable; +import java.time.LocalDateTime; +import com.alibaba.fastjson2.annotation.JSONField; +import java.io.Serial; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 店铺分享记录 实体类。 + * + * @author zs + * @since 2025-03-05 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ShopShareRecordDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + private Integer id; + + /** + * tb_shop_share 主键Id + */ + private Integer shareId; + + /** + * 店铺Id + */ + private Integer shopId; + + /** + * 邀请人id + */ + private Integer invitedId; + + /** + * 邀请人名称 + */ + private String invitedName; + + /** + * 被邀请人Id + */ + private Integer beInvitedId; + + /** + * 奖励券获得方式 get/use 领取获得/使用获得 + */ + private String method; + + /** + * 0 非新用户 1 未领取 2 已领取 3 已使用 + */ + private Integer status; + + /** + * 生效时间/获得奖励的时间 + */ + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime rewardTime; + + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopShare.java b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopShare.java new file mode 100644 index 00000000..75bcf180 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopShare.java @@ -0,0 +1,95 @@ +package com.czg.account.entity; + +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-03-05 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_shop_share") +public class ShopShare implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 店铺Id + */ + private Long shopId; + + /** + * 标题 + */ + private String title; + + /** + * 分享封面图 + */ + private String shareImg; + + /** + * 邀请顶部图 + */ + private String invitedImg; + + /** + * 被邀顶部图 + */ + private String beInvitedImg; + + /** + * 活动开始时间 + */ + private LocalDateTime startTime; + + /** + * 活动结束时间 + */ + private LocalDateTime endTime; + + /** + * 新用户获得券 + */ + private String newCoupon; + + /** + * 邀请人数 + */ + private Integer invitedNum; + + /** + * 奖励券 + */ + private String rewardCoupon; + + /** + * 获取方法 get-新用户领取获得 use-新用户使用获得 + */ + private String getMethod; + + /** + * 0 关闭 1 开启 + */ + private Integer status; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopShareRecord.java b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopShareRecord.java new file mode 100644 index 00000000..a4f13912 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopShareRecord.java @@ -0,0 +1,82 @@ +package com.czg.account.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-03-05 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_shop_share_record") +public class ShopShareRecord implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Auto) + private Integer id; + + /** + * tb_shop_share 主键Id + */ + private Integer shareId; + + /** + * 店铺Id + */ + private Integer shopId; + + /** + * 邀请人id + */ + private Integer invitedId; + + /** + * 邀请人名称 + */ + private String invitedName; + + /** + * 被邀请人Id + */ + private Integer beInvitedId; + + /** + * 奖励券获得方式 get/use 领取获得/使用获得 + */ + private String method; + + /** + * 0 非新用户 1 未领取 2 已领取 3 已使用 + */ + private Integer status; + + /** + * 生效时间/获得奖励的时间 + */ + private LocalDateTime rewardTime; + + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopShareRecordService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopShareRecordService.java new file mode 100644 index 00000000..846400ab --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopShareRecordService.java @@ -0,0 +1,14 @@ +package com.czg.account.service; + +import com.mybatisflex.core.service.IService; +import com.czg.account.entity.ShopShareRecord; + +/** + * 店铺分享记录 服务层。 + * + * @author zs + * @since 2025-03-05 + */ +public interface ShopShareRecordService extends IService { + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopShareService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopShareService.java new file mode 100644 index 00000000..91f7b025 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopShareService.java @@ -0,0 +1,23 @@ +package com.czg.account.service; + +import com.czg.account.dto.ShopShareDTO; +import com.czg.account.vo.ShopShareRecordVO; +import com.czg.account.vo.ShopShareVO; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.service.IService; +import com.czg.account.entity.ShopShare; + +/** + * 店铺分享 服务层。 + * + * @author zs + * @since 2025-03-05 + */ +public interface ShopShareService extends IService { + + ShopShareVO get(Long shopId); + + Boolean add(Long shopId, ShopShareDTO shopShareDTO); + + Page recordPage(Long shopId, String key, Integer status); +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopShareRecordVO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopShareRecordVO.java new file mode 100644 index 00000000..c26f2537 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopShareRecordVO.java @@ -0,0 +1,17 @@ +package com.czg.account.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author Administrator + */ +@Data +public class ShopShareRecordVO { + private String invitedName; + private String beInvitedName; + private Integer status; + private LocalDateTime createTime; + private LocalDateTime rewardTime; +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopShareVO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopShareVO.java new file mode 100644 index 00000000..9d9fe8d4 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopShareVO.java @@ -0,0 +1,25 @@ +package com.czg.account.vo; + +import com.czg.account.entity.ShopCoupon; +import com.czg.account.entity.ShopShare; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ShopShareVO extends ShopShare { + /** + * 新人奖励优惠券信息 + */ + private List newCouponList = new ArrayList<>(); + /** + * 邀请人奖励优惠券信息 + */ + private List rewardCouponList = new ArrayList<>(); +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopShareMapper.java b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopShareMapper.java new file mode 100644 index 00000000..902079d2 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopShareMapper.java @@ -0,0 +1,14 @@ +package com.czg.service.account.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.account.entity.ShopShare; + +/** + * 店铺分享 映射层。 + * + * @author zs + * @since 2025-03-05 + */ +public interface ShopShareMapper extends BaseMapper { + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopShareRecordMapper.java b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopShareRecordMapper.java new file mode 100644 index 00000000..6f7f7d22 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopShareRecordMapper.java @@ -0,0 +1,20 @@ +package com.czg.service.account.mapper; + +import com.czg.account.vo.ShopShareRecordVO; +import com.mybatisflex.core.BaseMapper; +import com.czg.account.entity.ShopShareRecord; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 店铺分享记录 映射层。 + * + * @author zs + * @since 2025-03-05 + */ +public interface ShopShareRecordMapper extends BaseMapper { + + List getRecord(@Param("shopId") Long shopId, @Param("key") String key, @Param("status") Integer status); + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopShareRecordServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopShareRecordServiceImpl.java new file mode 100644 index 00000000..13f2a480 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopShareRecordServiceImpl.java @@ -0,0 +1,18 @@ +package com.czg.service.account.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.account.entity.ShopShareRecord; +import com.czg.account.service.ShopShareRecordService; +import com.czg.service.account.mapper.ShopShareRecordMapper; +import org.springframework.stereotype.Service; + +/** + * 店铺分享记录 服务层实现。 + * + * @author zs + * @since 2025-03-05 + */ +@Service +public class ShopShareRecordServiceImpl extends ServiceImpl implements ShopShareRecordService{ + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopShareServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopShareServiceImpl.java new file mode 100644 index 00000000..c0c2885d --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopShareServiceImpl.java @@ -0,0 +1,87 @@ +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.ShopShareDTO; +import com.czg.account.entity.ShopCoupon; +import com.czg.account.service.ShopCouponService; +import com.czg.account.vo.ShopShareRecordVO; +import com.czg.account.vo.ShopShareVO; +import com.czg.exception.ApiNotPrintException; +import com.czg.service.account.mapper.ShopShareRecordMapper; +import com.czg.utils.PageUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.account.entity.ShopShare; +import com.czg.account.service.ShopShareService; +import com.czg.service.account.mapper.ShopShareMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +/** + * 店铺分享 服务层实现。 + * + * @author zs + * @since 2025-03-05 + */ +@Service +public class ShopShareServiceImpl extends ServiceImpl implements ShopShareService{ + @Resource + private ShopCouponService shopCouponService; + @Resource + private ShopShareRecordMapper shopShareRecordMapper; + + @Override + public ShopShareVO get(Long shopId) { + ShopShare shopShare = getOne(new QueryWrapper().eq(ShopShare::getShopId, shopId)); + ShopShareVO shopShareVO = new ShopShareVO(); + if (shopShare != null) { + BeanUtil.copyProperties(shopShare, shopShareVO); + if (StrUtil.isNotBlank(shopShare.getRewardCoupon())) { + shopShareVO.setRewardCouponList(shopCouponService.list(new QueryWrapper().eq(ShopCoupon::getShopId, shopId).in(ShopCoupon::getId, JSONArray.parseArray(shopShare.getRewardCoupon())))); + } + + if (StrUtil.isNotBlank(shopShare.getNewCoupon())) { + shopShareVO.setNewCouponList(shopCouponService.list(new QueryWrapper().eq(ShopCoupon::getShopId, shopId).in(ShopCoupon::getId, JSONArray.parseArray(shopShare.getNewCoupon())))); + } + } + return shopShareVO; + } + + @Override + public Boolean add(Long shopId, ShopShareDTO shopShareDTO) { + if (shopShareDTO.getNewCouponIdList() != null && !shopShareDTO.getRewardCouponIdList().isEmpty()) { + long count = shopCouponService.count(new QueryWrapper().in(ShopCoupon::getId, shopShareDTO.getNewCouponIdList()).eq(ShopCoupon::getShopId, shopId)); + if (count != shopShareDTO.getNewCouponIdList().size()) { + throw new ApiNotPrintException("优惠券不存在"); + } + } + + if (shopShareDTO.getRewardCouponIdList() != null && !shopShareDTO.getRewardCouponIdList().isEmpty()) { + long count = shopCouponService.count(new QueryWrapper().in(ShopCoupon::getId, shopShareDTO.getRewardCouponIdList()).eq(ShopCoupon::getShopId, shopId)); + if (count != shopShareDTO.getRewardCouponIdList().size()) { + throw new ApiNotPrintException("优惠券不存在"); + } + } + ShopShare shopShare = getOne(new QueryWrapper().eq(ShopShare::getShopId, shopId)); + if (shopShare == null) { + shopShare = new ShopShareVO(); + shopShare.setShopId(shopId); + } + shopShare.setRewardCoupon(JSONArray.toJSONString(shopShareDTO.getRewardCouponIdList())); + shopShare.setNewCoupon(JSONArray.toJSONString(shopShareDTO.getNewCouponIdList())); + BeanUtil.copyProperties(shopShareDTO, shopShare); + return saveOrUpdate(shopShare); + } + + @Override + public Page recordPage(Long shopId, String key, Integer status) { + Page page = PageUtil.buildPage(); + PageHelper.startPage(Math.toIntExact(page.getPageNumber()), Math.toIntExact(page.getPageSize())); + return PageUtil.convert(new PageInfo<>(shopShareRecordMapper.getRecord(shopId, key, status))); + } +} diff --git a/cash-service/account-service/src/main/resources/mapper/ShopShareMapper.xml b/cash-service/account-service/src/main/resources/mapper/ShopShareMapper.xml new file mode 100644 index 00000000..cebd88e2 --- /dev/null +++ b/cash-service/account-service/src/main/resources/mapper/ShopShareMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/cash-service/account-service/src/main/resources/mapper/ShopShareRecordMapper.xml b/cash-service/account-service/src/main/resources/mapper/ShopShareRecordMapper.xml new file mode 100644 index 00000000..50e7fda2 --- /dev/null +++ b/cash-service/account-service/src/main/resources/mapper/ShopShareRecordMapper.xml @@ -0,0 +1,21 @@ + + + + + +