ソースを参照

ManagerAgentController 接口业务移植

lyhzzz 3 年 前
コミット
e6f0cd5c14
74 ファイル変更1232 行追加261 行削除
  1. 30 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/controller/api/AgentAuditController.java
  2. 3 4
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/controller/api/AgentController.java
  3. 2 7
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/controller/api/AgentLoginController.java
  4. 119 2
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/controller/manager/ManagerAgentController.java
  5. 2 4
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/Agent.java
  6. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/AgentAudit.java
  7. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/AgentFramework.java
  8. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/AgentNotice.java
  9. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/VaildCameras.java
  10. 61 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/request/RequestAgentAudit.java
  11. 13 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/request/RequestAgentFramework.java
  12. 13 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/request/RequestAgentNotice.java
  13. 2 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/IAgentAuditService.java
  14. 6 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/IAgentFrameworkService.java
  15. 2 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/IAgentNoticeService.java
  16. 16 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/IAgentService.java
  17. 15 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/impl/AgentAuditServiceImpl.java
  18. 66 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/impl/AgentFrameworkServiceImpl.java
  19. 11 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/impl/AgentNoticeServiceImpl.java
  20. 140 19
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/impl/AgentServiceImpl.java
  21. 65 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/util/AgentFrameworkTree.java
  22. 97 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/util/AgentFrameworkTreeUtil.java
  23. 16 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/vo/AgentDetailTotalAmount.java
  24. 21 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/vo/AgentTotalAmountVo.java
  25. 35 0
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/vo/ResponseAgentCamera.java
  26. 3 3
      4dkankan-center-platform/src/main/java/com/fdkankan/generate/AutoGenerate.java
  27. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/Camera.java
  28. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/CameraDetail.java
  29. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/CameraOut.java
  30. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/CameraSpace.java
  31. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/CameraVersion.java
  32. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/Cart.java
  33. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/Company.java
  34. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/Goods.java
  35. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/GoodsSku.java
  36. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/GoodsSpec.java
  37. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/GoodsSpecValue.java
  38. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/GoodsSpuSpec.java
  39. 11 1
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/service/ICameraDetailService.java
  40. 60 0
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/service/impl/CameraDetailServiceImpl.java
  41. 1 1
      4dkankan-center-platform/src/main/java/com/fdkankan/order/controller/VirtualOrderController.java
  42. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/CommerceOrder.java
  43. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/DownloadOrder.java
  44. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/ExpansionOrder.java
  45. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/IncrementOrder.java
  46. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/Invoice.java
  47. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/Order.java
  48. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/OrderItem.java
  49. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/PreSale.java
  50. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/SpaceSdk.java
  51. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/TradeLog.java
  52. 6 9
      4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/VirtualOrder.java
  53. 1 1
      4dkankan-center-platform/src/main/java/com/fdkankan/order/mapper/IVirtualOrderMapper.java
  54. 8 1
      4dkankan-center-platform/src/main/java/com/fdkankan/order/service/IVirtualOrderService.java
  55. 146 0
      4dkankan-center-platform/src/main/java/com/fdkankan/order/service/impl/VirtualOrderServiceImpl.java
  56. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/IncrementType.java
  57. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/IntercomMessage.java
  58. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/Manager.java
  59. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/Province.java
  60. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/ReceiverInfo.java
  61. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/User.java
  62. 5 6
      4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/UserIncrement.java
  63. 3 0
      4dkankan-center-platform/src/main/java/com/fdkankan/user/service/IManagerService.java
  64. 9 0
      4dkankan-center-platform/src/main/java/com/fdkankan/user/service/impl/ManagerServiceImpl.java
  65. 5 0
      4dkankan-center-platform/src/main/resources/bootstrap.yml
  66. 1 1
      4dkankan-common/src/main/java/com/fdkankan/common/config/MybatisPlusPageConfig.java
  67. 49 0
      4dkankan-common/src/main/java/com/fdkankan/common/constant/ConstantFilePath.java
  68. 4 0
      4dkankan-common/src/main/java/com/fdkankan/common/constant/ErrorCode.java
  69. 3 2
      4dkankan-common/src/main/java/com/fdkankan/common/jwt/JwtFilter.java
  70. 3 2
      4dkankan-common/src/main/java/com/fdkankan/common/realm/AgentJwtRealm.java
  71. 3 2
      4dkankan-common/src/main/java/com/fdkankan/common/realm/AppJwtRealm.java
  72. 3 2
      4dkankan-common/src/main/java/com/fdkankan/common/realm/ManagerJwtRealm.java
  73. 3 2
      4dkankan-common/src/main/java/com/fdkankan/common/realm/UserJwtRealm.java
  74. 10 0
      pom.xml

+ 30 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/agent/controller/api/AgentAuditController.java

@@ -0,0 +1,30 @@
+package com.fdkankan.agent.controller.api;
+
+
+import com.fdkankan.agent.request.RequestAgentAudit;
+import com.fdkankan.agent.service.IAgentAuditService;
+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;
+
+
+/**
+ * 经销商申请模块
+ */
+@RestController
+@RequestMapping("/api")
+public class AgentAuditController {
+
+    @Autowired
+    private IAgentAuditService agentAuditService;
+
+    @PostMapping("/agentAduit/save")
+    public String save(@RequestBody RequestAgentAudit param){
+
+        return agentAuditService.saveByParam(param);
+    }
+
+
+}

+ 3 - 4
4dkankan-center-platform/src/main/java/com/fdkankan/agent/controller/api/AgentController.java

@@ -10,11 +10,10 @@ import com.fdkankan.agent.vo.AgentVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.http.HttpServletRequest;
-
 /**
  * <p>
  * 代理商表 前端控制器
@@ -37,8 +36,8 @@ public class AgentController {
      * @return
      */
     @PostMapping(value = "/detail")
