Просмотр исходного кода

Merge remote-tracking branch 'origin/dev-manage-20220527' into dev-manage-20220527

# Conflicts:
#	4dkankan-center-manage/pom.xml
lyhzzz 3 лет назад
Родитель
Сommit
08aff4cc94
72 измененных файлов с 2999 добавлено и 15 удалено
  1. 6 0
      4dkankan-center-manage/pom.xml
  2. 1 1
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/ManageApplication.java
  3. 35 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/AdvertiseController.java
  4. 40 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/CommonController.java
  5. 21 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/DownloadOrderController.java
  6. 21 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/IncrementOrderController.java
  7. 91 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/InvoiceController.java
  8. 21 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/InvoiceRegisterController.java
  9. 120 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/NewsController.java
  10. 21 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/OrderController.java
  11. 92 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/Advertise.java
  12. 2 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/Agent.java
  13. 124 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/DownloadOrder.java
  14. 118 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/IncrementOrder.java
  15. 229 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/Invoice.java
  16. 85 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/InvoiceRegister.java
  17. 91 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/News.java
  18. 202 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/Order.java
  19. 4 3
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/generate/AutoGenerate.java
  20. 4 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/interceptor/VisitLogInterceptor.java
  21. 18 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IAdvertiseMapper.java
  22. 18 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IDownloadOrderMapper.java
  23. 18 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IIncrementOrderMapper.java
  24. 25 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IInvoiceMapper.java
  25. 18 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IInvoiceRegisterMapper.java
  26. 23 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/INewsMapper.java
  27. 18 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IOrderMapper.java
  28. 21 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IAdvertiseService.java
  29. 20 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ICommonService.java
  30. 16 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IDownloadOrderService.java
  31. 21 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IExcelService.java
  32. 16 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IIncrementOrderService.java
  33. 18 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IInvoiceRegisterService.java
  34. 32 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IInvoiceService.java
  35. 44 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/INewsService.java
  36. 16 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IOrderService.java
  37. 35 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/AdvertiseServiceImpl.java
  38. 51 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/CommonServiceImpl.java
  39. 20 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/DownloadOrderServiceImpl.java
  40. 60 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/ExcelServiceImpl.java
  41. 20 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/IncrementOrderServiceImpl.java
  42. 25 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/InvoiceRegisterServiceImpl.java
  43. 134 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/InvoiceServiceImpl.java
  44. 116 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/NewsServiceImpl.java
  45. 20 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/OrderServiceImpl.java
  46. 20 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/BaseParamVO.java
  47. 35 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/InvoicePageParamVO.java
  48. 32 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/InvoiceRegisterDetailVO.java
  49. 144 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/InvoiceVO.java
  50. 30 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/NewsDisplayParamVO.java
  51. 30 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/NewsPublicParamVO.java
  52. 30 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/NewsPutTopParamVO.java
  53. 22 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/PageAdvertiseParamVO.java
  54. 31 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/PageNewsParamVO.java
  55. 71 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/PageNewsVO.java
  56. 57 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/SaveNewsParamVO.java
  57. 22 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/UpdateNewsParamVO.java
  58. 5 0
      4dkankan-center-manage/src/main/resources/mapper/manage/AdvertiseMapper.xml
  59. 5 0
      4dkankan-center-manage/src/main/resources/mapper/manage/DownloadOrderMapper.xml
  60. 5 0
      4dkankan-center-manage/src/main/resources/mapper/manage/IncrementOrderMapper.xml
  61. 128 0
      4dkankan-center-manage/src/main/resources/mapper/manage/InvoiceMapper.xml
  62. 5 0
      4dkankan-center-manage/src/main/resources/mapper/manage/InvoiceRegisterMapper.xml
  63. 32 0
      4dkankan-center-manage/src/main/resources/mapper/manage/NewsMapper.xml
  64. 5 0
      4dkankan-center-manage/src/main/resources/mapper/manage/OrderMapper.xml
  65. 12 0
      4dkankan-center-platform/pom.xml
  66. 1 1
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/entity/AgentAudit.java
  67. 1 1
      4dkankan-center-scene/src/main/resources/bootstrap-test.yml
  68. 2 9
      4dkankan-common/pom.xml
  69. 28 0
      4dkankan-common/src/main/java/com/fdkankan/common/annotation/Dict.java
  70. 95 0
      4dkankan-common/src/main/java/com/fdkankan/common/interceptor/DictAspect.java
  71. 0 0
      4dkankan-common/src/main/java/com/fdkankan/common/interceptor/FeignInterceptor.java
  72. 0 0
      4dkankan-common/src/main/java/com/fdkankan/common/interceptor/VisitLogInterceptor.java

+ 6 - 0
4dkankan-center-manage/pom.xml

@@ -84,6 +84,12 @@
       <version>1.3.6</version>
     </dependency>
 
+    <dependency>
+      <groupId>com.alibaba</groupId>
+      <artifactId>easyexcel</artifactId>
+      <version>3.1.0</version>
+    </dependency>
+
     <!-- Sa-Token 权限认证, 在线文档:http://sa-token.dev33.cn/ -->
     <dependency>
       <groupId>cn.dev33</groupId>

+ 1 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/ManageApplication.java

@@ -18,13 +18,13 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
  * @author dengsixing
  * @since 2022/5/27
  **/
+@SpringBootApplication
 @EnableTransactionManagement//开启事务
 @EnableDiscoveryClient
 @EnableScheduling
 @ComponentScan(basePackages = {"com.fdkankan.*"})
 @MapperScan("com.fdkankan.**.mapper")
 @ForestScan(basePackages = "com.fdkankan.manage.httpclient")
