From 14c749da4021ee0c3d1697547a24fa97cb8eed8d Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期一, 17 十月 2022 14:19:38 +0800
Subject: [PATCH] 日志 卡口管理

---
 ycl-platform/src/main/java/com/ycl/service/equipment/impl/EquipmentBayonetServiceImpl.java |   11 ++
 ycl-platform/src/main/java/com/ycl/entity/equipment/EquipmentBayonet.java                  |   16 ++++
 ycl-platform/src/main/java/com/ycl/service/equipment/IEquipmentBayonetService.java         |    4 
 ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java    |   94 +++++++++++++++++++++++
 ycl-common/src/main/java/com/ycl/aspect/LogAspect.java                                     |    6 +
 ycl-platform/src/main/java/com/ycl/vo/equipment/EquipmentBayonetVO.java                    |   84 +++++++++++++++++++++
 ycl-common/src/main/java/com/ycl/controller/user/UmsAdminLogController.java                |    8 +-
 7 files changed, 215 insertions(+), 8 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/aspect/LogAspect.java b/ycl-common/src/main/java/com/ycl/aspect/LogAspect.java
index 85d7ba7..8db5b2a 100644
--- a/ycl-common/src/main/java/com/ycl/aspect/LogAspect.java
+++ b/ycl-common/src/main/java/com/ycl/aspect/LogAspect.java
@@ -57,7 +57,11 @@
         }else {
             loginLog.setUserAgent("Web绔�");
         }
-        loginLog.setOperationType(annotation.operationType());
+        if (annotation.operationType().equals("")){
+            loginLog.setOperationType("鍏朵粬鎿嶄綔");
+        }else {
+            loginLog.setOperationType(annotation.operationType());
+        }
         loginLog.setContain(annotation.contain());
         umsAdminLoginLogMapper.insert(loginLog);
     }
diff --git a/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminLogController.java b/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminLogController.java
index a428b3f..40502f4 100644
--- a/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminLogController.java
+++ b/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminLogController.java
@@ -49,8 +49,8 @@
                         .eq(StringUtils.isNotBlank(logQueryParams.getPortEquipment()), UmsAdminLoginLog::getUserAgent, logQueryParams.getPortEquipment())
                         .eq(logQueryParams.getId() != null, UmsAdminLoginLog::getAdminId, logQueryParams.getId())
                         .between(logQueryParams.getStartTime() != null && logQueryParams.getEndTime() != null, UmsAdminLoginLog::getCreateTime, logQueryParams.getStartTime(), logQueryParams.getEndTime())
