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