-@SpringBootApplication
 public class ManageApplication {
 
     public static void main(String[] args) {

+ 35 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/AdvertiseController.java

@@ -0,0 +1,35 @@
+package com.fdkankan.manage.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.service.IAdvertiseService;
+import com.fdkankan.manage.vo.PageAdvertiseParamVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 招聘信息表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-08
+ */
+@RestController
+@RequestMapping("/service/manage/advertise")
+public class AdvertiseController {
+
+    @Autowired
+    private IAdvertiseService advertiseService;
+
+    @PostMapping("/pageAdvertise")
+    public Page pageAdvertise(@RequestBody PageAdvertiseParamVO param){
+        return advertiseService.pageAdvertise(param);
+    }
+
+}
+

+ 40 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/CommonController.java

@@ -0,0 +1,40 @@
+package com.fdkankan.manage.controller;
+
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.service.ICommonService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/7
+ **/
+@RestController
+@RequestMapping("/service/manage/common")
+public class CommonController extends BaseController {
+
+    @Autowired
+    private ICommonService commonService;
+
+    /**
+     * 文件上传
+     * @param file 文件
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping(value = "/upload/files", method = RequestMethod.POST)
+    public ResultData uploads(
+        @RequestParam(value = "file") MultipartFile file) throws Exception {
+        return commonService.uploadFile(file);
+    }
+
+}

+ 21 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/DownloadOrderController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 下载次数订单表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@RestController
+@RequestMapping("/manage/downloadOrder")
+public class DownloadOrderController {
+
+}
+

+ 21 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/IncrementOrderController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 增值权益订单表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@RestController
+@RequestMapping("/manage/incrementOrder")
+public class IncrementOrderController {
+
+}
+

+ 91 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/InvoiceController.java

@@ -0,0 +1,91 @@
+package com.fdkankan.manage.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.service.IExcelService;
+import com.fdkankan.manage.service.IInvoiceService;
+import com.fdkankan.manage.service.IOrderService;
+import com.fdkankan.manage.vo.InvoicePageParamVO;
+import com.fdkankan.manage.vo.InvoiceVO;
+import java.io.IOException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ * 发票表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@RestController
+@RequestMapping("/service/manage/invoice")
+public class InvoiceController extends BaseController {
+
+    @Autowired
+    private IInvoiceService invoiceService;
+    @Autowired
+    private IExcelService excelService;
+
+    /**
+     * <p>
+            发票管理列表
+     * </p>
+     * @author dengsixing
+     * @date 2022/6/1
+     * @param param
+     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.fdkankan.manage.vo.InvoiceVO>
+     **/
+    @PostMapping("/pageInvoice")
+    public Page<InvoiceVO> pageInvoice(@RequestBody InvoicePageParamVO param){
+        return invoiceService.pageInvoice(param);
+    }
+
+    /**
+     * 开票登记
+     * @param id 发票申请id
+     * @param invoiceNum
+     * @param shipNum
+     * @param file
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/invoiceRegister")
+    public ResultData invoiceRegister(
+        @RequestParam("id") Long id, @RequestParam("invoiceNum") String invoiceNum, String shipNum,
+        @RequestParam(value = "file", required = false) MultipartFile file) throws Exception{
+        return invoiceService.invoiceRegister(this.getUserId(), id, invoiceNum, shipNum, file);
+    }
+
+    /**
+     * 开票详情
+     * @param id
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/getInvoiceRegisterDetail")
+    public ResultData getInvoiceRegisterDetail(@RequestParam("id") Long id) throws Exception{
+        return invoiceService.getInvoiceRegisterDetail(id);
+    }
+
+    /**
+     * 导出发票申请
+     * @param param
+     * @throws IOException
+     */
+    @PostMapping("/export")
+    public void export(@RequestBody InvoicePageParamVO param) throws IOException {
+        excelService.exportInvoice(request, response, param);
+    }
+}
+

+ 21 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/InvoiceRegisterController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 开票登记表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-02
+ */
+@RestController
+@RequestMapping("/manage/invoiceRegister")
+public class InvoiceRegisterController {
+
+}
+

+ 120 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/NewsController.java

@@ -0,0 +1,120 @@
+package com.fdkankan.manage.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.News;
+import com.fdkankan.manage.service.INewsService;
+import com.fdkankan.manage.vo.BaseParamVO;
+import com.fdkankan.manage.vo.NewsDisplayParamVO;
+import com.fdkankan.manage.vo.NewsPublicParamVO;
+import com.fdkankan.manage.vo.NewsPutTopParamVO;
+import com.fdkankan.manage.vo.PageNewsParamVO;
+import com.fdkankan.manage.vo.PageNewsVO;
+import com.fdkankan.manage.vo.SaveNewsParamVO;
+import com.fdkankan.manage.vo.UpdateNewsParamVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@RestController
+@RequestMapping("/service/manage/news")
+public class NewsController extends BaseController {
+
+    @Autowired
+    private INewsService newsService;
+
+    /**
+     * 新闻列表
+     * @param param
+     * @return
+     */
+    @PostMapping("/pageNews")
+    public Page<PageNewsVO> pageNews(@RequestBody PageNewsParamVO param){
+        return newsService.pageNews(param);
+    }
+
+    /**
+     * 新闻列表
+     * @param param
+     * @return
+     */
+    @PostMapping("/publicNews")
+    public ResultData publicNews(@RequestBody @Validated NewsPublicParamVO param){
+        return newsService.publicNews(this.getUserId(), param);
+    }
+
+    /**
+     * 修改是否显示
+     * @param param
+     * @return
+     */
+    @PostMapping("/display")
+    public ResultData display(@RequestBody @Validated NewsDisplayParamVO param){
+        return newsService.display(this.getUserId(), param);
+    }
+
+    /**
+     * 修改是否置顶
+     * @param param
+     * @return
+     */
+    @PostMapping("/putTop")
+    public ResultData putTop(@RequestBody @Validated NewsPutTopParamVO param){
+        return newsService.putTop(this.getUserId(), param);
+    }
+
+    /**
+     * 修改是否置顶
+     * @param param
+     * @return
+     */
+    @PostMapping("/delete")
+    public ResultData delete(@RequestBody @Validated BaseParamVO param){
+        return newsService.delete(this.getUserId(), param);
+    }
+
+    /**
+     * 获取新闻详情
+     * @param param
+     * @return
+     */
+    @PostMapping("/getNewsDetail")
+    public News getNewsDetail(@RequestBody @Validated BaseParamVO param){
+        return newsService.getNewsDetail(param);
+    }
+
+    /**
+     * 保存
+     * @param param
+     * @return
+     */
+    @PostMapping("/addNews")
+    public ResultData addNews(@RequestBody @Validated SaveNewsParamVO param){
+        return newsService.addNews(this.getUserId(), param);
+    }
+
+    /**
+     * 保存
+     * @param param
+     * @return
+     */
+    @PostMapping("/updateNews")
+    public ResultData updateNews(@RequestBody @Validated UpdateNewsParamVO param){
+        return newsService.updateNews(this.getUserId(), param);
+    }
+
+}
+

+ 21 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/OrderController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 订单表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@RestController
+@RequestMapping("/manage/order")
+public class OrderController {
+
+}
+

+ 92 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/Advertise.java

@@ -0,0 +1,92 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fdkankan.db.base.BaseEntity;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 招聘信息表
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-08
+ */
+@Getter
+@Setter
+@TableName("t_advertise")
+public class Advertise extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 职位名称
+     */
+    @TableField("position_name")
+    private String positionName;
+
+    /**
+     * 工作地点
+     */
+    @TableField("working_place")
+    private String workingPlace;
+
+    /**
+     * 薪资待遇
+     */
+    @TableField("salary")
+    private String salary;
+
+    /**
+     * 招聘人数
+     */
+    @TableField("count")
+    private Integer count;
+
+    /**
+     * 工作职责
+     */
+    @TableField("duty")
+    private String duty;
+
+    /**
+     * 任职资格
+     */
+    @TableField("qualification")
+    private String qualification;
+
+    /**
+     * 发布状态(0-否,1-是)
+     */
+    @TableField("is_public")
+    private Integer isPublic;
+
+    /**
+     * 发布时间
+     */
+    @TableField("public_time")
+    private Date publicTime;
+
+    /**
+     * 置顶状态(0-否,1-是)
+     */
+    @TableField("is_top")
+    private Integer isTop;
+
+    /**
+     * 置顶时间
+     */
+    @TableField("top_time")
+    private Date topTime;
+
+
+}

+ 2 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/Agent.java

@@ -3,6 +3,7 @@ package com.fdkankan.manage.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
@@ -97,6 +98,7 @@ public class Agent implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic
     private String recStatus;
 
 

+ 124 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/DownloadOrder.java

@@ -0,0 +1,124 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 下载次数订单表
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Getter
+@Setter
+@TableName("t_download_order")
+public class DownloadOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 订单号
+     */
+    @TableField("order_sn")
+    private String orderSn;
+
+    /**
+     * 金额
+     */
+    @TableField("amount")
+    private BigDecimal amount;
+
+    /**
+     * 支付宝的交易号或者微信支付订单号
+     */
+    @TableField("number")
+    private String number;
+
+    /**
+     * 付款方式,0表示微信,1表示支付宝,2表示paypal,3表示其他
+     */
+    @TableField("pay_type")
+    private Integer payType;
+
+    /**
+     * 状态,0或-1表示未付款,-2表示已退款,1表示已付款
+     */
+    @TableField("pay_status")
+    private Integer payStatus;
+
+    /**
+     * 状态,1增加下载次数
+     */
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 交易时间
+     */
+    @TableField("trade_time")
+    private Date tradeTime;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 购买数量
+     */
+    @TableField("count")
+    private Integer count;
+
+    /**
+     * 0表示国内订单,1表示国外订单
+     */
+    @TableField("abroad")
+    private Integer abroad;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableLogic
+    @TableField("rec_status")
+    private String recStatus;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 场景码
+     */
+    @TableField("scene_num")
+    private String sceneNum;
+
+    /**
+     * 场景名
+     */
+    @TableField("scene_name")
+    private String sceneName;
+
+
+}

+ 118 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/IncrementOrder.java

@@ -0,0 +1,118 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 增值权益订单表
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Getter
+@Setter
+@TableName("t_increment_order")
+public class IncrementOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 订单号
+     */
+    @TableField("order_sn")
+    private String orderSn;
+
+    /**
+     * 金额
+     */
+    @TableField("amount")
+    private BigDecimal amount;
+
+    /**
+     * 支付宝的交易号或者微信支付订单号
+     */
+    @TableField("number")
+    private String number;
+
+    /**
+     * 付款方式,0表示微信,1表示支付宝,2表示paypal,3表示其他
+     */
+    @TableField("pay_type")
+    private Integer payType;
+
+    /**
+     * 状态,0或-1表示未付款,-2表示已退款,1表示已付款
+     */
+    @TableField("pay_status")
+    private Integer payStatus;
+
+    /**
+     * 状态,1表示新增值权益,2表示续费增值权益  3表示增值权益1月
+     */
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 交易时间
+     */
+    @TableField("trade_time")
+    private Date tradeTime;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 增值权益表t_user_increment的id,status为2时才有
+     */
+    @TableField("increment_id")
+    private Long incrementId;
+
+    /**
+     * 购买数量
+     */
+    @TableField("count")
+    private Integer count;
+
+    /**
+     * 0表示国内订单,1表示国外订单
+     */
+    @TableField("abroad")
+    private Integer abroad;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableLogic
+    @TableField("rec_status")
+    private String recStatus;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 229 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/Invoice.java