-                        .orderBy(logQueryParams.getSort() == 0, true, UmsAdminLoginLog::getCreateTime)
-                        .orderBy(logQueryParams.getSort() == 1, false, UmsAdminLoginLog::getCreateTime));
+                        .orderBy(logQueryParams.getSort()!=null&&logQueryParams.getSort() == 0, true, UmsAdminLoginLog::getCreateTime)
+                        .orderBy(logQueryParams.getSort()!=null&&logQueryParams.getSort() == 1, false, UmsAdminLoginLog::getCreateTime));
         List<UmsAdminLogVO> umsAdminLogVOList = page.getRecords().stream()
                 .map(item -> {
                     UmsAdminLogVO umsAdminlogVO = new UmsAdminLogVO();
@@ -114,8 +114,8 @@
                                 .like(StringUtils.isNotBlank(logQueryParams.getContent()), UmsAdminLoginLog::getContain, logQueryParams.getContent())
                                 .eq(StringUtils.isNotBlank(logQueryParams.getOperationType()), UmsAdminLoginLog::getOperationType, logQueryParams.getOperationType())
                                 .between(logQueryParams.getStartTime() != null && logQueryParams.getEndTime() != null, UmsAdminLoginLog::getCreateTime, logQueryParams.getStartTime(), logQueryParams.getEndTime())
-                                .orderBy(logQueryParams.getSort() == 0, true, UmsAdminLoginLog::getCreateTime)
-                                .orderBy(logQueryParams.getSort() == 1, false, UmsAdminLoginLog::getCreateTime))
+                                .orderBy(logQueryParams.getSort()!=null&&logQueryParams.getSort() == 0, true, UmsAdminLoginLog::getCreateTime)
+                                .orderBy(logQueryParams.getSort()!=null&&logQueryParams.getSort() == 1, false, UmsAdminLoginLog::getCreateTime))
                         .getRecords()
                         .stream()
                         .map(item -> {
diff --git a/ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java b/ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java
index 47d3e45..21ba024 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java
@@ -1,15 +1,29 @@
 package com.ycl.controller.epuipment;
 
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ycl.annotation.LogSave;
 import com.ycl.api.CommonResult;
 import com.ycl.controller.BaseController;
-import com.ycl.entity.video.VideoPoint;
+import com.ycl.entity.dict.DataDictionary;
+import com.ycl.entity.equipment.EquipmentBayonet;
+import com.ycl.service.dict.IDataDictionaryService;
 import com.ycl.service.equipment.IEquipmentBayonetService;
+import com.ycl.vo.equipment.EquipmentBayonetVO;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.SneakyThrows;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.net.URLEncoder;
+import java.time.LocalDateTime;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -21,9 +35,87 @@
  */
 @RestController
 @RequestMapping("/equipment_bayonet")
+@Api(tags = "鍗″彛绠$悊")
 public class EquipmentBayonetController extends BaseController {
 
     @Autowired
     IEquipmentBayonetService iEquipmentBayonetService;
+    @Autowired
+    IDataDictionaryService iDataDictionaryService;
+
+    @GetMapping("/query")
+    @ApiOperation("鏌ヨ")
+    @LogSave
+    public CommonResult search(@RequestParam(required = false) Integer size,
+                               @RequestParam(required = false) Integer current,
+                               @RequestParam(required = false) String bayonetName) {
+        Page<EquipmentBayonet> equipmentBayonetPage = new Page<>();
+        equipmentBayonetPage.setCurrent(current);
+        equipmentBayonetPage.setSize(size);
+        return CommonResult.success(iEquipmentBayonetService
+                .page(equipmentBayonetPage, new LambdaQueryWrapper<EquipmentBayonet>()
+                        .like(StringUtils.isNotBlank(bayonetName), EquipmentBayonet::getBayonetName, bayonetName))
+                .getRecords()
+                .stream()
+                .map(item -> {
+                    EquipmentBayonetVO equipmentBayonetVO = new EquipmentBayonetVO();
+                    BeanUtils.copyProperties(item, equipmentBayonetVO);
+                    equipmentBayonetVO.setFrontEndType(iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getId, item.getFrontEndType())).getName());
+                    equipmentBayonetVO.setInOutCityType(iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getId, item.getInOutCityType())).getName());
+                    return equipmentBayonetVO;
+                }).collect(Collectors.toList()));
+    }
+
+    @PostMapping("/addition")
+    @ApiOperation("娣诲姞")
+    @LogSave(operationType = "鍗″彛绠$悊",contain = "娣诲姞鍗″彛")
+    public CommonResult add(@RequestBody EquipmentBayonet equipmentBayonet) {
+        return CommonResult.success(iEquipmentBayonetService.save(equipmentBayonet));
+    }
+
+    @PutMapping("/modification")
+    @ApiOperation("淇敼")
+    @LogSave(operationType = "鍗″彛绠$悊",contain = "淇敼鍗″彛")
+    public CommonResult modify(@RequestBody EquipmentBayonet equipmentBayonet) {
+        return CommonResult.success(iEquipmentBayonetService.updateById(equipmentBayonet));
+    }
+
+    @GetMapping("/export")
+    @ApiOperation("瀵煎嚭")
+    @SneakyThrows
+    @LogSave(operationType = "鍗″彛绠$悊",contain = "鍒犻櫎鍗″彛")
+    public void export(HttpServletResponse response,
+                       @RequestParam(required = false) Integer size,
+                       @RequestParam(required = false) Integer current,
+                       @RequestParam(required = false) String bayonetName) {
+        Page<EquipmentBayonet> equipmentBayonetPage = new Page<>();
+        equipmentBayonetPage.setCurrent(current);
+        equipmentBayonetPage.setSize(size);
+        StringBuilder fileName = new StringBuilder();
+        fileName.append(LocalDateTime.now().getYear())
+                .append("-")
+                .append(LocalDateTime.now().getMonthValue())
+                .append("-")
+                .append(LocalDateTime.now().getDayOfMonth())
+                .append("鍗″彛鏁版嵁");
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String file = URLEncoder.encode(fileName.toString(), "UTF-8").replaceAll("\\+", "%20");
+        response.setHeader("Content-disposition", "attachment;filename=" + file + ".xlsx");
+        EasyExcel.write(response.getOutputStream(), EquipmentBayonetVO.class)
+                .sheet("鏁版嵁")
+                .doWrite(iEquipmentBayonetService
+                        .page(equipmentBayonetPage, new LambdaQueryWrapper<EquipmentBayonet>()
+                                .like(StringUtils.isNotBlank(bayonetName), EquipmentBayonet::getBayonetName, bayonetName))
+                        .getRecords()
+                        .stream()
+                        .map(item -> {
+                            EquipmentBayonetVO equipmentBayonetVO = new EquipmentBayonetVO();
+                            BeanUtils.copyProperties(item, equipmentBayonetVO);
+                            equipmentBayonetVO.setFrontEndType(iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getId, item.getFrontEndType())).getName());
+                            equipmentBayonetVO.setInOutCityType(iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getId, item.getInOutCityType())).getName());
+                            return equipmentBayonetVO;
+                        }).collect(Collectors.toList()));
+    }
 
 }
