浏览代码

管理后台缺失接口

lyhzzz 3 年之前
父节点
当前提交
1baccc882f
共有 22 个文件被更改,包括 883 次插入15 次删除
  1. 67 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/controller/manager/ManagerAPPController.java
  2. 60 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/entity/AppFile.java
  3. 22 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/mapper/IAppFileMapper.java
  4. 52 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/request/RequestAppFile.java
  5. 28 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/service/IAppFileService.java
  6. 123 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/service/impl/AppFileServiceImpl.java
  7. 5 5
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/generate/AutoGenerate.java
  8. 77 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/controller/manager/ManagerDownLoadOrderController.java
  9. 82 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/controller/manager/ManagerInCrementOrderController.java
  10. 6 1
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/mapper/IDownloadOrderMapper.java
  11. 4 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/mapper/IIncrementOrderMapper.java
  12. 9 1
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/IDownloadOrderService.java
  13. 8 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/IIncrementOrderService.java
  14. 2 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/IInvoiceService.java
  15. 106 4
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/impl/DownloadOrderServiceImpl.java
  16. 113 3
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/impl/IncrementOrderServiceImpl.java
  17. 13 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/impl/InvoiceServiceImpl.java
  18. 21 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/util/ResultConvertUtil.java
  19. 11 0
      4dkankan-center-platform/src/main/resources/mapper/agent/AppFileMapper.xml
  20. 23 0
      4dkankan-center-platform/src/main/resources/mapper/order/DownloadOrderMapper.xml
  21. 26 0
      4dkankan-center-platform/src/main/resources/mapper/order/IncrementOrderMapper.xml
  22. 25 1
      4dkankan-common/src/main/java/com/fdkankan/common/controller/BaseController.java

+ 67 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/controller/manager/ManagerAPPController.java

@@ -0,0 +1,67 @@
+package com.fdkankan.platform.agent.controller.manager;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.common.util.FileMd5Util;
+import com.fdkankan.platform.agent.entity.AppFile;
+import com.fdkankan.platform.agent.request.RequestAppFile;
+import com.fdkankan.platform.agent.service.IAppFileService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Log4j2
+@RestController
+@RequestMapping("/api/manager/app")
+public class ManagerAPPController extends BaseController {
+
+    @Autowired
+    private IAppFileService managerAppService;
+
+
+    @PostMapping(value = "/upload", consumes = { "multipart/form-data" })
+    private ResultData upload(@RequestParam("file") MultipartFile file) {
+        // 将文件转字节-> 字符串
+        String filePath = managerAppService.upload(file);
+        String md5 = FileMd5Util.getFileMD5(filePath);
+        Map<String,String> result = new HashMap<>(2);
+        result.put("md5",md5);
+        return ResultData.ok(md5);
+    }
+
+    @PostMapping(value = "/list")
+    private Page<AppFile> list(@RequestBody RequestAppFile param) {
+        return managerAppService.getPageByParam(param);
+    }
+
+    @PostMapping(value = "/delete")
+    private ResultData delete(@RequestBody RequestAppFile param) {
+        if(ObjectUtils.isEmpty(param.getId())){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        managerAppService.removeById(param.getId());
+        return ResultData.ok();
+    }
+
+    @PostMapping(value = "/agenetList")
+    private List<String> agenetList(@RequestBody RequestAppFile param) {
+        return managerAppService.agenetList(param.getName());
+    }
+
+    @PostMapping(value = "/save")
+    private ResultData save(@RequestBody RequestAppFile param) {
+        managerAppService.saveByParam(param);
+        return ResultData.ok();
+    }
+
+
+}

+ 60 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/entity/AppFile.java

@@ -0,0 +1,60 @@
+package com.fdkankan.platform.agent.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-04-27
+ */
+@Getter
+@Setter
+@TableName("t_app_file")
+public class AppFile implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("file_server_type")
+    private String fileServerType;
+
+    @TableField("agent")
+    private String agent;
+
+    @TableField("app_type")
+    private String appType;
+
+    @TableField("url")
+    private String url;
+
+    @TableField("md5")
+    private String md5;
+
+    @TableField("name")
+    private String name;
+
+    @TableField("version")
+    private String version;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("tb_status")
+    @TableLogic
+    private Boolean tbStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+
+}

