Преглед изворни кода

提供网页项目相关接口

mgz12 пре 6 месеци
родитељ
комит
b63850d331

+ 2 - 0
application-webadmin/src/main/java/com/tourism/webadmin/WebAdminApplication.java

@@ -1,5 +1,6 @@
 package com.tourism.webadmin;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@@ -14,6 +15,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
  */
 @EnableAsync
 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+//@MapperScan({"com.tourism.back.dao.mapper","com.tourism.upms.dao.mapper"})
 @ComponentScan("com.tourism")
 public class WebAdminApplication {
 

+ 81 - 0
application-webadmin/src/main/java/com/tourism/webadmin/app/website/controller/BasicToWebController.java

@@ -0,0 +1,81 @@
+package com.tourism.webadmin.app.website.controller;
+
+import cn.dev33.satoken.annotation.SaIgnore;
+import com.tourism.common.core.object.MyOrderParam;
+import com.tourism.common.core.object.MyPageData;
+import com.tourism.common.core.object.ResponseResult;
+import com.tourism.common.core.util.MyPageUtil;
+import com.tourism.webadmin.back.model.BannerInfo;
+import com.tourism.webadmin.back.model.CompanyInfo;
+import com.tourism.webadmin.back.model.DirectoryInfo;
+import com.tourism.webadmin.back.service.BannerInfoService;
+import com.tourism.webadmin.back.service.CompanyInfoService;
+import com.tourism.webadmin.back.service.DirectoryInfoService;
+import com.tourism.webadmin.back.vo.BannerInfoVo;
+import com.tourism.webadmin.back.vo.CompanyInfoVo;
+import com.tourism.webadmin.back.vo.DirectoryInfoVo;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Tag(name = "提供网页基础信息")
+@Slf4j
+@RestController
+@SaIgnore
+@RequestMapping("/admin/website/basic")
+public class BasicToWebController {
+
+    @Autowired
+    private BannerInfoService bannerInfoService;
+    @Autowired
+    private CompanyInfoService companyInfoService;
+    @Autowired
+    private DirectoryInfoService directoryInfoService;
+
+    /**
+     * 列出符合过滤条件的banner管理列表。
+     * @return 应答结果对象,包含查询结果集。
+     */
+    @GetMapping("/bannerList")
+    public ResponseResult<MyPageData<BannerInfoVo>> bannerInfoList(@RequestParam("belongTab") Long belongTab) {
+        BannerInfo bannerInfoFilter = new BannerInfo();
+        bannerInfoFilter.setBelongTab(belongTab);
+        String orderBy = MyOrderParam.buildOrderBy(new MyOrderParam(), BannerInfo.class);
+        List<BannerInfo> bannerInfoList = bannerInfoService.getBannerInfoListWithRelation(bannerInfoFilter, orderBy);
+        return ResponseResult.success(MyPageUtil.makeResponseData(bannerInfoList, BannerInfoVo.class));
+    }
+
+    /**
+     * 列出符合过滤条件的门户菜单管理列表。
+     * @return 应答结果对象,包含查询结果集。
+     */
+    @GetMapping("/directoryList")
+    public ResponseResult<MyPageData<DirectoryInfoVo>> directoryInfoList(@RequestParam("parentId") Long parentId) {
+//        if (ObjectUtils.isEmpty(parentId)){
+//            return ResponseResult.error("NO-ERROR","父级Id为空");
+//        }
+        DirectoryInfo directoryInfoFilter = new DirectoryInfo();
+        directoryInfoFilter.setParentId(parentId);
+        String orderBy = MyOrderParam.buildOrderBy(new MyOrderParam(), DirectoryInfo.class);
+        List<DirectoryInfo> directoryInfoList =
+                directoryInfoService.getDirectoryInfoListWithRelation(directoryInfoFilter, orderBy);
+        return ResponseResult.success(MyPageUtil.makeResponseData(directoryInfoList, DirectoryInfoVo.class));
+    }
+
+    /**
+     * 列出符合过滤条件的公司信息管理列表。
+     *  @return 应答结果对象,包含查询结果集。
+     */
+    @GetMapping("/companyList")
+    public ResponseResult<MyPageData<CompanyInfoVo>> companyInfoList(@RequestParam("companyType") Integer companyType) {
+        CompanyInfo companyInfoFilter = new CompanyInfo();
+        companyInfoFilter.setCompanyType(companyType);
+        String orderBy = MyOrderParam.buildOrderBy(new MyOrderParam(), CompanyInfo.class);
+        List<CompanyInfo> companyInfoList =
+                companyInfoService.getCompanyInfoListWithRelation(companyInfoFilter, orderBy);
+        return ResponseResult.success(MyPageUtil.makeResponseData(companyInfoList, CompanyInfoVo.class));
+    }
+}

+ 76 - 0
application-webadmin/src/main/java/com/tourism/webadmin/app/website/controller/JobProjectToWebController.java

@@ -0,0 +1,76 @@
+package com.tourism.webadmin.app.website.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.annotation.SaIgnore;
+import com.github.pagehelper.page.PageMethod;
+import com.tourism.common.core.annotation.MyRequestBody;
+import com.tourism.common.core.constant.ErrorCodeEnum;
+import com.tourism.common.core.object.*;
+import com.tourism.common.core.util.MyModelUtil;
+import com.tourism.common.core.util.MyPageUtil;
+import com.tourism.webadmin.back.dto.JobProjectDto;
+import com.tourism.webadmin.back.model.JobProject;
+import com.tourism.webadmin.back.service.JobProjectService;
+import com.tourism.webadmin.back.vo.JobProjectVo;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 网页劳务项目管理操作控制器类。
+ *
+ * @author 吃饭睡觉
+ * @date 2024-09-06
+ */
+@Tag(name = "网页劳务项目管理接口")
+@Slf4j
+@RestController
+@SaIgnore
+@RequestMapping("/admin/basic/jobProject")
+public class JobProjectToWebController {
+
+    @Autowired
+    private JobProjectService jobProjectService;
+
+    /**
+     * 列出符合过滤条件的劳务项目管理列表。
+     *
+     * @param jobProjectDtoFilter 过滤对象。
+     * @param orderParam 排序参数。
+     * @param pageParam 分页参数。
+     * @return 应答结果对象,包含查询结果集。
+     */
+    @PostMapping("/list")
+    public ResponseResult<MyPageData<JobProjectVo>> list(
+            @MyRequestBody JobProjectDto jobProjectDtoFilter,
+            @MyRequestBody MyOrderParam orderParam,
+            @MyRequestBody MyPageParam pageParam) {
+        if (pageParam != null) {
+            PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize(), pageParam.getCount());
+        }
+        JobProject jobProjectFilter = MyModelUtil.copyTo(jobProjectDtoFilter, JobProject.class);
+        String orderBy = MyOrderParam.buildOrderBy(orderParam, JobProject.class);
+        List<JobProject> jobProjectList = jobProjectService.getJobProjectListWithRelation(jobProjectFilter, orderBy);
+        return ResponseResult.success(MyPageUtil.makeResponseData(jobProjectList, JobProjectVo.class));
+    }
+
+    /**
+     * 查看指定劳务项目管理对象详情。
+     *
+     * @param id 指定对象主键Id。
+     * @return 应答结果对象,包含对象详情。
+     */
+    @SaCheckPermission("jobProject.view")
+    @GetMapping("/view")
+    public ResponseResult<JobProjectVo> view(@RequestParam Long id) {
+        JobProject jobProject = jobProjectService.getByIdWithRelation(id, MyRelationParam.full());
+        if (jobProject == null) {
+            return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST);
+        }
+        JobProjectVo jobProjectVo = MyModelUtil.copyTo(jobProject, JobProjectVo.class);
+        return ResponseResult.success(jobProjectVo);
+    }
+}