diff --git a/ycl-platform/src/main/java/com/ycl/entity/equipment/EquipmentBayonet.java b/ycl-platform/src/main/java/com/ycl/entity/equipment/EquipmentBayonet.java
index 28ef0fd..4cf2da5 100644
--- a/ycl-platform/src/main/java/com/ycl/entity/equipment/EquipmentBayonet.java
+++ b/ycl-platform/src/main/java/com/ycl/entity/equipment/EquipmentBayonet.java
@@ -1,5 +1,6 @@
 package com.ycl.entity.equipment;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -35,18 +36,21 @@
      * 鍗″彛鍚嶇О
      */
     @TableField("bayonet_name")
+    @ExcelProperty(index = 1, value = "鍗″彛鍚嶇О")
     private String bayonetName;
 
     /**
      * 鍗″彛缁忓害
      */
     @TableField("longitude")
+    @ExcelProperty(index = 1, value = "鍗″彛鍚嶇О")
     private BigDecimal longitude;
 
     /**
      * 鍗″彛绾害
      */
     @TableField("latitude")
+    @ExcelProperty(index = 1, value = "鍗″彛鍚嶇О")
     private BigDecimal latitude;
 
     /**
@@ -66,4 +70,16 @@
      */
     @TableField("description")
     private String description;