+ 22 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/mapper/IAppFileMapper.java

@@ -0,0 +1,22 @@
+package com.fdkankan.platform.agent.mapper;
+
+import com.fdkankan.platform.agent.entity.AppFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-04-27
+ */
+@Mapper
+public interface IAppFileMapper extends BaseMapper<AppFile> {
+
+    List<String> agentList(@Param("name") String name);
+}

+ 52 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/request/RequestAppFile.java

@@ -0,0 +1,52 @@
+package com.fdkankan.platform.agent.request;
+
+import com.fdkankan.common.request.RequestBase;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class RequestAppFile extends RequestBase {
+    /**
+     * 服务器类型 OSS 或者 S3
+     */
+    private String fileServerType;
+
+    /**
+     * 代理商标识
+     */
+    private String agent;
+
+    /**
+     *
+     */
+    private String appType;
+
+    private String url;
+
+    /**
+     *
+     */
+    private String md5;
+
+    /**
+     * APP 文件名称
+     */
+    private String name;
+
+    /**
+     * 代理商标识
+     */
+    private String keyword;
+
+
+    private Long id;
+
+
+    private Date createTime;
+
+
+    private Date updateTime;
+
+    private String recStatus;
+}

+ 28 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/service/IAppFileService.java

@@ -0,0 +1,28 @@
+package com.fdkankan.platform.agent.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.platform.agent.entity.AppFile;
+import com.fdkankan.platform.agent.request.RequestAppFile;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-04-27
+ */
+public interface IAppFileService extends IService<AppFile> {
+
+    String upload(MultipartFile file);
+
+    Page<AppFile> getPageByParam(RequestAppFile param);
+
+    List<String> agenetList(String name);
+
+    void saveByParam(RequestAppFile param);
+}

+ 123 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/service/impl/AppFileServiceImpl.java

@@ -0,0 +1,123 @@
+package com.fdkankan.platform.agent.service.impl;
+
+import com.alibaba.csp.sentinel.util.StringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.platform.agent.entity.AppFile;
+import com.fdkankan.platform.agent.mapper.IAppFileMapper;
+import com.fdkankan.platform.agent.request.RequestAppFile;
+import com.fdkankan.platform.agent.service.IAppFileService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.util.Base64;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-04-27
+ */
+@Service
+public class AppFileServiceImpl extends ServiceImpl<IAppFileMapper, AppFile> implements IAppFileService {
+
+    @Resource
+    private IAppFileMapper appFileMapper;
+    @Autowired
+    private UploadToOssUtil uploadToOssUtil;
+    @Value("${upload.type}")
+    private String ossType;
+    @Value("${oss.prefix.sdk}")
+    private String prefixAli;
+
+    @Override
+    public String upload(MultipartFile file)  {
+        if (ObjectUtils.isEmpty(file) || file.isEmpty() || file.getSize() <= 0) {
+            throw new BusinessException(ErrorCode.FAILURE_CODE_3017);
+        }
+        try {
+            String fileContent = Base64.getEncoder().encodeToString(file.getBytes());
+            String filePath = FileUtils.getResource().concat("uploadAppTmp");
+            FileUtils.createDir(filePath);
+            filePath = filePath.concat("/").concat(file.getOriginalFilename());
+            // 删除旧文件
+            FileUtils.deleteFile(filePath);
+            // 写文件到本地
+            FileUtils.base64ToFileWriter(fileContent, filePath);
+            return filePath;
+        }catch (Exception e){
+            throw new BusinessException(-1,"上传失败");
+        }
+    }
+
+    @Override
+    public Page<AppFile> getPageByParam(RequestAppFile param) {
+        LambdaQueryWrapper<AppFile> queryWrapper = new LambdaQueryWrapper<>();
+        if(StringUtil.isNotBlank(param.getKeyword())){
+            queryWrapper.like(AppFile::getAgent,param.getKeyword());
+        }
+        queryWrapper.orderByDesc(AppFile::getCreateTime);
+        Page<AppFile> page = new Page<>(param.getPageNum(),param.getPageSize());
+        return this.page(page,queryWrapper);
+    }
+
+    @Override
+    public List<String> agenetList(String name) {
+        return appFileMapper.agentList(name);
+    }
+
+    @Override
+    public void saveByParam(RequestAppFile param) {
+        if(ObjectUtils.isEmpty(param.getName())){
+            throw new BusinessException(-1,"文件名称为空,请输入文件名称!");
+        }
+        AppFile managerAPPEntity = new AppFile();
+        BeanUtils.copyProperties(param, managerAPPEntity);
+        String basePath = FileUtils.getResource().concat("uploadAppTmp/");
+
+        String filePath = basePath.concat(param.getName());
+        File file = new File(filePath);
+        if (!file.exists()) {
+            throw new BusinessException(-1,"应用包文件未上传,请先上传文件!");
+        }
+
+        String versionFilePath = basePath.concat("version.json");
+        if (!new File(versionFilePath).exists()) {
+            throw new BusinessException(-1,"version.json 文件未上传,请先上传文件!");
+        }
+
+        String fileType = param.getName().substring(param.getName().lastIndexOf(".")+1);
+
+        String ossPathPrefix = "apps/customApp/" + param.getAgent() + "/"+param.getAppType()+"/";
+
+        uploadToOssUtil.upload(filePath, ossPathPrefix+"4dkankan."+fileType);
+        // 上传到 历史记录文件夹目录
+        uploadToOssUtil.upload(filePath, ossPathPrefix+"oldapps/" + file.getName());
+
+        // 上传到 version.json 文件
+        uploadToOssUtil.upload(versionFilePath, ossPathPrefix+"version/version.json");
+
+        // 删除旧文件
+        FileUtils.deleteFile(filePath);
+        FileUtils.deleteFile(versionFilePath);
+
+        managerAPPEntity.setUrl(prefixAli.concat(ossPathPrefix+"4dkankan."+fileType));
+        managerAPPEntity.setFileServerType(ossType);
+        this.save(managerAPPEntity);
+    }
+
+}