-    public AgentVo detail(HttpServletRequest request){
-        String userName = JWT.decode(request.getHeader("token")).getClaim("userName").asString();
+    public AgentVo detail(@RequestHeader String token){
+        String userName = JWT.decode(token).getClaim("userName").asString();
         String agentId = userName.split(":")[1];
         Agent agent = agentService.getAgentById(agentId);
         AgentVo rsp =  new AgentVo();

+ 2 - 7
4dkankan-center-platform/src/main/java/com/fdkankan/agent/controller/api/AgentLoginController.java

@@ -8,13 +8,9 @@ import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.JwtUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
-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;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 
 /**
  * 代理商登录模块
@@ -40,8 +36,7 @@ public class AgentLoginController  {
      * 代理商登出
      */
     @PostMapping(value = "/logout")
-    public String logout(HttpServletRequest request) {
-        String token = request.getHeader("token");
+    public String logout(@RequestHeader String token) {
         if(token == null){
             throw new BusinessException(ErrorCode.USER_NOT_LOGIN);
         }

+ 119 - 2
4dkankan-center-platform/src/main/java/com/fdkankan/agent/controller/manager/ManagerAgentController.java

@@ -3,13 +3,28 @@ package com.fdkankan.agent.controller.manager;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.entity.Agent;
+import com.fdkankan.agent.entity.AgentFramework;
 import com.fdkankan.agent.request.RequestAgent;
+import com.fdkankan.agent.request.RequestAgentFramework;
+import com.fdkankan.agent.request.RequestAgentNotice;
+import com.fdkankan.agent.service.IAgentFrameworkService;
 import com.fdkankan.agent.service.IAgentNoticeService;
 import com.fdkankan.agent.service.IAgentService;
+import com.fdkankan.agent.util.AgentFrameworkTree;
+import com.fdkankan.agent.util.AgentFrameworkTreeUtil;
+import com.fdkankan.agent.vo.AgentDetailTotalAmount;
+import com.fdkankan.agent.vo.AgentTotalAmountVo;
 import com.fdkankan.agent.vo.AgentVo;
+import com.fdkankan.agent.vo.ResponseAgentCamera;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+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;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
 
 /**
  * <p>
@@ -25,6 +40,8 @@ public class ManagerAgentController {
     IAgentService agentService;
     @Autowired
     IAgentNoticeService agentNoticeService;
+    @Autowired
+    IAgentFrameworkService agentFrameworkService;
 
     /**
      * 获取代理商列表
@@ -56,9 +73,109 @@ public class ManagerAgentController {
     /**
      * 删除代理商
      */
-    @RequestMapping(value = {"/delete"}, method = RequestMethod.POST)
+    @PostMapping(value = "/delete")
     public String delete(@RequestBody RequestAgent param) throws Exception {
         return agentService.deleteAgent(param.getId());
     }
+
+    /**
+     * 更新状态
+     */
+    @PostMapping(value = "/updateStatus")
+    public String updateStatus(@RequestBody RequestAgent param) throws Exception {
+        return agentService.updateAgentStatus(param.getId(), param.getStatus());
+    }
+
+    /**
+     * 上传设备表格
+     * @return
+     */
+    @PostMapping(value = "/uploadFile")
+    public String uploadFile(MultipartFile file) throws Exception {
+        return agentService.uploadFile(file);
+    }
+
+
+    /**
+     * 代理查询列表
+     */
+    @PostMapping(value = {"/searchList"})
+    public Page<AgentVo> searchList(@RequestBody RequestAgent param) throws Exception {
+        return agentService.searchAgentList(param);
+    }
+
+    /**
+     * 代理查询列表统计
+     */
+    @PostMapping(value = "/searchListStatistics")
+    public AgentTotalAmountVo searchListStatistics(@RequestBody RequestAgent param) throws Exception {
+        return agentService.searchAgentListStatistics(param);
+    }
+
+    /**
+     * 代理查询列表详情
+     */
+    @PostMapping(value = "/searchListDetail")
+    public Page<ResponseAgentCamera> searchListDetail(@RequestBody RequestAgent param) throws Exception {
+        return agentService.searchAgentListDetail(param);
+    }
+
+    /**
+     * 代理查询列表详情统计
+     */
+    @PostMapping(value = "/searchListDetailStatistics")
+    public AgentDetailTotalAmount searchListDetailStatistics(@RequestBody RequestAgent param) throws Exception {
+        return agentService.searchAgentListDetailStatistics(param);
+    }
+
+    /**
+     * 发布公告
+     */
+    @PostMapping(value = "/publishNotice")
+    public String publishNotice(@RequestBody RequestAgentNotice param) throws Exception {
+        return agentNoticeService.saveNotice(param.getTitle(), param.getContent());
+    }
+
+    /**
+     * 新增经销商架构管理
+     */
+    @PostMapping(value = "/addAgentFramework")
+    public String addAgentFramework(@RequestBody RequestAgentFramework param){
+       return  agentFrameworkService.saveByParam(param);
+    }
+
+    /**
+     * 修改经销商架构管理
+     */
+    @PostMapping(value = "/updateAgentFramework")
+    public String updateAgentFramework(@RequestBody RequestAgentFramework param){
+        return  agentFrameworkService.updateByParam(param);
+    }
+
+    /**
+     * 删除经销商架构管理
+     */
+    @PostMapping(value = "/deleteAgentFramework")
+    public String deleteAgentFramework(@RequestBody RequestAgentFramework param){
+        return agentFrameworkService.deleteByParam(param);
+    }
+
+    /**
+     * 查询经销商架构树结构
+     * @return
+     */
+    @PostMapping(value = "/agentFrameworkTree")
+    public List<AgentFrameworkTree> agentFrameworkTree(){
+        List<AgentFramework> list = agentFrameworkService.list();
+        return new AgentFrameworkTreeUtil(list).buildTree();
+    }
+
+    /**
+     * 查询经销商架构所有
+     */
+    @PostMapping(value = "/agentFrameworkAll")
+    public List<AgentFramework> agentFrameworkAll(){
+        return agentFrameworkService.list();
+    }
 }
 

+ 2 - 4
4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/Agent.java

@@ -1,9 +1,6 @@
 package com.fdkankan.agent.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.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -98,6 +95,7 @@ public class Agent implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

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

@@ -1,14 +1,12 @@
 package com.fdkankan.agent.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 代理商申请表
@@ -121,6 +119,7 @@ public class AgentAudit implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/AgentFramework.java

@@ -1,14 +1,12 @@
 package com.fdkankan.agent.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 代理商架构管理
@@ -40,6 +38,7 @@ public class AgentFramework implements Serializable {
     private String agentName;
 
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     @TableField("create_time")

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/AgentNotice.java

@@ -1,14 +1,12 @@
 package com.fdkankan.agent.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 代理商公告表
@@ -55,6 +53,7 @@ public class AgentNotice implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/agent/entity/VaildCameras.java

@@ -1,14 +1,12 @@
 package com.fdkankan.agent.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 代理商可用相机表
@@ -52,6 +50,7 @@ public class VaildCameras implements Serializable {
     private String devicemac;
 
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     @TableField("create_time")

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

@@ -0,0 +1,61 @@
+package com.fdkankan.agent.request;
+
+import com.fdkankan.common.request.RequestBase;
+import lombok.Data;
+
+@Data
+public class RequestAgentAudit extends RequestBase {
+
+    /**
+     * 经销商公司名称
+     */
+    private String name;
+    /**
+     * 国家
+     */
+    private String country;
+    /**
+     * 地区
+     */
+    private String region;
+    /**
+     * 地址
+     */
+    private String address;
+    /**
+     * 类型,1为线下,2为线上
+     */
+    private Integer type;
+    /**
+     * 线下门店地址或线上网站
+     */
+    private String storeAddress;
+    /**
+     * 申请人的姓
+     */
+    private String surName;
+    /**
+     * 状态,0申请中,1审核通过,2审核失败
+     */
+    private int state;
+    /**
+     * 申请人的名字
+     */
+    private String userName;
+    /**
+     * 申请人职位
+     */
+    private String post;
+    /**
+     * 区号
+     */
+    private String areaCode;
+    /**
+     * 手机号
+     */
+    private String phone;
+    /**
+     * 邮箱地址
+     */
+    private String email;
+}

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

@@ -0,0 +1,13 @@
+package com.fdkankan.agent.request;
+
+import lombok.Data;
+
+@Data
+public class RequestAgentFramework {
+
+    private Long id;
+
+    private Long parentId;
+
+    private String name;
+}

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

@@ -0,0 +1,13 @@
+package com.fdkankan.agent.request;
+
+import lombok.Data;
+
+@Data
+public class RequestAgentNotice {
+
+    //    @ApiModelProperty(value = "标题", name = "title")
+    private String title;
+
+    //    @ApiModelProperty(value = "公告内容", name = "content")
+    private String content;
+}

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

@@ -2,6 +2,7 @@ package com.fdkankan.agent.service;
 
 import com.fdkankan.agent.entity.AgentAudit;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.request.RequestAgentAudit;
 
 /**
  * <p>
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IAgentAuditService extends IService<AgentAudit> {
 
+    String saveByParam(RequestAgentAudit param);
 }

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

@@ -2,6 +2,7 @@ package com.fdkankan.agent.service;
 
 import com.fdkankan.agent.entity.AgentFramework;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.request.RequestAgentFramework;
 
 /**
  * <p>
@@ -13,4 +14,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IAgentFrameworkService extends IService<AgentFramework> {
 
+    String saveByParam(RequestAgentFramework param);
+
+    String updateByParam(RequestAgentFramework param);
+
+    String deleteByParam(RequestAgentFramework param);
 }

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

@@ -15,4 +15,6 @@ import com.fdkankan.agent.vo.AgentNoticeVo;
 public interface IAgentNoticeService extends IService<AgentNotice> {
 
     AgentNoticeVo getAgentNotice();
+
+    String saveNotice(String title, String content);
 }

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

@@ -5,7 +5,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.entity.Agent;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.RequestAgent;
+import com.fdkankan.agent.vo.AgentDetailTotalAmount;
+import com.fdkankan.agent.vo.AgentTotalAmountVo;
 import com.fdkankan.agent.vo.AgentVo;
+import com.fdkankan.agent.vo.ResponseAgentCamera;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * <p>
@@ -26,4 +30,16 @@ public interface IAgentService extends IService<Agent> {
     String saveAgent(RequestAgent param);
 
     String deleteAgent(Long id);
+
+    String updateAgentStatus(Long id, int status);
+
+    Page<AgentVo> searchAgentList(RequestAgent param);
+
+    AgentTotalAmountVo searchAgentListStatistics(RequestAgent param);
+
+    Page<ResponseAgentCamera> searchAgentListDetail(RequestAgent param);
+
+    AgentDetailTotalAmount searchAgentListDetailStatistics(RequestAgent param);
+
+    String uploadFile(MultipartFile file)throws Exception;
 }

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

@@ -2,8 +2,12 @@ package com.fdkankan.agent.service.impl;
 
 import com.fdkankan.agent.entity.AgentAudit;
 import com.fdkankan.agent.mapper.IAgentAuditMapper;
+import com.fdkankan.agent.request.RequestAgentAudit;
 import com.fdkankan.agent.service.IAgentAuditService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +21,15 @@ import org.springframework.stereotype.Service;
 @Service
 public class AgentAuditServiceImpl extends ServiceImpl<IAgentAuditMapper, AgentAudit> implements IAgentAuditService {
 
+    @Override
+    public String saveByParam(RequestAgentAudit param) {
+        if(param == null || StringUtils.isEmpty(param.getName()) || StringUtils.isEmpty(param.getAddress()) ||
+                StringUtils.isEmpty(param.getCountry()) || StringUtils.isEmpty(param.getRegion()) ||
+                StringUtils.isEmpty(param.getSurName()) || StringUtils.isEmpty(param.getUserName()) ||
+                StringUtils.isEmpty(param.getPost()) || StringUtils.isEmpty(param.getAreaCode()) ||
+                StringUtils.isEmpty(param.getPhone()) || StringUtils.isEmpty(param.getEmail())){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        return null;
+    }
 }

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

@@ -1,11 +1,21 @@
 package com.fdkankan.agent.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fdkankan.agent.entity.AgentFramework;
 import com.fdkankan.agent.mapper.IAgentFrameworkMapper;
+import com.fdkankan.agent.request.RequestAgentFramework;
 import com.fdkankan.agent.service.IAgentFrameworkService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.user.entity.Manager;
+import com.fdkankan.user.service.IManagerService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 代理商架构管理 服务实现类
@@ -17,4 +27,60 @@ import org.springframework.stereotype.Service;
 @Service
 public class AgentFrameworkServiceImpl extends ServiceImpl<IAgentFrameworkMapper, AgentFramework> implements IAgentFrameworkService {
 
+    @Autowired
+    private IManagerService managerService;
+
+    @Override
+    public String saveByParam(RequestAgentFramework param) {
+        if(StringUtils.isBlank(param.getName()) || param.getParentId() == null){
+            throw new BusinessException(ErrorCode.PARAM_REQUIRED);
+        }
+        QueryWrapper<AgentFramework> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(AgentFramework::getAgentName,param.getName());
+        List<AgentFramework> list = this.list(queryWrapper);
+        if(list != null && list.size() > 0){
+            throw new BusinessException(ErrorCode.AGENT_EXIST);
+        }
+        AgentFramework agentFramework = new AgentFramework();
+        agentFramework.setAgentName(param.getName());
+        agentFramework.setParentId(param.getParentId());
+        if(!this.save(agentFramework)){
+            throw new BusinessException(ErrorCode.ERROR_MSG);
+        }
+        return "操作成功";
+    }
+
+    @Override
+    public String updateByParam(RequestAgentFramework param) {
+        if(StringUtils.isBlank(param.getName()) || param.getId() == null){
+            throw new BusinessException(ErrorCode.PARAM_REQUIRED);
+        }
+        AgentFramework agentFramework = this.getById(param.getId());
+        if(agentFramework == null){
+            throw new BusinessException(ErrorCode.AGENT_NOT_EXIST);
+        }
+        if(agentFramework.getAgentName().equals(param.getName())){
+            throw new BusinessException(ErrorCode.AGENT_EXIST);
+        }
+        agentFramework.setAgentName(param.getName());
+        if(!this.saveOrUpdate(agentFramework)){
+            throw new BusinessException(ErrorCode.ERROR_MSG);
+        }
+        return "操作成功";
+    }
+
+    @Override
+    public String deleteByParam(RequestAgentFramework param) {
+        if( param.getId() == null){
+            throw new BusinessException(ErrorCode.PARAM_REQUIRED);
+        }
+        List<Manager> managerList= managerService.getByFrameworkId(param.getId());
+        if(managerList!=null && managerList.size()>0){
+            throw  new BusinessException(ErrorCode.AGENT_SUB_EXIST);
+        }
+        if(!this.removeById(param.getId())){
+            throw  new BusinessException(ErrorCode.ERROR_MSG);
+        }
+        return "操作成功";
+    }
 }

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

@@ -47,4 +47,15 @@ public class AgentNoticeServiceImpl extends ServiceImpl<IAgentNoticeMapper, Agen
         BeanUtils.copyProperties(list.get(0), agentNoticeVo);
         return agentNoticeVo;
     }
+
+    @Override
+    public String saveNotice(String title, String content) {
+        AgentNotice agentNotice = new AgentNotice();
+        agentNotice.setTitle(title);
+        agentNotice.setContent(content);
+        if(!this.save(agentNotice)){
+            throw new BusinessException(ErrorCode.ERROR_MSG);
+        }
+        return "发布成功";
+    }
 }

+ 140 - 19
4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/impl/AgentServiceImpl.java

@@ -8,27 +8,35 @@ import com.fdkankan.agent.entity.Agent;
 import com.fdkankan.agent.mapper.IAgentMapper;
 import com.fdkankan.agent.request.RequestAgent;
 import com.fdkankan.agent.service.IAgentService;
+import com.fdkankan.agent.util.ExcelUtil;
+import com.fdkankan.agent.vo.AgentDetailTotalAmount;
+import com.fdkankan.agent.vo.AgentTotalAmountVo;
 import com.fdkankan.agent.vo.AgentVo;
+import com.fdkankan.agent.vo.ResponseAgentCamera;
+import com.fdkankan.common.constant.ConstantFilePath;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.common.util.PasswordUtils;
 import com.fdkankan.common.util.SsoUtil;
 import com.fdkankan.goods.entity.Camera;
+import com.fdkankan.goods.entity.CameraDetail;
+import com.fdkankan.goods.service.ICameraDetailService;
 import com.fdkankan.goods.service.ICameraService;
 import com.fdkankan.order.service.IVirtualOrderService;
-import com.fdkankan.agent.util.ExcelUtil;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
+import java.io.File;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -47,6 +55,8 @@ public class AgentServiceImpl extends ServiceImpl<IAgentMapper, Agent> implement
     private ICameraService cameraService;
     @Autowired
     private IVirtualOrderService virtualOrderService;
+    @Autowired
+    private ICameraDetailService cameraDetailService;
 
     @Override
     public Agent getAgentById(String agentId) {
@@ -81,25 +91,18 @@ public class AgentServiceImpl extends ServiceImpl<IAgentMapper, Agent> implement
 
     @Override
     public Page<AgentVo> getPageList(RequestAgent param) {
-        QueryWrapper<Agent> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("rec_status","A");
-        if(StringUtils.isNotBlank(param.getAgentName())){
-            queryWrapper.like("agent_name",param.getAgentName());
-        }
-        if(StringUtils.isNotBlank(param.getAgentId())){
-            queryWrapper.like("agent_id",param.getAgentId());
-        }
 
         Page<Agent> agentPage = new Page<>();
         agentPage.setCurrent(param.getPageNum());
         agentPage.setSize(param.getPageSize());
-        Page<Agent> page = this.page(agentPage, queryWrapper);
-        List<AgentVo> agentVoList = new ArrayList<>();
-        for (Agent record : page.getRecords()) {
+        Page<Agent> page = this.page(agentPage, getQueryWrapper(param));
+
+        List<AgentVo> agentVoList =page.getRecords().parallelStream().map(agent -> {
             AgentVo agentVo = new AgentVo();
-            BeanUtils.copyProperties(record,agentVo);
-            agentVoList.add(agentVo);
-        }
+            BeanUtils.copyProperties(agent, agentVo);
+            return agentVo;
+        }).collect(Collectors.toList());
+
         Page<AgentVo> agentVoPage = new Page<>();
         agentVoPage.setCurrent(agentPage.getCurrent());
         agentPage.setSize(agentPage.getSize());
@@ -132,10 +135,128 @@ public class AgentServiceImpl extends ServiceImpl<IAgentMapper, Agent> implement
 
     @Override
     public String deleteAgent(Long id) {
-        this.removeById(id);
-        return null;
+        if(!this.removeById(id)){
+            throw new BusinessException(ErrorCode.ERROR_MSG);
+        }
+        return "删除成功";
     }
 
+    @Override
+    public String updateAgentStatus(Long id, int status) {
+        Agent agent = this.getById(id);
+        if(agent == null){
+            throw new BusinessException(ErrorCode.NOT_RECORD);
+        }
+        agent.setState(status);
+        if(!this.saveOrUpdate(agent)){
+            throw new BusinessException(ErrorCode.ERROR_MSG);
+        }
+        return "更新成功";
+    }
+
+    @Override
+    public Page<AgentVo> searchAgentList(RequestAgent param) {
+        Page<AgentVo> pageList = this.getPageList(param);
+        pageList.getRecords().forEach(agentVo -> {
+            Integer count = cameraDetailService.getCountByAgentId(agentVo.getAgentId());
+            agentVo.setRepertory(agentVo.getAgentNum() -count);
+            virtualOrderService.getByStatusAndCameraId(agentVo, param.getStartDate(), param.getEndDate());
+        });
+        return pageList;
+    }
+
+    @Override
+    public AgentTotalAmountVo searchAgentListStatistics(RequestAgent param) {
+        if(redisTemplate.hasKey("AgentSearchListTotalAmount")){
+            String jsonObject = redisTemplate.opsForValue().get("AgentSearchListTotalAmount");
+            return JSONObject.parseObject(jsonObject, AgentTotalAmountVo.class);
+        }
+        List<Agent> list = this.list(getQueryWrapper(param));
+        if(list == null || list.size()<=0){
+            throw new BusinessException(ErrorCode.NOT_RECORD);
+        }
+        AgentTotalAmountVo totalAmountVo = new AgentTotalAmountVo();
+        for (Agent agent : list) {
+            Integer countByAgentId = cameraDetailService.getCountByAgentId(agent.getAgentId());
+            AgentVo agentVo = new AgentVo();
+            agentVo.setAgentId(agent.getAgentId());
+            virtualOrderService.getByStatusAndCameraId(agentVo,param.getStartDate(),param.getEndDate());
+
+            totalAmountVo.setTotalRepertory( totalAmountVo.getTotalRepertory() + (agent.getAgentNum() - countByAgentId));
+            totalAmountVo.setTotalAgentNum(totalAmountVo.getTotalAgentNum() + agent.getAgentNum());
+            totalAmountVo.setTotalSubExpend(totalAmountVo.getTotalSubExpend() + agentVo.getSubExpend());
+            totalAmountVo.setTotalSubExtract(totalAmountVo.getTotalSubExtract() + agentVo.getSubExtract());
+            totalAmountVo.setTotalSubRecharge(totalAmountVo.getTotalSubRecharge() + agentVo.getSubRecharge());
+        }
+        redisTemplate.opsForValue().set("AgentSearchListTotalAmount",JSONObject.toJSONString(totalAmountVo),7200 ,TimeUnit.SECONDS);
+        return totalAmountVo;
+    }
+
+    @Override
+    public Page<ResponseAgentCamera> searchAgentListDetail(RequestAgent param) {
+        return  cameraDetailService.getPageByAgentId(param);
+    }
+
+    @Override
+    public AgentDetailTotalAmount searchAgentListDetailStatistics(RequestAgent param) {
+        if(redisTemplate.hasKey("AgentSearchListDetailTotalAmount")){
+            String jsonObject = redisTemplate.opsForValue().get("AgentSearchListDetailTotalAmount");
+            return JSONObject.parseObject(jsonObject, AgentDetailTotalAmount.class);
+        }
+        AgentDetailTotalAmount totalAmount = new AgentDetailTotalAmount();
+        List<CameraDetail> detailList = cameraDetailService.getListByAgentId(param.getAgentId());
+        for (CameraDetail entity : detailList) {
+            Camera camera = cameraService.getById(entity.getCameraId());
+            if(camera == null){
+                continue;
+            }
+            ResponseAgentCamera vo = virtualOrderService.getPointsByCameraId(entity.getCameraId(), param.getStartDate(), param.getEndDate());
+            totalAmount.setTotalCharge(totalAmount.getTotalCharge() + vo.getCharge() );
+            totalAmount.setTotalExchangePoint(totalAmount.getTotalExchangePoint() + vo.getExchangePoint());
+            totalAmount.setTotalLessPoint(totalAmount.getTotalLessPoint() + vo.getLessPoint());
+            totalAmount.setTotalExtract(totalAmount.getTotalExtract().add(vo.getExtract()));
+        }
+        redisTemplate.opsForValue().set("AgentSearchListTotalAmount",JSONObject.toJSONString(totalAmount),7200 ,TimeUnit.SECONDS);
+        return totalAmount;
+    }
+
+    @Override
+    public String uploadFile(MultipartFile file) throws Exception{
+        if (file.isEmpty()) {
+            throw new BusinessException(ErrorCode.EMPTY_FILE);
+        }
+        File targetFile = new File(ConstantFilePath.AGENT_PATH);
+        if (!targetFile.exists()) {
+            targetFile.mkdirs();
+        }
+        String fileName = file.getOriginalFilename();
+        targetFile = new File(ConstantFilePath.AGENT_PATH + fileName);
+        int count = 1;
+        while (targetFile.exists()) {
+            targetFile = new File(ConstantFilePath.AGENT_PATH + fileName.substring(0, fileName.lastIndexOf(".")) + "(" + count + ")" + fileName.substring(fileName.lastIndexOf(".")));
+            ++count;
+        }
+        file.transferTo(targetFile);
+        return ConstantFilePath.AGENT_PATH + targetFile.getName();
+    }
+
+    private QueryWrapper<Agent> getQueryWrapper(RequestAgent param){
+        QueryWrapper<Agent> queryWrapper = new QueryWrapper<>();
+        //queryWrapper.eq("rec_status","A");
+        if(StringUtils.isNotBlank(param.getAgentName())){
+            queryWrapper.like("agent_name",param.getAgentName());
+        }
+        if(StringUtils.isNotBlank(param.getAgentId())){
+            queryWrapper.like("agent_id",param.getAgentId());
+        }
+        if(StringUtils.isNotBlank(param.getStartDate())){
+            queryWrapper.between("create_time",param.getStartDate()+" 00:00:00",param.getEndDate()+" 23:59:59");
+        }
+        queryWrapper.orderByDesc("create_time");
+        return queryWrapper;
+    }
+
+
     private void saveOrUpdate(RequestAgent param){
         Agent agent = new Agent();
         agent.setId(param.getId());

+ 65 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/agent/util/AgentFrameworkTree.java

@@ -0,0 +1,65 @@
+package com.fdkankan.agent.util;
+
+import java.util.List;
+
+public class AgentFrameworkTree {
+    private Long id;
+
+    private String name;
+
+    private Long parentId;
+
+    private List<AgentFrameworkTree> children;
+
+    public List<AgentFrameworkTree> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<AgentFrameworkTree> children) {
+        this.children = children;
+    }
+
+    private int level;
+
+    private boolean checked = false;
+
+    public void setChecked(boolean checked) {
+        this.checked = checked;
+    }
+
+    public int getLevel() {
+        return level;
+    }
+
+    public boolean isChecked() {
+        return checked;
+    }
+
+    public void setLevel(int level) {
+        this.level = level;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId) {
+        this.parentId = parentId;
+    }
+}

+ 97 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/agent/util/AgentFrameworkTreeUtil.java

@@ -0,0 +1,97 @@
+package com.fdkankan.agent.util;
+
+import com.fdkankan.agent.entity.AgentFramework;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AgentFrameworkTreeUtil {
+
+    private List<AgentFrameworkTree> resultNodes = new ArrayList<AgentFrameworkTree>();//树形结构排序之后list内容
+
+    private List<AgentFrameworkTree> nodes = new ArrayList<AgentFrameworkTree>();
+    //传入list参数
+
+    public AgentFrameworkTreeUtil(List<AgentFramework> nodesList) {//通过构造函数初始化
+        for (AgentFramework n : nodesList) {
+            AgentFrameworkTree treeGrid = new AgentFrameworkTree();
+            treeGrid.setId(n.getId());
+            treeGrid.setName(n.getAgentName());
+//            treeGrid.setIcon(n.getIcon());
+            if (n.getParentId() != null) {
+                treeGrid.setParentId(n.getParentId());
+            }
+            nodes.add(treeGrid);
+        }
+    }
+
+    public AgentFrameworkTreeUtil() {
+    }
+
+    /**
+     * 构建树形结构list
+     *
+     * @return 返回树形结构List列表
+     */
+    public List<AgentFrameworkTree> buildTree() {
+        for (AgentFrameworkTree node : nodes) {
+            Long id = node.getParentId();
+            if (id == null) {//通过循环一级节点 就可以通过递归获取二级以下节点
+                resultNodes.add(node);//添加一级节点
+//                node.setLevel(1);
+                build(node, node.getLevel());//递归获取二级、三级、。。。节点
+            }
+        }
+        return resultNodes;
+    }
+
+    /**
+     * 递归循环子节点
+     *
+     * @param node 当前节点
+     */
+    private void build(AgentFrameworkTree node, int level) {
+        List<AgentFrameworkTree> children = getChildren(node);
+        if (!children.isEmpty()) {//如果存在子节点
+            node.setChildren(children);
+//        	level++;
+            for (AgentFrameworkTree child : children) {//将子节点遍历加入返回值中
+//        		child.setLevel(level);
+                build(child, child.getLevel());
+            }
+        }
+    }
+
+    /**
+     * @param node
+     * @return 返回
+     */
+    private List<AgentFrameworkTree> getChildren(AgentFrameworkTree node) {
+        List<AgentFrameworkTree> children = new ArrayList<AgentFrameworkTree>();
+        Long id = node.getId();
+        for (AgentFrameworkTree child : nodes) {
+            if (child.getParentId() != null && id.longValue() == child.getParentId().longValue()) {//如果id等于父id
+                children.add(child);//将该节点加入循环列表中
+            }
+        }
+        return children;
+    }
+
+    public List<AgentFrameworkTree> buildTree(List<AgentFramework> all, List<AgentFramework> in) {
+        for (AgentFramework n : all) {
+            AgentFrameworkTree treeGrid = new AgentFrameworkTree();
+            treeGrid.setId(n.getId());
+            treeGrid.setName(n.getAgentName());
+            for (AgentFramework nin : in) {
+                if (nin.getId().equals(n.getId())) {
+                    treeGrid.setChecked(true);
+                }
+            }
+            if (n.getParentId() != null) {
+                treeGrid.setParentId(n.getParentId());
+            }
+            nodes.add(treeGrid);
+        }
+        return buildTree();
+    }
+}

+ 16 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/agent/vo/AgentDetailTotalAmount.java

@@ -0,0 +1,16 @@
+package com.fdkankan.agent.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+public class AgentDetailTotalAmount implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private int totalCharge = 0;
+    private int totalExchangePoint = 0;
+    private int totalLessPoint = 0;
+    private BigDecimal totalExtract = new BigDecimal(0.0);
+}

+ 21 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/agent/vo/AgentTotalAmountVo.java

@@ -0,0 +1,21 @@
+package com.fdkankan.agent.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class AgentTotalAmountVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    // 总共消耗点数
+    private int totalSubExpend = 0;
+    // 总共提成金额
+    private int totalSubExtract = 0;
+    // 总共充值
+    private int totalSubRecharge = 0;
+    // 总共代理数目
+    private int totalAgentNum = 0;
+    // 总共库存
+    private int totalRepertory = 0;
+}

+ 35 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/agent/vo/ResponseAgentCamera.java

@@ -0,0 +1,35 @@
+package com.fdkankan.agent.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ResponseAgentCamera {
+
+    private static final long serialVersionUID = 1495336400562799480L;
+
+    private long id;
+
+    //相机的Mac地址
+    private String childName;
+    //已用点数
+    private int usedPoint;
+    //期初点数
+    private int initPoint;
+    //赠送点数
+    private int giftPoint;
+    //剩余点数
+    private int surPlusPoint;
+    //充值金额
+    private int charge;
+    //兑换点数
+    private int exchangePoint;
+    //消耗点数
+    private int lessPoint;
+    //提成金额
+    private BigDecimal extract;
+    //当前余额
+    private int balance;
+
+}

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

@@ -30,9 +30,9 @@ public class AutoGenerate {
 //                        "t_increment_order","t_invoice","t_order","t_order_item",
 //                        "t_pre_sale","t_space_sdk","t_trade_log","t_commerce_order","t_download_order","t_expansion_order"
 //        }));
-        generate(path,"order", getTables(new String[]{
-                        "t_virtual_order"
-        }));
+//        generate(path,"order", getTables(new String[]{
+//                        "t_virtual_order"
+//        }));
 
 //        generate(path,"user", getTables(new String[]{
 //                        "t_user","t_user_increment","t_manager","t_province","t_increment_type","t_intercom_message","t_receiver_info"

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/Camera.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 相机主表
@@ -79,6 +77,7 @@ public class Camera implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/CameraDetail.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 相机子表
@@ -133,6 +131,7 @@ public class CameraDetail implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/CameraOut.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 相机出库表
@@ -58,6 +56,7 @@ public class CameraOut implements Serializable {
     private Date updateTime;
 
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/CameraSpace.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 相机容量表
@@ -73,6 +71,7 @@ public class CameraSpace implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/CameraVersion.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 相机版本表
@@ -73,6 +71,7 @@ public class CameraVersion implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/Cart.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -80,6 +78,7 @@ public class Cart implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/Company.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 客户企业logo信息
@@ -91,6 +89,7 @@ public class Company implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/Goods.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -98,6 +96,7 @@ public class Goods implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/GoodsSku.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -92,6 +90,7 @@ public class GoodsSku implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/GoodsSpec.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 商品规格表
@@ -43,6 +41,7 @@ public class GoodsSpec implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/GoodsSpecValue.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 商品规格值表
@@ -49,6 +47,7 @@ public class GoodsSpecValue implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/goods/entity/GoodsSpuSpec.java

@@ -1,14 +1,12 @@
 package com.fdkankan.goods.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 商品规格关系表
@@ -49,6 +47,7 @@ public class GoodsSpuSpec implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 11 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/goods/service/ICameraDetailService.java

@@ -1,7 +1,12 @@
 package com.fdkankan.goods.service;
 
-import com.fdkankan.goods.entity.CameraDetail;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.request.RequestAgent;
+import com.fdkankan.agent.vo.ResponseAgentCamera;
+import com.fdkankan.goods.entity.CameraDetail;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ICameraDetailService extends IService<CameraDetail> {
 
+    Integer getCountByAgentId(String agentId);
+
+    Page<ResponseAgentCamera> getPageByAgentId(RequestAgent param);
+
+    List<CameraDetail> getListByAgentId(String agentId);
 }

+ 60 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/goods/service/impl/CameraDetailServiceImpl.java

@@ -1,11 +1,22 @@
 package com.fdkankan.goods.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.agent.request.RequestAgent;
+import com.fdkankan.agent.vo.ResponseAgentCamera;
+import com.fdkankan.goods.entity.Camera;
 import com.fdkankan.goods.entity.CameraDetail;
 import com.fdkankan.goods.mapper.ICameraDetailMapper;
 import com.fdkankan.goods.service.ICameraDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.goods.service.ICameraService;
+import com.fdkankan.order.service.IVirtualOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * 相机子表 服务实现类
@@ -17,4 +28,53 @@ import org.springframework.stereotype.Service;
 @Service
 public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, CameraDetail> implements ICameraDetailService {
 
+    @Autowired
+    private ICameraService cameraService;
+    @Autowired
+    private IVirtualOrderService virtualOrderService;
+
+    @Override
+    public Integer getCountByAgentId(String agentId) {
+        long count = this.count(new QueryWrapper<CameraDetail>().eq("agency", agentId));
+        return Math.toIntExact(count);
+    }
+
+    @Override
+    public Page<ResponseAgentCamera> getPageByAgentId(RequestAgent param) {
+        QueryWrapper<CameraDetail> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CameraDetail :: getAgency,param.getAgentId());
+        queryWrapper.lambda().orderByDesc(CameraDetail::getCreateTime);
+
+        Page<CameraDetail> page = new Page<>();
+        page.setCurrent(param.getPageNum());
+        page.setSize(param.getPageSize());
+        Page<CameraDetail> pageResult = this.page(page, queryWrapper);
+
+        List<ResponseAgentCamera> voList = new ArrayList<>();
+        for (CameraDetail record : pageResult.getRecords()) {
+            Camera camera = cameraService.getById(record.getCameraId());
+            if(camera == null){
+                continue;
+            }
+            ResponseAgentCamera vo = virtualOrderService.getPointsByCameraId(record.getCameraId(), param.getStartDate(), param.getEndDate());
+            vo.setId(camera.getId());
+            vo.setBalance(Integer.parseInt(record.getBalance()));
+            vo.setChildName(camera.getChildName());
+            voList.add(vo);
+        }
+        Page<ResponseAgentCamera> pageVo = new Page<>();
+        pageVo.setCurrent(page.getCurrent());
+        pageVo.setSize(page.getSize());
+        pageVo.setTotal(page.getTotal());
+        pageVo.setRecords(voList);
+        return pageVo;
+    }
+
+    @Override
+    public List<CameraDetail> getListByAgentId(String agentId) {
+        QueryWrapper<CameraDetail> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CameraDetail::getAgency,agentId);
+        queryWrapper.lambda().orderByDesc(CameraDetail::getCreateTime);
+        return  this.list(queryWrapper);
+    }
 }

+ 1 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/order/controller/VirtualOrderController.java

@@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
  * </p>
  *
  * @author 
- * @since 2021-12-24
+ * @since 2021-12-27
  */
 @RestController
 @RequestMapping("/order/virtualOrder")

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/CommerceOrder.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -104,6 +102,7 @@ public class CommerceOrder implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/DownloadOrder.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -98,6 +96,7 @@ public class DownloadOrder implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/ExpansionOrder.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -128,6 +126,7 @@ public class ExpansionOrder implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/IncrementOrder.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -104,6 +102,7 @@ public class IncrementOrder implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/Invoice.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -140,6 +138,7 @@ public class Invoice implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/Order.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -188,6 +186,7 @@ public class Order implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/OrderItem.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -98,6 +96,7 @@ public class OrderItem implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/PreSale.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 预售表
@@ -85,6 +83,7 @@ public class PreSale implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/SpaceSdk.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * space sdk表
@@ -97,6 +95,7 @@ public class SpaceSdk implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/TradeLog.java

@@ -1,14 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -92,6 +90,7 @@ public class TradeLog implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 6 - 9
4dkankan-center-platform/src/main/java/com/fdkankan/order/entity/VirtualOrder.java

@@ -1,15 +1,12 @@
 package com.fdkankan.order.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.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
 
 /**
  * <p>
@@ -17,7 +14,7 @@ import lombok.Setter;
  * </p>
  *
  * @author 
- * @since 2021-12-24
+ * @since 2021-12-27
  */
 @Getter
 @Setter
@@ -117,6 +114,7 @@ public class VirtualOrder implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**
@@ -126,7 +124,6 @@ public class VirtualOrder implements Serializable {
     private Date updateTime;
 
     @TableField("tb_status")
-    @TableLogic
     private Integer tbStatus;
 
 

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

@@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Mapper;
  * </p>
  *
  * @author 
- * @since 2021-12-24
+ * @since 2021-12-27
  */
 @Mapper
 public interface IVirtualOrderMapper extends BaseMapper<VirtualOrder> {

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

@@ -1,7 +1,9 @@
 package com.fdkankan.order.service;
 
-import com.fdkankan.order.entity.VirtualOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.vo.AgentVo;
+import com.fdkankan.agent.vo.ResponseAgentCamera;
+import com.fdkankan.order.entity.VirtualOrder;
 
 /**
  * <p>
@@ -14,4 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IVirtualOrderService extends IService<VirtualOrder> {
 
     void saveVirtualOrderByAgent(Long cameraId);
+
+    void getByStatusAndCameraId(AgentVo agentVo, String startDate, String endDate);
+
+    ResponseAgentCamera getPointsByCameraId(Long cameraId, String startDate, String endDate);
+
 }

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

@@ -1,16 +1,22 @@
 package com.fdkankan.order.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.agent.constant.AgentConstant;
+import com.fdkankan.agent.vo.AgentVo;
+import com.fdkankan.agent.vo.ResponseAgentCamera;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.NumberUtils;
 import com.fdkankan.order.entity.VirtualOrder;
 import com.fdkankan.order.mapper.IVirtualOrderMapper;
 import com.fdkankan.order.service.IVirtualOrderService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -38,4 +44,144 @@ public class VirtualOrderServiceImpl extends ServiceImpl<IVirtualOrderMapper, Vi
             throw new BusinessException(ErrorCode.ERROR_MSG);
         }
     }
+
+    @Override
+    public void getByStatusAndCameraId(AgentVo agentVo, String startDate, String endDate) {
+        QueryWrapper<VirtualOrder> queryWrapper= new QueryWrapper<>();
+        queryWrapper.lambda().eq(VirtualOrder::getPayStatus,1);
+        queryWrapper.lambda().inSql(VirtualOrder::getCameraId,
+                "select o.camera_id from t_camera_detail o where o.agency like '%"+agentVo.getAgentId()+"%' and o.rec_status = 'A'");
+        if(StringUtils.isNotBlank(startDate)){
+            queryWrapper.lambda().ge(VirtualOrder::getTradeTime,startDate);
+        }
+        if(StringUtils.isNotBlank(startDate)){
+            queryWrapper.lambda().le(VirtualOrder::getTradeTime,startDate);
+        }
+        List<VirtualOrder> list = this.list(queryWrapper);
+        // 累计消耗点数
+        int subSubExpend = 0;
+        // 提成金额
+        int subSubExtract = 0;
+        // 累计充值
+        int subSubRecharge = 0;
+        int subGift = 0;
+        int subMoney = 0;
+        int subStract = 0;
+        for (VirtualOrder virtualOrder : list) {
+            if (virtualOrder.getStatus() == 1) {
+                subMoney += virtualOrder.getPoints();
+            } else if (virtualOrder.getStatus() == -1) {
+                subStract += virtualOrder.getPoints();
+            } else if (virtualOrder.getStatus() == 0) {
+                subGift += virtualOrder.getPoints();
+            } else if (virtualOrder.getStatus() == -2) {
+                subMoney -= virtualOrder.getPoints();
+            }
+        }
+        if (subStract > subGift) {
+            subSubExpend += subStract - subGift;
+            subSubExtract += (subStract - subGift) * AgentConstant.EXTRACT;
+        }
+        subSubRecharge += subMoney;
+        agentVo.setSubExpend(subSubExpend);
+        agentVo.setSubExtract(subSubExtract);
+        agentVo.setSubRecharge(subSubRecharge);
+    }
+
+    @Override
+    public ResponseAgentCamera getPointsByCameraId(Long cameraId, String startDate, String endDate) {
+        //期初点数
+        int initPoint = 0;
+        //赠送点数
+        int giftPoint = 0;
+        int preGiftPoint = 0;
+        //之前消耗的点数
+        int preLessPoint = 0;
+        //已用点数
+        int usedPoint = 0;
+        //充值金额
+        int charge = 0;
+        //退充值
+        int recharge = 0;
+        //提成
+        BigDecimal extract = new BigDecimal(0.0);
+        if(StringUtils.isNotBlank(startDate)){
+            QueryWrapper<VirtualOrder> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(VirtualOrder::getPayStatus,1);
+            queryWrapper.lambda().eq(VirtualOrder::getCameraId,cameraId);
+            queryWrapper.lambda().orderByDesc(VirtualOrder::getTradeTime);
+            queryWrapper.lambda().le(VirtualOrder::getTradeTime,startDate+" 00:00:00");
+            List<VirtualOrder> list = this.list(queryWrapper);
+            for (VirtualOrder entityV : list) {
+                int status = entityV.getStatus();
+                if (status == 0 || status == 1) {
+                    initPoint += entityV.getPoints();
+                    if (status == 0) {
+                        preGiftPoint += entityV.getPoints();
+                    }
+                } else if (status == -1) {
+                    initPoint -= entityV.getPoints();
+                    preLessPoint += entityV.getPoints();
+                } else if (status == -2) {
+                    initPoint -= entityV.getPoints();
+                }
+            }
+        }
+        QueryWrapper<VirtualOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(VirtualOrder::getPayStatus,1);
+        queryWrapper.lambda().eq(VirtualOrder::getCameraId,cameraId);
+        queryWrapper.lambda().orderByDesc(VirtualOrder::getTradeTime);
+        if(StringUtils.isNotBlank(startDate)){
+            queryWrapper.lambda().ge(VirtualOrder::getTradeTime,startDate+" 00:00:00");
+        }
+        if(StringUtils.isNotBlank(startDate)){
+            queryWrapper.lambda().le(VirtualOrder::getTradeTime,endDate+" 23:59:59");
+        }
+        List<VirtualOrder> list = this.list(queryWrapper);
+        for (VirtualOrder entityV : list) {
+            int status = entityV.getStatus();
+            if (status == 0) {
+                giftPoint += entityV.getPoints();
+            } else if (status == -1) {
+                usedPoint += entityV.getPoints();
+            }
+            if (status == 1) {
+                charge += entityV.getPoints();
+            } else if (status == -2) {
+                recharge += entityV.getPoints();
+            }
+        }
+        ResponseAgentCamera vo = new ResponseAgentCamera();
+        vo.setInitPoint(initPoint);
+        vo.setGiftPoint(giftPoint);
+        //之前赠送的点数大于使用的点数
+        if (preGiftPoint >= preLessPoint) {
+            //赠送的点数一直大于使用的点数
+            if (preGiftPoint - preLessPoint + giftPoint - usedPoint >= 0) {
+                vo.setUsedPoint(-1 * usedPoint);
+                vo.setLessPoint(0);
+            } else {
+                vo.setUsedPoint(-1 * (preGiftPoint - preLessPoint + giftPoint));
+                vo.setLessPoint(usedPoint - (preGiftPoint - preLessPoint + giftPoint));
+            }
+        } else {
+            //规定的时间段内赠送的点数大于使用的点数
+            if (preGiftPoint - preLessPoint + giftPoint - usedPoint >= 0) {
+                vo.setUsedPoint(-1 * usedPoint);
+                vo.setLessPoint(0);
+            } else {
+                vo.setUsedPoint(-1 * giftPoint);
+                vo.setLessPoint(usedPoint - giftPoint);
+            }
+        }
+        vo.setSurPlusPoint( (initPoint + giftPoint > usedPoint) ? (initPoint + giftPoint - usedPoint) : 0);
+        vo.setCharge(charge - recharge);
+        vo.setExchangePoint(charge - recharge);
+        if (usedPoint > giftPoint) {
+            extract = new BigDecimal((usedPoint - giftPoint) * AgentConstant.EXTRACT).setScale(2, BigDecimal.ROUND_HALF_UP);
+        }
+        vo.setExtract(extract);
+        return vo;
+    }
+
 }

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/IncrementType.java

@@ -1,14 +1,12 @@
 package com.fdkankan.user.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 会员权益类型
@@ -64,6 +62,7 @@ public class IncrementType implements Serializable {
     private Date updateTime;
 
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     @TableField("create_user")

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/IntercomMessage.java

@@ -1,14 +1,12 @@
 package com.fdkankan.user.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 咨询留言表
@@ -55,6 +53,7 @@ public class IntercomMessage implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/Manager.java

@@ -1,14 +1,12 @@
 package com.fdkankan.user.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 管理员表
@@ -82,6 +80,7 @@ public class Manager implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/Province.java

@@ -1,14 +1,12 @@
 package com.fdkankan.user.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 中国省份表
@@ -43,6 +41,7 @@ public class Province implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/ReceiverInfo.java

@@ -1,14 +1,12 @@
 package com.fdkankan.user.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 收货人信息表
@@ -94,6 +92,7 @@ public class ReceiverInfo implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/User.java

@@ -1,14 +1,12 @@
 package com.fdkankan.user.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 用户信息表
@@ -127,6 +125,7 @@ public class User implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 5 - 6
4dkankan-center-platform/src/main/java/com/fdkankan/user/entity/UserIncrement.java

@@ -1,14 +1,12 @@
 package com.fdkankan.user.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 java.io.Serializable;
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 用户增值权益表
@@ -73,6 +71,7 @@ public class UserIncrement implements Serializable {
      * 记录的状态,A: 生效,I: 禁用
      */
     @TableField("rec_status")
+    @TableLogic(value="A",delval = "I")
     private String recStatus;
 
     /**

+ 3 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/user/service/IManagerService.java

@@ -3,6 +3,8 @@ package com.fdkankan.user.service;
 import com.fdkankan.user.entity.Manager;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 管理员表 服务类
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IManagerService extends IService<Manager> {
 
+    List<Manager> getByFrameworkId(Long parentId);
 }

+ 9 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/user/service/impl/ManagerServiceImpl.java

@@ -1,11 +1,14 @@
 package com.fdkankan.user.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fdkankan.user.entity.Manager;
 import com.fdkankan.user.mapper.IManagerMapper;
 import com.fdkankan.user.service.IManagerService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 管理员表 服务实现类
@@ -17,4 +20,10 @@ import org.springframework.stereotype.Service;
 @Service
 public class ManagerServiceImpl extends ServiceImpl<IManagerMapper, Manager> implements IManagerService {
 
+    @Override
+    public List<Manager> getByFrameworkId(Long parentId) {
+        QueryWrapper<Manager> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(Manager::getAgentFrameworkId,parentId);
+        return  this.list(queryWrapper);
+    }
 }

+ 5 - 0
4dkankan-center-platform/src/main/resources/bootstrap.yml

@@ -22,3 +22,8 @@ spring:
       discovery:
         server-addr: 192.168.0.47:8848
         namespace: 4dkankan-dev
+
+
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志

+ 1 - 1
4dkankan-common/src/main/java/com/fdkankan/common/config/MybatisPlusPageConfig.java

@@ -16,7 +16,7 @@ public class MybatisPlusPageConfig {
     @Bean
     public MybatisPlusInterceptor mybatisPlusInterceptor() {
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
         return interceptor;
     }
 }

+ 49 - 0
4dkankan-common/src/main/java/com/fdkankan/common/constant/ConstantFilePath.java

@@ -0,0 +1,49 @@
+package com.fdkankan.common.constant;
+
+public class ConstantFilePath {
+    public static final String BASE_PATH = "/mnt/4Dkankan";
+    //论坛上传图片后,服务器存放的地址
+    public static final String BBS_IMAGES_PATH = "/mnt/4Dkankan/bbs/upload/image/";
+    // 用户上传图片
+    public static final String USER_IMAGES_PATH = "/mnt/4Dkankan/user/";
+    // 图片暂存地址(创建二维码等)
+    public static final String TEMP_IMAGES_PATH = "/mnt/4Dkankan/temp/upload/image/";
+    // 场景
+    public static final String SCENE_PATH = "/mnt/4Dkankan/scene/";
+    // 代理商
+    public static final String AGENT_PATH = "/mnt/4Dkankan/agent/";
+    //电子发票
+    public static final String INVOICE_PATH = "/mnt/4Dkankan/invoice/";
+    // 场景二维码
+    public static final String SCENE_QR_CODE_PATH = "/mnt/4Dkankan/sceneQRcode/";
+    // excel
+    public static final String EXCEL_PATH = "/mnt/4Dkankan/excel/";
+    //    public static final String EXCEL_PATH = "F:\\excel\\";
+    // medias
+    public static final String MEDIAS_PATH = "/mnt/4Dkankan/medias/";
+    // logo
+    public static final String LOGO_PATH = "/mnt/4Dkankan/logo/";
+    // login qr code
+    public static final String LOGIN_QR_CODE_PATH = "/mnt/4Dkankan/login/qrcode/";
+
+    public static final String WEIXIN_CERT = "/mnt/home/ubuntu/user/apiclient_cert.p12";
+
+    public static final String PREFIX = "/home/user";
+    public static final String CREATE_MODEL_PATH = PREFIX + "/photo_data/model/";
+    //大场景
+    public static final String CREATE_BIG_SCENE_PATH = PREFIX + "/photo_data/bigscene/";
+    //生成模型的路径
+    public static final String BUILD_MODEL_PATH = "/mnt/data/";
+    //生成模型的路径
+    public static String BUILD_MODEL_LASER_PATH ="/mnt-laser/data/";
+
+    //支付二维码图片存放路径
+    public static final String ALI_QRCODE_FOLDER = "/mnt/4Dkankan/alicode/";
+    public static final String WEIXIN_QRCODE_FOLDER = "/mnt/4Dkankan/weixincode/";
+
+    public static final String OSS_PREFIX = "home/";
+
+    public void setHardDiskLaser(String value){
+        ConstantFilePath.BUILD_MODEL_LASER_PATH = value;
+    }
+}

+ 4 - 0
4dkankan-common/src/main/java/com/fdkankan/common/constant/ErrorCode.java

@@ -16,6 +16,10 @@ public enum ErrorCode {
     USER_NOT_LOGIN(4008, "用户未登录"),
     NOT_RECORD(4009, "暂无记录"),
     ERROR_MSG(40010, "操作失败"),
+    EMPTY_FILE(40011, "空文件"),
+    AGENT_EXIST(40012, "经销商已存在"),
+    AGENT_NOT_EXIST(40012, "经销商已存在"),
+    AGENT_SUB_EXIST(40013, "请先删除经销商下的用户"),
 
     FAILURE_CODE_3001(3001, "缺少必要参数"),
     FAILURE_CODE_3002(3002, "访问异常!"),

+ 3 - 2
4dkankan-common/src/main/java/com/fdkankan/common/jwt/JwtFilter.java

@@ -2,8 +2,9 @@ package com.fdkankan.common.jwt;
 
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.exception.JwtAuthenticationException;
-import lombok.extern.log4j.Log4j2;
 import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.RequestMethod;
 
@@ -14,8 +15,8 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
 
-@Log4j2
 public class JwtFilter extends BasicHttpAuthenticationFilter {
+    private static Logger log = LoggerFactory.getLogger("programLog");
 
     private String loginType;
 

+ 3 - 2
4dkankan-common/src/main/java/com/fdkankan/common/realm/AgentJwtRealm.java

@@ -4,7 +4,6 @@ import cn.hutool.core.util.StrUtil;
 import com.fdkankan.common.exception.JwtAuthenticationException;
 import com.fdkankan.common.jwt.JwtToken;
 import com.fdkankan.common.util.JwtUtil;
-import lombok.extern.log4j.Log4j2;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
@@ -13,11 +12,13 @@ import org.apache.shiro.authz.AuthorizationInfo;
 import org.apache.shiro.authz.SimpleAuthorizationInfo;
 import org.apache.shiro.realm.AuthorizingRealm;
 import org.apache.shiro.subject.PrincipalCollection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
-@Log4j2
 @Component
 public class AgentJwtRealm extends AuthorizingRealm {
+    private static Logger log = LoggerFactory.getLogger("programLog");
 
     @Override
     public boolean supports(AuthenticationToken token) {

+ 3 - 2
4dkankan-common/src/main/java/com/fdkankan/common/realm/AppJwtRealm.java

@@ -4,7 +4,6 @@ import cn.hutool.core.util.StrUtil;
 import com.fdkankan.common.exception.JwtAuthenticationException;
 import com.fdkankan.common.jwt.JwtToken;
 import com.fdkankan.common.util.JwtUtil;
-import lombok.extern.log4j.Log4j2;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
@@ -13,11 +12,13 @@ import org.apache.shiro.authz.AuthorizationInfo;
 import org.apache.shiro.authz.SimpleAuthorizationInfo;
 import org.apache.shiro.realm.AuthorizingRealm;
 import org.apache.shiro.subject.PrincipalCollection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
-@Log4j2
 @Component
 public class AppJwtRealm extends AuthorizingRealm {
+    private static Logger log = LoggerFactory.getLogger("programLog");
 
     @Override
     public boolean supports(AuthenticationToken token) {

+ 3 - 2
4dkankan-common/src/main/java/com/fdkankan/common/realm/ManagerJwtRealm.java

@@ -4,7 +4,6 @@ import cn.hutool.core.util.StrUtil;
 import com.fdkankan.common.exception.JwtAuthenticationException;
 import com.fdkankan.common.jwt.JwtToken;
 import com.fdkankan.common.util.JwtUtil;
-import lombok.extern.log4j.Log4j2;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
@@ -13,11 +12,13 @@ import org.apache.shiro.authz.AuthorizationInfo;
 import org.apache.shiro.authz.SimpleAuthorizationInfo;
 import org.apache.shiro.realm.AuthorizingRealm;
 import org.apache.shiro.subject.PrincipalCollection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
-@Log4j2
 @Component
 public class ManagerJwtRealm extends AuthorizingRealm {
+    private static Logger log = LoggerFactory.getLogger("programLog");
 
     @Override
     public boolean supports(AuthenticationToken token) {

+ 3 - 2
4dkankan-common/src/main/java/com/fdkankan/common/realm/UserJwtRealm.java

@@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fdkankan.common.exception.JwtAuthenticationException;
 import com.fdkankan.common.jwt.JwtToken;
 import com.fdkankan.common.util.JwtUtil;
-import lombok.extern.log4j.Log4j2;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
@@ -14,12 +13,14 @@ import org.apache.shiro.authz.AuthorizationInfo;
 import org.apache.shiro.authz.SimpleAuthorizationInfo;
 import org.apache.shiro.realm.AuthorizingRealm;
 import org.apache.shiro.subject.PrincipalCollection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-@Log4j2
 @Component
 public class UserJwtRealm extends AuthorizingRealm {
+    private static Logger log = LoggerFactory.getLogger("programLog");
 
 //    @Autowired
 //    private UserFeignClient userService;

+ 10 - 0
pom.xml

@@ -139,6 +139,16 @@
                 <version>${jjwt.version}</version>
             </dependency>
 
+            <dependency>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-api</artifactId>
+                <version>2.17.0</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-to-slf4j</artifactId>
+                <version>2.17.0</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>