+
+    /**
+     * 鍓嶇绫诲瀷
+     */
+    @TableField("front_end_type")
+    private Integer frontEndType;
+
+    /**
+     * 鍑哄叆鍩庣被鍨�
+     */
+    @TableField("in_out_city_type")
+    private Integer inOutCityType;
 }
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/service/equipment/IEquipmentBayonetService.java b/ycl-platform/src/main/java/com/ycl/service/equipment/IEquipmentBayonetService.java
index fe3ad71..1354ce8 100644
--- a/ycl-platform/src/main/java/com/ycl/service/equipment/IEquipmentBayonetService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/equipment/IEquipmentBayonetService.java
@@ -2,6 +2,9 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ycl.entity.equipment.EquipmentBayonet;
+import com.ycl.vo.equipment.EquipmentBayonetVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +15,4 @@
  * @since 2022-10-14
  */
 public interface IEquipmentBayonetService extends IService<EquipmentBayonet> {
-
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/equipment/impl/EquipmentBayonetServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/equipment/impl/EquipmentBayonetServiceImpl.java
index 82ff304..148f835 100644
--- a/ycl-platform/src/main/java/com/ycl/service/equipment/impl/EquipmentBayonetServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/equipment/impl/EquipmentBayonetServiceImpl.java
@@ -1,10 +1,20 @@
 package com.ycl.service.equipment.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.dict.DataDictionary;
 import com.ycl.entity.equipment.EquipmentBayonet;
 import com.ycl.mapper.equipment.EquipmentBayonetMapper;
 import com.ycl.service.equipment.IEquipmentBayonetService;
+import com.ycl.vo.equipment.EquipmentBayonetVO;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -16,5 +26,4 @@
  */
 @Service
 public class EquipmentBayonetServiceImpl extends ServiceImpl<EquipmentBayonetMapper, EquipmentBayonet> implements IEquipmentBayonetService {
-
 }
diff --git a/ycl-platform/src/main/java/com/ycl/vo/equipment/EquipmentBayonetVO.java b/ycl-platform/src/main/java/com/ycl/vo/equipment/EquipmentBayonetVO.java
new file mode 100644
index 0000000..7e9ed3e
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/vo/equipment/EquipmentBayonetVO.java
@@ -0,0 +1,84 @@
+package com.ycl.vo.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 鍗″彛绠$悊
+ * </p>
+ *
+ * @author zhanghua
+ * @since 2022-10-14
+ */
+@Data
+@ApiModel(value = "鍗″彛绠$悊VO")
+public class EquipmentBayonetVO {
+
+    /**
+     * 涓婚敭
+     */
+    @ExcelIgnore
+    private Integer id;
+
+    /**
+     * 鍗″彛鍚嶇О
+     */
+    @ApiModelProperty(value = "鍗″彛鍚嶇О")
+    @ExcelProperty(index = 0, value = "鍗″彛鍚嶇О")
+    private String bayonetName;
+
+    /**
+     * 鍗″彛缁忓害
+     */
+    @ApiModelProperty(value = "鍗″彛缁忓害")
+    @ExcelProperty(index = 1, value = "鍗″彛缁忓害")
+    private BigDecimal longitude;
+
+    /**
+     * 鍗″彛绾害
+     */
+    @ApiModelProperty(value = "鍗″彛绾害")
+    @ExcelProperty(index = 2, value = "鍗″彛绾害")
+    private BigDecimal latitude;
+
+    /**
+     * ip鍦板潃
+     */
+    @ApiModelProperty(value = "ip鍦板潃")
+    @ExcelProperty(index = 3, value = "ip鍦板潃")
+    private String ipAddress;
+
+    /**
+     * 绔彛鍙�
+     */
+    @ApiModelProperty(value = "绔彛鍙�")
+    @ExcelProperty(index = 4, value = "绔彛鍙�")
+    private String port;
+
+    /**
+     * 鎻忚堪
+     */
+    @ApiModelProperty(value = "鎻忚堪")
+    @ExcelProperty(index = 7, value = "鎻忚堪")
+    private String description;
+
+    /**
+     * 鍓嶇绫诲瀷
+     */
+    @ApiModelProperty(value = "鍓嶇绫诲瀷")
+    @ExcelProperty(index = 5, value = "鍓嶇绫诲瀷")
+    private String frontEndType;
+
+    /**
+     * 鍑哄叆鍩庣被鍨�
+     */
+    @ApiModelProperty(value = "鍑哄叆鍩庣被鍨�")
+    @ExcelProperty(index = 6, value = "鍑哄叆鍩庣被鍨�")
+    private String inOutCityType;
+}
\ No newline at end of file

--
Gitblit v1.8.0