AmazonOrderServiceImpl.java 2.0 KB
package com.aukey.example.service.fbaStock.impl;

import com.aukey.example.entity.fbaStock.AmazonOrder;
import com.aukey.example.mapper.fbaStock.AmazonOrderMapper;
import com.aukey.example.service.fbaStock.AmazonOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

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

/**
 * @author: wgf
 * @create: 2020-08-25 14:36
 * @description:
 **/
@Service
public class AmazonOrderServiceImpl implements AmazonOrderService {

    @Autowired
    AmazonOrderMapper amazonOrderMapper;

    @Override
    @Transactional(value = "fbaStockTransactionManager")
    public void insertOrUpdate(List<AmazonOrder> list) {
        for (AmazonOrder amazonOrder : list) {
            AmazonOrder query = new AmazonOrder();
            query.setAccountId(amazonOrder.getAccountId());
            query.setAreaId(amazonOrder.getAreaId());
            query.setAmazonOrderId(amazonOrder.getAmazonOrderId());
            AmazonOrder existOrder = this.amazonOrderMapper.selectOne(query);

            // 主键不能使用
            if (Objects.isNull(existOrder)) {
                amazonOrder.setAid(null);
                this.amazonOrderMapper.insertSelective(amazonOrder);
            } else {
                amazonOrder.setAid(existOrder.getAid());
                this.amazonOrderMapper.updateByPrimaryKeySelective(amazonOrder);
            }
        }
    }


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