+ 80 - 0
application-webadmin/src/main/java/com/tourism/webadmin/app/website/controller/TourismProjectToWebController.java

@@ -0,0 +1,80 @@
+package com.tourism.webadmin.app.website.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.annotation.SaIgnore;
+import com.github.pagehelper.page.PageMethod;
+import com.tourism.common.core.annotation.MyRequestBody;
+import com.tourism.common.core.constant.ErrorCodeEnum;
+import com.tourism.common.core.object.*;
+import com.tourism.common.core.upload.UpDownloaderFactory;
+import com.tourism.common.core.util.MyModelUtil;
+import com.tourism.common.core.util.MyPageUtil;
+import com.tourism.common.redis.cache.SessionCacheHelper;
+import com.tourism.webadmin.back.dto.TourismProjectDto;
+import com.tourism.webadmin.back.model.TourismProject;
+import com.tourism.webadmin.back.service.TourismProjectService;
+import com.tourism.webadmin.back.vo.TourismProjectVo;
+import com.tourism.webadmin.config.ApplicationConfig;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 旅游项目管理操作控制器类。
+ *
+ * @author 吃饭睡觉
+ * @date 2024-09-06
+ */
+@Tag(name = "网页旅游项目管理接口")
+@Slf4j
+@RestController
+@SaIgnore
+@RequestMapping("/admin/basic/tourismProject")
+public class TourismProjectToWebController {
+
+    @Autowired
+    private TourismProjectService tourismProjectService;
+
+    /**
+     * 列出符合过滤条件的旅游项目管理列表。
+     *
+     * @param tourismProjectDtoFilter 过滤对象。
+     * @param orderParam 排序参数。
+     * @param pageParam 分页参数。
+     * @return 应答结果对象,包含查询结果集。
+     */
+    @PostMapping("/list")
+    public ResponseResult<MyPageData<TourismProjectVo>> list(
+            @MyRequestBody TourismProjectDto tourismProjectDtoFilter,
+            @MyRequestBody MyOrderParam orderParam,
+            @MyRequestBody MyPageParam pageParam) {
+        if (pageParam != null) {
+            PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize(), pageParam.getCount());
+        }
+        TourismProject tourismProjectFilter = MyModelUtil.copyTo(tourismProjectDtoFilter, TourismProject.class);
+        String orderBy = MyOrderParam.buildOrderBy(orderParam, TourismProject.class);
+        List<TourismProject> tourismProjectList =
+                tourismProjectService.getTourismProjectListWithRelation(tourismProjectFilter, orderBy);
+        return ResponseResult.success(MyPageUtil.makeResponseData(tourismProjectList, TourismProjectVo.class));
+    }
+
+    /**
+     * 查看指定旅游项目管理对象详情。
+     *
+     * @param id 指定对象主键Id。
+     * @return 应答结果对象,包含对象详情。
+     */
+    @SaCheckPermission("tourismProject.view")
+    @GetMapping("/view")
+    public ResponseResult<TourismProjectVo> view(@RequestParam Long id) {
+        TourismProject tourismProject = tourismProjectService.getByIdWithRelation(id, MyRelationParam.full());
+        if (tourismProject == null) {
+            return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST);
+        }
+        TourismProjectVo tourismProjectVo = MyModelUtil.copyTo(tourismProject, TourismProjectVo.class);
+        return ResponseResult.success(tourismProjectVo);
+    }
+}

