zhang song 6 лет назад
Родитель
Сommit
129fbfb19b

+ 6 - 1
pine-admin/pom.xml

@@ -19,11 +19,15 @@
 
 
     <properties>
+
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <java.version>1.8</java.version>
         <shiro.version>1.4.0</shiro.version>
         <kaptcha.version>0.0.9</kaptcha.version>
+        <!--跳过单元测试 -->
+        <maven.test.skip>true</maven.test.skip>
+        <maven.javadoc.skip>true</maven.javadoc.skip>
     </properties>
 
 
@@ -316,8 +320,8 @@
                 <configuration>
                     <!-- 指定该Main Class为全局的唯一入口 -->
                     <mainClass>com.pine.admin.PineAdminApplication</mainClass>
-                </configuration>
 
+                </configuration>
                 <executions>
                     <execution>
                         <goals>
@@ -330,6 +334,7 @@
             <plugin>
                 <artifactId>maven-assembly-plugin</artifactId>
                 <configuration>
+
                     <archive>
                         <manifest>
                             <mainClass>com.pine.admin.PineAdminApplication</mainClass>

+ 2 - 0
pine-admin/src/main/java/com/pine/admin/modules/base/service/ExcelPoiService.java

@@ -1,6 +1,7 @@
 package com.pine.admin.modules.base.service;
 
 
+import com.pine.admin.modules.business.entity.Order;
 import com.pine.common.excelutil.ExcelPoiUtil;
 import com.pine.common.exception.ApiException;
 import com.pine.common.utils.DateTimeTool;
@@ -24,4 +25,5 @@ import java.util.List;
  */
 public interface ExcelPoiService {
     void exampleExport(HttpServletRequest request, HttpServletResponse response, Integer productId);
+    void orderExcelExport(HttpServletRequest request, HttpServletResponse response, Order order);
 }

+ 103 - 0
pine-admin/src/main/java/com/pine/admin/modules/base/service/impl/ExcelPoiServiceImpl.java

@@ -1,12 +1,21 @@
 package com.pine.admin.modules.base.service.impl;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.pine.admin.modules.base.service.ExcelPoiService;
+import com.pine.admin.modules.business.dao.OrderDao;
+import com.pine.admin.modules.business.entity.Order;
+import com.pine.admin.modules.business.service.OrderService;
+import com.pine.admin.shiro.ShiroUtils;
 import com.pine.common.excelutil.ExcelPoiUtil;
 import com.pine.common.exception.ApiException;
 import com.pine.common.utils.DateTimeTool;
