Browse Source

订单优惠配置

master
张彭杰 1 year ago
parent
commit
6b110ee430
13 changed files with 324 additions and 0 deletions
  1. 36
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/odc/entity/OrderDiscountConfig.java
  2. 43
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/OrderDiscountConfigUserCommandController.java
  3. 33
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserCreateOrderDiscountConfigDto.java
  4. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserDeleteOrderDiscountConfigDto.java
  5. 39
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserEditOrderDiscountConfigDto.java
  6. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserEnableOrderDiscountConfigDto.java
  7. 39
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/odc/OrderDiscountConfigApplicationService.java
  8. 31
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/odc/OrderDiscountConfigAggregate.java
  9. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/odc/repository/OrderDiscountConfigRepository.java
  10. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/odc/OrderDiscountConfigDao.java
  11. 41
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/OrderDiscountConfigRepositoryImpl.java
  12. 5
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/OrderDiscountConfigQueryService.java
  13. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/impl/OrderDiscountConfigQueryServiceImpl.java

36
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/odc/entity/OrderDiscountConfig.java

@ -0,0 +1,36 @@
package com.qniao.dam.domain.aggregate.odc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.qniao.domain.Entity;
import java.math.BigDecimal;
/**
* 订单优惠配置
*
* @date 2024/12/07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("da_order_discount_config")
public class OrderDiscountConfig extends Entity<OrderDiscountConfig> {
@ApiModelProperty("手机号码")
private String phone;
@ApiModelProperty("产品次分类")
private ProductSubCategoryEnum subCategory;
@ApiModelProperty("折扣金额")
private BigDecimal discountAmount;
@ApiModelProperty("启用")
private Boolean enable;
@ApiModelProperty("备注")
private String remark;
}

43
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/OrderDiscountConfigUserCommandController.java

@ -0,0 +1,43 @@
package com.qniao.dam.api.command.odc.user;
import com.qniao.dam.api.command.odc.user.request.*;
import com.qniao.dam.application.service.odc.OrderDiscountConfigApplicationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
@Api(tags = "订单优惠配置")
@RestController
@RequestMapping("user")
public class OrderDiscountConfigUserCommandController {
@Resource
private OrderDiscountConfigApplicationService orderDiscountConfigApplicationService;
@ApiOperation("用户创建订单优惠配置")
@PostMapping("create/order-discount-config")
public void userCreateOrderDiscountConfig(@RequestBody @Valid UserCreateOrderDiscountConfigDto dto) {
orderDiscountConfigApplicationService.create(dto.trans2Domain());
}
@ApiOperation("用户编辑订单优惠配置")
@PostMapping("edit/order-discount-config")
public void userEditOrderDiscountConfig(@RequestBody @Valid UserEditOrderDiscountConfigDto dto) {
orderDiscountConfigApplicationService.edit(dto.trans2Domain());
}
@ApiOperation("用户删除订单优惠配置")
@PostMapping("delete/order-discount-config")
public void userDeleteOrderDiscountConfig(@RequestBody @Valid UserDeleteOrderDiscountConfigDto dto) {
orderDiscountConfigApplicationService.delete(dto.getId());
}
@ApiOperation("用户启停订单优惠配置")
@PostMapping("enable/order-discount-config")
public void userEnableOrderDiscountConfig(@RequestBody @Valid UserEnableOrderDiscountConfigDto dto) {
orderDiscountConfigApplicationService.enable(dto.getId());
}
}

33
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserCreateOrderDiscountConfigDto.java

@ -0,0 +1,33 @@
package com.qniao.dam.api.command.odc.user.request;
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import com.qniao.domain.Trans2DomainAssembler;
import io.swagger.annotations.ApiModelProperty;
import com.qniao.framework.utils.TypeConvertUtils;
import java.math.BigDecimal;
import lombok.Data;
@Data
public class UserCreateOrderDiscountConfigDto implements Trans2DomainAssembler<OrderDiscountConfig> {
@ApiModelProperty("手机号码")
private String phone;
@ApiModelProperty("产品次分类")
private ProductSubCategoryEnum subCategory;
@ApiModelProperty("折扣金额")
private BigDecimal discountAmount;
@ApiModelProperty("启用")
private Boolean enable;
@ApiModelProperty("备注")
private String remark;
@Override
public OrderDiscountConfig trans2Domain() {
return TypeConvertUtils.convert(this, OrderDiscountConfig.class);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserDeleteOrderDiscountConfigDto.java

@ -0,0 +1,12 @@
package com.qniao.dam.api.command.odc.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserDeleteOrderDiscountConfigDto {
@ApiModelProperty("唯一标识")
private Long id;
}

39
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserEditOrderDiscountConfigDto.java

@ -0,0 +1,39 @@
package com.qniao.dam.api.command.odc.user.request;
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import com.qniao.domain.Trans2DomainAssembler;
import io.swagger.annotations.ApiModelProperty;
import com.qniao.framework.utils.TypeConvertUtils;
import java.math.BigDecimal;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class UserEditOrderDiscountConfigDto implements Trans2DomainAssembler<OrderDiscountConfig> {
@ApiModelProperty("唯一标识")
@NotNull(message = "唯一标识不能为空")
private Long id;
@ApiModelProperty("手机号码")
private String phone;
@ApiModelProperty("产品次分类")
private ProductSubCategoryEnum subCategory;
@ApiModelProperty("折扣金额")
private BigDecimal discountAmount;
@ApiModelProperty("备注")
private String remark;
@Override
public OrderDiscountConfig trans2Domain() {
return TypeConvertUtils.convert(this, OrderDiscountConfig.class);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserEnableOrderDiscountConfigDto.java

@ -0,0 +1,12 @@
package com.qniao.dam.api.command.odc.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserEnableOrderDiscountConfigDto {
@ApiModelProperty("唯一标识")
private Long id;
}

39
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/odc/OrderDiscountConfigApplicationService.java

@ -0,0 +1,39 @@
package com.qniao.dam.application.service.odc;
import com.qniao.dam.domain.aggregate.odc.OrderDiscountConfigAggregate;
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig;
import com.qniao.dam.domain.aggregate.odc.repository.OrderDiscountConfigRepository;
import com.qniao.dam.infrastructure.persistent.dao.odc.OrderDiscountConfigDao;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
@Service
public class OrderDiscountConfigApplicationService {
@Resource
private OrderDiscountConfigAggregate orderDiscountConfigAggregate;
@Resource
private OrderDiscountConfigRepository orderDiscountConfigRepository;
public void create(OrderDiscountConfig orderDiscountConfig) {
orderDiscountConfigAggregate.create(orderDiscountConfig);
}
public void edit(OrderDiscountConfig orderDiscountConfig) {
orderDiscountConfigAggregate.edit(orderDiscountConfig);
}
public void delete(Long id) {
orderDiscountConfigAggregate.delete(id);
}
public void enable(Long id) {
OrderDiscountConfig orderDiscountConfig = orderDiscountConfigRepository.load(id);
if (Objects.nonNull(orderDiscountConfig)) {
orderDiscountConfig.setEnable(!orderDiscountConfig.getEnable());
orderDiscountConfigRepository.save(orderDiscountConfig);
}
}
}

31
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/odc/OrderDiscountConfigAggregate.java

@ -0,0 +1,31 @@
package com.qniao.dam.domain.aggregate.odc;
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig;
import com.qniao.dam.domain.aggregate.odc.repository.OrderDiscountConfigRepository;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 订单优惠配置
*
* @date 2024/12/07
*/
@Service
public class OrderDiscountConfigAggregate {
@Resource
private OrderDiscountConfigRepository repository;
public void create(OrderDiscountConfig entity) {
repository.save(entity);
}
public void edit(OrderDiscountConfig entity) {
repository.save(entity);
}
public void delete(Long id) {
repository.delete(id);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/odc/repository/OrderDiscountConfigRepository.java

@ -0,0 +1,12 @@
package com.qniao.dam.domain.aggregate.odc.repository;
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig;
import com.qniao.domain.Repository;
/**
* 订单优惠配置
*
* @date 2024/12/07
*/
public interface OrderDiscountConfigRepository extends Repository<OrderDiscountConfig, Long> {
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/odc/OrderDiscountConfigDao.java

@ -0,0 +1,12 @@
package com.qniao.dam.infrastructure.persistent.dao.odc;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig;
/**
* 订单优惠配置
*
* @date 2024/12/07
*/
public interface OrderDiscountConfigDao extends BaseMapper<OrderDiscountConfig> {
}

41
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/OrderDiscountConfigRepositoryImpl.java

@ -0,0 +1,41 @@
package com.qniao.dam.infrastructure.persistent.repository.impl;
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig;
import com.qniao.dam.domain.aggregate.odc.repository.OrderDiscountConfigRepository;
import com.qniao.dam.infrastructure.persistent.dao.odc.OrderDiscountConfigDao;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
/**
* 订单优惠配置
*
* @date 2024/12/07
*/
@Service
public class OrderDiscountConfigRepositoryImpl implements OrderDiscountConfigRepository {
@Resource
private OrderDiscountConfigDao dao;
@Override
public OrderDiscountConfig load(Long id) {
return dao.selectById(id);
}
@Override
public Long save(OrderDiscountConfig entity) {
if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) {
dao.insert(entity);
} else {
dao.updateById(entity);
}
return entity.getId();
}
@Override
public void delete(Long id) {
dao.deleteById(id);
}
}

5
dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/OrderDiscountConfigQueryService.java

@ -0,0 +1,5 @@
package com.qniao.dam.query.odc;
public interface OrderDiscountConfigQueryService {
}

9
dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/impl/OrderDiscountConfigQueryServiceImpl.java

@ -0,0 +1,9 @@
package com.qniao.dam.query.odc.impl;
import com.qniao.dam.query.odc.OrderDiscountConfigQueryService;
import org.springframework.stereotype.Service;
@Service
public class OrderDiscountConfigQueryServiceImpl implements OrderDiscountConfigQueryService {
}
Loading…
Cancel
Save