+ 3 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/dao/mapper/BannerInfoMapper.xml

@@ -60,6 +60,9 @@
     <!-- 这里仅包含调用接口输入的主表过滤条件 -->
     <sql id="inputFilterRef">
         <if test="bannerInfoFilter != null">
+            <if test="bannerInfoFilter.belongTab != null and bannerInfoFilter.belongTab != ''">
+                AND belong_tab = #{bannerInfoFilter.belongTab}
+            </if>
             <if test="bannerInfoFilter.bannerName != null and bannerInfoFilter.bannerName != ''">
                 <bind name = "safeBannerInfoBannerName" value = "'%' + bannerInfoFilter.bannerName + '%'" />
                 AND tour_banner_info.banner_name LIKE #{safeBannerInfoBannerName}

+ 3 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/dao/mapper/CompanyInfoMapper.xml

@@ -63,6 +63,9 @@
     <!-- 这里仅包含调用接口输入的主表过滤条件 -->
     <sql id="inputFilterRef">
         <if test="companyInfoFilter != null">
+            <if test="companyInfoFilter.companyType != null and companyInfoFilter.companyType != ''">
+                AND company_type = #{companyInfoFilter.companyType}
+            </if>
             <if test="companyInfoFilter.companyName != null and companyInfoFilter.companyName != ''">
                 <bind name = "safeCompanyInfoCompanyName" value = "'%' + companyInfoFilter.companyName + '%'" />
                 AND tour_company_info.company_name LIKE #{safeCompanyInfoCompanyName}