@@ -0,0 +1,229 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+@TableName("t_invoice")
+public class Invoice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 订单表t_order的id
+     */
+    @TableField("order_id")
+    private Long orderId;
+
+    /**
+     * 订单表t_virtual_order的id  消费
+     */
+    @TableField("virtual_order_id")
+    private Long virtualOrderId;
+
+    /**
+     * 订单表t_increment_order的id  权益
+     */
+    @TableField("increment_order_id")
+    private Long incrementOrderId;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 发票类型,1表示不需要发票,2表示增值税普通发票,3表示增值税专用发票
+     */
+    @TableField("type")
+    private Integer type;
+
+    /**
+     * 发票抬头(个人还是公司)
+     */
+    @TableField("title")
+    private String title;
+
+    /**
+     * 税号
+     */
+    @TableField("code")
+    private String code;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 公司名称
+     */
+    @TableField("organized_name")
+    private String organizedName;
+
+    /**
+     * 公司地址
+     */
+    @TableField("organized_address")
+    private String organizedAddress;
+
+    /**
+     * 注册电话
+     */
+    @TableField("register_phone")
+    private String registerPhone;
+
+    /**
+     * 开户银行
+     */
+    @TableField("bank_name")
+    private String bankName;
+
+    /**
+     * 银行账户
+     */
+    @TableField("bank_account")
+    private String bankAccount;
+
+    /**
+     * 0表示购买相机,1表示充值,2会员权益, 3下载订单
+     */
+    @TableField("consume_type")
+    private Integer consumeType;
+
+    /**
+     * 开票金额
+     */
+    @TableField("money")
+    private BigDecimal money;
+
+    /**
+     * 相机主表t_camera的id
+     */
+    @TableField("camera_id")
+    private Long cameraId;
+
+    /**
+     * 0:发票未开,1:发票已开,2:已发出
+     */
+    @TableField("finish")
+    private Integer finish;
+
+    /**
+     * 电子发票收件邮箱
+     */
+    @TableField("email_address")
+    private String emailAddress;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableLogic(value="A",delval = "I")
+    @TableField("rec_status")
+    private String recStatus;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 收货地址
+     */
+    @TableField("ship_address")
+    private String shipAddress;
+
+    /**
+     * 收货地区
+     */
+    @TableField("ship_area")
+    private String shipArea;
+
+    /**
+     * 收货地区路径
+     */
+    @TableField("ship_area_path")
+    private String shipAreaPath;
+
+    /**
+     * 收货手机
+     */
+    @TableField("ship_mobile")
+    private String shipMobile;
+
+    /**
+     * 收货人姓名
+     */
+    @TableField("ship_name")
+    private String shipName;
+
+    /**
+     * 收货电话
+     */
+    @TableField("ship_phone")
+    private String shipPhone;
+
+    /**
+     * 收货邮编
+     */
+    @TableField("ship_zip_code")
+    private String shipZipCode;
+
+    /**
+     * 发送状态:0未发送,1快递发送,2邮箱发送
+     */
+    @TableField("send")
+    private Integer send;
+
+    /**
+     * 快递公司
+     */
+    @TableField("express_company")
+    private String expressCompany;
+
+    /**
+     * 快递单号
+     */
+    @TableField("express_number")
+    private String expressNumber;
+
+    /**
+     * 电子发票存放url
+     */
+    @TableField("e_invoice")
+    private String eInvoice;
+
+    /**
+     * 备注
+     */
+    @TableField("remarks")
+    private String remarks;
+
+    /**
+     * 订单表t_download_order的id  权益
+     */
+    @TableField("download_order_id")
+    private Long downloadOrderId;
+
+    /**
+     * 开票状态(0-否,1-是)
+     */
+    @TableField("invoiced")
+    private Integer invoiced;
+
+}

+ 85 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/InvoiceRegister.java

@@ -0,0 +1,85 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fdkankan.db.base.BaseEntity;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 开票登记表
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-02
+ */
+@Data
+@TableName("t_invoice_register")
+public class InvoiceRegister {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @TableField("invoice_id")
+    private Long invoiceId;
+
+    /**
+     * 发票编号
+     */
+    @TableField("invoice_num")
+    private String invoiceNum;
+
+    /**
+     * 快递单号
+     */
+    @TableField("ship_num")
+    private String shipNum;
+
+    /**
+     * 电子发票url
+     */
+    @TableField("invoice_url")
+    private String invoiceUrl;
+
+    /**
+     * 创建人id
+     */
+    @TableField("creater_id")
+    private Long createrId;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 修改人id
+     */
+    @TableField("updater_id")
+    private Long updaterId;
+
+    /**
+     * 修改时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 0-有效,1-删除, 2-禁用
+     */
+    @TableField("tb_status")
+    @TableLogic
+    private Integer tbStatus;
+
+
+}

+ 91 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/News.java

@@ -0,0 +1,91 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fdkankan.db.base.BaseEntity;
+import java.io.Serializable;
+import java.sql.Blob;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Getter
+@Setter
+@TableName("t_news")
+public class News extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 来源
+     */
+    @TableField("source")
+    private String source;
+
+    /**
+     * 新闻类型(1-链接,2-图文)
+     */
+    @TableField("new_type")
+    private Integer newType;
+
+    /**
+     * 是否显示(0-否,1-是)
+     */
+    @TableField("display")
+    private Integer display;
+
+    /**
+     * 是否置顶(0-否,1-是)
+     */
+    @TableField("is_top")
+    private Integer isTop;
+
+    /**
+     * 是否发布(0-否,1-是)
+     */
+    @TableField("is_public")
+    private Integer isPublic;
+
+    /**
+     * 标题
+     */
+    @TableField("title")
+    private String title;
+
+    /**
+     * 新闻内容
+     */
+    @TableField("content")
+    private String content;
+
+    /**
+     * 封面图url
+     */
+    @TableField("cover_image_url")
+    private String coverImageUrl;
+
+    /**
+     * 发布时间
+     */
+    @TableField("public_time")
+    private Date publicTime;
+
+    /**
+     * 置顶时间
+     */
+    @TableField("top_time")
+    private Date topTime;
+}

+ 202 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/Order.java

@@ -0,0 +1,202 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 订单表
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Getter
+@Setter
+@TableName("t_order")
+public class Order implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 订单号
+     */
+    @TableField("order_sn")
+    private String orderSn;
+
+    /**
+     * 下单时间
+     */
+    @TableField("order_time")
+    private Date orderTime;
+
+    /**
+     * 交易号
+     */
+    @TableField("trade_num")
+    private String tradeNum;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 商品总数
+     */
+    @TableField("goods_total_count")
+    private Integer goodsTotalCount;
+
+    /**
+     * 商品总额
+     */
+    @TableField("goods_amount")
+    private BigDecimal goodsAmount;
+
+    /**
+     * 订单总额
+     */
+    @TableField("total_amount")
+    private BigDecimal totalAmount;
+
+    /**
+     * 订单状态(未处理unprocessed、已确认processed、已完成completed、已取消invalid、过期expire)
+     */
+    @TableField("order_status")
+    private String orderStatus;
+
+    /**
+     * 付款状态(未付款unpaid、已付款paid、已取消cancel, 部分支付partPayment, 部分退款partRefund, 全额退款refunded)
+     */
+    @TableField("payment_status")
+    private String paymentStatus;
+
+    /**
+     * 配送状态(未发货unshipped、部分发货partShipped、已发货shipped、部分退货partReshiped、已退货reshiped、已收货received)
+     */
+    @TableField("shipping_status")
+    private String shippingStatus;
+
+    /**
+     * 已付金额
+     */
+    @TableField("paid_amount")
+    private BigDecimal paidAmount;
+
+    /**
+     * 付款方式,0表示微信,1表示支付宝,2表示paypal,3表示其他,4表示货到付款
+     */
+    @TableField("payment_type_name")
+    private Integer paymentTypeName;
+
+    /**
+     * 快递费
+     */
+    @TableField("express_amount")
+    private BigDecimal expressAmount;
+
+    /**
+     * 配送方式:快递运输、自提、同城速递
+     */
+    @TableField("delivery_type_name")
+    private String deliveryTypeName;
+
+    /**
+     * 收货地址
+     */
+    @TableField("ship_address")
+    private String shipAddress;
+
+    /**
+     * 收货地区
+     */
+    @TableField("ship_area")
+    private String shipArea;
+
+    /**
+     * 收货地区路径
+     */
+    @TableField("ship_area_path")
+    private String shipAreaPath;
+
+    /**
+     * 收货手机
+     */
+    @TableField("ship_mobile")
+    private String shipMobile;
+
+    /**
+     * 收货人姓名
+     */
+    @TableField("ship_name")
+    private String shipName;
+
+    /**
+     * 收货电话
+     */
+    @TableField("ship_phone")
+    private String shipPhone;
+
+    /**
+     * 收货邮编
+     */
+    @TableField("ship_zip_code")
+    private String shipZipCode;
+
+    /**
+     * 完成时间
+     */
+    @TableField("finish_time")
+    private Date finishTime;
+
+    /**
+     * 买家附言
+     */
+    @TableField("memo")
+    private String memo;
+
+    /**
+     * 商家备注
+     */
+    @TableField("comment")
+    private String comment;
+
+    /**
+     * 0表示国内订单,1表示国外订单
+     */
+    @TableField("abroad")
+    private Integer abroad;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableLogic
+    @TableField("rec_status")
+    private String recStatus;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 4 - 3
4dkankan-center-manage/src/main/java/com/fdkankan/manage/generate/AutoGenerate.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.generator.FastAutoGenerator;
 import com.baomidou.mybatisplus.generator.config.OutputFile;
 import com.baomidou.mybatisplus.generator.config.rules.DateType;
