|
@@ -2,47 +2,40 @@ package com.kmall.admin.controller;
|
|
|
|
|
|
import com.kmall.admin.dto.OrderExpressDto;
|
|
|
import com.kmall.admin.entity.*;
|
|
|
-import com.kmall.admin.websocket.WebSocketServer;
|
|
|
-import com.kmall.common.constant.JxlsXmlTemplateName;
|
|
|
-import com.kmall.common.utils.excel.ExcelUtil;
|
|
|
-import com.kmall.manager.manager.alipay.AliPayMicropayApiResult;
|
|
|
-import com.kmall.manager.manager.alipay.AliPayUtil;
|
|
|
-import com.kmall.manager.manager.wechat.WechatUtil;
|
|
|
-import com.kmall.manager.manager.wechat.WechatGlobalUtil;
|
|
|
-import com.kmall.manager.manager.wechat.wxglobal.dto.WechatGlobalRefundApiResult;
|
|
|
+import com.kmall.admin.fromcomm.entity.SysUserEntity;
|
|
|
import com.kmall.admin.service.*;
|
|
|
-import com.kmall.admin.service.OrderExceptionRecordService;
|
|
|
-import com.kmall.admin.service.OrderProcessRecordService;
|
|
|
-import com.kmall.admin.service.OrderService;
|
|
|
import com.kmall.admin.utils.ParamUtils;
|
|
|
import com.kmall.admin.utils.ShiroUtils;
|
|
|
import com.kmall.common.constant.Dict;
|
|
|
-import com.kmall.admin.fromcomm.entity.SysUserEntity;
|
|
|
+import com.kmall.common.constant.JxlsXmlTemplateName;
|
|
|
import com.kmall.common.utils.*;
|
|
|
import com.kmall.common.utils.excel.ExcelExport;
|
|
|
-import com.kmall.manager.manager.pingan.PinganUtil;
|
|
|
-import com.kmall.manager.manager.pingan.dto.PinganResponseDto;
|
|
|
+import com.kmall.common.utils.excel.ExcelUtil;
|
|
|
import com.kmall.common.utils.print.ticket.item.Ticket;
|
|
|
import com.kmall.common.utils.wechat.WechatMicropayApiResult;
|
|
|
import com.kmall.common.utils.wechat.WechatRefundApiResult;
|
|
|
import com.kmall.common.utils.wechat.WechatReverseApiResult;
|
|
|
+import com.kmall.manager.manager.alipay.AliPayMicropayApiResult;
|
|
|
+import com.kmall.manager.manager.alipay.AliPayUtil;
|
|
|
+import com.kmall.manager.manager.pingan.PinganUtil;
|
|
|
+import com.kmall.manager.manager.pingan.dto.PinganResponseDto;
|
|
|
+import com.kmall.manager.manager.wechat.WechatGlobalUtil;
|
|
|
+import com.kmall.manager.manager.wechat.WechatUtil;
|
|
|
+import com.kmall.manager.manager.wechat.wxglobal.dto.WechatGlobalRefundApiResult;
|
|
|
import net.sf.json.JSONObject;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.logging.Log;
|
|
|
import org.apache.commons.logging.LogFactory;
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
-import org.apache.shiro.web.session.HttpServletSession;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import javax.websocket.server.PathParam;
|
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
-import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.regex.Matcher;
|
|
@@ -771,7 +764,7 @@ public class OrderController {
|
|
|
return r;
|
|
|
}
|
|
|
/**
|
|
|
- * 订单导出请求
|
|
|
+ * 线上订单导出请求
|
|
|
*/
|
|
|
@RequiresPermissions(value = {"order:export"})
|
|
|
@RequestMapping(value = "export")
|
|
@@ -780,12 +773,14 @@ public class OrderController {
|
|
|
params = ParamUtils.setTimeMap(params);
|
|
|
//查询列表数据
|
|
|
params.put("isOnfiilineOrder", Dict.isOnfflineOrder.item_0.getItem());
|
|
|
- List<OrderEntity> orderList = orderService.queryExportList(params);
|
|
|
-
|
|
|
- ExcelExport ee = new ExcelExport("订单信息");
|
|
|
+ ExcelExport ee = new ExcelExport("线上订单信息");
|
|
|
|
|
|
- String[] header = new String[]{"订单编号","商户订单编号", "所属门店", "供应商", "供应商第三方商户代码", "订单状态", "SKU", "商品名称", "数量", "销售价", "实际支付金额", "保税模式", "快递公司名称", "快递单编号", "海关清单编号", "收货人姓名", "收件人手机", "收件人省份", "收件人城市", "收件人区县", "收件人地址", "下单时间", "支付流水号","身份证号"
|
|
|
- ,"原产国","规格型号","品牌","单位","毛重(kg)","净重","零售价","促销价","成交价"};
|
|
|
+ // =================================================线上订单明细导出开始=====================================
|
|
|
+ List<OrderEntity> orderList = orderService.queryExportList(params);
|
|
|
+ String[] header = new String[]{"订单编号", "商户订单编号", "所属门店", "供应商", "供应商第三方商户代码", "订单状态", "SKU", "商品名称", "数量",
|
|
|
+ "销售价", "促销价", "实际支付金额", "保税模式", "快递公司", "配送单号", "快递费用", "发货状态", "修改人",
|
|
|
+ "海关清单编号", "收货人姓名", "收件人手机", "收件人省份", "收件人城市", "收件人区县", "收件人地址", "下单时间", "支付流水号", "身份证号"
|
|
|
+ , "原产国", "规格型号", "品牌", "单位", "毛重(kg)", "净重"};
|
|
|
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
if (orderList != null && orderList.size() != 0) {
|
|
@@ -793,6 +788,7 @@ public class OrderController {
|
|
|
LinkedHashMap<String, Object> map = new LinkedHashMap<>();
|
|
|
Integer orderStatus = orderEntity.getOrderStatus();
|
|
|
String orderBizType = orderEntity.getOrderBizType();
|
|
|
+ Integer shippingStatus = orderEntity.getShippingStatus();
|
|
|
|
|
|
map.put("OrderSn", orderEntity.getOrderSn());
|
|
|
map.put("MerchOrderSn", orderEntity.getMerchOrderSn());
|
|
@@ -804,11 +800,15 @@ public class OrderController {
|
|
|
map.put("GoodsName", orderEntity.getGoodsName());
|
|
|
map.put("Number", orderEntity.getNumber());
|
|
|
map.put("RetailPrice", orderEntity.getRetailPrice());
|
|
|
+ map.put("TopicPrice", orderEntity.getTopicPrice());
|
|
|
map.put("ActualPrice", orderEntity.getActualPrice());
|
|
|
|
|
|
map.put("OrderBizType", StringUtils.isEmpty(orderBizType)? "":Dict.orderBizType.valueOf("item_"+orderBizType).getItemName());
|
|
|
map.put("ShippingName", orderEntity.getShippingName());
|
|
|
map.put("ShippingNo", orderEntity.getShippingNo());
|
|
|
+ map.put("ShippingFee", orderEntity.getShippingFee());
|
|
|
+ map.put("ShippingStatus", Dict.shippingStatus.valueOf("item_"+shippingStatus).getItemName());
|
|
|
+ map.put("ModerSn", orderEntity.getModerSn());
|
|
|
map.put("InvtNo", orderEntity.getOrderProcessRecord()==null?"":orderEntity.getOrderProcessRecord().getInvtNo());
|
|
|
map.put("Consignee", orderEntity.getConsignee());
|
|
|
map.put("Mobile", orderEntity.getMobile());
|
|
@@ -828,15 +828,49 @@ public class OrderController {
|
|
|
map.put("NetWeight", orderEntity.getNetWeight());
|
|
|
|
|
|
// 零售价\促销价\成交价
|
|
|
- map.put("SellPrice",orderEntity.getRetailPrice());
|
|
|
- map.put("TopicPrice",orderEntity.getTopicPrice());
|
|
|
- map.put("FinalPrice",orderEntity.getActualPrice());
|
|
|
+// map.put("SellPrice",orderEntity.getRetailPrice());
|
|
|
+//
|
|
|
+// map.put("FinalPrice",orderEntity.getActualPrice());
|
|
|
|
|
|
list.add(map);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- ee.addSheetByMap("订单信息", list, header);
|
|
|
+ // =================================================线上订单明细导出开始=====================================
|
|
|
+ // =================================================线上订单导出开始=====================================
|
|
|
+ List<OrderEntity> masterOrderList = orderService.queryMasterExportList(params);
|
|
|
+ String[] headerMatser = new String[]{"所属门店", "订单号", "会员", "支付类型", "商户订单号", "订单业务类型", "订单状态", "订付人核验", "付款状态",
|
|
|
+ "实际支付", "订单总价", "下单时间", "快递公司", "配送单号", "快递费用", "发货状态", "修改人",};
|
|
|
+ List<Map<String, Object>> listMaster = new ArrayList<>();
|
|
|
+ if (masterOrderList != null && masterOrderList.size() > 0) {
|
|
|
+ for (OrderEntity orderEntity : masterOrderList) {
|
|
|
+ LinkedHashMap<String, Object> map = new LinkedHashMap<>();
|
|
|
+ String orderBizType = orderEntity.getOrderBizType();
|
|
|
+ Integer orderStatus = orderEntity.getOrderStatus();
|
|
|
+ String isMergePay = orderEntity.getIsMergePay();
|
|
|
+ String buyerPayCheck = orderEntity.getBuyerPayCheck();
|
|
|
+ map.put("StoreName",orderEntity.getStoreName());
|
|
|
+ map.put("OrderSn",orderEntity.getOrderSn());
|
|
|
+ map.put("UserName",orderEntity.getUserName());
|
|
|
+ map.put("IsMergePay",StringUtils.isEmpty(isMergePay)?"-":Dict.isMergePay.valueOf("item_"+isMergePay).getItemName());
|
|
|
+ map.put("MerchOrderSn",orderEntity.getMerchOrderSn());
|
|
|
+ map.put("OrderBizType",StringUtils.isEmpty(orderBizType)? "":Dict.orderBizType.valueOf("item_"+orderBizType).getItemName());
|
|
|
+ map.put("OrderStatus",Dict.orderStatus.valueOf("item_"+ orderStatus).getItemName());
|
|
|
+ map.put("BuyerPayCheck",StringUtils.isEmpty(buyerPayCheck)?"":Dict.merchReturnSubjectChecked.valueOf("item_"+buyerPayCheck).getItemName());
|
|
|
+ map.put("PayStatus",Dict.payStatus.valueOf("item_"+orderEntity.getPayStatus()).getItemName());
|
|
|
+ map.put("ActualPrice",orderEntity.getActualPrice());
|
|
|
+ map.put("OrderPrice",orderEntity.getOrderPrice());
|
|
|
+ map.put("AddTime",orderEntity.getAddTime());
|
|
|
+ map.put("ShippingName",orderEntity.getShippingName());
|
|
|
+ map.put("ShippingNo",orderEntity.getShippingNo());
|
|
|
+ map.put("ShippingFee",orderEntity.getShippingFee());
|
|
|
+ map.put("ShippingStatus",Dict.shippingStatus.valueOf("item_"+orderEntity.getShippingStatus()).getItemName());
|
|
|
+ map.put("ModerSn",orderEntity.getModerSn());
|
|
|
+ listMaster.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // =================================================线上订单导出结束=====================================
|
|
|
+ ee.addSheetByMap("线上订单信息", listMaster, headerMatser);
|
|
|
+ ee.addSheetByMap("线上订单明细信息", list, header);
|
|
|
ee.export(response);
|
|
|
|
|
|
return R.ok();
|
|
@@ -1024,5 +1058,95 @@ public class OrderController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 线上订单导出请求
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "exportOffilineOrder")
|
|
|
+ public R exportOffilineOrder(@RequestParam Map<String, Object> params, HttpServletResponse response, HttpServletRequest request) {
|
|
|
+ ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
|
|
|
+ params = ParamUtils.setTimeMap(params);
|
|
|
+ params.put("isOnfiilineOrder", Dict.isOnfflineOrder.item_1.getItem());
|
|
|
+ ExcelExport ee = new ExcelExport("线下订单信息");
|
|
|
+ //查询列表数据
|
|
|
+ // =================================================线下订单明细导出开始=====================================
|
|
|
+ List<OrderEntity> orderEntityList = orderService.queryExportOffilineOrderList(params);
|
|
|
+ String[] header = new String[]{"订单号", "操作店员", "购买类型", "订单业务类型", "订单状态",
|
|
|
+ "付款状态", "sku", "商品名称", "数量", "实际支付", "订单总价", "下单时间", "付款时间", "零售价", "促销价", "成交价"};
|
|
|
+
|
|
|
+ List<Map<String, Object>> list = new ArrayList<>();
|
|
|
+ if (orderEntityList != null && orderEntityList.size() > 0) {
|
|
|
+ for (OrderEntity orderEntity : orderEntityList) {
|
|
|
+ LinkedHashMap<String, Object> map = new LinkedHashMap<>();
|
|
|
+
|
|
|
+ // 订单业务类型
|
|
|
+ String orderBizType = orderEntity.getOrderBizType();
|
|
|
+ // 订单状态
|
|
|
+ Integer orderStatus = orderEntity.getOrderStatus();
|
|
|
+ // 付款状态
|
|
|
+ Integer payStatus = orderEntity.getPayStatus();
|
|
|
+ map.put("OrderSn", orderEntity.getOrderSn());
|
|
|
+ map.put("UserName", orderEntity.getUserName());
|
|
|
+ map.put("IsOnfflineOrder", Dict.isOnfflineOrder.item_1.getItem().equals(orderEntity.getIsOnfflineOrder()) ? "线下购买" : "线上购买");
|
|
|
+ map.put("OrderBizType", StringUtils.isEmpty(orderBizType)?"":Dict.orderBizType.valueOf("item_"+orderBizType).getItemName());
|
|
|
+ map.put("OrderStatus", Dict.orderStatus.valueOf("item_"+orderStatus).getItemName());
|
|
|
+ map.put("PayStatus", Dict.payStatus.valueOf("item_"+payStatus).getItemName());
|
|
|
+ map.put("Sku", orderEntity.getSku());
|
|
|
+ map.put("GoodsName", orderEntity.getGoodsName());
|
|
|
+ map.put("Number", orderEntity.getNumber());
|
|
|
+
|
|
|
+ map.put("ActualPrice", orderEntity.getActualPrice());
|
|
|
+ map.put("OrderPrice", orderEntity.getOrderPrice());
|
|
|
+ map.put("AddTime", orderEntity.getAddTime());
|
|
|
+
|
|
|
+ map.put("PayTime", orderEntity.getPayTime());
|
|
|
+ map.put("SellPrice", orderEntity.getRetailPrice());
|
|
|
+ map.put("TopicPrice", orderEntity.getTopicPrice());
|
|
|
+ map.put("FinalPrice", orderEntity.getActualPrice());
|
|
|
+
|
|
|
+ list.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // =================================================线下订单明细导出结束=====================================
|
|
|
+
|
|
|
+ // =================================================线下订单导出开始=====================================
|
|
|
+ List<OrderEntity> masterOrderEntityList = orderService.queryMasterExportOffilineOrderList(params);
|
|
|
+ String[] headerMaster = new String[]{"订单号", "操作店员", "购买类型", "订单业务类型", "订单状态",
|
|
|
+ "付款状态", "实际支付", "订单总价", "下单时间", "付款时间"};
|
|
|
+ List<Map<String, Object>> listMaster = new ArrayList<>();
|
|
|
+ if (masterOrderEntityList != null && masterOrderEntityList.size() > 0) {
|
|
|
+ for (OrderEntity orderEntity : masterOrderEntityList) {
|
|
|
+ LinkedHashMap<String, Object> map = new LinkedHashMap<>();
|
|
|
+ // 订单业务类型
|
|
|
+ String orderBizType = orderEntity.getOrderBizType();
|
|
|
+ // 订单状态
|
|
|
+ Integer orderStatus = orderEntity.getOrderStatus();
|
|
|
+ // 付款状态
|
|
|
+ Integer payStatus = orderEntity.getPayStatus();
|
|
|
+
|
|
|
+ map.put("OrderSn", orderEntity.getOrderSn());
|
|
|
+ map.put("UserName", orderEntity.getUserName());
|
|
|
+ map.put("IsOnfflineOrder", Dict.isOnfflineOrder.item_1.getItem().equals(orderEntity.getIsOnfflineOrder()) ? "线下购买" : "线上购买");
|
|
|
+ map.put("OrderBizType", StringUtils.isEmpty(orderBizType)?"":Dict.orderBizType.valueOf("item_"+orderBizType).getItemName());
|
|
|
+ map.put("OrderStatus", Dict.orderStatus.valueOf("item_"+orderStatus).getItemName());
|
|
|
+ map.put("PayStatus", Dict.payStatus.valueOf("item_"+payStatus).getItemName());
|
|
|
+ map.put("ActualPrice", orderEntity.getActualPrice());
|
|
|
+ map.put("OrderPrice", orderEntity.getOrderPrice());
|
|
|
+ map.put("AddTime", orderEntity.getAddTime());
|
|
|
+ map.put("PayTime", orderEntity.getPayTime());
|
|
|
+
|
|
|
+ listMaster.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // =================================================线下订单导出结束=====================================
|
|
|
+
|
|
|
+ ee.addSheetByMap("线下订单信息", listMaster, headerMaster);
|
|
|
+ ee.addSheetByMap("线下订单明细信息", list, header);
|
|
|
+ ee.export(response);
|
|
|
+
|
|
|
+
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|