AmazonOrderItemServiceImpl.java 2.4 KB
package com.aukey.example.service.fbaStock.impl;

import com.aukey.example.entity.fbaStock.AmazonOrderItem;
import com.aukey.example.mapper.fbaStock.AmazonOrderItemMapper;
import com.aukey.example.service.fbaStock.AmazonOrderItemService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;

import java.util.List;
import java.util.Objects;

/**
 * @author: wgf
 * @create: 2020-08-25 14:36
 * @description:
 **/
@Slf4j
@Service
public class AmazonOrderItemServiceImpl implements AmazonOrderItemService {

    @Autowired
    AmazonOrderItemMapper amazonOrderItemMapper;

    @Override
    @Transactional(value = "fbaStockTransactionManager")
    public void insertOrUpdate(List<AmazonOrderItem> list) {
        for (AmazonOrderItem amazonOrderItem : list) {
            log.info("订单号:{}", amazonOrderItem.getAmazonOrderId());
            AmazonOrderItem query = new AmazonOrderItem();
            query.setAmazonOrderId(amazonOrderItem.getAmazonOrderId());
            query.setAccountId(amazonOrderItem.getAccountId());
            query.setAreaId(amazonOrderItem.getAreaId());
            query.setSellerSku(amazonOrderItem.getSellerSku());
            query.setOrderItemId(amazonOrderItem.getOrderItemId());
            Integer aid = this.amazonOrderItemMapper.selectAid(query);

            // 主键和 headId不能使用
            amazonOrderItem.setOrderHeaderId(null);
            if (Objects.isNull(aid)) {
                amazonOrderItem.setAid(null);
                this.amazonOrderItemMapper.insertSelective(amazonOrderItem);
            } else {
                amazonOrderItem.setAid(aid);
                this.amazonOrderItemMapper.updateByPrimaryKeySelective(amazonOrderItem);
            }
        }
    }


    @Override
    @Transactional(value = "fbaStockTransactionManager")
    public void delete(List<AmazonOrderItem> list) {
        AmazonOrderItem condition = new AmazonOrderItem();
        for (AmazonOrderItem amazonOrderItem : list) {
            condition.setAccountId(amazonOrderItem.getAccountId());
            condition.setAreaId(amazonOrderItem.getAreaId());
            condition.setAmazonOrderId(amazonOrderItem.getAmazonOrderId());
            this.amazonOrderItemMapper.delete(condition);
        }
    }
}