+import com.fdkankan.db.base.BaseEntity;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -17,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") + "\\4dkankan-center-manage";
 
         generate(path,"manage", getTables(new String[]{
-                "t_agent",
+                "t_advertise",
         }));
 
 //        generate(path,"goods", getTables(new String[]{
@@ -77,9 +78,9 @@ public class AutoGenerate {
 
                             .entityBuilder()
                             .enableLombok()
-//                            .logicDeleteColumnName("tb_status")
+                            .logicDeleteColumnName("tb_status")
                             .enableTableFieldAnnotation()
-//                            .superClass(BaseEntity.class)
+                            .superClass(BaseEntity.class)
 
                             .controllerBuilder()
                             .formatFileName("%sController")

+ 4 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/interceptor/VisitLogInterceptor.java

@@ -6,6 +6,7 @@ import cn.hutool.extra.servlet.ServletUtil;
 import cn.hutool.http.ContentType;
 import cn.hutool.http.useragent.UserAgent;
 import cn.hutool.http.useragent.UserAgentUtil;
+import cn.hutool.poi.excel.ExcelUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.manage.bean.MenuBean;
@@ -107,6 +108,9 @@ public class VisitLogInterceptor {
 		String hget = redisUtil.hget(RedisKey.MANAGE_MENU, uri);
 		assert StringUtils.isNotBlank(hget);
 		MenuBean menuBean = JSON.parseObject(hget, MenuBean.class);
+		if(Objects.isNull(menuBean)){
+		    return null;
+        }
 		LinkedList<String> menuList = new LinkedList<>();
 		this.getRequestPathHandler(menuList, menuBean);
 		StringBuilder sb = new StringBuilder();

+ 18 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IAdvertiseMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.Advertise;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 招聘信息表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-08
+ */
+@Mapper
+public interface IAdvertiseMapper extends BaseMapper<Advertise> {
+
+}

+ 18 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IDownloadOrderMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.DownloadOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 下载次数订单表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Mapper
+public interface IDownloadOrderMapper extends BaseMapper<DownloadOrder> {
+
+}

+ 18 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IIncrementOrderMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.IncrementOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 增值权益订单表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Mapper
+public interface IIncrementOrderMapper extends BaseMapper<IncrementOrder> {
+
+}

+ 25 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IInvoiceMapper.java

@@ -0,0 +1,25 @@
+package com.fdkankan.manage.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.annotation.Dict;
+import com.fdkankan.manage.entity.Invoice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage.vo.InvoicePageParamVO;
+import com.fdkankan.manage.vo.InvoiceVO;
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 发票表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Mapper
+public interface IInvoiceMapper extends BaseMapper<Invoice> {
+
+    Page<InvoiceVO> pageInvoice(Page page, InvoicePageParamVO param);
+
+}

+ 18 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IInvoiceRegisterMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.InvoiceRegister;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 开票登记表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-02
+ */
+@Mapper
+public interface IInvoiceRegisterMapper extends BaseMapper<InvoiceRegister> {
+
+}

+ 23 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/INewsMapper.java

@@ -0,0 +1,23 @@
+package com.fdkankan.manage.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.entity.News;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage.vo.PageNewsParamVO;
+import com.fdkankan.manage.vo.PageNewsVO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Mapper
+public interface INewsMapper extends BaseMapper<News> {
+
+    Page<PageNewsVO> pageNews(Page<PageNewsVO> page, PageNewsParamVO param);
+
+}

+ 18 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IOrderMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.Order;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 订单表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Mapper
+public interface IOrderMapper extends BaseMapper<Order> {
+
+}

+ 21 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IAdvertiseService.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.entity.Advertise;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.vo.PageAdvertiseParamVO;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ * 招聘信息表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-08
+ */
+public interface IAdvertiseService extends IService<Advertise> {
+
+    Page pageAdvertise(PageAdvertiseParamVO param);
+
+}

+ 20 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ICommonService.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.common.response.ResultData;
+import java.io.IOException;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/7
+ **/
+public interface ICommonService {
+
+    ResultData uploadFile(MultipartFile file) throws IOException;
+
+
+}

+ 16 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IDownloadOrderService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.DownloadOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 下载次数订单表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+public interface IDownloadOrderService extends IService<DownloadOrder> {
+
+}

+ 21 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IExcelService.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.vo.InvoicePageParamVO;
+import java.io.IOException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+public interface IExcelService {
+
+    public void exportInvoice(HttpServletRequest request, HttpServletResponse response, InvoicePageParamVO param)
+        throws IOException;
+
+}

+ 16 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IIncrementOrderService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.IncrementOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 增值权益订单表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+public interface IIncrementOrderService extends IService<IncrementOrder> {
+
+}

+ 18 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IInvoiceRegisterService.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.InvoiceRegister;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 开票登记表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-02
+ */
+public interface IInvoiceRegisterService extends IService<InvoiceRegister> {
+
+    public InvoiceRegister getByInvoiceId(long invoiceId);
+
+}

+ 32 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IInvoiceService.java

@@ -0,0 +1,32 @@
+package com.fdkankan.manage.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.Invoice;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.vo.InvoicePageParamVO;
+import com.fdkankan.manage.vo.InvoiceVO;
+import java.io.IOException;
+import java.util.List;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ * 发票表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+public interface IInvoiceService extends IService<Invoice> {
+
+    Page<InvoiceVO> pageInvoice(InvoicePageParamVO param);
+
+    ResultData invoiceRegister(Long userId, Long id, String invoiceNum,
+        String shipNum,MultipartFile file) throws IOException;
+
+    ResultData getInvoiceRegisterDetail(@RequestParam("id") Long id);
+
+}

+ 44 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/INewsService.java

@@ -0,0 +1,44 @@
+package com.fdkankan.manage.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.News;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.vo.BaseParamVO;
+import com.fdkankan.manage.vo.NewsDisplayParamVO;
+import com.fdkankan.manage.vo.NewsPublicParamVO;
+import com.fdkankan.manage.vo.NewsPutTopParamVO;
+import com.fdkankan.manage.vo.PageNewsParamVO;
+import com.fdkankan.manage.vo.PageNewsVO;
+import com.fdkankan.manage.vo.SaveNewsParamVO;
+import com.fdkankan.manage.vo.UpdateNewsParamVO;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+public interface INewsService extends IService<News> {
+
+    Page<PageNewsVO> pageNews(PageNewsParamVO param);
+
+    ResultData display(Long userId, NewsDisplayParamVO param);
+
+    ResultData putTop(Long userId, NewsPutTopParamVO param);
+
+    ResultData publicNews(Long userId, NewsPublicParamVO param);
+
+    ResultData delete(Long userId, BaseParamVO param);
+
+    News getNewsDetail(BaseParamVO param);
+
+    ResultData addNews(Long userId, SaveNewsParamVO param);
+
+    ResultData updateNews(Long userId, UpdateNewsParamVO param);
+
+}

+ 16 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IOrderService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.Order;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 订单表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+public interface IOrderService extends IService<Order> {
+
+}

+ 35 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/AdvertiseServiceImpl.java

@@ -0,0 +1,35 @@
+package com.fdkankan.manage.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.entity.Advertise;
+import com.fdkankan.manage.mapper.IAdvertiseMapper;
+import com.fdkankan.manage.service.IAdvertiseService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.vo.PageAdvertiseParamVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 招聘信息表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-08
+ */
+@Service
+public class AdvertiseServiceImpl extends ServiceImpl<IAdvertiseMapper, Advertise> implements IAdvertiseService {
+
+    @Override
+    public Page pageAdvertise(PageAdvertiseParamVO param) {
+
+        LambdaQueryWrapper<Advertise> queryWrapper = new LambdaQueryWrapper<>();
+        if(StrUtil.isNotEmpty(param.getPositionName())){
+            queryWrapper.like(Advertise::getPositionName, "%".concat(param.getPositionName()).concat("%"));
+        }
+        Page<Advertise> page = this.page(
+            new Page<>(param.getPageNum(), param.getPageSize()), queryWrapper);
+        return page;
+    }
+}

+ 51 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/CommonServiceImpl.java

@@ -0,0 +1,51 @@
+package com.fdkankan.manage.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.io.FileTypeUtil;
+import cn.hutool.core.io.FileUtil;
+import com.fdkankan.common.constant.UploadFilePath;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.common.util.DateExtUtil;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.manage.service.ICommonService;
+import java.io.File;
+import java.io.IOException;
+import java.util.Calendar;
+import java.util.UUID;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/7
+ **/
+@Service
+public class CommonServiceImpl implements ICommonService {
+
+    @Value("${oss.prefix.url}")
+    private String ossUrlPrefix;
+    @Autowired
+    private UploadToOssUtil uploadToOssUtil;
+
+    @Override
+    public ResultData uploadFile(MultipartFile file) throws IOException {
+        String uuid = UUID.randomUUID().toString();
+        String originalFilename = file.getOriginalFilename();
+        String  extName = originalFilename.substring(originalFilename.lastIndexOf("."));
+        String ossPath = String.format(UploadFilePath.MANAGE_FILE_PATH, DateUtil.format(Calendar.getInstance()
+            .getTime(), DateExtUtil.dateStyle6), uuid + extName);
+        File tempFile = File.createTempFile(uuid ,extName);
+        file.transferTo(tempFile);
+        uploadToOssUtil.upload(tempFile.getPath(), ossPath);
+        tempFile.deleteOnExit();
+        String url = this.ossUrlPrefix + ossPath;
+        return ResultData.ok(url);
+
+    }
+}

+ 20 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/DownloadOrderServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service.impl;
+
+import com.fdkankan.manage.entity.DownloadOrder;
+import com.fdkankan.manage.mapper.IDownloadOrderMapper;
+import com.fdkankan.manage.service.IDownloadOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 下载次数订单表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Service
+public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper, DownloadOrder> implements IDownloadOrderService {
+
+}

+ 60 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/ExcelServiceImpl.java

@@ -0,0 +1,60 @@
+package com.fdkankan.manage.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.util.DateExtUtil;
+import com.fdkankan.manage.service.IExcelService;
+import com.fdkankan.manage.service.IInvoiceService;
+import com.fdkankan.manage.vo.InvoicePageParamVO;
+import com.fdkankan.manage.vo.InvoiceVO;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Calendar;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+@Service
+public class ExcelServiceImpl implements IExcelService {
+
+    @Autowired
+    private IInvoiceService invoiceService;
+
+    @Override
+    public void exportInvoice(HttpServletRequest request, HttpServletResponse response, InvoicePageParamVO param)
+        throws IOException {
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String fileName = "开票申请数据" + DateUtil.format(Calendar.getInstance().getTime(), DateExtUtil.dateStyle6) + ".xlsx";
+        fileName = URLEncoder.encode(fileName, "UTF-8");
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName);
+        try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), InvoiceVO.class).build()) {
+            // 这里注意 如果同一个sheet只要创建一次
+            WriteSheet writeSheet = EasyExcel.writerSheet("开票申请数据").build();
+            // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来
+            int pageNum = 1;
+            param.setPageSize(5000);
+            Page<InvoiceVO> invoiceVOPage;
+            do {
+                param.setPageNum(pageNum);
+                invoiceVOPage = invoiceService.pageInvoice(param);
+                excelWriter.write(invoiceVOPage.getRecords(), writeSheet);
+                ++pageNum;
+
+            }while (invoiceVOPage.hasNext());
+        }
+    }
+}

