Sfoglia il codice sorgente

新增导出接口

dzk 1 anno fa
parent
commit
729f1e047d

+ 16 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/AppController.java

@@ -9,6 +9,7 @@ import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.common.core.validate.QueryGroup;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.demo.entity.App;
 import com.ruoyi.demo.entity.Commercial;
 import com.ruoyi.demo.entity.vo.AppVo;
@@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotBlank;
 import java.util.HashMap;
 import java.util.List;
@@ -151,4 +153,18 @@ public class AppController {
         R r = appService.recoverApp(appKey);
         return r;
     }
+
+    /**
+     * 导出小程序列表
+     *
+     * @param appVo body参数
+     * @return
+     */
+    @Log(title = "小程序列表", businessType = BusinessType.EXPORT)
+    @SaCheckPermission("szzs:app:export")
+    @PostMapping("/export")
+    public void export(@RequestBody AppVo appVo, HttpServletResponse response) {
+        Page<App> appList = appService.getAppList(appVo);
+        ExcelUtil.exportExcel(appList.getRecords(),"小程序列表", App.class, response);
+    }
 }

+ 19 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/CommercialController.java

@@ -2,18 +2,25 @@ package com.ruoyi.demo.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.github.pagehelper.PageInfo;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.demo.entity.Commercial;
+import com.ruoyi.demo.entity.bo.CommercialBo;
 import com.ruoyi.demo.entity.vo.CommercialVo;
 import com.ruoyi.demo.service.CommericalService;
+import com.ruoyi.system.domain.SysOperLog;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 
@@ -86,6 +93,18 @@ public class CommercialController {
         return R.ok(commercialList);
     }
 
+    /**
+     * 导出商户列表
+     */
+    @Log(title = "商户列表", businessType = BusinessType.EXPORT)
+    @SaCheckPermission("szzs:commerce:export")
+    @PostMapping("/export")
+    public void export(@RequestBody CommercialVo commercialVo, HttpServletResponse response) {
+        HashMap commercialList = commericalService.getCommercialList(commercialVo);
+        ArrayList<CommercialBo> data = (ArrayList<CommercialBo>) commercialList.getOrDefault("data", new ArrayList<CommercialBo>());
+        ExcelUtil.exportExcel(data, "商户列表", CommercialBo.class, response);
+    }
+
     /**
      * 获取可选择的商户Id、名称
      * @return

+ 26 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/DlUserController.java

@@ -1,12 +1,20 @@
 package com.ruoyi.demo.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.demo.entity.MyPage;
 import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.vo.DlUserListVo;
 import com.ruoyi.demo.service.DlUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+
 @RestController
 @RequestMapping("/dluser")
 public class DlUserController {
@@ -21,9 +29,24 @@ public class DlUserController {
     @SaCheckPermission("szzs:dlUser:list")
     @PostMapping("/list")
     public R list(@RequestBody PlanBo bo){
-        if (bo.getStartTime() != null && bo.getEndTime() != null)
-            if (bo.getStartTime().compareTo(bo.getEndTime()) > 0)
-                return R.fail("起始时间不能大于结束时间");
+        if (bo.getStartTime() != null && bo.getEndTime() != null && bo.getStartTime().compareTo(bo.getEndTime()) > 0)
+            return R.fail("起始时间不能大于结束时间");
         return R.ok(dlUserService.getList(bo));
     }
+
+    /**
+     * 查询用户列表
+     *
+     * @param bo 请求体
+     * @return
+     */
+    @Log(title = "用户列表", businessType = BusinessType.EXPORT)
+    @SaCheckPermission("szzs:dlUser:export")
+    @PostMapping("/export")
+    public void export(@RequestBody PlanBo bo, HttpServletResponse response) {
+        if (bo.getStartTime() != null && bo.getEndTime() != null && bo.getStartTime().compareTo(bo.getEndTime()) > 0)
+            throw new ServiceException("起始时间不能大于结束时间");
+        MyPage<DlUserListVo> list = dlUserService.getList(bo);
+        ExcelUtil.exportExcel(list.getRecords(), "用户列表", DlUserListVo.class,  response);
+    }
 }

+ 26 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/GoodsController.java

@@ -1,15 +1,23 @@
 package com.ruoyi.demo.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.demo.entity.Goods;
