Browse Source

基础配置

release
张彭杰 2 years ago
parent
commit
2e875a0478
9 changed files with 170 additions and 2 deletions
  1. 34
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/order/entity/Order.java
  2. 52
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/order/entity/OrderItem.java
  3. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/order/OrderAggregate.java
  4. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/order/repository/OrderRepository.java
  5. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/OrderDao.java
  6. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/OrderItemDao.java
  7. 54
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/OrderRepositoryImpl.java
  8. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/ProductRepositoryImpl.java
  9. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/ProductSpecRepositoryImpl.java

34
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/order/entity/Order.java

@ -0,0 +1,34 @@
package com.qniao.dam.domain.aggregate.order.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.domain.Entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("da_order")
public class Order extends Entity<Order> {
@ApiModelProperty("用户标识")
private Long userId;
@ApiModelProperty("征婚资料标识")
private Long miId;
@ApiModelProperty("结算金额")
private BigDecimal settlementAmount;
@ApiModelProperty("付款时间")
private LocalDateTime paidTime;
@ApiModelProperty("状态")
private Integer status;
private transient List<OrderItem> orderItemList;
}

52
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/order/entity/OrderItem.java

@ -0,0 +1,52 @@
package com.qniao.dam.domain.aggregate.order.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.dam.domian.aggregate.product.constant.ProductMainCategoryEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum;
import com.qniao.domain.Entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("da_order_item")
public class OrderItem extends Entity<OrderItem> {
@ApiModelProperty("订单标识")
private Long orderId;
@ApiModelProperty("产品标识")
private Long productId;
@ApiModelProperty("产品规格标识")
private Long productSpecId;
@ApiModelProperty("产品类型(实物、虚拟物品)")
private ProductTypeEnum productType;
@ApiModelProperty("产品主分类")
private ProductMainCategoryEnum mainCategory;
@ApiModelProperty("产品次分类")
private ProductSubCategoryEnum subCategory;
@ApiModelProperty("产品标题")
private String productTitle;
@ApiModelProperty("产品描述")
private String productDesc;
@ApiModelProperty("结算单价")
private BigDecimal unitSettlementPrice;
@ApiModelProperty("数量")
private Integer quantity;
@ApiModelProperty("结算金额")
private BigDecimal settlementAmount;
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/order/OrderAggregate.java

@ -0,0 +1,7 @@
package com.qniao.dam.domain.aggregate.order;
import org.springframework.stereotype.Service;
@Service
public class OrderAggregate {
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/order/repository/OrderRepository.java

@ -0,0 +1,7 @@
package com.qniao.dam.domain.aggregate.order.repository;
import com.qniao.dam.domain.aggregate.order.entity.Order;
import com.qniao.domain.Repository;
public interface OrderRepository extends Repository<Order, Long> {
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/OrderDao.java

@ -0,0 +1,7 @@
package com.qniao.dam.infrastructure.persistent.dao.domain;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qniao.dam.domain.aggregate.order.entity.Order;
public interface OrderDao extends BaseMapper<Order> {
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/OrderItemDao.java

@ -0,0 +1,7 @@
package com.qniao.dam.infrastructure.persistent.dao.domain;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qniao.dam.domain.aggregate.order.entity.OrderItem;
public interface OrderItemDao extends BaseMapper<OrderItem> {
}

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

@ -0,0 +1,54 @@
package com.qniao.dam.infrastructure.persistent.repository.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.domain.aggregate.order.entity.Order;
import com.qniao.dam.domain.aggregate.order.entity.OrderItem;
import com.qniao.dam.domain.aggregate.order.repository.OrderRepository;
import com.qniao.dam.infrastructure.persistent.dao.domain.OrderDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.OrderItemDao;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Objects;
public class OrderRepositoryImpl implements OrderRepository {
@Resource
private OrderDao orderDao;
@Resource
private OrderItemDao orderItemDao;
@Override
public Order load(Long id) {
Order order = orderDao.selectById(id);
if (Objects.nonNull(order)) {
order.setOrderItemList(orderItemDao.selectList(new LambdaQueryWrapper<OrderItem>()
.eq(OrderItem::getOrderId, id)));
}
return order;
}
@Transactional(rollbackFor = Exception.class)
@Override
public Long save(Order entity) {
if (Objects.isNull(entity.getId()) || Objects.isNull(orderDao.selectById(entity.getId()))) {
orderDao.insert(entity);
if (CollUtil.isNotEmpty(entity.getOrderItemList())) {
entity.getOrderItemList().forEach(item -> {
item.setOrderId(entity.getId());
orderItemDao.insert(item);
});
}
} else {
orderDao.updateById(entity);
if (CollUtil.isNotEmpty(entity.getOrderItemList())) {
entity.getOrderItemList().forEach(item -> {
orderItemDao.updateById(item);
});
}
}
return entity.getId();
}
}

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

@ -21,7 +21,7 @@ public class ProductRepositoryImpl implements ProductRepository {
@Override
public Long save(Product entity) {
if (Objects.isNull(entity) || Objects.isNull(productDao.selectById(entity.getId()))) {
if (Objects.isNull(entity.getId()) || Objects.isNull(productDao.selectById(entity.getId()))) {
productDao.insert(entity);
} else {
productDao.updateById(entity);

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

@ -35,7 +35,7 @@ public class ProductSpecRepositoryImpl implements ProductSpecRepository {
@Transactional(rollbackFor = Exception.class)
@Override
public Long save(ProductSpec entity) {
if (Objects.isNull(entity) || Objects.isNull(productSpecDao.selectById(entity.getId()))) {
if (Objects.isNull(entity.getId()) || Objects.isNull(productSpecDao.selectById(entity.getId()))) {
productSpecDao.insert(entity);
} else {
productSpecDao.updateById(entity);

Loading…
Cancel
Save