满减活动
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package com.czg.service.market.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.czg.market.entity.MkDiscountActivity;
|
||||
|
||||
/**
|
||||
* 商家满减活动表 映射层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-13
|
||||
*/
|
||||
public interface MkDiscountActivityMapper extends BaseMapper<MkDiscountActivity> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.service.market.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.czg.market.entity.MkDiscountThreshold;
|
||||
|
||||
/**
|
||||
* 商家满减活动明细表 映射层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-13
|
||||
*/
|
||||
public interface MkDiscountThresholdMapper extends BaseMapper<MkDiscountThreshold> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
package com.czg.service.market.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.czg.TimeQueryParam;
|
||||
import com.czg.market.dto.MkDiscountActivityDTO;
|
||||
import com.czg.market.dto.ShopCouponDTO;
|
||||
import com.czg.market.entity.MkDiscountThreshold;
|
||||
import com.czg.market.entity.ShopCoupon;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.czg.service.market.mapper.MkDiscountThresholdMapper;
|
||||
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 com.czg.market.entity.MkDiscountActivity;
|
||||
import com.czg.market.service.MkDiscountActivityService;
|
||||
import com.czg.service.market.mapper.MkDiscountActivityMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 商家满减活动表 服务层实现。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-13
|
||||
*/
|
||||
@Service
|
||||
public class MkDiscountActivityServiceImpl extends ServiceImpl<MkDiscountActivityMapper, MkDiscountActivity> implements MkDiscountActivityService {
|
||||
|
||||
@Resource
|
||||
private MkDiscountThresholdMapper thresholdMapper;
|
||||
|
||||
@Override
|
||||
public Page<MkDiscountActivityDTO> getActivityPage(TimeQueryParam param, Long shopId) {
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq(MkDiscountActivity::getShopId, shopId)
|
||||
.eq(MkDiscountActivity::getIsDel, 0)
|
||||
.lt(MkDiscountActivity::getValidStartTime, param.getStartTime())
|
||||
.le(MkDiscountActivity::getValidEndTime, param.getEndTime())
|
||||
.orderBy(MkDiscountActivity::getSort).desc()
|
||||
.orderBy(MkDiscountActivity::getUpdateTime).desc();
|
||||
Page<MkDiscountActivityDTO> page = pageAs(PageUtil.buildPage(), queryWrapper, MkDiscountActivityDTO.class);
|
||||
page.getRecords().forEach(
|
||||
item -> item.setThresholds(thresholdMapper.selectListByQuery(
|
||||
new QueryWrapper().eq(MkDiscountThreshold::getActivityId, item.getId())
|
||||
))
|
||||
);
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addActivity(MkDiscountActivityDTO param) {
|
||||
if(CollUtil.isEmpty(param.getThresholds())){
|
||||
throw new IllegalArgumentException("活动必须配置满减阈值");
|
||||
}
|
||||
MkDiscountActivity activity = BeanUtil.toBean(param, MkDiscountActivity.class);
|
||||
save(activity);
|
||||
for (MkDiscountThreshold threshold : param.getThresholds()) {
|
||||
threshold.setActivityId(activity.getId());
|
||||
thresholdMapper.insert(threshold);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateActivityById(MkDiscountActivityDTO param) {
|
||||
if(CollUtil.isEmpty(param.getThresholds())){
|
||||
throw new IllegalArgumentException("活动必须配置满减阈值");
|
||||
}
|
||||
MkDiscountActivity activity = BeanUtil.toBean(param, MkDiscountActivity.class);
|
||||
updateById(activity, true);
|
||||
thresholdMapper.deleteByQuery(
|
||||
new QueryWrapper().eq(MkDiscountThreshold::getActivityId, activity.getId())
|
||||
);
|
||||
for (MkDiscountThreshold threshold : param.getThresholds()) {
|
||||
threshold.setActivityId(activity.getId());
|
||||
thresholdMapper.insert(threshold);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteActivity(Long id) {
|
||||
updateById(new MkDiscountActivity().setIsDel(true).setUpdateTime(LocalDateTime.now()).setId(id));
|
||||
}
|
||||
}
|
||||
@@ -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.MkDiscountActivityMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -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.MkDiscountThresholdMapper">
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user