+ 20 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/IncrementOrderServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service.impl;
+
+import com.fdkankan.manage.entity.IncrementOrder;
+import com.fdkankan.manage.mapper.IIncrementOrderMapper;
+import com.fdkankan.manage.service.IIncrementOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 增值权益订单表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Service
+public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper, IncrementOrder> implements IIncrementOrderService {
+
+}

+ 25 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/InvoiceRegisterServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fdkankan.manage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.manage.entity.InvoiceRegister;
+import com.fdkankan.manage.mapper.IInvoiceRegisterMapper;
+import com.fdkankan.manage.service.IInvoiceRegisterService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 开票登记表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-02
+ */
+@Service
+public class InvoiceRegisterServiceImpl extends ServiceImpl<IInvoiceRegisterMapper, InvoiceRegister> implements IInvoiceRegisterService {
+
+    @Override
+    public InvoiceRegister getByInvoiceId(long invoiceId) {
+        return this.getOne(new LambdaQueryWrapper<InvoiceRegister>().eq(InvoiceRegister::getInvoiceId, invoiceId));
+    }
+}

+ 134 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/InvoiceServiceImpl.java

@@ -0,0 +1,134 @@
+package com.fdkankan.manage.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.annotation.Dict;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.InvoiceType;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.Result;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.common.util.DateExtUtil;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import com.fdkankan.manage.entity.Invoice;
+import com.fdkankan.manage.entity.InvoiceRegister;
+import com.fdkankan.manage.mapper.IInvoiceMapper;
+import com.fdkankan.manage.service.IInvoiceRegisterService;
+import com.fdkankan.manage.service.IInvoiceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.service.IOrderService;
+import com.fdkankan.manage.vo.InvoicePageParamVO;
+import com.fdkankan.manage.vo.InvoiceRegisterDetailVO;
+import com.fdkankan.manage.vo.InvoiceVO;
+import java.io.File;
+import java.io.IOException;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * <p>
+ * 发票表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@RefreshScope
+@Service
+public class InvoiceServiceImpl extends ServiceImpl<IInvoiceMapper, Invoice> implements IInvoiceService {
+
+    @Value("${oss.dir.invoice}")
+    private String invoiceOssDir;
+    @Value("${invoice.prefix}")
+    private String invoicePrefix;
+    @Value("${oss.prefix.url}")
+    private String ossPrefixUrl;
+
+
+
+    @Autowired
+    private IInvoiceRegisterService invoiceRegisterService;
+    @Autowired
+    private UploadToOssUtil uploadToOssUtil;
+
+    @Dict
+    @Override
+    public Page<InvoiceVO> pageInvoice(InvoicePageParamVO param) {
+        return baseMapper.pageInvoice(new Page(param.getPageNum(), param.getPageSize()), param);
+    }
+
+    @Override
+    public ResultData invoiceRegister(
+        Long userId, Long id, String invoiceNum,
+        String shipNum, MultipartFile file) throws IOException {
+        Invoice invoice = this.getById(id);
+        if(Objects.isNull(invoice)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_9001);
+        }
+        Integer type = invoice.getType();
+        if(InvoiceType.NO_NEAD.code().equals(type)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_9002);
+        }
+
+        InvoiceRegister invoiceRegister = invoiceRegisterService.getByInvoiceId(id);
+        if(Objects.isNull(invoiceRegister)){
+            invoiceRegister = new InvoiceRegister();
+            invoiceRegister.setInvoiceId(invoice.getId());
+            invoiceRegister.setInvoiceNum(invoiceNum);
+            invoiceRegister.setCreaterId(userId);
+        }else{
+            invoiceRegister.setUpdaterId(userId);
+            invoiceRegister.setUpdateTime(new Date());
+        }
+        //普通发票
+        if(InvoiceType.ORDINARY.code().equals(type)){
+            if(Objects.isNull(file) || file.isEmpty()){
+                throw new BusinessException(ErrorCode.FAILURE_CODE_5048);
+            }
+            String fileName = invoicePrefix + invoice.getId() + ".jpg";
+            String ossFilePath = String.format(invoiceOssDir) + "/" + fileName;
+            uploadToOssUtil.upload(file.getBytes(), ossFilePath);
+            invoiceRegister.setInvoiceUrl(ossPrefixUrl + ossFilePath);
+        }else{//专用发票
+            if(StrUtil.isEmpty(shipNum)){
+                throw new BusinessException(ErrorCode.FAILURE_CODE_9003);
+            }
+            invoiceRegister.setShipNum(shipNum);
+        }
+        invoiceRegisterService.saveOrUpdate(invoiceRegister);
+
+        return ResultData.ok();
+    }
+
+    @Override
+    public ResultData getInvoiceRegisterDetail(Long id) {
+
+        Invoice invoice = this.getById(id);
+        if(Objects.isNull(invoice)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_9001);
+        }
+        InvoiceRegister invoiceRegister = invoiceRegisterService.getByInvoiceId(id);
+        if(Objects.isNull(invoice)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_9004);
+        }
+        return ResultData.ok(InvoiceRegisterDetailVO.builder()
+            .type(invoice.getType())
+            .email(invoice.getEmailAddress())
+            .invoiceNum(invoiceRegister.getInvoiceNum())
+            .invoiceUrl(invoiceRegister.getInvoiceUrl())
+            .shipNum(invoiceRegister.getShipNum())
+            .build());
+    }
+
+}

