package com.example.northglasserpclient.service.sd.impl;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.TypeReference;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.example.northglasserpclient.domain.dto.sd.OrderDTO;
|
import com.example.northglasserpclient.domain.dto.sd.OrderDetailDTO;
|
import com.example.northglasserpclient.domain.po.sd.*;
|
import com.example.northglasserpclient.mapper.sd.CustomerOrderMapper;
|
import com.example.northglasserpclient.mapper.sd.CustomerOrderDetailMapper;
|
import com.example.northglasserpclient.service.sd.ICustomerOrderDetailService;
|
import com.example.northglasserpclient.service.sd.ICustomerOrderService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.example.northglasserpclient.service.sd.IOrderDetailService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.time.LocalDateTime;
|
import java.util.*;
|
import java.util.concurrent.atomic.AtomicReference;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author liao
|
* @since 2025-10-29
|
*/
|
@Service
|
@RequiredArgsConstructor
|
public class CustomerOrderServiceImpl extends ServiceImpl<CustomerOrderMapper, CustomerOrder> implements ICustomerOrderService {
|
|
private final ICustomerOrderDetailService customerOrderDetailService;
|
|
private final CustomerOrderMapper customerOrderMapper;
|
|
private final CustomerOrderDetailMapper customerOrderDetailMapper;
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public String saveCustomerOrder(Map<String,Object> object) {
|
String saveState = "true";
|
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
|
try {
|
String customerName = object.get("customerName").toString();
|
int customerId = Integer.parseInt(object.get("customerId").toString());
|
String remarks = object.get("remarks").toString();
|
List<CustomerOrderDetail> customerOrderDetailList = JSONArray.parseArray(JSONObject.toJSONString(object.get("data")), CustomerOrderDetail.class);
|
|
CustomerOrder customerOrder=new CustomerOrder();
|
customerOrder.setCustomerId((long) customerId);
|
customerOrder.setCustomerName(customerName);
|
customerOrder.setRemarks(remarks);
|
customerOrderMapper.insert(customerOrder);
|
for(CustomerOrderDetail customerOrderDetail : customerOrderDetailList){
|
CustomerOrderDetail customerOrderDetailNew=new CustomerOrderDetail();
|
customerOrderDetailNew.setCustomerOrderId(customerOrder.getId());
|
customerOrderDetailNew.setWidth(customerOrderDetail.getWidth());
|
customerOrderDetailNew.setHeight(customerOrderDetail.getHeight());
|
customerOrderDetailNew.setPrice(customerOrderDetail.getPrice());
|
customerOrderDetailNew.setQuantity(customerOrderDetail.getQuantity());
|
customerOrderDetailNew.setProductId(customerOrderDetail.getProductId());
|
customerOrderDetailNew.setProductName(customerOrderDetail.getProductName());
|
customerOrderDetailMapper.insert(customerOrderDetailNew);
|
|
}
|
}catch (Exception e) {
|
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
|
//将异常传入数据库
|
System.out.println(e+Arrays.toString(e.getStackTrace()));
|
saveState = "false";
|
}
|
return saveState;
|
}
|
|
}
|