+import com.pine.common.utils.HttpGetRequestUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+import org.springframework.util.StringUtils;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -23,6 +32,37 @@ import java.util.*;
 @Slf4j
 public class ExcelPoiServiceImpl implements ExcelPoiService {
 
+
+    /**
+     * 订单状态map
+     */
+    private static final Map<String, String> statusMap = new HashMap<>();
+
+    static {
+        statusMap.put("1", "待付款");
+        statusMap.put("2", "待发货");
+        statusMap.put("3", "待收货");
+        statusMap.put("4", "已完成");
+        statusMap.put("5", "已取消");
+        statusMap.put("6", "退款通过");
+        statusMap.put("7", "退货通过");
+    }
+
+    /**
+     * 来源
+     */
+    private static final Map<String, String> sourceMap = new HashMap<>();
+
+    static {
+        sourceMap.put("1", "PC");
+        sourceMap.put("2", "H5");
+        sourceMap.put("3", "APP");
+        ;
+    }
+
+    @Autowired
+    private OrderService orderService;
+
     @Override
     public void exampleExport(HttpServletRequest request, HttpServletResponse response, Integer productId) {
         try {
@@ -41,5 +81,68 @@ public class ExcelPoiServiceImpl implements ExcelPoiService {
         }
     }
 
+    @Override
+    public void orderExcelExport(HttpServletRequest request, HttpServletResponse response, Order order) {
+        Map<Long, String> dealerNameMap = new HashMap<>();
+        if (!ShiroUtils.getShiroUserInfo().getName().contains("商城管理员")) {
+            order.setDealerId(ShiroUtils.getShiroUserInfo().getDealerID());
+        }
+        List<Order> allList = orderService.getAllList(order);
+        allList.stream().forEach(o -> {
+            orderService.FullOrderInfo(o);
+            o.setCreateString(DateTimeTool.dateTimeToYearMMddhhmmss(o.getCreateTime()));
+            o.setStatus(statusMap.get(o.getStatus()));
+            o.setSource(sourceMap.get(o.getSource()));
+            o.setShopName(o.getOrderSkus().get(0).getSkuName());
+            o.setSkuNo(o.getOrderSkus().get(0).getSkuNo());
+            o.setSkuSpecs(o.getOrderSkus().get(0).getSkuSpecs());
+            try {
+                String s1 = dealerNameMap.get(o.getDealerId());
+                if (!StringUtils.isEmpty(s1)) {
+                    o.setDealerInfo(String.valueOf(s1));
+                } else {
+                    String getUrl  = HttpGetRequestUtil.doGet("https://dealer.jetour.com.cn/api-dealer/dealer-info/front/searchDealerById/" + o.getDealerId());
+                    JSONObject jsonObject = JSONObject.parseObject(getUrl);
+                    Object data = jsonObject.get("data");
+                    Object dealerName = ((JSONObject) data).getInnerMap().get("dealerName");
+                    if (!ObjectUtils.isEmpty(dealerName)) {
+                        dealerNameMap.put(o.getDealerId(), String.valueOf(dealerName));
+                        o.setDealerInfo(String.valueOf(dealerName));
+                    } else {
+                        o.setDealerInfo("@#" + o.getDealerInfo());
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+        });
+        try {
+            if (!allList.isEmpty()) {
+                String excelName = "商城订单-"+System.currentTimeMillis();
+                LinkedHashMap<String, String> fieldMap = new LinkedHashMap<String, String>();
+//                fieldMap.put("orderCode", "订单号");
+                fieldMap.put("billNo", "银联单号");
+                fieldMap.put("customerName", "注册账号");
+                fieldMap.put("receiptName", "购车人");
+                fieldMap.put("receiptMobile", "购车人电话");
+                fieldMap.put("orderAttr.receiptAddress", "收货地址");
+                fieldMap.put("orderAttr.receiptDetailAddress", "详细地址");
+                fieldMap.put("shopName", "商品名称");
+                fieldMap.put("skuNo", "商品编号");
+                fieldMap.put("skuSpecs", "商品规格");
+                fieldMap.put("dealerInfo", "经销商名称");
+                fieldMap.put("createString", "下单时间");
+                fieldMap.put("status", "订单状态");
+                fieldMap.put("originalPrice", "实付金额");
+                fieldMap.put("source", "支付方式");
+                ExcelPoiUtil.export(excelName, allList, fieldMap, response);
+            }
+        } catch (Exception e) {
+
+            throw new ApiException(e.getMessage());
+        }
+    }
+
 
 }

+ 9 - 29
pine-admin/src/main/java/com/pine/admin/modules/business/controller/OrderController.java

@@ -2,6 +2,7 @@ package com.pine.admin.modules.business.controller;
 
 import java.util.*;
 
+import com.pine.admin.modules.base.service.ExcelPoiService;
 import com.pine.common.dto.Page;
 import com.pine.admin.modules.base.binder.BaseController;
 import com.pine.common.dto.Result;
@@ -10,11 +11,13 @@ import com.pine.common.exception.ApiException;
 import com.pine.common.utils.DateTimeTool;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import com.pine.admin.modules.business.entity.Order;
 import com.pine.admin.modules.business.service.OrderService;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 
@@ -28,10 +31,13 @@ import javax.servlet.http.HttpServletResponse;
 @Api(value = "订单表接口", tags = {"订单表接口"})
 @RestController
 @RequestMapping("business/Order")
+@CrossOrigin
 public class OrderController extends BaseController {
 
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private ExcelPoiService excelPoiService;
 
     /**
      * <p>根据Id。</p>
@@ -76,35 +82,9 @@ public class OrderController extends BaseController {
      */
     @ApiOperation(value = "分页获取订单表数据", notes = "根据条件获取")
     @RequestMapping(value = "/excel", method = RequestMethod.GET)
-    public void excel(HttpServletResponse response) {
-
-        List<Order> allList = orderService.getAllList(null);
-        allList.stream().forEach(o -> {
-            orderService.FullOrderInfo(o);
-            o.setShopName(o.getOrderSkus().get(0).getSkuName());
-        });
-        try {
-            if (!allList.isEmpty()) {
-                String excelName = "商城全部订单";
-                LinkedHashMap<String, String> fieldMap = new LinkedHashMap<String, String>();
-                fieldMap.put("orderCode", "订单号");
-                fieldMap.put("billNo", "银联单号");
-                fieldMap.put("customerName", "注册账号");
-                fieldMap.put("receiptName", "购车人");
-                fieldMap.put("receiptMobile", "购车人电话");
-                fieldMap.put("receiptMobile", "购车人电话");
-                fieldMap.put("address", "收货地址");
-                fieldMap.put("shopName", "商品名称");
-                fieldMap.put("createTime", "下单时间");
-                fieldMap.put("status", "订单状态");
-                fieldMap.put("originalPrice", "实付金额");
-                fieldMap.put("source", "来源");
-                ExcelPoiUtil.export(excelName, allList, fieldMap, response);
-            }
-        } catch (Exception e) {
-
-            throw new ApiException(e.getMessage());
-        }
+//    @ResponseBody
+    public void excel(HttpServletResponse response, HttpServletRequest request, Order order) {
+        excelPoiService.orderExcelExport(request,response,order);
     }
 
 

+ 2 - 0
pine-admin/src/main/java/com/pine/admin/modules/business/entity/Order.java

@@ -424,4 +424,6 @@ public class Order implements Serializable {
      * billNo 银联单号
      */
     private String billNo;
+
+    private String createString;
 }

+ 1 - 1
pine-admin/src/main/resources/application.properties

@@ -16,6 +16,6 @@ mybatis.typeAliasesPackage:com.pine.admin.*.entity
 mybatis.configuration.mapUnderscoreToCamelCase=true
 #ÈÕÖ¾´òÓ¡SQL
 logging.level.com.pine=DEBUG
-logging.path=/home/dealer.gz
+logging.path=/var/dealer/dealer.gz
 logging.level.com.pine.admin.modules.system.dao=DEBUG
 

+ 6 - 1
pine-admin/src/main/resources/mapper/business/OrderDao.xml

@@ -412,14 +412,19 @@
         ls_customer.mobile,
         ls_order_attr.receipt_mobile as receiptMobile,
         ls_order_attr.receipt_name as receiptName,
-        concat(ls_order_attr.receipt_address,ls_order_attr.receipt_detail_address) as address
+        concat(ls_order_attr.receipt_address,ls_order_attr.receipt_detail_address) as address,
+        ls_order_sku.sku_name AS skuName
         from ls_order
         join ls_customer on ls_order.customer_id = ls_customer.id
         join ls_order_attr on ls_order_attr.order_id = ls_order.id
+        left join ls_order_sku on ls_order_sku.order_id = ls_order.id
         where ls_customer.del_flag = '0'
         and ls_order.store_id = 0
         and ls_order.status != 1
         and ls_order.status != 5
+        <if test="skuName != null and skuName != '' ">
+            and  ls_order_sku.sku_name like CONCAT('%',CONCAT(#{skuName}),'%')
+        </if>
         <!-- 收货人手机号 -->
         <if test="receiptMobile != null and receiptMobile != '' ">
             and ls_order_attr.receipt_mobile = #{receiptMobile}

+ 3 - 1
pine-common/src/main/java/com/pine/common/excelutil/ExcelPoiUtil.java

@@ -53,9 +53,9 @@ public class ExcelPoiUtil {
             //在Workbook中,创建一个sheet,对应Excel中的工作薄(sheet)
             HSSFSheet sheet = wb.createSheet(excelName);
             //创建单元格,并设置值表头 设置表头居中
-
             //创建一个居中格式
             style.setAlignment(HorizontalAlignment.CENTER);
+
             // 填充工作表
             fillSheet(sheet, list, fieldMap, style);
 
@@ -193,6 +193,8 @@ public class ExcelPoiUtil {
             cell.setCellValue(cnFields[i]);
             cell.setCellStyle(style);
             sheet.autoSizeColumn(i);
+            sheet.setColumnWidth(i, 30*256);
+
         }
 
         // 填充内容