+ 116 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/NewsServiceImpl.java

@@ -0,0 +1,116 @@
+package com.fdkankan.manage.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.constant.CommonStatus;
+import com.fdkankan.common.constant.TbStatus;
+import com.fdkankan.common.response.Result;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.News;
+import com.fdkankan.manage.mapper.INewsMapper;
+import com.fdkankan.manage.service.INewsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.vo.BaseParamVO;
+import com.fdkankan.manage.vo.NewsDisplayParamVO;
+import com.fdkankan.manage.vo.NewsPublicParamVO;
+import com.fdkankan.manage.vo.NewsPutTopParamVO;
+import com.fdkankan.manage.vo.PageNewsParamVO;
+import com.fdkankan.manage.vo.PageNewsVO;
+import com.fdkankan.manage.vo.SaveNewsParamVO;
+import com.fdkankan.manage.vo.UpdateNewsParamVO;
+import java.util.Calendar;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Service
+public class NewsServiceImpl extends ServiceImpl<INewsMapper, News> implements INewsService {
+
+    @Override
+    public Page<PageNewsVO> pageNews(PageNewsParamVO param) {
+        Page<PageNewsVO> pageNewsVOPage =
+            this.baseMapper.pageNews(new Page<>(param.getPageNum(), param.getPageSize()), param);
+        return pageNewsVOPage;
+    }
+
+    @Override
+    public ResultData display(Long userId, NewsDisplayParamVO param) {
+        this.update(new LambdaUpdateWrapper<News>()
+            .set(News::getDisplay, param.getDisplay())
+            .set(News::getUpdateTime, Calendar.getInstance().getTime())
+            .set(News::getUpdaterId, userId)
+            .eq(News::getId, param.getId()));
+        return ResultData.ok();
+    }
+
+    @Override
+    public ResultData putTop(Long userId, NewsPutTopParamVO param) {
+
+        LambdaUpdateWrapper<News> updateWrapper = new LambdaUpdateWrapper<News>()
+            .set(News::getIsTop, param.getIsTop())
+            .set(News::getUpdateTime, Calendar.getInstance().getTime())
+            .set(News::getUpdaterId, userId)
+            .eq(News::getId, param.getId());
+        if(CommonStatus.YES.code() == param.getIsTop().byteValue()){
+            updateWrapper.set(News::getTopTime, Calendar.getInstance().getTime());
+        }
+        this.update(updateWrapper);
+
+        return ResultData.ok();
+    }
+
+    @Override
+    public ResultData publicNews(Long userId, NewsPublicParamVO param) {
+        LambdaUpdateWrapper<News> updateWrapper = new LambdaUpdateWrapper<News>()
+            .set(News::getIsPublic, param.getIsPublic())
+            .set(News::getUpdateTime, Calendar.getInstance().getTime())
+            .set(News::getUpdaterId, userId)
+            .eq(News::getId, param.getId());
+        if(CommonStatus.YES.code() == param.getIsPublic().byteValue()){
+            updateWrapper.set(News::getPublicTime, Calendar.getInstance().getTime());
+        }
+        this.update(updateWrapper);
+
+        return ResultData.ok();
+    }
+
+    @Override
+    public ResultData delete(Long userId, BaseParamVO param) {
+        this.update(new LambdaUpdateWrapper<News>()
+            .set(News::getTbStatus, TbStatus.DELETE.code())
+            .set(News::getUpdateTime, Calendar.getInstance().getTime())
+            .set(News::getUpdaterId, userId)
+            .eq(News::getId, param.getId()));
+        return ResultData.ok();
+    }
+
+    @Override
+    public News getNewsDetail(BaseParamVO param) {
+        return this.getById(param.getId());
+    }
+
+    @Override
+    public ResultData addNews(Long userId, SaveNewsParamVO param) {
+        News news = BeanUtil.copyProperties(param, News.class);
+        news.setCreaterId(userId);
+        news.setPublicTime(Calendar.getInstance().getTime());
+        this.save(news);
+        return ResultData.ok();
+    }
+
+    @Override
+    public ResultData updateNews(Long userId, UpdateNewsParamVO param) {
+        News news = BeanUtil.copyProperties(param, News.class);
+        news.setUpdateTime(Calendar.getInstance().getTime());
+        news.setUpdaterId(userId);
+        this.updateById(news);
+        return ResultData.ok();
+    }
+}

+ 20 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/OrderServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service.impl;
+
+import com.fdkankan.manage.entity.Order;
+import com.fdkankan.manage.mapper.IOrderMapper;
+import com.fdkankan.manage.service.IOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 订单表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-05-31
+ */
+@Service
+public class OrderServiceImpl extends ServiceImpl<IOrderMapper, Order> implements IOrderService {
+
+}

+ 20 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/BaseParamVO.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.vo;
+
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/7
+ **/
+@Data
+public class BaseParamVO {
+
+    @NotNull(message = "id不能为空")
+    private Long id;
+
+}

+ 35 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/InvoicePageParamVO.java

@@ -0,0 +1,35 @@
+package com.fdkankan.manage.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fdkankan.common.request.RequestBase;
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.mongodb.base.BaseRequestMongo;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/5/31
+ **/
+@Data
+public class InvoicePageParamVO extends RequestBase {
+
+    private String orderSn;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date invoiceTimeStart;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date invoiceTimeEnd;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date payTimeStart;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date payTimeEnd;
+
+}

+ 32 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/InvoiceRegisterDetailVO.java

@@ -0,0 +1,32 @@
+package com.fdkankan.manage.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/2
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceRegisterDetailVO {
+
+    private Integer type;
+
+    private String email;
+
+    private String invoiceNum;
+
+    private String invoiceUrl;
+
+    private String shipNum;
+
+}

+ 144 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/InvoiceVO.java

@@ -0,0 +1,144 @@
+package com.fdkankan.manage.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.fdkankan.common.annotation.Dict;
+import com.fdkankan.common.constant.InvoiceRegisterStatus;
+import com.fdkankan.common.constant.InvoiceType;
+import java.util.Date;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/1
+ **/
+@Data
+@EqualsAndHashCode
+@ColumnWidth(20)
+public class InvoiceVO {
+
+    @ExcelIgnore
+    private Long id;
+
+    /**
+     * 订单号
+     */
+    @ColumnWidth(20)
+    @ExcelProperty("订单编号")
+    private String orderSn;
+
+    /**
+     * 支付时间
+     */
+    @ColumnWidth(20)
+    @ExcelProperty("支付时间")
+    private Date payTime;
+
+    /**
+     * 开票时间
+     */
+    @ColumnWidth(20)
+    @ExcelProperty("开票申请时间")
+    private Date invoiceTime;
+
+    /**
+     * 开票金额
+     */
+    @ExcelProperty("开票金额")
+    private Double money;
+
+    /**
+     * 发票类型 2-普通发票, 3-专用发票
+     */
+    @Dict(enumClazz = InvoiceType.class)
+    @ExcelIgnore
+    private Integer type;
+
+    @ExcelProperty("开票类型")
+    @ColumnWidth(10)
+    private String typeStr;
+
+    /**
+     * 发票抬头
+     */
+    @ExcelProperty("发票抬头")
+    private String title;
+
+    /**
+     * 纳税人识别号
+     */
+    @ExcelProperty("纳税人识别号")
+    private String code;
+
+    /**
+     * 注册地址
+     */
+    @ExcelProperty("注册地址")
+    private String organizedAddress;
+
+    /**
+     * 注册电话
+     */
+    @ExcelProperty("注册电话")
+    private String registerPhone;
+
+    /**
+     * 开户银行
+     */
+    @ExcelProperty("开户银行")
+    private String bankName;
+
+    /**
+     * 银行账号
+     */
+    @ExcelProperty("银行账号")
+    private String bankAccount;
+
+    /**
+     * 收件人姓名
+     */
+    @ExcelProperty("收件人姓名")
+    @ColumnWidth(10)
+    private String shipName;
+
+    /**
+     * 收件人手机号码
+     */
+    @ExcelProperty("收件人电话")
+    private String shipMobile;
+
+    /**
+     * 收货地址
+     */
+    @ExcelProperty("收货地址")
+    private String shipAddress;
+
+    /**
+     * 邮箱
+     */
+    @ExcelProperty("邮箱")
+    private String email;
+
+    /**
+     * 开票状态(0-否,1-是)
+     */
+    @Dict(enumClazz = InvoiceRegisterStatus.class)
+    @ExcelIgnore
+    private Integer invoiced;
+
+    /**
+     * 开票状态(0-否,1-是)
+     */
+    @ExcelProperty("状态")
+    @ExcelIgnore
+    private String invoicedStr;
+
+
+
+}

