提交 0e6d9487 authored 作者: YunaiV's avatar YunaiV

清理价格计算相关的逻辑

上级 c54b330c
package cn.iocoder.mall.promotionservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"cn.iocoder.mall.productservice.rpc"})
public class PromotionServiceApplication {
public static void main(String[] args) {
SpringApplication.run(PromotionServiceApplication.class, args);
}
}
package cn.iocoder.mall.promotionservice.dal.mysql.dataobject.coupon;
import cn.iocoder.mall.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 优惠劵 DO
*/
@TableName("coupon_card")
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class CouponCardDO extends BaseDO {
// ========== 基本信息 BEGIN ==========
/**
* 优惠劵编号
*/
private Integer id;
/**
* 优惠劵(码)分组编号,{@link CouponTemplateDO} 的 id
*/
private Integer templateId;
/**
* 优惠劵名
*
* 冗余自 {@link CouponTemplateDO} 的 title
*
* TODO 芋艿,暂时不考虑冗余的更新
*/
private String title;
// /**
// * 核销码
// */
// private String verifyCode;
/**
* 优惠码状态
*
* 1-未使用
* 2-已使用
* 3-已失效
*/
private Integer status;
// ========== 基本信息 END ==========
// ========== 领取情况 BEGIN ==========
/**
* 用户编号
*/
private Integer userId;
/**
* 领取类型
*
* 1 - 用户主动领取
* 2 - 后台自动发放
*/
private Integer takeType;
// ========== 领取情况 END ==========
// ========== 使用规则 BEGIN ==========
/**
* 是否设置满多少金额可用,单位:分
*/
private Integer priceAvailable;
/**
* 生效开始时间
*/
private Date validStartTime;
/**
* 生效结束时间
*/
private Date validEndTime;
// ========== 使用规则 END ==========
// ========== 使用效果 BEGIN ==========
/**
* 优惠类型
*
* 1-代金卷
* 2-折扣卷
*/
private Integer preferentialType;
/**
* 折扣
*/
private Integer percentOff;
/**
* 优惠金额,单位:分。
*/
private Integer priceOff;
/**
* 折扣上限,仅在 {@link #preferentialType} 等于 2 时生效。
*
* 例如,折扣上限为 20 元,当使用 8 折优惠券,订单金额为 1000 元时,最高只可折扣 20 元,而非 80 元。
*/
private Integer discountPriceLimit;
// ========== 使用效果 END ==========
// ========== 使用情况 BEGIN ==========
// /**
// * 使用订单号
// */
// private Integer usedOrderId; // TODO 芋艿,暂时不考虑这个字段
// /**
// * 订单中优惠面值,单位:分
// */
// private Integer usedPrice; // TODO 芋艿,暂时不考虑这个字段
/**
* 使用时间
*/
private Date usedTime;
// TODO 芋艿,后续要加优惠劵的使用日志,因为下单后,可能会取消。
// ========== 使用情况 END ==========
}
package cn.iocoder.mall.promotionservice.service.banner;
import cn.iocoder.common.framework.exception.util.ServiceExceptionUtil;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.promotion.api.rpc.banner.dto.*;
import cn.iocoder.mall.promotionservice.convert.banner.BannerConvert;
import cn.iocoder.mall.promotionservice.dal.mysql.dataobject.banner.BannerDO;
import cn.iocoder.mall.promotionservice.dal.mysql.mapper.banner.BannerMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;
import java.util.List;
import static cn.iocoder.mall.promotion.api.enums.PromotionErrorCodeConstants.BANNER_NOT_EXISTS;
@Service
@Validated
public class BannerService {
@Autowired
private BannerMapper bannerMapper;
/**
* 获得 Banner 列表
*
* @param listReqDTO Banner 列表查询
* @return Banner 列表
*/
public List<BannerRespDTO> listBanners(BannerListReqDTO listReqDTO) {
List<BannerDO> banners = bannerMapper.selectList(listReqDTO);
return BannerConvert.INSTANCE.convertList(banners);
}
/**
* 获得 Banner 分页
*
* @param bannerPageDTO Banner 分页查询
* @return Banner 分页结果
*/
public PageResult<BannerRespDTO> pageBanner(BannerPageReqDTO bannerPageDTO) {
IPage<BannerDO> bannerPage = bannerMapper.selectPage(bannerPageDTO);
return BannerConvert.INSTANCE.convertPage(bannerPage);
}
/**
* 创建 Banner
*
* @param createReqDTO 创建 Banner 信息
* @return banner
*/
public Integer createBanner(@Valid BannerCreateReqDTO createReqDTO) {
// 插入到数据库
BannerDO bannerDO = BannerConvert.INSTANCE.convert(createReqDTO);
bannerMapper.insert(bannerDO);
// 返回
return bannerDO.getId();
}
/**
* 更新 Banner
*
* @param updateReqDTO 更新 Banner 信息
*/
public void updateBanner(@Valid BannerUpdateReqDTO updateReqDTO) {
// 校验更新的 Banner 是否存在
if (bannerMapper.selectById(updateReqDTO.getId()) == null) {
throw ServiceExceptionUtil.exception(BANNER_NOT_EXISTS);
}
// 更新到数据库
BannerDO updateObject = BannerConvert.INSTANCE.convert(updateReqDTO);
bannerMapper.updateById(updateObject);
}
/**
* 删除 Banner
*
* @param bannerId Banner 编号
*/
public void deleteBanner(Integer bannerId) {
// 校验 Banner 存在
if (bannerMapper.selectById(bannerId) == null) {
throw ServiceExceptionUtil.exception(BANNER_NOT_EXISTS);
}
// 更新到数据库
bannerMapper.deleteById(bannerId);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论