+ 4 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/dao/mapper/DirectoryInfoMapper.xml

@@ -54,6 +54,9 @@
     <!-- 这里仅包含调用接口输入的主表过滤条件 -->
     <sql id="inputFilterRef">
         <if test="directoryInfoFilter != null">
+            <if test="directoryInfoFilter.parentId != null and directoryInfoFilter.parentId != ''">
+                AND parent_id = #{directoryInfoFilter.parentId}
+            </if>
             <if test="directoryInfoFilter.menuName != null and directoryInfoFilter.menuName != ''">
                 <bind name = "safeDirectoryInfoMenuName" value = "'%' + directoryInfoFilter.menuName + '%'" />
                 AND tour_directory_info.menu_name LIKE #{safeDirectoryInfoMenuName}
@@ -62,6 +65,7 @@
                 <bind name = "safeDirectoryInfoSearchString" value = "'%' + directoryInfoFilter.searchString + '%'" />
                 AND IFNULL(tour_directory_info.menu_name,'') LIKE #{safeDirectoryInfoSearchString}
             </if>
+
         </if>
     </sql>
 

+ 6 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/dao/mapper/JobProjectMapper.xml

@@ -99,6 +99,12 @@
     <!-- 这里仅包含调用接口输入的主表过滤条件 -->
     <sql id="inputFilterRef">
         <if test="jobProjectFilter != null">
+            <if test="jobProjectFilter.belongTab != null and jobProjectFilter.belongTab != ''">
+                AND belong_tab = #{jobProjectFilter.belongTab}
+            </if>
+            <if test="jobProjectFilter.isHotspot != null and jobProjectFilter.isHotspot != ''">
+                AND is_hotspot = #{jobProjectFilter.isHotspot}
+            </if>
             <if test="jobProjectFilter.jobTitle != null and jobProjectFilter.jobTitle != ''">
                 <bind name = "safeJobProjectJobTitle" value = "'%' + jobProjectFilter.jobTitle + '%'" />
                 AND tour_job_project.job_title LIKE #{safeJobProjectJobTitle}

+ 6 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/dao/mapper/TourismProjectMapper.xml

@@ -75,6 +75,12 @@
     <!-- 这里仅包含调用接口输入的主表过滤条件 -->
     <sql id="inputFilterRef">
         <if test="tourismProjectFilter != null">
+            <if test="tourismProjectFilter.belongTab != null and tourismProjectFilter.belongTab != ''">
+                AND belong_tab = #{tourismProjectFilter.belongTab}
+            </if>
+            <if test="tourismProjectFilter.isHotspot != null and tourismProjectFilter.isHotspot != ''">
+                AND is_hotspot = #{tourismProjectFilter.isHotspot}
+            </if>
             <if test="tourismProjectFilter.projectTitle != null and tourismProjectFilter.projectTitle != ''">
                 <bind name = "safeTourismProjectProjectTitle" value = "'%' + tourismProjectFilter.projectTitle + '%'" />
                 AND tour_tourism_project.project_title LIKE #{safeTourismProjectProjectTitle}