+ 30 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/NewsDisplayParamVO.java

@@ -0,0 +1,30 @@
+package com.fdkankan.manage.vo;
+
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+@Data
+public class NewsDisplayParamVO {
+
+    /**
+     * 新闻id
+     */
+    @NotNull(message = "id不能为空")
+    private Long id;
+
+    /**
+     * 显示状态(0-否,1-是)
+     */
+    @NotNull(message = "display不能为空")
+    private Integer display;
+    
+
+}

+ 30 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/NewsPublicParamVO.java

@@ -0,0 +1,30 @@
+package com.fdkankan.manage.vo;
+
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * <p>
+ * 新闻发布参数
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+@Data
+public class NewsPublicParamVO {
+
+    /**
+     * 新闻id
+     */
+    @NotNull(message = "id不能为空")
+    private Long id;
+
+    /**
+     * 发布状态(0-否,1-是)
+     */
+    @NotNull(message = "isPublic不能为空")
+    private Integer isPublic;
+    
+
+}

+ 30 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/NewsPutTopParamVO.java

@@ -0,0 +1,30 @@
+package com.fdkankan.manage.vo;
+
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+@Data
+public class NewsPutTopParamVO {
+
+    /**
+     * 新闻id
+     */
+    @NotNull(message = "id不能为空")
+    private Long id;
+
+    /**
+     * 置顶状态(0-否,1-是)
+     */
+    @NotNull(message = "isTop不能为空")
+    private Integer isTop;
+    
+
+}

+ 22 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/PageAdvertiseParamVO.java

@@ -0,0 +1,22 @@
+package com.fdkankan.manage.vo;
+
+import com.fdkankan.common.request.RequestBase;
+import lombok.Data;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Data
+public class PageAdvertiseParamVO extends RequestBase {
+
+    /**
+     * 职位名称
+     */
+    private String positionName;
+
+}

+ 31 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/PageNewsParamVO.java

@@ -0,0 +1,31 @@
+package com.fdkankan.manage.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fdkankan.common.request.RequestBase;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+@Data
+public class PageNewsParamVO extends RequestBase {
+
+    @JsonFormat(
+        pattern = "yyyy-MM-dd HH:mm"
+    )
+    private Date publicTimeStart;
+
+    @JsonFormat(
+        pattern = "yyyy-MM-dd HH:mm"
+    )
+    private Date publicTimeEnd;
+
+    private String title;
+
+}

+ 71 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/PageNewsVO.java

@@ -0,0 +1,71 @@
+package com.fdkankan.manage.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fdkankan.db.base.BaseEntity;
+import java.sql.Blob;
+import java.util.Date;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Data
+public class PageNewsVO{
+
+    private Integer id;
+
+    /**
+     * 来源
+     */
+    private String source;
+
+    /**
+     * 新闻类型(1-链接,2-图文)
+     */
+    private Integer newType;
+
+    /**
+     * 是否显示(0-否,1-是)
+     */
+    private Integer display;
+
+    /**
+     * 是否置顶(0-否,1-是)
+     */
+    private Integer isTop;
+
+    /**
+     * 是否发布(0-否,1-是)
+     */
+    private Integer isPublic;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 发布时间
+     */
+    private Date publicTime;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    private String creater;
+}

+ 57 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/SaveNewsParamVO.java

@@ -0,0 +1,57 @@
+package com.fdkankan.manage.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fdkankan.db.base.BaseEntity;
+import java.sql.Blob;
+import java.util.Date;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Data
+public class SaveNewsParamVO {
+
+    /**
+     * 来源
+     */
+    @NotBlank(message = "source不能为空")
+    private String source;
+
+    /**
+     * 新闻类型(1-链接,2-图文)
+     */
+    @NotNull(message = "newType不能为空")
+    private Integer newType;
+
+    /**
+     * 标题
+     */
+    @NotBlank(message = "title不能为空")
+    private String title;
+
+    /**
+     * 新闻内容
+     */
+    @NotBlank(message = "content不能为空")
+    private String content;
+
+    /**
+     * 封面图url
+     */
+    @NotBlank(message = "coverImageUrl不能为空")
+    private String coverImageUrl;
+
+}

+ 22 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/UpdateNewsParamVO.java

@@ -0,0 +1,22 @@
+package com.fdkankan.manage.vo;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Data
+public class UpdateNewsParamVO extends SaveNewsParamVO{
+
+    @NotNull(message = "id不能为空")
+    private Long id;
+
+
+}

+ 5 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/AdvertiseMapper.xml

@@ -0,0 +1,5 @@
+<?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.manage.mapper.IAdvertiseMapper">
+
+</mapper>

+ 5 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/DownloadOrderMapper.xml

@@ -0,0 +1,5 @@
+<?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.manage.mapper.IDownloadOrderMapper">
+
+</mapper>

+ 5 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/IncrementOrderMapper.xml

@@ -0,0 +1,5 @@
+<?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.manage.mapper.IIncrementOrderMapper">
+
+</mapper>

+ 128 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/InvoiceMapper.xml