+ 5 - 5
4dkankan-center-platform/src/main/java/com/fdkankan/platform/generate/AutoGenerate.java

@@ -16,8 +16,8 @@ public class AutoGenerate {
     public static void main(String[] args) {
     public static void main(String[] args) {
         String path ="H:\\project\\4dkankan-parent\\4dkankan-center-platform";
         String path ="H:\\project\\4dkankan-parent\\4dkankan-center-platform";
 
 
-        generate(path,"user", getTables(new String[]{
-                "t_scene_"
+        generate(path,"agent", getTables(new String[]{
+                "t_app_file"
         }));
         }));
 
 
 //        generate(path,"goods", getTables(new String[]{
 //        generate(path,"goods", getTables(new String[]{
@@ -45,8 +45,8 @@ public class AutoGenerate {
 
 
 
 
     public static void  generate(String path,String moduleName,  List<String> tables){
     public static void  generate(String path,String moduleName,  List<String> tables){
-        FastAutoGenerator.create("jdbc:mysql://localhost:3306/4dkankan_center_application",
-                "root","123456")
+        FastAutoGenerator.create("jdbc:mysql://192.168.0.47:13306/4dkankan-center-platform",
+                "root","4dkk2020cuikuan%")
                 .globalConfig(builder -> {
                 .globalConfig(builder -> {
                     builder.author("")               //作者
                     builder.author("")               //作者
                             .outputDir(path+"\\src\\main\\java")    //输出路径(写到java目录)
                             .outputDir(path+"\\src\\main\\java")    //输出路径(写到java目录)
@@ -69,7 +69,7 @@ public class AutoGenerate {
                 })
                 })
                 .strategyConfig(builder -> {
                 .strategyConfig(builder -> {
                     builder.addInclude(tables)
                     builder.addInclude(tables)
-                            .addTablePrefix("tm_")
+                            .addTablePrefix("t_")
                             .serviceBuilder()
                             .serviceBuilder()
                             .formatServiceFileName("I%sService")
                             .formatServiceFileName("I%sService")
                             .formatServiceImplFileName("%sServiceImpl")
                             .formatServiceImplFileName("%sServiceImpl")

+ 77 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/controller/manager/ManagerDownLoadOrderController.java

@@ -0,0 +1,77 @@
+package com.fdkankan.platform.order.controller.manager;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.platform.order.service.IDownloadOrderService;
+import com.fdkankan.platform.user.request.RequestOrder;
+import com.fdkankan.platform.user.vo.ResponseOrder;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.File;
+import java.net.URLEncoder;
+
+@Log4j2
+@RestController
+@RequestMapping("/api/manager/downloadOrder")
+public class ManagerDownLoadOrderController extends BaseController {
+
+    @Autowired
+    private IDownloadOrderService downloadOrderService;
+
+    /**
+     * 获取订单列表
+     * @return
+     */
+    @PostMapping(value = {"/list"})
+    public Page<ResponseOrder> list(@RequestBody RequestOrder param) throws Exception {
+         return downloadOrderService.getOrderList(param);
+    }
+
+    /**
+     * 获取订单详情
+     * @return
+     */
+    @RequestMapping(value = "/detail", method = RequestMethod.POST)
+    public ResponseOrder detail(@RequestBody RequestOrder param) throws Exception {
+         return downloadOrderService.findByOrderId(param.getOrderId());
+    }
+
+    /**
+     * 订单发货确认
+     */
+    @GetMapping(value = "/export")
+    public void export(String type, String orderSn, String phoneNum, String expressNum, String startDate, String endDate,String tradeNum) throws Exception {
+        RequestOrder param = new RequestOrder();
+        param.setType(type);
+        param.setOrderSn(orderSn);
+        param.setPhoneNum(phoneNum);
+        param.setTradeNum(tradeNum);
+        param.setExpressNum(expressNum);
+        param.setStartDate(startDate);
+        param.setEndDate(endDate);
+        String filePath  = downloadOrderService.export(param);
+        if(ObjectUtils.isEmpty(filePath)){
+            throw new BusinessException(-1,"下载失败,请重试");
+        }
+        String fileName = URLEncoder.encode(new File(filePath).getName(), "UTF-8");
+
+        String agent = request.getHeader("User-Agent");
+        if (agent != null && (agent.contains("MSIE")||agent.contains("Trident"))) {
+            fileName = URLEncoder.encode(fileName, "UTF-8");
+        } else {
+            //非IE浏览器的处理:
+            fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
+        }
+        response.setHeader("Content-Disposition", "attachment; filename=\""+fileName+"\"");
+        response.setContentType(request.getServletContext().getMimeType(fileName));
+        File file = new File(filePath);
+        response.setContentLength((int) file.length());
+        output(response, file);
+    }
+
+
+}

+ 82 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/controller/manager/ManagerInCrementOrderController.java

@@ -0,0 +1,82 @@
+package com.fdkankan.platform.order.controller.manager;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.platform.order.service.IIncrementOrderService;
+import com.fdkankan.platform.user.request.RequestOrder;
+import com.fdkankan.platform.user.vo.ResponseOrder;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.File;
+import java.net.URLEncoder;
+
+@Log4j2
+@RestController
+@RequestMapping("/api/manager/incrementOrder")
+public class ManagerInCrementOrderController extends BaseController {
+
+    @Autowired
+    private IIncrementOrderService incrementOrderService;
+
+    /**
+     * 获取订单列表
+     * @return
+     */
+    @RequestMapping(value = {"/list"}, method = RequestMethod.POST)
+    public Page<ResponseOrder> list(@RequestBody RequestOrder param) throws Exception {
+        return incrementOrderService.getOrderList(param);
+    }
+
+    /**
+     * 获取订单详情
+     * @return
+     */
+    @RequestMapping(value = "/detail", method = RequestMethod.POST)
+    public ResponseOrder detail(@RequestBody RequestOrder param) throws Exception {
+        return incrementOrderService.findOrderByOrderId(param.getOrderId());
+    }
+
+    /**
+     * 订单发货确认
+     */
+    @RequestMapping(value = "/export", method = RequestMethod.GET)
+    public void export(String type, String orderSn, String phoneNum, String expressNum, String startDate, String endDate,String tradeNum) throws Exception {
+        RequestOrder param = new RequestOrder();
+        param.setType(type);
+        param.setOrderSn(orderSn);
+        param.setPhoneNum(phoneNum);
+        param.setExpressNum(expressNum);
+        param.setTradeNum(tradeNum);
+        param.setStartDate(startDate);
+        param.setEndDate(endDate);
+        String filePath  = incrementOrderService.export(param);
+        if(ObjectUtils.isEmpty(filePath)){
+            throw new BusinessException(-1,"下载失败,请重试");
+        }
+        if(ObjectUtils.isEmpty(filePath)){
+            throw new BusinessException(-1,"下载失败,请重试");
+        }
+        String fileName = URLEncoder.encode(new File(filePath).getName(), "UTF-8");
+        String agent = request.getHeader("User-Agent");
+        if (agent != null && (agent.contains("MSIE")||agent.contains("Trident"))) {
+            fileName = URLEncoder.encode(fileName, "UTF-8");
+        } else {
+            //非IE浏览器的处理:
+            fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
+        }
+        response.setHeader("Content-Disposition", "attachment; filename=\""+fileName+"\"");
+        response.setContentType(request.getServletContext().getMimeType(fileName));
+        File file = new File(filePath);
+        response.setContentLength((int) file.length());
+        output(response, file);
+
+    }
+
+}

+ 6 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/mapper/IDownloadOrderMapper.java

@@ -1,8 +1,11 @@
 package com.fdkankan.platform.order.mapper;
 package com.fdkankan.platform.order.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.platform.goods.vo.SceneCountVo;
 import com.fdkankan.platform.goods.vo.SceneCountVo;
 import com.fdkankan.platform.order.entity.DownloadOrder;
 import com.fdkankan.platform.order.entity.DownloadOrder;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.platform.user.request.RequestOrder;
+import com.fdkankan.platform.user.vo.ResponseOrder;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 import java.util.List;
 import java.util.List;
@@ -19,4 +22,6 @@ import java.util.List;
 public interface IDownloadOrderMapper extends BaseMapper<DownloadOrder> {
 public interface IDownloadOrderMapper extends BaseMapper<DownloadOrder> {
 
 
     List<SceneCountVo> getCountBySceneNum();
     List<SceneCountVo> getCountBySceneNum();
+
+    Page<ResponseOrder> getOrderList(Page<DownloadOrder> objectPage, RequestOrder param);
 }
 }

+ 4 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/mapper/IIncrementOrderMapper.java

@@ -1,7 +1,10 @@
 package com.fdkankan.platform.order.mapper;
 package com.fdkankan.platform.order.mapper;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.platform.order.entity.IncrementOrder;
 import com.fdkankan.platform.order.entity.IncrementOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.platform.user.request.RequestOrder;
+import com.fdkankan.platform.user.vo.ResponseOrder;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 /**
 /**
@@ -15,4 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 @Mapper
 public interface IIncrementOrderMapper extends BaseMapper<IncrementOrder> {
 public interface IIncrementOrderMapper extends BaseMapper<IncrementOrder> {
 
 
+    Page<ResponseOrder> getOrderList(Page<Object> objectPage, RequestOrder param);
 }
 }

+ 9 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/IDownloadOrderService.java

@@ -1,11 +1,13 @@
 package com.fdkankan.platform.order.service;
 package com.fdkankan.platform.order.service;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fdkankan.platform.order.entity.DownloadOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.platform.order.entity.DownloadOrder;
 import com.fdkankan.platform.user.request.RequestDownloadOrder;
 import com.fdkankan.platform.user.request.RequestDownloadOrder;
 import com.fdkankan.platform.user.request.RequestIncrementOrder;
 import com.fdkankan.platform.user.request.RequestIncrementOrder;
+import com.fdkankan.platform.user.request.RequestOrder;
 import com.fdkankan.platform.user.vo.ResponseDownloadOrder;
 import com.fdkankan.platform.user.vo.ResponseDownloadOrder;
+import com.fdkankan.platform.user.vo.ResponseOrder;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.HashMap;
@@ -31,4 +33,10 @@ public interface IDownloadOrderService extends IService<DownloadOrder> {
     ResponseDownloadOrder getVoById(Long downloadOrderId);
     ResponseDownloadOrder getVoById(Long downloadOrderId);
 
 
     HashMap<String, Integer> getCountBySceneNum();
     HashMap<String, Integer> getCountBySceneNum();
+
+    Page<ResponseOrder> getOrderList(RequestOrder param);
+
+    ResponseOrder findByOrderId(Long orderId);
+
+    String export(RequestOrder param);
 }
 }

+ 8 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/IIncrementOrderService.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.platform.order.entity.IncrementOrder;
 import com.fdkankan.platform.order.entity.IncrementOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.platform.user.request.RequestIncrementOrder;
 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.ResponseIncrementOrder;
+import com.fdkankan.platform.user.vo.ResponseOrder;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 
 
@@ -27,4 +29,10 @@ public interface IIncrementOrderService extends IService<IncrementOrder> {
     boolean paySuccessIncrementOrder(String orderSn, String tradeNo, int paymentTypeName);
     boolean paySuccessIncrementOrder(String orderSn, String tradeNo, int paymentTypeName);
 
 
     ResponseIncrementOrder getVoById(Long incrementOrderId);
     ResponseIncrementOrder getVoById(Long incrementOrderId);
+
+    Page<ResponseOrder> getOrderList(RequestOrder param);
+
+    ResponseOrder findOrderByOrderId(Long orderId);
+
+    String export(RequestOrder param);
 }
 }

+ 2 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/IInvoiceService.java

@@ -53,4 +53,6 @@ public interface IInvoiceService extends IService<Invoice> {
     String sendExpress(RequestInvoice param);
     String sendExpress(RequestInvoice param);
 
 
     List<ResponseInvoice> getVoListByParam(RequestTrade param);
     List<ResponseInvoice> getVoListByParam(RequestTrade param);
+
+    Invoice getInvoiceByDownloadOrderId(Long downloadOrderId);
 }
 }

+ 106 - 4
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/impl/DownloadOrderServiceImpl.java

@@ -7,7 +7,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.NumberUtils;
 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.common.SkuCache;
 import com.fdkankan.platform.goods.service.IGoodsSkuService;
 import com.fdkankan.platform.goods.service.IGoodsSkuService;
 import com.fdkankan.platform.goods.vo.ResponseGoodsSku;
 import com.fdkankan.platform.goods.vo.ResponseGoodsSku;
@@ -19,18 +22,21 @@ import com.fdkankan.platform.order.service.IDownloadOrderService;
 import com.fdkankan.platform.order.service.IInvoiceService;
 import com.fdkankan.platform.order.service.IInvoiceService;
 import com.fdkankan.platform.user.request.RequestDownloadOrder;
 import com.fdkankan.platform.user.request.RequestDownloadOrder;
 import com.fdkankan.platform.user.request.RequestIncrementOrder;
 import com.fdkankan.platform.user.request.RequestIncrementOrder;
+import com.fdkankan.platform.user.request.RequestOrder;
 import com.fdkankan.platform.user.vo.ResponseDownloadOrder;
 import com.fdkankan.platform.user.vo.ResponseDownloadOrder;
 import com.fdkankan.platform.user.vo.ResponseInvoice;
 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.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -163,4 +169,100 @@ public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper,
         }
         }
         return map;
         return map;
     }
     }
+
+    @Override
+    public Page<ResponseOrder> getOrderList(RequestOrder param) {
+        Page<ResponseOrder> orderList = downloadOrderMapper.getOrderList(new Page<>(param.getPageNum(), param.getPageSize()), param);
+        ResultConvertUtil.getOrderList(orderList.getRecords());
+        return orderList;
+    }
+
+    @Override
+    public ResponseOrder findByOrderId(Long orderId) {
+        DownloadOrder 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 = downloadOrderMapper.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));
+                if(!ObjectUtils.isEmpty(order.getFinishTime())){
+                    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[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";    }
 }
 }

+ 113 - 3
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/impl/IncrementOrderServiceImpl.java

@@ -7,7 +7,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.NumberUtils;
 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.common.SkuCache;
 import com.fdkankan.platform.goods.service.IGoodsSkuService;
 import com.fdkankan.platform.goods.service.IGoodsSkuService;
 import com.fdkankan.platform.goods.vo.ResponseGoodsSku;
 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.IIncrementOrderService;
 import com.fdkankan.platform.order.service.IInvoiceService;
 import com.fdkankan.platform.order.service.IInvoiceService;
 import com.fdkankan.platform.user.request.RequestIncrementOrder;
 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.ResponseIncrementOrder;
 import com.fdkankan.platform.user.vo.ResponseInvoice;
 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.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 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>
  * <p>
@@ -43,6 +51,8 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
     private IGoodsSkuService goodsSkuService;
     private IGoodsSkuService goodsSkuService;
     @Autowired
     @Autowired
     private IInvoiceService invoiceService;
     private IInvoiceService invoiceService;
+    @Resource
+    private IIncrementOrderMapper incrementOrderMapper;
 
 
     @Override
     @Override
     public ResponseIncrementOrder saveByOrderParam(Long userId, RequestIncrementOrder order, BigDecimal price) {
     public ResponseIncrementOrder saveByOrderParam(Long userId, RequestIncrementOrder order, BigDecimal price) {
@@ -147,4 +157,104 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         }
         }
         return responseIncrementOrder;
         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";    }
 }
 }

+ 13 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/order/service/impl/InvoiceServiceImpl.java

@@ -485,4 +485,17 @@ public class InvoiceServiceImpl extends ServiceImpl<IInvoiceMapper, Invoice> imp
         this.updateById(invoiceEntity);
         this.updateById(invoiceEntity);
         return invoiceEntity;
         return invoiceEntity;
     }
     }
+
+    @Override
+    public Invoice getInvoiceByDownloadOrderId(Long downloadOrderId) {
+        LambdaQueryWrapper<Invoice> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Invoice::getDownloadOrderId,downloadOrderId)
+                .eq(Invoice::getTbStatus,TbStatus.VALID.code());
+        queryWrapper.last("LIMIT 1");
+        List<Invoice> list = this.list(queryWrapper);
+        if(list == null || list.size() <=0 ){
+            return  null;
+        }
+        return list.get(0);
+    }
 }
 }

+ 21 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/util/ResultConvertUtil.java

@@ -0,0 +1,21 @@
+package com.fdkankan.platform.util;
+
+import com.fdkankan.platform.order.constant.OrderEnum;
+import com.fdkankan.platform.user.vo.ResponseOrder;
+
+import java.util.List;
+
+public class ResultConvertUtil {
+
+    public static void getOrderList(List<ResponseOrder> orderList) {
+        for (ResponseOrder order : orderList) {
+            order.setOrderStatus("completed");
+            switch (order.getPaymentTypeName()){
+                case 1 :  order.setPaymentStatus(OrderEnum.PaymentStatus.paid.name());    break;
+                case -2 : order.setPaymentStatus(OrderEnum.PaymentStatus.refunded.name());break;
+                default:  order.setPaymentStatus(OrderEnum.PaymentStatus.unpaid.name());  break;
+            }
+        }
+    }
+
+}

+ 11 - 0
4dkankan-center-platform/src/main/resources/mapper/agent/AppFileMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.platform.agent.mapper.IAppFileMapper">
+
+    <select id="agentList" resultType="string">
+        select distinct agent from t_app_file
+        <if test="name != null and name !='' ">
+            where name like concat('%',#{name},'%')
+        </if>
+    </select>
+</mapper>

+ 23 - 0
4dkankan-center-platform/src/main/resources/mapper/order/DownloadOrderMapper.xml

@@ -5,4 +5,27 @@
     <select id="getCountBySceneNum" resultType="com.fdkankan.platform.goods.vo.SceneCountVo">
     <select id="getCountBySceneNum" resultType="com.fdkankan.platform.goods.vo.SceneCountVo">
         SELECT scene_num as sceneNum,count(*)as total FROM t_download_order WHERE  REC_STATUS = 'A' GROUP BY scene_num
         SELECT scene_num as sceneNum,count(*)as total FROM t_download_order WHERE  REC_STATUS = 'A' GROUP BY scene_num
     </select>
     </select>
+
+    <select id="getOrderList" resultType="com.fdkankan.platform.user.vo.ResponseOrder" >
+        SELECT o.id,o.order_sn,o.create_time orderTime,amount totalAmount,pay_type paymentTypeName,number trade_num,
+                o.pay_status paymentStatus,trade_time finishTime,o.user_id, c.sn_code snCode,
+                abroad, u.user_name,o.scene_num sceneNum,o.scene_name sceneName  FROM t_download_order o
+         LEFT JOIN t_scene_pro s on s.num = o.scene_num
+         LEFT JOIN t_camera c on c.id = s.camera_id
+         LEFT JOIN t_user u on o.user_id = u.id
+         where o.tb_status = 0 and (o.pay_status = 1 or o.pay_status = -2)
+        <if test="  param.phoneNum != null and  param.phoneNum !='' " >
+            and u.user_name like  CONCAT('%',#{param.phoneNum},'%'))
+        </if>
+        <if test="param.startDate != null and param.startDate !='' " >
+            and o.create_time &gt;= ${param.startDate} '00:00:00'
+        </if>
+        <if test=" param.endDate != null and param.endDate !='' " >
+            and o.create_time &lt;= ${param.endDate} '23:59:59'
+        </if>
+        <if test="  param.tradeNum != null and  param.tradeNum !='' " >
+            and o.number like  CONCAT('%',#{param.tradeNum},'%'))
+        </if>
+        order by o.create_time desc
+    </select>
 </mapper>
 </mapper>

+ 26 - 0
4dkankan-center-platform/src/main/resources/mapper/order/IncrementOrderMapper.xml

@@ -2,4 +2,30 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.platform.order.mapper.IIncrementOrderMapper">
 <mapper namespace="com.fdkankan.platform.order.mapper.IIncrementOrderMapper">
 
 
+    <select id="getOrderList" resultType="com.fdkankan.platform.user.vo.ResponseOrder" >
+        SELECT o.id,o.order_sn,o.create_time orderTime,amount totalAmount,
+        pay_type paymentTypeName,pay_status paymentStatus,number trade_num,trade_time finishTime,
+        count goodsNum, user_id,abroad, u.user_name FROM t_increment_order o
+        LEFT JOIN t_user u on o.user_id = u.id
+        <if test="param.expressNum !=null and param.expressNum !='' ">
+            LEFT JOIN t_order_item oi on oi.order_id = o.id
+        </if>
+        where o.tb_status = 0 and (o.pay_status = 1 or o.pay_status = -2)
+        <if test="  param.phoneNum != null and  param.phoneNum !='' " >
+            and u.user_name like  CONCAT('%',#{param.phoneNum},'%'))
+        </if>
+        <if test="param.startDate != null and param.startDate !='' " >
+            and o.create_time &gt;= ${param.startDate} '00:00:00'
+        </if>
+        <if test=" param.endDate != null and param.endDate !='' " >
+            and o.create_time &lt;= ${param.endDate} '23:59:59'
+        </if>
+        <if test="  param.orderSn != null and  param.orderSn !='' " >
+            and o.order_sn like  CONCAT('%',#{param.orderSn},'%'))
+        </if>
+        <if test="  param.tradeNum != null and  param.tradeNum !='' " >
+            and o.number like  CONCAT('%',#{param.tradeNum},'%'))
+        </if>
+        order by o.create_time desc
+    </select>
 </mapper>
 </mapper>

+ 25 - 1
4dkankan-common/src/main/java/com/fdkankan/common/controller/BaseController.java

@@ -3,7 +3,6 @@ package com.fdkankan.common.controller;
 import com.fdkankan.common.user.SSOLoginHelper;
 import com.fdkankan.common.user.SSOLoginHelper;
 import com.fdkankan.common.user.SSOUser;
 import com.fdkankan.common.user.SSOUser;
 import com.fdkankan.common.util.DateEditor;
 import com.fdkankan.common.util.DateEditor;
-import java.util.Objects;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.propertyeditors.StringTrimmerEditor;
 import org.springframework.beans.propertyeditors.StringTrimmerEditor;
 import org.springframework.web.bind.WebDataBinder;
 import org.springframework.web.bind.WebDataBinder;
@@ -11,7 +10,9 @@ import org.springframework.web.bind.annotation.InitBinder;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
+import java.io.*;
 import java.util.Date;
 import java.util.Date;
+import java.util.Objects;
 
 
 public class BaseController {
 public class BaseController {
     @Autowired
     @Autowired
@@ -40,4 +41,27 @@ public class BaseController {
         }
         }
         return null;
         return null;
     }
     }
+
+    public static void output(HttpServletResponse resp, File file) {
+        OutputStream os = null;
+        BufferedInputStream bis = null;
+        byte[] buff = new byte[1024];
+        try {
+            os = resp.getOutputStream();
+            bis = new BufferedInputStream(new FileInputStream(file));
+            int i = 0;
+            while ((i = bis.read(buff)) != -1) {
+                os.write(buff, 0, i);
+                os.flush();
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                bis.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
 }
 }