From fd8b8e08b4dcc86c0beba346becf94bcb73aef27 Mon Sep 17 00:00:00 2001
From: whywhyo <1511349576@qq.com>
Date: 星期一, 23 十月 2023 13:40:18 +0800
Subject: [PATCH] 12736
---
zhang-content/src/main/java/com/ruoyi/service/impl/PhyscialServiceImpl.java | 145 ++++++++++++++++++
/dev/null | 20 --
generate/src/main/resources/mapper/PhyscialMapper.xml | 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/PhyscialController.java | 141 +++++++++++++++++
zhang-content/src/main/java/com/ruoyi/domain/Physcial.java | 72 +++++++++
zhang-content/src/main/java/com/ruoyi/mapper/PhyscialMapper.java | 17 ++
zhang-content/src/main/java/com/ruoyi/service/PhyscialService.java | 34 ++++
7 files changed, 414 insertions(+), 20 deletions(-)
diff --git a/generate/src/main/java/com/ojq/controller/TravelCountController.java b/generate/src/main/java/com/ojq/controller/TravelCountController.java
deleted file mode 100644
index 28a5141..0000000
--- a/generate/src/main/java/com/ojq/controller/TravelCountController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ojq.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-@RestController
-@RequestMapping("/travel-count")
-public class TravelCountController {
-
-}
diff --git a/generate/src/main/java/com/ojq/controller/TravelDetailController.java b/generate/src/main/java/com/ojq/controller/TravelDetailController.java
deleted file mode 100644
index 3bbc4fe..0000000
--- a/generate/src/main/java/com/ojq/controller/TravelDetailController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ojq.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-@RestController
-@RequestMapping("/travel-detail")
-public class TravelDetailController {
-
-}
diff --git a/generate/src/main/java/com/ojq/domain/TravelCount.java b/generate/src/main/java/com/ojq/domain/TravelCount.java
deleted file mode 100644
index e151a19..0000000
--- a/generate/src/main/java/com/ojq/domain/TravelCount.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.ojq.domain;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import java.io.Serializable;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("travel_count")
-public class TravelCount implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 涓婚敭
- */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
- /**
- * 鎵�灞炵敤鎴穒d
- */
- private Long uid;
-
- /**
- * 鏃呮父鍚嶇О
- */
- private String name;
-
- /**
- * 鏃呮父鍘诲悜
- */
- private String destination;
-
- /**
- * 鏃呮父寮�濮嬫椂闂�
- */
- private LocalDateTime startTime;
-
- /**
- * 鏃呮父缁撴潫鏃堕棿
- */
- private LocalDateTime endTime;
-
- /**
- * 鏃呮父鎬ц川
- */
- private String property;
-
- /**
- * 鏃呮父鏂瑰紡
- */
- private String manner;
-
- /**
- * 鍏辫闂ㄧエ璐�
- */
- private String entranceTotal;
-
- /**
- * 鍏辫浜ら�氳垂
- */
- private String travelTotal;
-
- /**
- * 鍏辫浣忓璐�
- */
- private String stayTotal;
-
- /**
- * 鍏辫椁愯垂
- */
- private String eatTotal;
-
- /**
- * 鍏辫鍥㈣垂
- */
- private String groupTotal;
-
- /**
- * 鎬婚
- */
- private String totalPrice;
-
- /**
- * 鍒涘缓鏃堕棿
- */
- private LocalDateTime createTime;
-
-
-}
diff --git a/generate/src/main/java/com/ojq/domain/TravelDetail.java b/generate/src/main/java/com/ojq/domain/TravelDetail.java
deleted file mode 100644
index 31a1f02..0000000
--- a/generate/src/main/java/com/ojq/domain/TravelDetail.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.ojq.domain;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import java.io.Serializable;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("travel_detail")
-public class TravelDetail implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 涓婚敭id
- */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
- /**
- * 瀵瑰簲鐨勭粺璁¤〃鐨刬d
- */
- private Long cid;
-
- /**
- * 琛岀▼鏃堕棿
- */
- private LocalDateTime happenDate;
-
- /**
- * 琛岀▼鍦扮偣
- */
- private String address;
-
- /**
- * 闂ㄧエ璐�
- */
- private String entrance;
-
- /**
- * 浣忓閰掑簵
- */
- private String hotel;
-
- /**
- * 浣忓璐圭敤
- */
- private String stay;
-
- /**
- * 椁愯垂
- */
- private String eat;
-
- /**
- * 浜ら�氳垂
- */
- private String travel;
-
- /**
- * 鐢靛瓙鏂囦欢璺緞
- */
- private String url;
-
- /**
- * 鍑鸿鏂瑰紡
- */
- private String travelMode;
-
- /**
- * 杞︽/鑸彮
- */
- private String flight;
-
- /**
- * 浣跨敤璇佷欢
- */
- private String document;
-
-
-}
diff --git a/generate/src/main/java/com/ojq/mapper/TravelCountMapper.java b/generate/src/main/java/com/ojq/mapper/TravelCountMapper.java
deleted file mode 100644
index 3314e0f..0000000
--- a/generate/src/main/java/com/ojq/mapper/TravelCountMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ojq.mapper;
-
-import com.ojq.domain.TravelCount;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-public interface TravelCountMapper extends BaseMapper<TravelCount> {
-
-}
diff --git a/generate/src/main/java/com/ojq/mapper/TravelDetailMapper.java b/generate/src/main/java/com/ojq/mapper/TravelDetailMapper.java
deleted file mode 100644
index 2e73e70..0000000
--- a/generate/src/main/java/com/ojq/mapper/TravelDetailMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ojq.mapper;
-
-import com.ojq.domain.TravelDetail;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-public interface TravelDetailMapper extends BaseMapper<TravelDetail> {
-
-}
diff --git a/generate/src/main/java/com/ojq/service/ITravelCountService.java b/generate/src/main/java/com/ojq/service/ITravelCountService.java
deleted file mode 100644
index 9cbc470..0000000
--- a/generate/src/main/java/com/ojq/service/ITravelCountService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ojq.service;
-
-import com.ojq.domain.TravelCount;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-public interface ITravelCountService extends IService<TravelCount> {
-
-}
diff --git a/generate/src/main/java/com/ojq/service/ITravelDetailService.java b/generate/src/main/java/com/ojq/service/ITravelDetailService.java
deleted file mode 100644
index 4b05d3f..0000000
--- a/generate/src/main/java/com/ojq/service/ITravelDetailService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ojq.service;
-
-import com.ojq.domain.TravelDetail;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-public interface ITravelDetailService extends IService<TravelDetail> {
-
-}
diff --git a/generate/src/main/java/com/ojq/service/impl/TravelCountServiceImpl.java b/generate/src/main/java/com/ojq/service/impl/TravelCountServiceImpl.java
deleted file mode 100644
index 4b6d801..0000000
--- a/generate/src/main/java/com/ojq/service/impl/TravelCountServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ojq.service.impl;
-
-import com.ojq.domain.TravelCount;
-import com.ojq.mapper.TravelCountMapper;
-import com.ojq.service.ITravelCountService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-@Service
-public class TravelCountServiceImpl extends ServiceImpl<TravelCountMapper, TravelCount> implements ITravelCountService {
-
-}
diff --git a/generate/src/main/java/com/ojq/service/impl/TravelDetailServiceImpl.java b/generate/src/main/java/com/ojq/service/impl/TravelDetailServiceImpl.java
deleted file mode 100644
index 26910a6..0000000
--- a/generate/src/main/java/com/ojq/service/impl/TravelDetailServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ojq.service.impl;
-
-import com.ojq.domain.TravelDetail;
-import com.ojq.mapper.TravelDetailMapper;
-import com.ojq.service.ITravelDetailService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author ojq
- * @since 2023-10-06
- */
-@Service
-public class TravelDetailServiceImpl extends ServiceImpl<TravelDetailMapper, TravelDetail> implements ITravelDetailService {
-
-}
diff --git a/generate/src/main/resources/mapper/PhyscialMapper.xml b/generate/src/main/resources/mapper/PhyscialMapper.xml
new file mode 100644
index 0000000..00de9cb
--- /dev/null
+++ b/generate/src/main/resources/mapper/PhyscialMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ojq.mapper.PhyscialMapper">
+
+</mapper>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/PhyscialController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/PhyscialController.java
new file mode 100644
index 0000000..ccb8468
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/PhyscialController.java
@@ -0,0 +1,141 @@
+package com.ruoyi.web.controller.zhang;
+
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.text.Convert;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.domain. Physcial;
+import com.ruoyi.domain.Physcial;
+import com.ruoyi.service. PhyscialService;
+import com.ruoyi.service.PhyscialService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM;
+import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-23
+ */
+@RestController
+@RequestMapping("/physcial")
+@Slf4j
+public class PhyscialController extends BaseController {
+ @Autowired
+ private PhyscialService physcialService;
+
+ /**
+ * 鏌ヨ鎵�鏈夎褰�
+ */
+ @GetMapping("/all")
+ public AjaxResult listAll(Physcial physcial){
+ Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
+ Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
+ return physcialService.selectDataList(physcial,pageNum,pageSize);
+ }
+
+ /**
+ * 鏍规嵁id鏌ヨ
+ */
+ @GetMapping()
+ public AjaxResult listById(Long id){
+ return AjaxResult.success(physcialService.getById(id));
+ }
+
+ /**
+ * 妯℃澘
+ */
+ @PostMapping("/model")
+ public void getModel(HttpServletResponse response){
+ Physcial physcial = new Physcial();
+ List<Physcial> emptyList = Collections.singletonList(physcial);
+ ExcelUtil<Physcial> util = new ExcelUtil<>(Physcial.class);
+ util.exportExcel(response, emptyList, "鍘嗗勾浣撴鏁版嵁璁板綍鏁版嵁");
+ }
+
+ @Log(title = "鍘嗗勾浣撴鏁版嵁璁板綍", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response)
+ {
+ List<Physcial> list = physcialService.selectByCondition();
+ log.info("瀵煎嚭璁板綍涓�:{}",list);
+ ExcelUtil<Physcial> util = new ExcelUtil<>(Physcial.class);
+ util.exportExcel(response, list, "鍘嗗勾浣撴鏁版嵁璁板綍鏁版嵁");
+ }
+
+ /**
+ * 瀵煎嚭鍘嗗勾浣撴鏁版嵁璁板綍鍒楄〃
+ */
+// @PreAuthorize("@ss.hasPermi('system:property:export')")
+ @Log(title = "鍘嗗勾浣撴鏁版嵁璁板綍", businessType = BusinessType.EXPORT)
+ @PostMapping("/export1/{ids}")
+ public void export1(HttpServletResponse response,@PathVariable Long[] ids)
+ {
+ List<Physcial> list = physcialService.selectByIds(ids);
+ log.info("瀵煎嚭璁板綍涓�:{}",list);
+ ExcelUtil<Physcial> util = new ExcelUtil<>(Physcial.class);
+ util.exportExcel(response, list, "鍘嗗勾浣撴鏁版嵁璁板綍鏁版嵁");
+ }
+
+ /**
+ * 瀵煎叆鍘嗗勾浣撴鏁版嵁璁板綍鍒楄〃
+ */
+ @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.IMPORT)
+ @PostMapping("/importData")
+ public AjaxResult importData(@RequestParam("excelImport") MultipartFile file) throws Exception
+ {
+ return physcialService.importExcel(file);
+ }
+
+ /**
+ * 鏂板鍘嗗勾浣撴鏁版嵁璁板綍
+ */
+// @PreAuthorize("@ss.hasPermi('system:property:add')")
+ @Log(title = "鍘嗗勾浣撴鏁版嵁璁板綍", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody Physcial physcial)
+ {
+ return physcialService.mySave(physcial);
+ }
+
+ /**
+ * 淇敼鍘嗗勾浣撴鏁版嵁璁板綍
+ */
+// @PreAuthorize("@ss.hasPermi('system:property:edit')")
+ @Log(title = "鍘嗗勾浣撴鏁版嵁璁板綍", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody Physcial physcial)
+ {
+ return toAjax(physcialService.updateById(physcial));
+ }
+//
+ /**
+ * 鎵归噺鍒犻櫎鍘嗗勾浣撴鏁版嵁璁板綍
+ */
+// @PreAuthorize("@ss.hasPermi('system:property:remove')")
+ @Log(title = "鍘嗗勾浣撴鏁版嵁璁板綍", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(physcialService.removeByIds(Arrays.asList(ids)));
+ }
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/Physcial.java b/zhang-content/src/main/java/com/ruoyi/domain/Physcial.java
new file mode 100644
index 0000000..0be7de5
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/domain/Physcial.java
@@ -0,0 +1,72 @@
+package com.ruoyi.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-23
+ */
+@Data
+@TableName("physcial")
+public class Physcial implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 骞村害鎶ュ憡
+ */
+ private String report;
+
+ /**
+ * 浣撴鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date happenTime;
+
+ @TableField(exist = false)
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date happenStartTime;
+
+ @TableField(exist = false)
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date happenEndTime;
+
+ /**
+ * 鐢靛瓙鏂囦欢
+ */
+ private String url;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createTime;
+
+ /**
+ * 鐢ㄦ埛id
+ */
+ private Long uid;
+
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/mapper/PhyscialMapper.java b/zhang-content/src/main/java/com/ruoyi/mapper/PhyscialMapper.java
new file mode 100644
index 0000000..a4ec8fc
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/mapper/PhyscialMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.domain.Physcial;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-23
+ */
+public interface PhyscialMapper extends BaseMapper<Physcial> {
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/PhyscialService.java b/zhang-content/src/main/java/com/ruoyi/service/PhyscialService.java
new file mode 100644
index 0000000..abc17ab
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/service/PhyscialService.java
@@ -0,0 +1,34 @@
+package com.ruoyi.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.domain.Physcial;
+import com.ruoyi.domain.Physcial;
+import com.ruoyi.domain.Physcial;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-23
+ */
+public interface PhyscialService extends IService<Physcial> {
+
+ AjaxResult selectDataList(Physcial physcial, Integer pageNum, Integer pageSize);
+
+ List<Physcial> selectByIds(Long[] ids);
+
+ AjaxResult importExcel(MultipartFile file);
+
+ AjaxResult mySave(Physcial physcial);
+
+ List<Physcial> selectByCondition();
+
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/PhyscialServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/PhyscialServiceImpl.java
new file mode 100644
index 0000000..8b60a35
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/PhyscialServiceImpl.java
@@ -0,0 +1,145 @@
+package com.ruoyi.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.MapUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.domain.Physcial;
+import com.ruoyi.domain.Physcial;
+import com.ruoyi.domain.Physcial;
+import com.ruoyi.mapper.PhyscialMapper;
+import com.ruoyi.service.PhyscialService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-23
+ */
+@Service
+@Slf4j
+public class PhyscialServiceImpl extends ServiceImpl<PhyscialMapper, Physcial> implements PhyscialService {
+ @Autowired
+ PhyscialServiceImpl physcialService;
+
+ private LambdaQueryWrapper<Physcial> uniqueCondition(Physcial physcial) {
+ LambdaQueryWrapper<Physcial> lqw = new LambdaQueryWrapper<>();
+ lqw.eq(StringUtils.isNotEmpty(physcial.getReport()), Physcial::getReport, physcial.getReport())
+ .eq(physcial.getHappenTime() != null, Physcial::getHappenTime, physcial.getHappenTime())
+ .eq(physcial.getUid() != null, Physcial::getUid, physcial.getUid());
+ return lqw;
+ }
+
+ private LambdaQueryWrapper<Physcial> buildCondition(Physcial physcial, Long userId) {
+ LambdaQueryWrapper<Physcial> lqw = new LambdaQueryWrapper<>();
+ lqw.eq(userId != null, Physcial::getUid, userId)
+ .like(StringUtils.isNotEmpty(physcial.getReport()), Physcial::getReport, physcial.getReport())
+ .between(physcial.getHappenStartTime() != null && physcial.getHappenEndTime() != null, Physcial::getHappenTime, physcial.getHappenStartTime(), physcial.getHappenEndTime())
+ .orderByDesc(Physcial::getCreateTime);
+ return lqw;
+ }
+
+ /**
+ * 鍒嗛〉鏌ユ壘
+ */
+ @Override
+ public AjaxResult selectDataList(Physcial physcial, Integer pageNum, Integer pageSize) {
+ SysUser user = SecurityUtils.getLoginUser().getUser();
+ Long userId = user.getUserId();
+ LambdaQueryWrapper<Physcial> lqw = buildCondition(physcial, userId);
+
+ Page<Physcial> pageBean = new Page<>(pageNum, pageSize);
+ Page<Physcial> pageResult = page(pageBean, lqw);
+
+ List<Physcial> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹�
+
+ HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
+ return AjaxResult.success(data);
+
+ }
+
+
+ @Override
+ public List<Physcial> selectByIds(Long[] ids) {
+ List<Physcial> list = new ArrayList<>();
+ if (ids.length != 0)
+ list = listByIds(Arrays.asList(ids));
+ else
+ list = list();
+ return list;
+ }
+
+ @Override
+ public AjaxResult mySave(Physcial physcial) {
+ SysUser user = SecurityUtils.getLoginUser().getUser();
+ Long userId = user.getUserId();
+ physcial.setUid(userId);
+
+ //妫�鏌ユ槸鍚︽湁閲嶅鏁版嵁鎻掑叆
+ LambdaQueryWrapper<Physcial> lqw = uniqueCondition(physcial);
+ List<Physcial> list = list(lqw);
+ if (list.size() > 0) {
+ throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁");
+ }
+
+ if (save(physcial)) {
+ return AjaxResult.success();
+ } else {
+ return AjaxResult.error();
+ }
+
+ }
+
+ @Override
+ public List<Physcial> selectByCondition() {
+ SysUser user = SecurityUtils.getLoginUser().getUser();
+ Long userId = user.getUserId();
+ Physcial physcial = new Physcial();
+ LambdaQueryWrapper<Physcial> lqw = buildCondition(physcial, userId);
+ return list(lqw);
+
+ }
+
+ @Override
+ @Transactional
+ public AjaxResult importExcel(MultipartFile file) {
+
+ ExcelUtil<Physcial> util = new ExcelUtil<>(Physcial.class);
+ List<Physcial> dataList = null;
+ try {
+ dataList = util.importExcel(file.getInputStream());
+ } catch (Exception e) {
+ throw new RuntimeException("娌℃湁鎸夌収瑙勫垯瀵煎叆鏁版嵁");
+ }
+
+ assert dataList != null;
+
+ for (Physcial physcial : dataList) {
+ physcialService.mySave(physcial);
+ }
+
+ return AjaxResult.success();
+
+ }
+
+
+}
--
Gitblit v1.9.1