diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopActivateCouponRecord.java b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopActivateCouponRecord.java deleted file mode 100644 index 7901c8a3..00000000 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopActivateCouponRecord.java +++ /dev/null @@ -1,118 +0,0 @@ -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.math.BigDecimal; -import java.time.LocalDateTime; - -import java.io.Serial; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 活动商品赠送记录表 实体类。 - * - * @author ww - * @since 2025-02-20 - */ -@Data - -@NoArgsConstructor -@AllArgsConstructor -@Table("tb_shop_activate_coupon_record") -public class ShopActivateCouponRecord implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - @Id(keyType = KeyType.Auto) - private Long id; - - /** - * 用户id shopUserId - */ - private Long shopUserId; - - /** - * 卷Id (校验是否可用) - */ - private Long couponId; - - /** - * 卷描述 满10减2/商品卷 - */ - private String name; - - /** - * 1-满减 2-商品 - */ - private Integer type; - - /** - * 商品id - */ - private Long proId; - - /** - * 满多少金额 - */ - private BigDecimal fullAmount; - - /** - * 减多少金额 - */ - private BigDecimal discountAmount; - - /** - * 店铺id - */ - private Long shopId; - @Column(ignore = true) - private String shopName; - - /** - * 来源活动id - */ - private Long sourceActId; - - private Long sourceFlowId; - - /** - * 可用开始时间 - */ - private LocalDateTime useStartTime; - - /** - * 可用结束时间 - */ - private LocalDateTime useEndTime; - - @Column(onInsertValue = "now()") - private LocalDateTime createTime; - - @Column(onInsertValue = "now()", onUpdateValue = "now()") - private LocalDateTime updateTime; - - private String couponJson; - - /** - * invited 邀请 - * activate 活动 - */ - private String source; - - /** - * 未使用 0 - * 已使用 1 - * 已过期 2 - */ - private Integer status; - private Long targetId; - -} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopActivateCouponRecordService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopActivateCouponRecordService.java deleted file mode 100644 index f525b84f..00000000 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopActivateCouponRecordService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.czg.account.service; - -import com.czg.account.dto.QueryReceiveDto; -import com.czg.account.entity.ShopActivateCouponRecord; -import com.czg.account.vo.CouponReceiveVo; -import com.czg.account.vo.UserCouponVo; -import com.mybatisflex.core.service.IService; - -import java.util.List; - -/** - * 活动商品赠送记录表 服务层。 - * - * @author ww - * @since 2025-02-20 - */ -public interface ShopActivateCouponRecordService extends IService { - - - List queryReceive(QueryReceiveDto param); - - List findByUser(List shopUserIds, Integer status); - - List queryByVipIdAndShopId(Long shopId, Long shopUserId, Integer type); -} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkShopCouponRecordDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkShopCouponRecordDTO.java index 6705e333..17af06e4 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkShopCouponRecordDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkShopCouponRecordDTO.java @@ -98,7 +98,9 @@ public class MkShopCouponRecordDTO implements Serializable { * 过期时间 */ @JSONField(format = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime expiredTime; + private LocalDateTime useEndTime; + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime useStartTime; @JSONField(format = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkShopCouponRecord.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkShopCouponRecord.java index 9398bbab..911997b1 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkShopCouponRecord.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkShopCouponRecord.java @@ -106,7 +106,8 @@ public class MkShopCouponRecord implements Serializable { /** * 过期时间 */ - private LocalDateTime expiredTime; + private LocalDateTime useEndTime; + private LocalDateTime useStartTime; @Column(onInsertValue = "now()", onUpdateValue = "now()") private LocalDateTime updateTime; diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopCouponRecordService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopCouponRecordService.java index 2aaeb01c..10362f2c 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopCouponRecordService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopCouponRecordService.java @@ -1,10 +1,15 @@ package com.czg.market.service; +import com.czg.account.dto.QueryReceiveDto; +import com.czg.account.vo.CouponReceiveVo; +import com.czg.account.vo.UserCouponVo; import com.czg.market.dto.MkShopCouponRecordDTO; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import com.czg.market.entity.MkShopCouponRecord; +import java.util.List; + /** * 优惠券发放记录表 服务层。 * @@ -13,6 +18,13 @@ import com.czg.market.entity.MkShopCouponRecord; */ public interface MkShopCouponRecordService extends IService { + + List queryReceive(QueryReceiveDto param); + + List findByUser(List shopUserIds, Integer status); + + List queryByVipIdAndShopId(Long shopId, Long shopUserId, Integer type); + /** * 优惠券列表/已领取详情 * @param search 用户Id/昵称/手机号 diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopActivateCouponRecordMapper.java b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopActivateCouponRecordMapper.java deleted file mode 100644 index ae939fe0..00000000 --- a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopActivateCouponRecordMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.czg.service.account.mapper; - -import com.czg.account.dto.QueryReceiveDto; -import com.czg.account.entity.ShopActivateCouponRecord; -import com.czg.account.vo.CouponReceiveVo; -import com.czg.account.vo.UserCouponVo; -import com.mybatisflex.core.BaseMapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 活动商品赠送记录表 映射层。 - * - * @author ww - * @since 2025-02-20 - */ -public interface ShopActivateCouponRecordMapper extends BaseMapper { - - List queryReceive(@Param("param") QueryReceiveDto param); - - List findByUser(List shopUserIds, Integer status); - - List queryByVipIdAndShopId(Long shopId, Long shopUserId, Integer type); -} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopActivateCouponRecordServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopActivateCouponRecordServiceImpl.java deleted file mode 100644 index dff08425..00000000 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopActivateCouponRecordServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.czg.service.account.service.impl; - -import com.czg.account.dto.QueryReceiveDto; -import com.czg.account.entity.ShopActivateCouponRecord; -import com.czg.account.service.ShopActivateCouponRecordService; -import com.czg.account.vo.CouponReceiveVo; -import com.czg.account.vo.UserCouponVo; -import com.czg.service.account.mapper.ShopActivateCouponRecordMapper; -import com.mybatisflex.spring.service.impl.ServiceImpl; -import org.apache.dubbo.config.annotation.DubboService; - -import java.util.List; - -/** - * 活动商品赠送记录表 服务层实现。 - * - * @author ww - * @since 2025-02-20 - */ -@DubboService -public class ShopActivateCouponRecordServiceImpl extends ServiceImpl implements ShopActivateCouponRecordService { - - @Override - public List queryReceive(QueryReceiveDto param) { - return getMapper().queryReceive(param); - } - - @Override - public List findByUser(List shopUserIds, Integer status) { - return getMapper().findByUser(shopUserIds, status); - } - - @Override - public List queryByVipIdAndShopId(Long shopId, Long shopUserId, Integer type) { - return getMapper().queryByVipIdAndShopId(shopId, shopUserId, type); - } -} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java index a5726605..2c7b012d 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java @@ -11,6 +11,8 @@ import com.czg.config.RedisCst; import com.czg.enums.ShopUserFlowBizEnum; import com.czg.enums.YesNoEnum; import com.czg.exception.ApiNotPrintException; +import com.czg.market.entity.MkShopCouponRecord; +import com.czg.market.service.MkShopCouponRecordService; import com.czg.market.service.TbMemberConfigService; import com.czg.order.entity.OrderInfo; import com.czg.order.service.OrderDetailService; @@ -62,8 +64,8 @@ public class ShopUserServiceImpl extends ServiceImpl i private UserInfoService userInfoService; @Resource private RedisService redisService; - @Resource - private ShopActivateCouponRecordService shopActivateCouponRecordService; + @DubboReference + private MkShopCouponRecordService couponRecordService; @Resource private ShopInfoMapper shopInfoMapper; @Resource @@ -337,7 +339,11 @@ public class ShopUserServiceImpl extends ServiceImpl i save(shopUser); shopUser = getById(shopUser.getId()); } else { - couponNum = shopActivateCouponRecordService.count(new QueryWrapper().eq(ShopActivateCouponRecord::getShopUserId, shopUser.getId()).eq(ShopActivateCouponRecord::getStatus, 0)); + couponNum = couponRecordService.count(new QueryWrapper() + .eq(MkShopCouponRecord::getShopUserId, shopUser.getId()) + .eq(MkShopCouponRecord::getStatus, 0) + .eq(MkShopCouponRecord::getIsDel,0) + ); } ShopUserDetailDTO shopUserDetailDTO = BeanUtil.copyProperties(shopUser, ShopUserDetailDTO.class); shopUserDetailDTO.setCouponNum(couponNum); @@ -364,7 +370,11 @@ public class ShopUserServiceImpl extends ServiceImpl i @Override public ShopUser getDetail(Integer id, Integer userId) { ShopUser shopUser = getOne(new QueryWrapper().eq(ShopUser::getShopId, StpKit.USER.getUsableShopId()).eq(ShopUser::getId, id).eq(ShopUser::getUserId, userId)); - long count = shopActivateCouponRecordService.count(new QueryWrapper().eq(ShopActivateCouponRecord::getShopUserId, shopUser.getId()).eq(ShopActivateCouponRecord::getStatus, 0)); + long count = couponRecordService.count(new QueryWrapper() + .eq(MkShopCouponRecord::getShopUserId, shopUser.getId()) + .eq(MkShopCouponRecord::getStatus, 0) + .eq(MkShopCouponRecord::getIsDel,0) + ); ShopUserDTO shopUserDTO = BeanUtil.copyProperties(shopUser, ShopUserDTO.class); shopUserDTO.setCouponNum(count); shopUserDTO.setOrderNumber(orderInfoService.count(new QueryWrapper().eq(OrderInfo::getUserId, userId).eq(OrderInfo::getShopId, StpKit.USER.getShopId(0L)).eq(OrderInfo::getStatus, "done"))); diff --git a/cash-service/account-service/src/main/resources/mapper/ShopActivateCouponRecordMapper.xml b/cash-service/account-service/src/main/resources/mapper/ShopActivateCouponRecordMapper.xml deleted file mode 100644 index 2b981278..00000000 --- a/cash-service/account-service/src/main/resources/mapper/ShopActivateCouponRecordMapper.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - diff --git a/cash-service/account-service/src/main/resources/mapper/ShopUserMapper.xml b/cash-service/account-service/src/main/resources/mapper/ShopUserMapper.xml index b908fc82..c291af7f 100644 --- a/cash-service/account-service/src/main/resources/mapper/ShopUserMapper.xml +++ b/cash-service/account-service/src/main/resources/mapper/ShopUserMapper.xml @@ -39,17 +39,17 @@ + SELECT + record.id, + vip.id as userId , + vip.`nick_name`, + vip.phone as phone, + record.create_time as receiveTime, + record.update_time as useTime, + record.source as source + FROM + mk_shop_coupon_record record + LEFT JOIN tb_shop_user vip + ON record.shop_user_id = vip.id AND vip.shop_id = #{param.shopId} + WHERE + record.coupon_id = #{param.couponId} + and record.shop_id = #{param.shopId} + + and (vip.name like concat('%', #{param.value}, '%') or vip.telephone like concat('%', #{param.value}, '%')) + + + and record.status = #{param.status} + + + and record.create_time > #{param.startTime} + + + and record.create_time < #{param.endTime} + + order by record.create_time desc + + + + + diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index 86dad362..0a4db9a4 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -107,8 +107,6 @@ public class OrderInfoServiceImpl extends ServiceImpl prodCouponMap, BigDecimalDTO fullAmount, BigDecimalDTO discountAmount, CheckOrderPay param) { if (CollUtil.isNotEmpty(param.getCouponList())) { - //校验优惠券 - List records = couponRecordService.listAs( - QueryWrapper.create() - .where(ShopActivateCouponRecord::getId).in(param.getCouponList()) - .and(ShopActivateCouponRecord::getStatus).eq(0), ShopActivateCouponRecord.class); - if (CollUtil.isEmpty(records)) { - throw new ValidateException("生成支付订单失败,优惠券信息不存在"); - } else if (records.size() != param.getCouponList().size()) { - throw new ValidateException("生成支付订单失败,优惠券信息不正确"); - } - boolean isFullMinus = false; - for (ShopActivateCouponRecord record : records) { - if (record.getType().equals(1)) { - if (isFullMinus) { - throw new ValidateException("生成支付订单失败,满减券仅可使用一张"); - } - fullAmount.setPrice(record.getFullAmount()); - discountAmount.setPrice(record.getDiscountAmount()); - isFullMinus = true; - } else if (record.getType().equals(2)) { - prodCouponMap.compute(record.getProId(), (key, oldValue) -> oldValue == null ? 1 : oldValue + 1); - } - } + //TODO 校验优惠券 +// //校验优惠券 +// List records = couponRecordService.listAs( +// QueryWrapper.create() +// .where(ShopActivateCouponRecord::getId).in(param.getCouponList()) +// .and(ShopActivateCouponRecord::getStatus).eq(0), ShopActivateCouponRecord.class); +// if (CollUtil.isEmpty(records)) { +// throw new ValidateException("生成支付订单失败,优惠券信息不存在"); +// } else if (records.size() != param.getCouponList().size()) { +// throw new ValidateException("生成支付订单失败,优惠券信息不正确"); +// } +// boolean isFullMinus = false; +// for (ShopActivateCouponRecord record : records) { +// if (record.getType().equals(1)) { +// if (isFullMinus) { +// throw new ValidateException("生成支付订单失败,满减券仅可使用一张"); +// } +// fullAmount.setPrice(record.getFullAmount()); +// discountAmount.setPrice(record.getDiscountAmount()); +// isFullMinus = true; +// } else if (record.getType().equals(2)) { +// prodCouponMap.compute(record.getProId(), (key, oldValue) -> oldValue == null ? 1 : oldValue + 1); +// } +// } if (discountAmount.getPrice().compareTo(param.getFullCouponDiscountAmount()) != 0) { throw new ValidateException("生成支付订单失败,满减券减免金额不正确"); } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java index 48c79478..844cfc3a 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java @@ -79,8 +79,6 @@ public class PayServiceImpl implements PayService { // private ShopActivateService shopActivateService; @DubboReference private ShopUserFlowService userFlowService; - @DubboReference - private ShopActivateCouponRecordService inRecordService; // @DubboReference // private ShopCouponService couponService; @DubboReference @@ -551,11 +549,12 @@ public class PayServiceImpl implements PayService { shopUserService.updateMoney(shopUser.getShopId(), giftFlowEdit); userFlowService.updateRefund(giftFlow.getId(), giftFlow.getAmount()); } + //TODO 移除优惠券 //移除优惠券 - inRecordService.remove(QueryWrapper.create() - .eq(ShopActivateCouponRecord::getSourceFlowId, inFlow.getId()) - .eq(ShopActivateCouponRecord::getSource, "activate") - .eq(ShopActivateCouponRecord::getStatus, 0)); +// inRecordService.remove(QueryWrapper.create() +// .eq(ShopActivateCouponRecord::getSourceFlowId, inFlow.getId()) +// .eq(ShopActivateCouponRecord::getSource, "activate") +// .eq(ShopActivateCouponRecord::getStatus, 0)); return CzgResult.success(); }