From bd0871adf2e072aef8176f1e71a8cb89f28a544b Mon Sep 17 00:00:00 2001
From: whywhyo <1511349576@qq.com>
Date: 星期五, 06 十月 2023 22:24:04 +0800
Subject: [PATCH] 47813468
---
zhang-content/src/main/java/com/ruoyi/mapper/TravelDetailMapper.java | 19 +
generate/src/main/java/com/ojq/controller/TravelDetailController.java | 20 +
generate/src/main/java/com/ojq/mapper/TravelDetailMapper.java | 16 +
ruoyi-generator/src/main/resources/mapper/generator/TravelDetailService.xml | 0
zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java | 23 +
zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java | 23 +
generate/src/main/java/com/ojq/mapper/TravelCountMapper.java | 16 +
generate/src/main/java/com/ojq/controller/TravelCountController.java | 20 +
ruoyi-quartz/src/main/resources/mapper/quartz/TravelDetailService.xml | 0
generate/src/main/java/com/ojq/domain/TravelCount.java | 105 ++++++
zhang-content/src/main/java/com/ruoyi/domain/TravelCount.java | 109 ++++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java | 124 +++++++
generate/src/main/java/com/ojq/service/impl/TravelDetailServiceImpl.java | 20 +
zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java | 86 +++++
generate/src/main/java/com/ojq/service/ITravelDetailService.java | 16 +
generate/src/main/java/com/ojq/service/ITravelCountService.java | 16 +
zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java | 99 ++++++
generate/src/main/java/com/ojq/domain/TravelDetail.java | 95 +++++
generate/src/main/resources/mapper/TravelDetailMapper.xml | 5
generate/src/main/java/com/ojq/service/impl/TravelCountServiceImpl.java | 20 +
zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java | 41 ++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java | 54 +++
generate/src/main/resources/mapper/TravelDetailService.xml | 5
zhang-content/src/main/java/com/ruoyi/mapper/TravelCountMapper.java | 19 +
24 files changed, 951 insertions(+), 0 deletions(-)
diff --git a/generate/src/main/java/com/ojq/controller/TravelCountController.java b/generate/src/main/java/com/ojq/controller/TravelCountController.java
new file mode 100644
index 0000000..28a5141
--- /dev/null
+++ b/generate/src/main/java/com/ojq/controller/TravelCountController.java
@@ -0,0 +1,20 @@
+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
new file mode 100644
index 0000000..3bbc4fe
--- /dev/null
+++ b/generate/src/main/java/com/ojq/controller/TravelDetailController.java
@@ -0,0 +1,20 @@
+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
new file mode 100644
index 0000000..e151a19
--- /dev/null
+++ b/generate/src/main/java/com/ojq/domain/TravelCount.java
@@ -0,0 +1,105 @@
+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
new file mode 100644
index 0000000..31a1f02
--- /dev/null
+++ b/generate/src/main/java/com/ojq/domain/TravelDetail.java
@@ -0,0 +1,95 @@
+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
new file mode 100644
index 0000000..3314e0f
--- /dev/null
+++ b/generate/src/main/java/com/ojq/mapper/TravelCountMapper.java
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 0000000..2e73e70
--- /dev/null
+++ b/generate/src/main/java/com/ojq/mapper/TravelDetailMapper.java
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 0000000..9cbc470
--- /dev/null
+++ b/generate/src/main/java/com/ojq/service/ITravelCountService.java
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 0000000..4b05d3f
--- /dev/null
+++ b/generate/src/main/java/com/ojq/service/ITravelDetailService.java
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 0000000..4b6d801
--- /dev/null
+++ b/generate/src/main/java/com/ojq/service/impl/TravelCountServiceImpl.java
@@ -0,0 +1,20 @@
+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
new file mode 100644
index 0000000..26910a6
--- /dev/null
+++ b/generate/src/main/java/com/ojq/service/impl/TravelDetailServiceImpl.java
@@ -0,0 +1,20 @@
+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/TravelDetailMapper.xml b/generate/src/main/resources/mapper/TravelDetailMapper.xml
new file mode 100644
index 0000000..f5d5c1b
--- /dev/null
+++ b/generate/src/main/resources/mapper/TravelDetailMapper.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.TravelDetailMapper">
+
+</mapper>
diff --git a/generate/src/main/resources/mapper/TravelDetailService.xml b/generate/src/main/resources/mapper/TravelDetailService.xml
new file mode 100644
index 0000000..0402f8d
--- /dev/null
+++ b/generate/src/main/resources/mapper/TravelDetailService.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.TravelCountMapper">
+
+</mapper>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java
new file mode 100644
index 0000000..16a3c10
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelCountController.java
@@ -0,0 +1,124 @@
+package com.ruoyi.web.controller.zhang;
+
+
+import com.ruoyi.common.annotation.Log;
+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.TravelCount;
+import com.ruoyi.service.TravelCountService;
+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.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-06
+ */
+@RestController
+@RequestMapping("/travel/count")
+public class TravelCountController {
+
+ @Autowired
+ private TravelCountService travelCountService;
+
+ @GetMapping("/all")
+ public AjaxResult listAll(){
+ SysUser user = SecurityUtils.getLoginUser().getUser();
+ Long userId = user.getUserId();
+ Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
+ Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
+ return travelCountService.selectDataList(userId,pageNum,pageSize);
+ }
+
+
+// /**
+// * 瀵煎嚭鏃呮父缁熻鎯呭喌璁板綍鍒楄〃
+// */
+//// @PreAuthorize("@ss.hasPermi('system:property:export')")
+// @Log(title = "鏃呮父缁熻鎯呭喌璁板綍", businessType = BusinessType.EXPORT)
+// @PostMapping("/export")
+// public void export(HttpServletResponse response, TravelCount travelCount)
+// {
+// SysUser user = SecurityUtils.getLoginUser().getUser();
+// Long userId = user.getUserId();
+//
+// List<TravelCount> list = travelCountService.selectExperienceList(userId);
+// log.info("瀵煎嚭璁板綍涓�:{}",list);
+// ExcelUtil<TravelCount> util = new ExcelUtil<>(TravelCount.class);
+// util.exportExcel(response, list, "鏃呮父缁熻鎯呭喌璁板綍鏁版嵁");
+// }
+////
+//
+// /**
+// * 瀵煎叆鏃呮父缁熻鎯呭喌璁板綍鍒楄〃
+// */
+// @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.IMPORT)
+// @PostMapping("/importData")
+// public AjaxResult importData(@RequestParam("excelImport") MultipartFile file) throws Exception
+// {
+// SysUser user = SecurityUtils.getLoginUser().getUser();
+// Long userId = user.getUserId();
+//
+// boolean flag=travelCountService.importExcel(file,userId);
+// if(flag){
+// return AjaxResult.success("瀵煎叆鏁版嵁鎴愬姛");
+// }
+// return AjaxResult.error("瀵煎叆鏁版嵁澶辫触");
+// }
+
+ /**
+ * 鏂板鏃呮父缁熻鎯呭喌璁板綍
+ */
+// @PreAuthorize("@ss.hasPermi('system:property:add')")
+ @Log(title = "鏃呮父缁熻鎯呭喌璁板綍", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody TravelCount travelCount)
+ {
+ SysUser user = SecurityUtils.getLoginUser().getUser();
+ Long userId = user.getUserId();
+ travelCount.setUid(userId);
+ travelCountService.save(travelCount);
+ return AjaxResult.success();
+ }
+
+ /**
+ * 淇敼鏃呮父缁熻鎯呭喌璁板綍
+ */
+// @PreAuthorize("@ss.hasPermi('system:property:edit')")
+ @Log(title = "鏃呮父缁熻鎯呭喌璁板綍", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody TravelCount travelCount)
+ {
+ travelCountService.updateById(travelCount);
+ return AjaxResult.success();
+ }
+//
+ /**
+ * 鎵归噺鍒犻櫎鏃呮父缁熻鎯呭喌璁板綍
+ */
+// @PreAuthorize("@ss.hasPermi('system:property:remove')")
+ @Log(title = "鏃呮父缁熻鎯呭喌璁板綍", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ travelCountService.removeData(Arrays.asList(ids));
+ return AjaxResult.success();
+ }
+
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java
new file mode 100644
index 0000000..22fa10d
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/TravelDetailController.java
@@ -0,0 +1,54 @@
+package com.ruoyi.web.controller.zhang;
+
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.domain.TravelDetail;
+import com.ruoyi.service.TravelDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.websocket.server.PathParam;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-06
+ */
+@RestController
+@RequestMapping("/travel/detail")
+public class TravelDetailController {
+
+ @Autowired
+ TravelDetailService travelDetailService;
+
+ @GetMapping()
+ public AjaxResult getDataByCid(@PathParam("cid") Long cid){
+ List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(cid);
+ return AjaxResult.success(travelDetailList);
+ }
+
+ @PostMapping()
+ public AjaxResult addData(@RequestBody TravelDetail travelDetail){
+ travelDetailService.save(travelDetail);
+ return AjaxResult.success();
+ }
+
+ @PutMapping()
+ public AjaxResult updateData(@RequestBody TravelDetail travelDetail){
+ travelDetailService.updateById(travelDetail);
+ return AjaxResult.success();
+ }
+
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ travelDetailService.removeByIds(Arrays.asList(ids));
+ return AjaxResult.success();
+ }
+
+}
diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/TravelDetailService.xml
similarity index 100%
rename from ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
rename to ruoyi-generator/src/main/resources/mapper/generator/TravelDetailService.xml
diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/TravelDetailService.xml
similarity index 100%
rename from ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml
rename to ruoyi-quartz/src/main/resources/mapper/quartz/TravelDetailService.xml
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/TravelCount.java b/zhang-content/src/main/java/com/ruoyi/domain/TravelCount.java
new file mode 100644
index 0000000..706d8c7
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/domain/TravelCount.java
@@ -0,0 +1,109 @@
+package com.ruoyi.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 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-06
+ */
+@Data
+@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;
+
+ /**
+ * 鏃呮父寮�濮嬫椂闂�
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date startTime;
+
+ /**
+ * 鏃呮父缁撴潫鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date endTime;
+
+ /**
+ * 鏃呮父鎬ц川
+ */
+ private String property;
+
+ /**
+ * 鏃呮父鏂瑰紡
+ */
+ private String manner;
+
+ /**
+ * 鍏辫闂ㄧエ璐�
+ */
+ private Double entranceTotal;
+
+ /**
+ * 鍏辫浜ら�氳垂
+ */
+ private Double travelTotal;
+
+ /**
+ * 鍏辫浣忓璐�
+ */
+ private Double stayTotal;
+
+ /**
+ * 鍏辫椁愯垂
+ */
+ private Double eatTotal;
+
+ /**
+ * 鍏辫鍥㈣垂
+ */
+ private Double groupTotal;
+
+ /**
+ * 鎬婚
+ */
+ private Double totalPrice;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createTime;
+
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java b/zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java
new file mode 100644
index 0000000..c015d84
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/domain/TravelDetail.java
@@ -0,0 +1,99 @@
+package com.ruoyi.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 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-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;
+
+ /**
+ * 琛岀▼鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date happenDate;
+
+ /**
+ * 琛岀▼鍦扮偣
+ */
+ private String address;
+
+ /**
+ * 闂ㄧエ璐�
+ */
+ private Double entrance;
+
+ /**
+ * 浣忓閰掑簵
+ */
+ private String hotel;
+
+ /**
+ * 浣忓璐圭敤
+ */
+ private Double stay;
+
+ /**
+ * 椁愯垂
+ */
+ private Double eat;
+
+ /**
+ * 浜ら�氳垂
+ */
+ private Double travel;
+
+ /**
+ * 鐢靛瓙鏂囦欢璺緞
+ */
+ private String url;
+
+ /**
+ * 鍑鸿鏂瑰紡
+ */
+ private String travelMode;
+
+ /**
+ * 杞︽/鑸彮
+ */
+ private String flight;
+
+ /**
+ * 浣跨敤璇佷欢
+ */
+ private String document;
+
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/mapper/TravelCountMapper.java b/zhang-content/src/main/java/com/ruoyi/mapper/TravelCountMapper.java
new file mode 100644
index 0000000..0df3adf
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/mapper/TravelCountMapper.java
@@ -0,0 +1,19 @@
+package com.ruoyi.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.domain.TravelCount;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-06
+ */
+@Mapper
+public interface TravelCountMapper extends BaseMapper<TravelCount> {
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/mapper/TravelDetailMapper.java b/zhang-content/src/main/java/com/ruoyi/mapper/TravelDetailMapper.java
new file mode 100644
index 0000000..5df8a19
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/mapper/TravelDetailMapper.java
@@ -0,0 +1,19 @@
+package com.ruoyi.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.domain.TravelDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-06
+ */
+@Mapper
+public interface TravelDetailMapper extends BaseMapper<TravelDetail> {
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java b/zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java
new file mode 100644
index 0000000..4e04b75
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/service/TravelCountService.java
@@ -0,0 +1,23 @@
+package com.ruoyi.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.domain.TravelCount;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-06
+ */
+public interface TravelCountService extends IService<TravelCount> {
+
+ AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize);
+
+ void removeData(List<Long> list);
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java b/zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java
new file mode 100644
index 0000000..4f3e685
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/service/TravelDetailService.java
@@ -0,0 +1,23 @@
+package com.ruoyi.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.domain.TravelDetail;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-06
+ */
+public interface TravelDetailService extends IService<TravelDetail> {
+
+ List<TravelDetail> getDataByCid(Long cid);
+
+ void removeBatchByCid(List<Long> cid);
+
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java
new file mode 100644
index 0000000..e8a3c85
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/TravelCountServiceImpl.java
@@ -0,0 +1,86 @@
+package com.ruoyi.service.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.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.MapUtils;
+import com.ruoyi.domain.TravelCount;
+import com.ruoyi.domain.TravelDetail;
+import com.ruoyi.mapper.TravelCountMapper;
+import com.ruoyi.service.TravelCountService;
+import com.ruoyi.service.TravelDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.DecimalFormat;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-06
+ */
+@Service
+public class TravelCountServiceImpl extends ServiceImpl<TravelCountMapper, TravelCount> implements TravelCountService {
+
+ @Autowired
+ private TravelDetailService travelDetailService;
+
+ @Autowired
+ private TravelCountService travelCountService;
+
+ @Override
+ public AjaxResult selectDataList(Long userId, Integer pageNum, Integer pageSize) {
+ LambdaQueryWrapper<TravelCount> lqw = new LambdaQueryWrapper<>();
+ lqw.eq(TravelCount::getUid,userId);
+
+ Page<TravelCount> resultPage = page(new Page<>(pageNum, pageSize), lqw);
+
+ resultPage.getRecords().forEach(data ->{
+ //鍏堟壘鍒板搴斾竴鏉$粺璁℃暟鎹殑鎵�鏈夎缁嗘暟鎹�
+ List<TravelDetail> travelDetailList = travelDetailService.getDataByCid(data.getId());
+ double entranceTotal = 0;
+ double eatTotal = 0;
+ double stayTotal = 0;
+ double travelTotal = 0;
+
+ //鎶婃墍鏈夎缁嗘暟鎹殑璐圭敤鍊肩疮鍔犺捣鏉�
+ for (TravelDetail detail : travelDetailList) {
+ entranceTotal+=detail.getEntrance();
+ eatTotal+=detail.getEat();
+ stayTotal+=detail.getStay();
+ travelTotal+=detail.getTravel();
+ }
+
+ data.setEntranceTotal(entranceTotal);
+ data.setEatTotal(eatTotal);
+ data.setStayTotal(stayTotal);
+ data.setTravelTotal(travelTotal);
+
+ DecimalFormat df = new DecimalFormat("0.00");
+ data.setTotalPrice(Double.parseDouble(df.format(entranceTotal+eatTotal+data.getGroupTotal()+stayTotal+travelTotal)));
+ });
+
+ return AjaxResult.success(MapUtils.getResult(resultPage));
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎缁熻琛ㄦ暟鎹�
+ */
+ @Override
+ @Transactional
+ public void removeData(List<Long> list) {
+
+ //鍦ㄥ垹闄ょ粺璁¤〃鏁版嵁涔嬪墠锛岃鍏堝垹闄ゆ槑缁嗚〃鐨勬暟鎹�
+ travelDetailService.removeBatchByCid(list);
+
+ //鍐嶅垹闄よ嚜宸辫〃鐨勬暟鎹�
+ travelCountService.removeBatchByIds(list);
+ }
+}
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java
new file mode 100644
index 0000000..1d2df06
--- /dev/null
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/TravelDetailServiceImpl.java
@@ -0,0 +1,41 @@
+package com.ruoyi.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.domain.TravelDetail;
+import com.ruoyi.mapper.TravelDetailMapper;
+import com.ruoyi.service.TravelDetailService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author ojq
+ * @since 2023-10-06
+ */
+@Service
+public class TravelDetailServiceImpl extends ServiceImpl<TravelDetailMapper, TravelDetail> implements TravelDetailService {
+
+ @Override
+ public List<TravelDetail> getDataByCid(Long cid) {
+ LambdaQueryWrapper<TravelDetail> lqw = new LambdaQueryWrapper<>();
+ lqw.eq(TravelDetail::getCid,cid);
+ lqw.orderBy(true,true,TravelDetail::getHappenDate);
+ return list(lqw);
+ }
+
+ @Override
+ public void removeBatchByCid(List<Long> cid) {
+ for (Long c : cid) {
+ LambdaQueryWrapper<TravelDetail> lqw = new LambdaQueryWrapper<>();
+ lqw.eq(TravelDetail::getCid,c);
+ remove(lqw);
+ }
+
+ }
+}
--
Gitblit v1.9.1