lyhzzz 3 mesiacov pred
rodič
commit
e34d21b91d

+ 2 - 0
doc/update1.3.2.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `4dkankan_v4`.`t_agent_new_log`
+    ADD COLUMN `order_sn` varchar(255) NULL AFTER `total_time`;

+ 9 - 0
src/main/java/com/fdkankan/agent/common/RequestBase.java

@@ -1,9 +1,18 @@
 package com.fdkankan.agent.common;
 
+import com.fdkankan.agent.util.DateUtils;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class RequestBase {
     private Integer pageNum = 1;
     private Integer pageSize = 10;
+
+    private List<String> timeList;
+
+    private String startTime;
+    private String endTime;
+
 }

+ 8 - 0
src/main/java/com/fdkankan/agent/controller/CameraController.java

@@ -126,5 +126,13 @@ public class CameraController extends BaseController {
             os.close();
         }
     }
+
+
+    @GetMapping("/export")
+    public void export(HttpServletRequest req, HttpServletResponse resp,
+                       @RequestParam(required = false,defaultValue = "zh")String lang) throws Exception {
+        cameraService.export(req,resp,lang);
+    }
+
 }
 

+ 2 - 1
src/main/java/com/fdkankan/agent/entity/AgentNewLog.java

@@ -67,5 +67,6 @@ public class AgentNewLog implements Serializable {
     @TableField("update_time")
     private String updateTime;
 
-
+    @TableField("order_sn")
+    private String  orderSn;
 }

+ 1 - 1
src/main/java/com/fdkankan/agent/request/CameraParam.java

@@ -9,7 +9,7 @@ import java.util.List;
 
 @Data
 @ToString
