|
@@ -7,7 +7,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
|
import com.fdkankan.common.constant.TbStatus;
|
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
|
+import com.fdkankan.common.util.FileUtils;
|
|
|
import com.fdkankan.common.util.NumberUtils;
|
|
|
+import com.fdkankan.platform.common.ConstantExcel;
|
|
|
+import com.fdkankan.platform.common.ExcelUtil;
|
|
|
import com.fdkankan.platform.goods.common.SkuCache;
|
|
|
import com.fdkankan.platform.goods.service.IGoodsSkuService;
|
|
|
import com.fdkankan.platform.goods.vo.ResponseGoodsSku;
|
|
@@ -17,16 +20,21 @@ import com.fdkankan.platform.order.mapper.IIncrementOrderMapper;
|
|
|
import com.fdkankan.platform.order.service.IIncrementOrderService;
|
|
|
import com.fdkankan.platform.order.service.IInvoiceService;
|
|
|
import com.fdkankan.platform.user.request.RequestIncrementOrder;
|
|
|
+import com.fdkankan.platform.user.request.RequestOrder;
|
|
|
import com.fdkankan.platform.user.vo.ResponseIncrementOrder;
|
|
|
import com.fdkankan.platform.user.vo.ResponseInvoice;
|
|
|
+import com.fdkankan.platform.user.vo.ResponseOrder;
|
|
|
+import com.fdkankan.platform.util.ResultConvertUtil;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.text.DateFormat;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -43,6 +51,8 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
|
|
|
private IGoodsSkuService goodsSkuService;
|
|
|
@Autowired
|
|
|
private IInvoiceService invoiceService;
|
|
|
+ @Resource
|
|
|
+ private IIncrementOrderMapper incrementOrderMapper;
|
|
|
|
|
|
@Override
|
|
|
public ResponseIncrementOrder saveByOrderParam(Long userId, RequestIncrementOrder order, BigDecimal price) {
|
|
@@ -147,4 +157,104 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
|
|
|
}
|
|
|
return responseIncrementOrder;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<ResponseOrder> getOrderList(RequestOrder param) {
|
|
|
+ Page<ResponseOrder> orderList = incrementOrderMapper.getOrderList(new Page<>(param.getPageNum(), param.getPageSize()), param);
|
|
|
+ ResultConvertUtil.getOrderList(orderList.getRecords());
|
|
|
+ return orderList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseOrder findOrderByOrderId(Long orderId) {
|
|
|
+ IncrementOrder order = this.getById(orderId);
|
|
|
+ ResponseOrder responseOrder = new ResponseOrder();
|
|
|
+ if (order != null){
|
|
|
+ responseOrder.setId(order.getId());
|
|
|
+ responseOrder.setOrderSn(order.getOrderSn());
|
|
|
+ responseOrder.setOrderStatus("已完成");
|
|
|
+ if (order.getPayStatus().equals(1)) {
|
|
|
+ responseOrder.setPaymentStatus("已付款");
|
|
|
+ }
|
|
|
+ if (order.getPayStatus().equals(-2)) {
|
|
|
+ responseOrder.setPaymentStatus("已退款");
|
|
|
+ }
|
|
|
+ if (order.getPayStatus() <= 0) {
|
|
|
+ responseOrder.setPaymentStatus("未付款");
|
|
|
+ }
|
|
|
+ responseOrder.setPaymentTypeName(order.getPayType());
|
|
|
+ responseOrder.setTotalAmount(order.getAmount());
|
|
|
+ responseOrder.setOrderTime(order.getCreateTime());
|
|
|
+ responseOrder.setFinishTime(order.getTradeTime());
|
|
|
+ responseOrder.setUserId(order.getUserId());
|
|
|
+ Invoice invoice = invoiceService.getInvoiceByDownloadOrderId(order.getId());
|
|
|
+ if(invoice != null){
|
|
|
+ ResponseInvoice responseInvoice = new ResponseInvoice();
|
|
|
+ BeanUtils.copyProperties(invoice, responseInvoice);
|
|
|
+ responseOrder.setInvoice(responseInvoice);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return responseOrder;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String export(RequestOrder param) {
|
|
|
+ List<ResponseOrder> orders = incrementOrderMapper.getOrderList(null,param).getRecords();
|
|
|
+ List<Map> dataList = new ArrayList<Map>();
|
|
|
+ int serNum = 1;
|
|
|
+ for (int i = 0; i < orders.size(); ++i) {
|
|
|
+ ResponseOrder order = orders.get(i);
|
|
|
+ Map<String, String> item = new HashMap();
|
|
|
+ String num = order.getOrderSn();
|
|
|
+ if (order.getPaymentStatus().equals("0") || order.getPaymentStatus().equals("-1")) { //未支付
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[0], String.valueOf(serNum));
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[1], "");
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[10], "未付款");
|
|
|
+ } else if (order.getPaymentStatus().equals("1")){
|
|
|
+ //支付成功
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[0], String.valueOf(serNum));
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[1], new SimpleDateFormat("yyyyMMddhhmmss").format(order.getFinishTime()));
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[10], "已付款");
|
|
|
+ } else if(order.getPaymentStatus().equals("-2")){
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[10], "全额退款");
|
|
|
+ }
|
|
|
+
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[2], order.getOrderSn());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[3], order.getUserName());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[4], String.valueOf(order.getTotalAmount()));
|
|
|
+ if (order.getPaymentTypeName() == -1) {
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[5], "未支付");
|
|
|
+ } else {
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[5], ConstantExcel.PAYFORM[order.getPaymentTypeName()]);
|
|
|
+ }
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[6], order.getShipAddress());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[7], order.getShipMobile());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[8], order.getShipName());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[9], "已确认");
|
|
|
+
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[12], order.getTradeNum());
|
|
|
+
|
|
|
+ Invoice invoice = invoiceService.getInvoiceByDownloadOrderId(order.getId());
|
|
|
+ if (!ObjectUtils.isEmpty(invoice)) {
|
|
|
+ int type = invoice.getType();
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[13], ConstantExcel.INVOICE[type - 1]);
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[14], invoice.getTitle());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[15], invoice.getCode());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[16], invoice.getOrganizedAddress());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[17], invoice.getRegisterPhone());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[18], invoice.getBankName());
|
|
|
+ item.put(ConstantExcel.ORDEREXCELCOLENNAME[19], invoice.getBankAccount());
|
|
|
+ }
|
|
|
+ ++serNum;
|
|
|
+ dataList.add(item);
|
|
|
+ }
|
|
|
+ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ String dateStr = dateFormat.format(new Date());
|
|
|
+
|
|
|
+ String filePath = FileUtils.getResource().concat("excel/");
|
|
|
+ FileUtils.createDir(filePath);
|
|
|
+
|
|
|
+ ExcelUtil.writeExcel(dataList, 20, filePath + dateStr + ".xls", 1);
|
|
|
+
|
|
|
+ return filePath + dateStr + ".xls"; }
|
|
|
}
|