+import com.ruoyi.demo.entity.MyPage;
 import com.ruoyi.demo.entity.bo.GoodsBo;
 import com.ruoyi.demo.entity.bo.GoodsDeleteBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.vo.GoodsListVo;
 import com.ruoyi.demo.service.GoodsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+
 @RestController
 @RequestMapping("/goods")
 public class GoodsController {
@@ -44,9 +52,8 @@ public class GoodsController {
     @SaCheckPermission("szzs:goods:list")
     @PostMapping("/list")
     public R goodsList(@RequestBody PlanBo bo){
-        if (bo.getStartTime() != null && bo.getEndTime() != null)
-            if (bo.getStartTime().compareTo(bo.getEndTime()) > 0)
-                return R.fail("起始时间不能大于结束时间");
+        if (bo.getStartTime() != null && bo.getEndTime() != null && bo.getStartTime().compareTo(bo.getEndTime()) > 0)
+            return R.fail("起始时间不能大于结束时间");
         return R.ok(goodsService.getGoodsList(bo));
     }
 
@@ -64,4 +71,20 @@ public class GoodsController {
             return R.ok("修改成功");
         return R.fail("修改失败");
     }
+
+    /**
+     * 导出商品信息列表
+     *
+     * @param bo body参数
+     * @return
+     */
+    @Log(title = "商品列表", businessType = BusinessType.EXPORT)
+    @SaCheckPermission("szzs:goods:export")
+    @PostMapping("/export")
+    public void export(@RequestBody PlanBo bo, HttpServletResponse response) {
+        if (bo.getStartTime() != null && bo.getEndTime() != null && bo.getStartTime().compareTo(bo.getEndTime()) > 0)
+            throw new ServiceException("起始时间不能大于结束时间");
+        MyPage<GoodsListVo> goodsList = goodsService.getGoodsList(bo);
+        ExcelUtil.exportExcel(goodsList.getRecords(), "商品列表", GoodsListVo.class, response);
+    }
 }

+ 26 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/OrderController.java

@@ -2,15 +2,23 @@ package com.ruoyi.demo.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaIgnore;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.demo.entity.MyPage;
 import com.ruoyi.demo.entity.bo.OrderAddBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.vo.OrderVo;
 import com.ruoyi.demo.service.OrderService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+
 @RestController
 @RequestMapping("/order")
 public class OrderController {
@@ -58,9 +66,24 @@ public class OrderController {
     @SaCheckPermission("szzs:order:list")
     @PostMapping("/list")
     public R orderList(@RequestBody PlanBo bo){
-        if (bo.getStartTime() != null && bo.getEndTime() != null)
-            if (bo.getStartTime().compareTo(bo.getEndTime()) > 0)
-                return R.fail("起始时间不能大于结束时间");
+        if (bo.getStartTime() != null && bo.getEndTime() != null && bo.getStartTime().compareTo(bo.getEndTime()) > 0)
+            return R.fail("起始时间不能大于结束时间");
         return R.ok(orderService.getOrderList(bo));
     }
+
+    /**
+     * 查询订单列表
+     *
+     * @param bo 请求体
+     * @return
+     */
+    @Log(title = "订单列表", businessType = BusinessType.EXPORT)
+    @SaCheckPermission("szzs:order:export")
+    @PostMapping("/export")
+    public void export(@RequestBody PlanBo bo, HttpServletResponse response) {
+        if (bo.getStartTime() != null && bo.getEndTime() != null && bo.getStartTime().compareTo(bo.getEndTime()) > 0)
+            throw new ServiceException("起始时间不能大于结束时间");
+        MyPage<OrderVo> orderList = orderService.getOrderList(bo);
+        ExcelUtil.exportExcel(orderList.getRecords(), "订单列表", OrderVo.class,  response);
+    }
 }

+ 26 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/PlanController.java

@@ -4,19 +4,26 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaIgnore;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.date.DateUtil;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.demo.entity.MyPage;
 import com.ruoyi.demo.entity.Plan;
 import com.ruoyi.demo.entity.bo.PlanAddBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
 import com.ruoyi.demo.entity.bo.UpDownBo;
+import com.ruoyi.demo.entity.vo.PlanPushStatisticsListVo;
 import com.ruoyi.demo.service.PlanService;
 import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotBlank;
 import java.util.Date;
 
@@ -239,11 +246,27 @@ public class PlanController {
     @SaCheckPermission("szzs:planStatistics:list")
     @PostMapping("/statistics/list")
     public R statisticsList(@RequestBody PlanBo bo){
-        if (bo.getStartTime() != null && bo.getEndTime() != null)
-            if (bo.getStartTime().compareTo(bo.getEndTime()) > 0)
-                return R.fail("起始时间不能大于结束时间");
+        if (bo.getStartTime() != null && bo.getEndTime() != null && bo.getStartTime().compareTo(bo.getEndTime()) > 0)
+            return R.fail("起始时间不能大于结束时间");
         return R.ok(planService.getPlanPushStatisticsList(bo));
     }
+
+    /**
+     * 导出广告投放列表
+     *
+     * @param bo 请求体
+     * @return
+     */
+    @Log(title = "广告投放列表", businessType = BusinessType.EXPORT)
+    @SaCheckPermission("szzs:planStatistics:export")
+    @PostMapping("/statistics/export")
+    public void statisticsExport(@RequestBody PlanBo bo, HttpServletResponse response) {
+        if (bo.getStartTime() != null && bo.getEndTime() != null && bo.getStartTime().compareTo(bo.getEndTime()) > 0)
+            throw new ServiceException("起始时间不能大于结束时间");
+        MyPage<PlanPushStatisticsListVo> statisticsList = planService.getPlanPushStatisticsList(bo);
+        ExcelUtil.exportExcel(statisticsList.getRecords(), "广告投放列表", PlanPushStatisticsListVo.class,  response);
+    }
+
     /**
      * 立刻进行一次统计——用于测试
      * @return

+ 24 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/StoreController.java

@@ -1,20 +1,29 @@
 package com.ruoyi.demo.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.demo.entity.App;
 import com.ruoyi.demo.entity.Store;
 import com.ruoyi.demo.entity.bo.StoreBo;
+import com.ruoyi.demo.entity.vo.AppVo;
 import com.ruoyi.demo.entity.vo.StoreVo;
 import com.ruoyi.demo.service.StoreService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 
 /**
  * 店铺管理
@@ -85,5 +94,20 @@ public class StoreController {
         return R.ok(store);
     }
 
+    /**
+     * 导出店铺列表
+     *
+     * @param storeVo body参数
+     * @return
+     */
+    @Log(title = "店铺列表", businessType = BusinessType.EXPORT)
+    @SaCheckPermission("szzs:store:export")
+    @PostMapping("/export")
+    public void export(@RequestBody StoreVo storeVo, HttpServletResponse response) {
+        HashMap storeList = storeService.getStoreList(storeVo);
+        List<StoreBo> data = (List<StoreBo>) storeList.getOrDefault("data", new ArrayList<StoreBo>());
+        ExcelUtil.exportExcel(data, "店铺列表", StoreBo.class, response);
+    }
+
 
 }

+ 40 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/converter/ListStringConverter.java

@@ -0,0 +1,40 @@
+package com.ruoyi.demo.converter;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.data.ReadCellData;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.ruoyi.common.utils.StringUtils;
+
+import java.util.List;
+
+public class ListStringConverter implements Converter<List<String>> {
+    @Override
+    public Class<List> supportJavaTypeKey() {
+        return List.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public List<String> convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
+        String value = cellData.getStringValue();
+        if (StringUtils.isBlank(value)) return null;
+        return StrUtil.split(value, ",", true, true);
+    }
+
+    @Override
+    public WriteCellData<String> convertToExcelData(List<String> object, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
+        if (CollUtil.isEmpty(object)) {
+            return new WriteCellData<>("");
+        }
+        return new WriteCellData<>(StrUtil.join(",", object));
+    }
+}

+ 42 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/App.java

@@ -1,8 +1,14 @@
 package com.ruoyi.demo.entity;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.converters.date.DateStringConverter;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
 import com.ruoyi.demo.entity.vo.AppVo;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -14,38 +20,74 @@ import java.util.Date;
 @TableName("dl_app")
 @NoArgsConstructor
 public class App {
+
+    @ExcelProperty(value = "应用ID")
     @TableId("appkey")
     private String appkey;
+
+    @ExcelIgnore
     @TableField("app_logo")
     private String appLogo;
+
+    @ExcelProperty(value = "小程序名称")
     @TableField("app_name")
     private String appName;
+
+    @ExcelIgnore
     @TableField("app_introduce")
     private String appIntroduce;
+
+    @ExcelIgnore
     @TableField("commercial_id")
     private String commercialId;
+
+    @ExcelProperty(value = "所属商户")
     @TableField("commercial_name")
     private String commercialName;
+
+    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "0=已禁用,1=已启用")
     @TableField("state")
     private Integer state;
+
+    @ExcelIgnore
     @TableField("call_back")
     private String callBack;
+
+    @ExcelIgnore
     @TableField("appSecret")
     private String appSecret;
+
+    @ExcelIgnore
     @TableField("prove_1")
     private String prove1;
+
+    @ExcelIgnore
     @TableField("prove_2")
     private String prove2;
+
+    @ExcelIgnore
     @TableField("prove_3")
     private String prove3;
+
+    @ExcelIgnore
     @TableField("prove_4")
     private String prove4;
+
+    @ExcelIgnore
     @TableField("prove_5")
     private String prove5;
+
+    @ExcelProperty(value = "创建时间",converter = DateStringConverter.class)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
     @TableField("create_time")
     private Date createTime;
+
+    @ExcelIgnore
     @TableField("annotation")
     private String annotation;
+
+    @ExcelIgnore
     @TableField("deleted")
     private Integer deleted;
 

+ 27 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/CommercialBo.java

@@ -1,8 +1,15 @@
 package com.ruoyi.demo.entity.bo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.converters.date.DateStringConverter;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
+import com.ruoyi.demo.converter.ListStringConverter;
 import com.ruoyi.demo.entity.Commercial;
 import com.ruoyi.demo.entity.vo.CommercialVo;
 import lombok.Data;
@@ -13,23 +20,43 @@ import java.util.List;
 
 @Data
 public class CommercialBo {
+    @ExcelProperty(value = "商户主键")
     private String commercialId;
+    @ExcelProperty(value = "商户主键")
     private String commercialName;
+    @ExcelProperty(value = "统一信用代码")
     private String code;
+    @ExcelProperty(value = "商户类型")
     private String commercialType;
+    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "0=禁用,1=启用")
     private int state;
+    @ExcelProperty(value = "负责人")
     private String principalName;
+    @ExcelProperty(value = "负责人联系电话")
     private String principalTelephone;
+    @ExcelProperty(value = "营业执照照片")
     private String prove1;
+    @ExcelIgnore
     private String prove2;
+    @ExcelIgnore
     private String prove3;
+    @ExcelIgnore
     private String prove4;
+    @ExcelIgnore
     private String prove5;
+    @ExcelIgnore
     private String addrCode;
+    @ExcelProperty(value = "地址")
     private String addrCodeInfo;
+    @ExcelIgnore
     private String addrInfo;
+    @ExcelProperty(value = "创建时间", converter = DateStringConverter.class)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
     private Date createTime;
+    @ExcelIgnore
     private Integer deleted;
+    @ExcelProperty(value = "关联小程序", converter = ListStringConverter.class)
     private List<String> apps;
 
     public CommercialBo(Commercial commercial) {

+ 14 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/StoreBo.java

@@ -1,5 +1,7 @@
 package com.ruoyi.demo.entity.bo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -15,18 +17,30 @@ import java.util.List;
 @Data
 @NoArgsConstructor
 public class StoreBo{
+    @ExcelProperty(value = "店铺主键")
     private String storeId;
+    @ExcelProperty(value = "区域名称")
     private String storeName;
+    @ExcelIgnore
     private String addrInfo;
+    @ExcelIgnore
     private String addrCode;
+    @ExcelProperty(value = "地址")
     private String addrCodeInfo;
+    @ExcelProperty(value = "联系人")
     private String principalName;
+    @ExcelProperty(value = "联系人手机")
     private String principalTelephone;
 
+    @ExcelProperty(value = "关联设备数量")
     private Integer count;
+    @ExcelIgnore
     private BigDecimal lat;
+    @ExcelIgnore
     private BigDecimal lng;
+    @ExcelIgnore
     private String point;
+    @ExcelIgnore
     List<Equipment> equipmentList;
 
     public StoreBo(Store store) {

+ 19 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/DlUserListVo.java

@@ -1,5 +1,11 @@
 package com.ruoyi.demo.entity.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.annotation.format.NumberFormat;
+import com.alibaba.excel.converters.bigdecimal.BigDecimalNumberConverter;
+import com.alibaba.excel.converters.date.DateStringConverter;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.demo.entity.DlUser;
 import lombok.Data;
@@ -9,17 +15,30 @@ import java.util.Date;
 
 @Data
 public class DlUserListVo {
+    @ExcelProperty(value = "用户ID")
     private String userId;
+    @ExcelProperty(value = "用户名")
     private String userName;
+    @ExcelProperty(value = "手机号")
     private String userTelephone;
+    @ExcelIgnore
     private String startEquipmentId;
+    @ExcelProperty(value = "扫码设备")
     private String startEquipmentName;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "扫码时间", converter = DateStringConverter.class)
     private Date startTime;
+    @ExcelIgnore
     private String endEquipmentId;
+    @ExcelProperty(value = "近期扫码设备")
     private String endEquipmentName;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "近期扫码时间", converter = DateStringConverter.class)
     private Date endTime;
+    @ExcelProperty(value = "累计消费金额", converter = BigDecimalNumberConverter.class)
+    @NumberFormat("#.##")
     private BigDecimal totalPrice;
 
     public DlUserListVo(){}

+ 17 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/GoodsListVo.java

@@ -1,5 +1,11 @@
 package com.ruoyi.demo.entity.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.annotation.format.NumberFormat;
+import com.alibaba.excel.converters.bigdecimal.BigDecimalNumberConverter;
+import com.alibaba.excel.converters.date.DateStringConverter;
 import com.ruoyi.demo.entity.Goods;
 import lombok.Data;
 
@@ -8,17 +14,28 @@ import java.util.Date;
 
 @Data
 public class GoodsListVo {
+    @ExcelIgnore
     private String appkey;
 
+    @ExcelProperty(value = "来源平台")
     private String appName;
+    @ExcelProperty(value = "来源供应商")
     private String vendorName;
 
+    @ExcelProperty(value = "商品主键")
     private String goodsId;
+    @ExcelProperty(value = "商品图片")
     private String goodsImg;
+    @ExcelProperty(value = "商品名称")
     private String goodsName;
+    @ExcelProperty(value = "商品价格", converter = BigDecimalNumberConverter.class)
+    @NumberFormat("#.##")
     private BigDecimal goodsPrice;
+    @ExcelProperty(value = "商品分类")
     private String goodsClassify;
 
+    @ExcelProperty(value = "创建时间", converter = DateStringConverter.class)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
     public GoodsListVo(){}

+ 19 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/OrderVo.java

@@ -1,5 +1,11 @@
 package com.ruoyi.demo.entity.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.annotation.format.NumberFormat;
+import com.alibaba.excel.converters.bigdecimal.BigDecimalNumberConverter;
+import com.alibaba.excel.converters.date.DateStringConverter;
 import com.ruoyi.demo.entity.Order;
 import lombok.Data;
 
@@ -8,15 +14,28 @@ import java.util.Date;
 
 @Data
 public class OrderVo {
+    @ExcelProperty(value = "订单编码")
     private String orderId;
+    @ExcelIgnore
     private String appName;
+    @ExcelProperty(value = "商品名称")
     private String goodsName;
+    @ExcelProperty(value = "规格")
     private String specs;
+    @ExcelProperty(value = "单价", converter = BigDecimalNumberConverter.class)
+    @NumberFormat("#.##")
     private BigDecimal goodsPrice;
+    @ExcelProperty(value = "订单总额", converter = BigDecimalNumberConverter.class)
+    @NumberFormat("#.##")
     private BigDecimal totalPrice;
+    @ExcelProperty(value = "交易状态")
     private String state;
+    @ExcelProperty(value = "买家")
     private String userName;
+    @ExcelProperty(value = "卖家")
     private String vendorName;
+    @ExcelProperty(value = "创建时间", converter = DateStringConverter.class)
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
     public OrderVo(){}

+ 18 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/PlanPushStatisticsListVo.java

@@ -1,5 +1,11 @@
 package com.ruoyi.demo.entity.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.annotation.format.NumberFormat;
+import com.alibaba.excel.converters.bigdecimal.BigDecimalNumberConverter;
+import com.alibaba.excel.converters.date.DateStringConverter;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.demo.entity.PlanPushStatistics;
 import lombok.Data;
@@ -10,16 +16,28 @@ import java.util.Date;
 // 广告投放列表
 @Data
 public class PlanPushStatisticsListVo {
+    @ExcelProperty(value = "广告主键")
     private String statisticsId;
+    @ExcelIgnore
     private String equipmentId;
+    @ExcelProperty(value = "设备名称")
     private String equipmentName;
+    @ExcelIgnore
     private String equipmentCode;
+    @ExcelProperty(value = "轮播量")
     private Integer carouselCount;
+    @ExcelProperty(value = "扫码量")
     private Integer scanCodeCount;
+    @ExcelProperty(value = "转化率")
     private String ratio;
+    @ExcelProperty(value = "累计用户")
     private Integer totalUserCount;
+    @ExcelProperty(value = "累计收入", converter = BigDecimalNumberConverter.class)
+    @NumberFormat("#.##")
     private BigDecimal totalPrice;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "最后同步时间", converter = DateStringConverter.class)
     private Date lasterTime;
 
     public PlanPushStatisticsListVo(){}