-public class CameraParam extends RequestBase {
+public class CameraParam extends TimeBase {
     private Long id;                            //设备id
     private Long userId;                        //用户id
     private String snCode;                      //相机snCode

+ 1 - 0
src/main/java/com/fdkankan/agent/request/UserParam.java

@@ -15,4 +15,5 @@ public class UserParam extends RequestBase {
     private String newPassword;
 
     private Integer agentId;
+    private Integer parentId;
 }

+ 77 - 0
src/main/java/com/fdkankan/agent/response/CameraDetailEnVo.java

@@ -0,0 +1,77 @@
+package com.fdkankan.agent.response;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fdkankan.agent.util.DictUtil;
+import lombok.Data;
+
+@Data
+public class CameraDetailEnVo {
+    @ExcelIgnore
+    private Long id;                    //相机id
+
+    @ExcelProperty("S/N")
+    private String snCode;              //snCode
+
+    @ExcelProperty("Wifi")
+    private String wifiName;            //wifi名称
+
+    @ExcelIgnore
+    private Integer type;                //相机类型,0表示双目,1四维看看pro,2 四维看看lite,9 双目转台,10 激光转台
+
+    @ExcelProperty("Camera type")
+    private String typeStr;
+
+    @ExcelProperty("Time")
+    private String outTime;             //出库时间
+
+    @ExcelProperty("Reseller")
+    private String subAgentName;
+
+    @ExcelProperty("Equipment activation time")
+    private String activatedTime;       //激活时间
+
+    @ExcelIgnore
+    private Integer incrementTypeId;
+
+    @ExcelProperty("Type")
+    private String incrementTypeIdStr;
+
+    @ExcelIgnore
+    private Integer incrementStatus =-1;
+
+    @ExcelProperty("Status")
+    private String incrementStatusStr;
+
+    @ExcelProperty("Expiry date")
+    private String incrementEndTime ;
+
+    @ExcelProperty("Bound account")
+    private String userName;            //绑定账号
+
+    @ExcelIgnore
+    private String outType;             //出库类型
+    @ExcelIgnore
+    private String companyName;         //客户名称
+    @ExcelIgnore
+    private String orderSn;
+    @ExcelIgnore
+    private String incrementTypeName;
+    @ExcelIgnore
+    private Integer validTimeType;
+    @ExcelIgnore
+    private Integer subAgentId;
+
+
+    public String getIncrementTypeIdStr() {
+        return DictUtil.toString("incrementTypeId",incrementTypeId,"en");
+    }
+
+    public String getIncrementStatusStr() {
+        return DictUtil.toString("incrementStatus",incrementStatus,"en");
+    }
+
+    public String getTypeStr() {
+        return DictUtil.toString("cameraType",type,"en");
+    }
+}

+ 58 - 10
src/main/java/com/fdkankan/agent/response/CameraDetailVo.java

@@ -1,29 +1,77 @@
 package com.fdkankan.agent.response;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fdkankan.agent.util.DictUtil;
 import lombok.Data;
 
 @Data
 public class CameraDetailVo {
+    @ExcelIgnore
     private Long id;                    //相机id
+
+    @ExcelProperty("SN码")
     private String snCode;              //snCode
-    private String activatedTime;       //激活时间
-    private String outTime;             //出库时间
 
+    @ExcelProperty("wifi名称")
     private String wifiName;            //wifi名称
-    private String type;                //相机类型,0表示双目,1四维看看pro,2 四维看看lite,9 双目转台,10 激光转台
-    private String outType;             //出库类型
-    private String companyName;         //客户名称
-    private String userName;            //绑定账号
 
-    private String orderSn;
+    @ExcelIgnore
+    private Integer type;                //相机类型,0表示双目,1四维看看pro,2 四维看看lite,9 双目转台,10 激光转台
+
+    @ExcelProperty("设备类型")
+    private String typeStr;
 
+    @ExcelProperty("出库时间")
+    private String outTime;             //出库时间
+
+    @ExcelProperty("分销商")
+    private String subAgentName;
+
+    @ExcelProperty("设备激活时间")
+    private String activatedTime;       //激活时间
+
+    @ExcelIgnore
     private Integer incrementTypeId;
-    private String incrementTypeName;
 
+    @ExcelProperty("权益类型")
+    private String incrementTypeIdStr;
+
+    @ExcelIgnore
     private Integer incrementStatus =-1;
+
+    @ExcelProperty("权益状态")
+    private String incrementStatusStr;
+
+    @ExcelProperty("权益到期时间")
     private String incrementEndTime ;
-    private Integer validTimeType;
 
-    private String subAgentName;
+    @ExcelProperty("绑定账号")
+    private String userName;            //绑定账号
+
+    @ExcelIgnore
+    private String outType;             //出库类型
+    @ExcelIgnore
+    private String companyName;         //客户名称
+    @ExcelIgnore
+    private String orderSn;
+    @ExcelIgnore
+    private String incrementTypeName;
+    @ExcelIgnore
+    private Integer validTimeType;
+    @ExcelIgnore
     private Integer subAgentId;
+
+
+    public String getIncrementTypeIdStr() {
+        return DictUtil.toString("incrementTypeId",incrementTypeId,"zh");
+    }
+
+    public String getIncrementStatusStr() {
+        return DictUtil.toString("incrementStatus",incrementStatus,"zh");
+    }
+
+    public String getTypeStr() {
+        return DictUtil.toString("cameraType",type,"zh");
+    }
 }

+ 3 - 0
src/main/java/com/fdkankan/agent/response/LogListVo.java

@@ -17,6 +17,9 @@ public class LogListVo {
     @ExcelProperty("授权时间")
     private String createTime;
 
+    @ExcelProperty("交易单号")
+    private String orderSn;
+
     @ExcelProperty("权益类型")
     private String typeStr;
 

+ 3 - 0
src/main/java/com/fdkankan/agent/response/LogListVoEn.java

@@ -17,6 +17,9 @@ public class LogListVoEn {
     @ExcelProperty("Authorization Time")
     private String createTime;
 
+    @ExcelProperty("Transaction number")
+    private String orderSn;
+
     @ExcelProperty("Type")
     private String typeStr;
 

+ 4 - 0
src/main/java/com/fdkankan/agent/service/ICameraService.java

@@ -4,6 +4,8 @@ import com.fdkankan.agent.entity.Camera;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.CameraParam;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.HashMap;
 import java.util.List;
 
@@ -26,4 +28,6 @@ public interface ICameraService extends IService<Camera> {
     HashMap<Long, Camera> getByIds(List<Long> cameraIds2);
 
     Camera getBySnCodeAndAgentId(String snCode,Integer agentId);
+
+    void export(HttpServletRequest req, HttpServletResponse resp, String lang);
 }

+ 42 - 4
src/main/java/com/fdkankan/agent/service/impl/CameraServiceImpl.java

@@ -1,5 +1,7 @@
 package com.fdkankan.agent.service.impl;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.common.PageInfo;
@@ -7,14 +9,18 @@ import com.fdkankan.agent.common.util.IncrementUtil;
 import com.fdkankan.agent.entity.*;
 import com.fdkankan.agent.mapper.ICameraMapper;
 import com.fdkankan.agent.request.CameraParam;
-import com.fdkankan.agent.response.CameraDetailVo;
-import com.fdkankan.agent.response.CameraTimeVo;
+import com.fdkankan.agent.request.LogListParam;
+import com.fdkankan.agent.response.*;
 import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.security.interfaces.ECKey;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Set;
@@ -43,10 +49,13 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     ICameraDetailService cameraDetailService;
     @Autowired
     IScenePlusService scenePlusService;
+    @Autowired
+    IExcelService excelService;
+    static CameraParam CameraParam = new CameraParam();
 
     @Override
-    public Object pageList(CameraParam param) {
-
+    public PageInfo<CameraDetailVo> pageList(CameraParam param) {
+        CameraParam = param;
         List<CameraDetail> details = cameraDetailService.getListByAgentId(param.getAgentId());
         List<Long> cameraIds = details.stream().map(CameraDetail::getCameraId).collect(Collectors.toList());
 
@@ -132,4 +141,33 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     public Camera getBySnCodeAndAgentId(String snCode,Integer agentId) {
         return this.getBaseMapper().getBySnCodeAndAgentId(snCode,agentId);
     }
+
+
+    @Override
+    public void export(HttpServletRequest req, HttpServletResponse resp, String lang) {
+        CameraParam.setPageSize(100000);
+        List<CameraDetailVo> list = (List<CameraDetailVo>) this.pageList(CameraParam).getList();
+        ExcelWriter excelWriter = null;
+        try {
+            if("en".equals(lang)){
+                List<CameraDetailEnVo> listen = new ArrayList<>();
+                for (CameraDetailVo listVo : list) {
+                    CameraDetailEnVo en = new CameraDetailEnVo();
+                    BeanUtils.copyProperties(listVo,en);
+                    listen.add(en);
+                }
+                excelWriter = EasyExcel.write(resp.getOutputStream(), CameraDetailEnVo.class).build();
+                excelService.commonExport(req,resp,"equipment management",listen,excelWriter);
+            }else {
+                excelWriter = EasyExcel.write(resp.getOutputStream(), CameraDetailVo.class).build();
+                excelService.commonExport(req,resp,"设备管理",list,excelWriter);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            if(excelWriter != null){
+                excelWriter.finish();
+            }
+        }
+    }
 }

+ 52 - 0
src/main/java/com/fdkankan/agent/util/DictUtil.java

@@ -0,0 +1,52 @@
+package com.fdkankan.agent.util;
+
+import org.apache.commons.lang3.StringUtils;
+
+public class DictUtil {
+    public static String toString(String name, Integer value,String lang) {
+        if(StringUtils.isBlank(name) ){
+            return "";
+        }
+        switch (name){
+            case "incrementTypeId" : return toStringIncrementTypeId(value,lang);
+            case "incrementStatus" : return toStringIncrementStatus(value,lang);
+            case "cameraType" : return toStringCameraType(value,lang);
+            default: return "";
+        }
+    }
+
+    private static String toStringIncrementTypeId(Integer value, String lang) {
+        if(value == null && "zh".equals(lang)){
+            return "未绑定";
+        }
+        if(value == null ){
+            return "Unbind";
+        }
+        if("zh".equals(lang)){
+            return value == 1 ? "专业会员(年)" :"高级会员(月)";
+        }
+        return value == 1 ? "Premium (Yearly)" :"Senior (Monthly)";
+    }
+
+    private static String toStringIncrementStatus(Integer value, String lang) {
+        if(value == -1){
+            return "-";
+        }
+        if("zh".equals(lang)){
+            return value == 0 ? "生效中" :"已过期";
+        }
+        return value == 0 ? "Active" :"Expired";
+    }
+
+
+    private static String toStringCameraType(Integer value, String lang) {
+        switch (value){
+            case 12 :return "zh".equals(lang)? "四维深巡" :"四维深巡";
+            case 11 :return "zh".equals(lang)? "四维深光" :"4DMeta";
+            case 10 :return "zh".equals(lang)? "四维深时" :"4DMega";
+            case 9 :return "zh".equals(lang)? "四维看见" :"4DMinion";
+            default: return "zh".equals(lang)? "四维看看" :"4DKanKan";
+        }
+    }
+
+}

+ 1 - 1
src/main/resources/mapper/agent/AgentNewLogMapper.xml

@@ -23,7 +23,7 @@
     </select>
 
     <select id="pageUnList" resultType="com.fdkankan.agent.response.LogListVo">
-        select  l.*,u.nick_name,u.user_name,u.email,u.create_time as userCreateTime ,a.name as agentName from t_agent_new_log l
+        select  l.*,u.nick_name,u.user_name,u.email,u.create_time as userCreateTime ,a.name as agentName ,l.order_sn from t_agent_new_log l
             left join  t_agent_new a on l.agent_id = a.id
             left join  t_user u on l.user_id = u.id
         where l.agent_id in

+ 3 - 0
src/main/resources/mapper/agent/CameraMapper.xml

@@ -45,6 +45,9 @@
             </foreach>
 
         </if>
+        <if test="param.startTime != null and param.startTime !='' and param.endTime !=null and param.endTime !='' ">
+            where d.out_time between #{param.startTime} and #{param.endTime}
+        </if>
 
         order by d.out_time desc,d.id desc
     </select>