@@ -0,0 +1,128 @@
+<?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.manage.mapper.IInvoiceMapper">
+
+  <select id="pageInvoice" resultType="com.fdkankan.manage.vo.InvoiceVO">
+    select * from(
+      /*配件订单发票*/
+      SELECT
+      i.`id`,
+      o.`order_sn`,
+      o.`finish_time` AS payTime,
+      i.`create_time` AS invoiceTime,
+      i.`money`,
+      i.`type`,
+      i.`title`,
+      i.`code`,
+      i.`organized_address` as organizedAddress,
+      i.`register_phone` as registerPhone,
+      i.`bank_name` as bankName,
+      i.`bank_account` as bankAccount,
+      i.`ship_name` as shipName,
+      i.`ship_mobile` as shipMobile,
+      i.`ship_address` as shipAddress,
+      i.`email_address` AS email,
+      i.`invoiced`
+      FROM t_invoice i
+      LEFT JOIN t_order o ON i.`order_id` = o.`id`
+      WHERE i.`consume_type` = 0 AND i.`rec_status` = 'A' AND o.`rec_status` = 'A' AND i.`type` != 1
+      <if test="param.orderSn != null and param.orderSn != ''">
+        and o.`order_sn` like  concat('%', #{param.orderSn}, '%')
+      </if>
+      <if test="param.invoiceTimeStart != null">
+        and i.`create_time` >=  #{param.invoiceTimeStart}
+      </if>
+      <if test="param.invoiceTimeEnd != null">
+        and i.`create_time` <![CDATA[ <= ]]>  #{param.invoiceTimeEnd}
+      </if>
+      <if test="param.payTimeStart != null">
+        and o.`finish_time` >=  #{param.payTimeStart}
+      </if>
+      <if test="param.payTimeEnd != null">
+        and o.`finish_time` <![CDATA[ <= ]]>  #{param.payTimeEnd}
+      </if>
+
+      UNION
+
+      /*会员权益订单发票*/
+      SELECT
+      i.`id`,
+      o.`order_sn`,
+      o.`trade_time` AS payTime,
+      i.`create_time` AS invoiceTime,
+      i.`money`,
+      i.`type`,
+      i.`title`,
+      i.`code`,
+      i.`organized_address` AS organizedAddress,
+      i.`register_phone` AS registerPhone,
+      i.`bank_name` AS bankName,
+      i.`bank_account` AS bankAccount,
+      i.`ship_name` AS shipName,
+      i.`ship_mobile` AS shipMobile,
+      i.`ship_address` AS shipAddress,
+      i.`email_address` AS email,
+      i.`invoiced`
+      FROM t_invoice i
+      LEFT JOIN t_increment_order o ON i.`increment_order_id` = o.`id`
+      WHERE i.`consume_type` = 2 AND i.`rec_status` = 'A' AND o.`rec_status` = 'A' AND i.`type` != 1
+      <if test="param.orderSn != null and param.orderSn != ''">
+        and o.`order_sn` like  concat('%', #{param.orderSn}, '%')
+      </if>
+      <if test="param.invoiceTimeStart != null">
+        and i.`create_time` >=  #{param.invoiceTimeStart}
+      </if>
+      <if test="param.invoiceTimeEnd != null">
+        and i.`create_time` <![CDATA[ <= ]]>  #{param.invoiceTimeEnd}
+      </if>
+      <if test="param.payTimeStart != null">
+        and o.`trade_time` >=  #{param.payTimeStart}
+      </if>
+      <if test="param.payTimeEnd != null">
+        and o.`trade_time` <![CDATA[ <= ]]>  #{param.payTimeEnd}
+      </if>
+
+      UNION
+
+      /*下载订单发票*/
+      SELECT
+      i.`id`,
+      o.`order_sn`,
+      o.`trade_time` AS payTime,
+      i.`create_time` AS invoiceTime,
+      i.`money`,
+      i.`type`,
+      i.`title`,
+      i.`code`,
+      i.`organized_address` AS organizedAddress,
+      i.`register_phone` AS registerPhone,
+      i.`bank_name` AS bankName,
+      i.`bank_account` AS bankAccount,
+      i.`ship_name` AS shipName,
+      i.`ship_mobile` AS shipMobile,
+      i.`ship_address` AS shipAddress,
+      i.`email_address` AS email,
+      i.`invoiced`
+      FROM t_invoice i
+      LEFT JOIN t_download_order o ON i.`download_order_id` = o.`id`
+      WHERE i.`consume_type` = 3 AND i.`rec_status` = 'A' AND o.`rec_status` = 'A' AND i.`type` != 1
+      <if test="param.orderSn != null and param.orderSn != ''">
+        and o.`order_sn` like  concat('%', #{param.orderSn}, '%')
+      </if>
+      <if test="param.invoiceTimeStart != null">
+        and i.`create_time` >=  #{param.invoiceTimeStart}
+      </if>
+      <if test="param.invoiceTimeEnd != null">
+        and i.`create_time` <![CDATA[ <= ]]>  #{param.invoiceTimeEnd}
+      </if>
+      <if test="param.payTimeStart != null">
+        and o.`trade_time` >=  #{param.payTimeStart}
+      </if>
+      <if test="param.payTimeEnd != null">
+        and o.`trade_time` <![CDATA[ <= ]]>  #{param.payTimeEnd}
+      </if>
+    ) t
+    order by ${param.orderBy} ${param.sortBy}
+  </select>
+
+</mapper>

+ 5 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/InvoiceRegisterMapper.xml

@@ -0,0 +1,5 @@
+<?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.manage.mapper.IInvoiceRegisterMapper">
+
+</mapper>

+ 32 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/NewsMapper.xml

@@ -0,0 +1,32 @@
+<?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.manage.mapper.INewsMapper">
+
+  <select id="pageNews" resultType="com.fdkankan.manage.vo.PageNewsVO">
+    SELECT
+    n.`title`,
+    n.`source`,
+    n.`new_type`,
+    m.`nickname`,
+    n.`create_time`,
+    n.`public_time`,
+    n.`display`,
+    n.`is_top`,
+    n.`is_public`
+    FROM t_news n
+    LEFT JOIN t_manager m ON n.`creater_id` = m.id AND m.`rec_status` = 'A'
+    WHERE n.`tb_status` = 0
+    <if test="param.publicTimeStart != null">
+      AND n.`public_time` > #{param.publicTimeStart}
+    </if>
+    <if test="param.publicTimeEnd">
+      AND n.`public_time` <![CDATA[ < ]]>  #{param.publicTimeEnd}
+    </if>
+    <if test="param.title != null and param.title != ''">
+      AND n.`title` LIKE concat('%', param.title, '%')
+    </if>
+    order by n.top_time desc, n.public_time desc
+  </select>
+
+
+</mapper>

+ 5 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/OrderMapper.xml

@@ -0,0 +1,5 @@
+<?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.manage.mapper.IOrderMapper">
+
+</mapper>

+ 12 - 0
4dkankan-center-platform/pom.xml

@@ -92,6 +92,18 @@
           <version>1.3.6</version>
       </dependency>
 
+      <dependency>
+          <groupId>org.apache.poi</groupId>
+          <artifactId>poi</artifactId>
+          <version>3.8</version>
+      </dependency>
+
+      <dependency>
+          <groupId>org.apache.poi</groupId>
+          <artifactId>poi-ooxml</artifactId>
+          <version>3.8</version>
+      </dependency>
+
 
   </dependencies>
 

+ 1 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/agent/entity/AgentAudit.java

@@ -130,7 +130,7 @@ public class AgentAudit implements Serializable {
     /**
      * 0正常,1删除
      */
-       @TableLogic(value="0",delval = "1")
+    @TableLogic(value="0",delval = "1")
     private Integer tbStatus;
 
 

+ 1 - 1
4dkankan-center-scene/src/main/resources/bootstrap-test.yml

@@ -33,7 +33,7 @@ spring:
             refresh: true
       discovery:
         server-addr: 120.24.144.164:8848
-        namespace: 4dkankan-test
+        namespace: 4dkankan-dev
     sentinel:
       transport:
         dashboard: 120.24.144.164:8888

+ 2 - 9
4dkankan-common/pom.xml

@@ -102,15 +102,8 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi</artifactId>
-            <version>3.8</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml</artifactId>
-            <version>3.8</version>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
         </dependency>
 
         <dependency>

+ 28 - 0
4dkankan-common/src/main/java/com/fdkankan/common/annotation/Dict.java

@@ -0,0 +1,28 @@
+package com.fdkankan.common.annotation;
+
+import com.fdkankan.common.constant.CommonStatus;
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * <p>
+        此注解用于对方法返回对象做字典转换
+        使用方法:
+        1、在你需要做字段转换的service函数或者dao函数上添加此注解
+        2、在你的返回的数据模型类中需要做字典转换的字段上添加此注解,并且enumClazz值为你对应的字典枚举类
+            注意你的字段必须要有一个相应的字段作为接收字段,比如你的字段名为type,那你必须有个typeStr作为接收字段
+ * </p>
+ * @author dengsixing
+ * @date 2022/6/2
+ * @param null
+ * @return null
+ **/
+@Target({ElementType.FIELD, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Dict {
+    Class<?> enumClazz() default CommonStatus.class;
+}

+ 95 - 0
4dkankan-common/src/main/java/com/fdkankan/common/interceptor/DictAspect.java

@@ -0,0 +1,95 @@
+package com.fdkankan.common.interceptor;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.annotation.Dict;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Objects;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+/**
+ * 记录注册用户操作记录、异常记录
+ */
+@Slf4j
+@Aspect
+@Order(100)
+@Component
+public class DictAspect {
+
+	@Pointcut("@annotation(com.fdkankan.common.annotation.Dict)")
+	public void dictAspect() {
+	}
+
+	@AfterReturning(pointcut = "dictAspect()", returning = "res")
+	public void afterReturning(JoinPoint joinPoint, Object res) throws Exception {
+		if(Objects.isNull(res)){
+			return;
+		}
+		if(res instanceof Page){
+			Page page = (Page)res;
+			List records = page.getRecords();
+			if(CollUtil.isEmpty(records)){
+				return;
+			}
+			records.stream().forEach(obj->{
+				try {
+					this.handler(obj);
+				} catch (Exception e) {
+					log.info("类型转换名称报错", e);
+				}
+			});
+		}else if(res instanceof Iterable){
+			((Iterable<?>) res).forEach(obj ->{
+				try {
+					this.handler(obj);
+				} catch (Exception e) {
+					log.info("类型转换名称报错", e);
+				}
+			});
+		}else{
+			this.handler(res);
+		}
+	}
+
+	private void handler(Object obj) throws Exception{
+		Class<?> clazz = obj.getClass();
+		Field[] declaredFields = clazz.getDeclaredFields();
+		for (Field field : declaredFields) {
+			Dict annotation = field.getAnnotation(Dict.class);
+			if(Objects.isNull(annotation)){
+				continue;
+			}
+			String name = field.getName();
+			Field strField = clazz.getDeclaredField(name + "Str");
+			if(Objects.isNull(strField)){
+				continue;
+			}
+			field.setAccessible(true);
+			Class<?> enumClazz = annotation.enumClazz();
+			Method getCode = enumClazz.getMethod("code");
+			Method getMessage = enumClazz.getMethod("message");
+			Object[] enumConstants = enumClazz.getEnumConstants();
+			for (Object enumConstant : enumConstants) {
+				Object code = getCode.invoke(enumConstant);
+				if(code.equals(field.get(obj))){
+					Object message = getMessage.invoke(enumConstant);
+					strField.setAccessible(true);
+					strField.set(obj, message);
+				}
+			}
+
+		}
+	}
+
+}

4dkankan-common/src/main/java/com/fdkankan/common/aop/FeignInterceptor.java → 4dkankan-common/src/main/java/com/fdkankan/common/interceptor/FeignInterceptor.java


4dkankan-common/src/main/java/com/fdkankan/common/aop/VisitLogInterceptor.java → 4dkankan-common/src/main/java/com/fdkankan/common/interceptor/VisitLogInterceptor.java