消费赠券 优惠券

This commit is contained in:
2025-09-12 15:10:43 +08:00
parent 2e69148249
commit 3b53b460fd
15 changed files with 530 additions and 17 deletions

View File

@@ -0,0 +1,14 @@
package com.czg.service.market.mapper;
import com.mybatisflex.core.BaseMapper;
import com.czg.market.entity.MkShopConsumerCoupon;
/**
* 消费赠券表 映射层。
*
* @author ww
* @since 2025-09-12
*/
public interface MkShopConsumerCouponMapper extends BaseMapper<MkShopConsumerCoupon> {
}

View File

@@ -57,6 +57,7 @@ public class MkCouponGiftServiceImpl extends ServiceImpl<MkCouponGiftMapper, MkC
couponGift.setSourceId(sourceId);
couponGift.setSourceName(sourceName);
couponGift.setType(type);
couponGift.setCouponName(coupon.getTitle());
couponGift.setCouponId(giftDTO.getCouponId());
couponGift.setNum(giftDTO.getNum());
newCoupons.add(couponGift);
@@ -65,6 +66,7 @@ public class MkCouponGiftServiceImpl extends ServiceImpl<MkCouponGiftMapper, MkC
}
}
@Override
public void upCouponGift(Long sourceId, String sourceName, Integer type, List<MkCouponGiftDTO> couponGiftList) {
deleteJoinCouponGift(sourceId, type);
@@ -75,4 +77,14 @@ public class MkCouponGiftServiceImpl extends ServiceImpl<MkCouponGiftMapper, MkC
public void deleteJoinCouponGift(Long sourceId, Integer type) {
remove(new QueryWrapper().eq(MkCouponGift::getSourceId, sourceId).eq(MkCouponGift::getType, type));
}
@Override
public void deleteCoupon(Long couponId) {
remove(new QueryWrapper().eq(MkCouponGift::getCouponId, couponId));
}
@Override
public void upCouponName(Long couponId, String couponName) {
update(new MkCouponGift().setCouponName(couponName), new QueryWrapper().eq(MkCouponGift::getCouponId, couponId));
}
}

View File

@@ -0,0 +1,77 @@
package com.czg.service.market.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.czg.market.dto.MkShopConsumerCouponDTO;
import com.czg.market.entity.MkShopConsumerCoupon;
import com.czg.market.service.MkCouponGiftService;
import com.czg.market.service.MkShopConsumerCouponService;
import com.czg.service.market.mapper.MkShopConsumerCouponMapper;
import com.czg.utils.AssertUtil;
import com.czg.utils.PageUtil;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* 消费赠券表 服务层实现。
*
* @author ww
* @since 2025-09-12
*/
@Service
public class MkShopConsumerCouponServiceImpl extends ServiceImpl<MkShopConsumerCouponMapper, MkShopConsumerCoupon> implements MkShopConsumerCouponService {
@Resource
private MkCouponGiftService couponGiftService;
@Override
public Page<MkShopConsumerCouponDTO> getConsumerCouponPage(MkShopConsumerCouponDTO param) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(MkShopConsumerCoupon::getShopId, param.getShopId())
.orderBy(MkShopConsumerCoupon::getCreateTime).desc();
Page<MkShopConsumerCouponDTO> pages = pageAs(PageUtil.buildPage(), queryWrapper, MkShopConsumerCouponDTO.class);
pages.getRecords().forEach(item -> {
//填充优惠券信息/数量
item.setCouponGiftList(couponGiftService.getCouponGiftBySourceId(item.getId(), 3));
});
return pages;
}
@Override
public MkShopConsumerCouponDTO getConsumerCouponById(Long id) {
AssertUtil.isNull(id, "ID不能为空");
MkShopConsumerCouponDTO data = getOneAs(new QueryWrapper().eq(MkShopConsumerCoupon::getId, id), MkShopConsumerCouponDTO.class);
//填充优惠券信息/数量
data.setCouponGiftList(couponGiftService.getCouponGiftBySourceId(data.getId(), 3));
return data;
}
@Override
@Transactional
public void addConsumerCoupon(MkShopConsumerCouponDTO param) {
MkShopConsumerCoupon bean = BeanUtil.toBean(param, MkShopConsumerCoupon.class);
save(bean);
//新增优惠券信息/数量
couponGiftService.addCouponGift(bean.getId(), param.getTitle(), 3, param.getCouponGiftList());
}
@Override
@Transactional
public void updateConsumerCouponById(MkShopConsumerCouponDTO param) {
updateById(BeanUtil.toBean(param, MkShopConsumerCoupon.class), true);
//更新优惠券信息/数量
couponGiftService.addCouponGift(param.getId(), param.getTitle(), 3, param.getCouponGiftList());
}
@Override
@Transactional
public void deleteConsumerCoupon(Long id) {
AssertUtil.isNull(id, "优惠券ID不能为空");
removeById(id);
//删除优惠券信息
couponGiftService.deleteJoinCouponGift(id, 3);
}
}

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.exceptions.ValidateException;
import com.czg.market.dto.ShopCouponDTO;
import com.czg.market.entity.ShopCoupon;
import com.czg.market.service.MkCouponGiftService;
import com.czg.market.service.ShopCouponService;
import com.czg.service.market.mapper.ShopCouponMapper;
import com.czg.utils.AssertUtil;
@@ -11,8 +12,8 @@ import com.czg.utils.PageUtil;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Service;
/**
* 优惠券信息表 服务层实现。
@@ -21,13 +22,16 @@ import org.springframework.stereotype.Service;
* @since 2025-09-11
*/
@DubboService
public class ShopCouponServiceImpl extends ServiceImpl<ShopCouponMapper, ShopCoupon> implements ShopCouponService{
public class ShopCouponServiceImpl extends ServiceImpl<ShopCouponMapper, ShopCoupon> implements ShopCouponService {
@Resource
private MkCouponGiftService couponGiftService;
@Override
public Page<ShopCouponDTO> getCouponPage(ShopCouponDTO param) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(ShopCoupon::getShopId, param.getShopId())
.eq(ShopCoupon::getCouponType, param.getCouponType())
.eq(ShopCoupon::getIsDel, 0)
.orderBy(ShopCoupon::getCreateTime).desc();
return pageAs(PageUtil.buildPage(), queryWrapper, ShopCouponDTO.class);
}
@@ -55,12 +59,13 @@ public class ShopCouponServiceImpl extends ServiceImpl<ShopCouponMapper, ShopCou
}
}
ShopCoupon coupon = BeanUtil.toBean(param, ShopCoupon.class);
updateById(coupon,true);
updateById(coupon, true);
}
@Override
public void deleteCoupon(Long id) {
AssertUtil.isNull(id, "优惠券ID不能为空");
removeById(id);
updateById(new ShopCoupon().setIsDel(1).setId(id), true);
couponGiftService.deleteJoinCouponGift(id, 3);
}
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czg.service.market.mapper.MkShopConsumerCouponMapper">
</mapper>