From d44e59fc98b638c92e8bcd30941dee2b8e50c6be Mon Sep 17 00:00:00 2001 From: Augcl <17674666882@163.com> Date: Mon, 23 Sep 2024 21:59:44 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TravelAddressController.java | 171 +++++++++++++++ .../travelAddress/entity/TravelAddress.java | 59 ++++++ .../travelAddress/mapper/TravelAddressMapper.java | 17 ++ .../mapper/xml/TravelAddressMapper.xml | 5 + .../service/ITravelAddressService.java | 14 ++ .../service/impl/TravelAddressServiceImpl.java | 19 ++ .../travelAddress/vue/TravelAddressList.vue | 196 ++++++++++++++++++ .../vue/modules/TravelAddressForm.vue | 124 +++++++++++ .../modules/TravelAddressModal.Style#Drawer.vue | 84 ++++++++ .../vue/modules/TravelAddressModal.vue | 60 ++++++ .../travelAddress/vue3/TravelAddress.api.ts | 61 ++++++ .../travelAddress/vue3/TravelAddress.data.ts | 66 ++++++ .../travelAddress/vue3/TravelAddressList.vue | 162 +++++++++++++++ .../vue3/components/TravelAddressModal.vue | 58 ++++++ .../controller/TravelAmusementController.java | 171 +++++++++++++++ .../travelAmusement/entity/TravelAmusement.java | 78 +++++++ .../mapper/TravelAmusementMapper.java | 17 ++ .../mapper/xml/TravelAmusementMapper.xml | 5 + .../service/ITravelAmusementService.java | 14 ++ .../service/impl/TravelAmusementServiceImpl.java | 19 ++ .../travelAmusement/vue/TravelAmusementList.vue | 229 +++++++++++++++++++++ .../vue/modules/TravelAmusementForm.vue | 149 ++++++++++++++ .../modules/TravelAmusementModal.Style#Drawer.vue | 84 ++++++++ .../vue/modules/TravelAmusementModal.vue | 60 ++++++ .../travelAmusement/vue3/TravelAmusement.api.ts | 61 ++++++ .../travelAmusement/vue3/TravelAmusement.data.ts | 119 +++++++++++ .../travelAmusement/vue3/TravelAmusementList.vue | 162 +++++++++++++++ .../vue3/components/TravelAmusementModal.vue | 58 ++++++ .../controller/TravelExperienceController.java | 171 +++++++++++++++ .../travelExperience/entity/TravelExperience.java | 54 +++++ .../mapper/TravelExperienceMapper.java | 17 ++ .../mapper/xml/TravelExperienceMapper.xml | 5 + .../service/ITravelExperienceService.java | 14 ++ .../service/impl/TravelExperienceServiceImpl.java | 19 ++ .../travelExperience/vue/TravelExperienceList.vue | 191 +++++++++++++++++ .../vue/modules/TravelExperienceForm.vue | 119 +++++++++++ .../modules/TravelExperienceModal.Style#Drawer.vue | 84 ++++++++ .../vue/modules/TravelExperienceModal.vue | 60 ++++++ .../travelExperience/vue3/TravelExperience.api.ts | 61 ++++++ .../travelExperience/vue3/TravelExperience.data.ts | 57 +++++ .../travelExperience/vue3/TravelExperienceList.vue | 162 +++++++++++++++ .../vue3/components/TravelExperienceModal.vue | 58 ++++++ .../controller/TravelOrderController.java | 32 +-- .../modules/travelOrder/entity/TravelOrder.java | 80 ++++--- .../travelOrder/mapper/TravelOrderMapper.java | 4 +- .../travelOrder/service/ITravelOrderService.java | 4 +- .../service/impl/TravelOrderServiceImpl.java | 4 +- .../modules/travelOrder/vue/TravelOrderList.vue | 67 ++---- .../travelOrder/vue/modules/TravelOrderForm.vue | 44 ++-- .../modules/travelOrder/vue3/TravelOrder.data.ts | 94 +++------ .../modules/travelOrder/vue3/TravelOrderList.vue | 4 +- .../api/travelController/IndexApiController.java | 76 ++++++- .../jeecg/modules/apiService/IndexApiService.java | 34 ++- .../apiService/impl/IndexApiServiceImpl.java | 227 +++++++++++++++++++- 54 files changed, 3843 insertions(+), 221 deletions(-) create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/controller/TravelAddressController.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/entity/TravelAddress.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/mapper/TravelAddressMapper.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/mapper/xml/TravelAddressMapper.xml create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/service/ITravelAddressService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/service/impl/TravelAddressServiceImpl.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/TravelAddressList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressForm.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressModal.Style#Drawer.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddress.api.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddress.data.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddressList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/components/TravelAddressModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/controller/TravelAmusementController.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/entity/TravelAmusement.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/mapper/TravelAmusementMapper.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/mapper/xml/TravelAmusementMapper.xml create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/service/ITravelAmusementService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/service/impl/TravelAmusementServiceImpl.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/TravelAmusementList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementForm.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementModal.Style#Drawer.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusement.api.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusement.data.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusementList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/components/TravelAmusementModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/controller/TravelExperienceController.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/entity/TravelExperience.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/mapper/TravelExperienceMapper.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/mapper/xml/TravelExperienceMapper.xml create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/service/ITravelExperienceService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/service/impl/TravelExperienceServiceImpl.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/TravelExperienceList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceForm.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceModal.Style#Drawer.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperience.api.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperience.data.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperienceList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/components/TravelExperienceModal.vue diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/controller/TravelAddressController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/controller/TravelAddressController.java new file mode 100644 index 0000000..40f7399 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/controller/TravelAddressController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.travelAddress.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.travelAddress.entity.TravelAddress; +import org.jeecg.modules.travelAddress.service.ITravelAddressService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 地址表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Api(tags="地址表") +@RestController +@RequestMapping("/travelAddress/travelAddress") +@Slf4j +public class TravelAddressController extends JeecgController { + @Autowired + private ITravelAddressService travelAddressService; + + /** + * 分页列表查询 + * + * @param travelAddress + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "地址表-分页列表查询") + @ApiOperation(value="地址表-分页列表查询", notes="地址表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TravelAddress travelAddress, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(travelAddress, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = travelAddressService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param travelAddress + * @return + */ + @AutoLog(value = "地址表-添加") + @ApiOperation(value="地址表-添加", notes="地址表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TravelAddress travelAddress) { + travelAddressService.save(travelAddress); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param travelAddress + * @return + */ + @AutoLog(value = "地址表-编辑") + @ApiOperation(value="地址表-编辑", notes="地址表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TravelAddress travelAddress) { + travelAddressService.updateById(travelAddress); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "地址表-通过id删除") + @ApiOperation(value="地址表-通过id删除", notes="地址表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + travelAddressService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "地址表-批量删除") + @ApiOperation(value="地址表-批量删除", notes="地址表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.travelAddressService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "地址表-通过id查询") + @ApiOperation(value="地址表-通过id查询", notes="地址表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TravelAddress travelAddress = travelAddressService.getById(id); + if(travelAddress==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(travelAddress); + } + + /** + * 导出excel + * + * @param request + * @param travelAddress + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TravelAddress travelAddress) { + return super.exportXls(request, travelAddress, TravelAddress.class, "地址表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TravelAddress.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/entity/TravelAddress.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/entity/TravelAddress.java new file mode 100644 index 0000000..73dc708 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/entity/TravelAddress.java @@ -0,0 +1,59 @@ +package org.jeecg.modules.travelAddress.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 地址表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Data +@TableName("travel_address") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="travel_address对象", description="地址表") +public class TravelAddress implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**联系人姓名*/ + @Excel(name = "联系人姓名", width = 15) + @ApiModelProperty(value = "联系人姓名") + private java.lang.String userName; + /**联系人电话*/ + @Excel(name = "联系人电话", width = 15) + @ApiModelProperty(value = "联系人电话") + private java.lang.String userPhone; + /**所属区域*/ + @Excel(name = "所属区域", width = 15) + @ApiModelProperty(value = "所属区域") + private java.lang.String area; + /**详细地址*/ + @Excel(name = "详细地址", width = 15) + @ApiModelProperty(value = "详细地址") + private java.lang.String address; + /**所属用户*/ + @Excel(name = "所属用户", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @ApiModelProperty(value = "所属用户") + private java.lang.String memberId; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/mapper/TravelAddressMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/mapper/TravelAddressMapper.java new file mode 100644 index 0000000..3bed245 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/mapper/TravelAddressMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.travelAddress.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.travelAddress.entity.TravelAddress; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 地址表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +public interface TravelAddressMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/mapper/xml/TravelAddressMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/mapper/xml/TravelAddressMapper.xml new file mode 100644 index 0000000..89560ea --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/mapper/xml/TravelAddressMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/service/ITravelAddressService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/service/ITravelAddressService.java new file mode 100644 index 0000000..93d0d60 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/service/ITravelAddressService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.travelAddress.service; + +import org.jeecg.modules.travelAddress.entity.TravelAddress; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 地址表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +public interface ITravelAddressService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/service/impl/TravelAddressServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/service/impl/TravelAddressServiceImpl.java new file mode 100644 index 0000000..2c50987 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/service/impl/TravelAddressServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.travelAddress.service.impl; + +import org.jeecg.modules.travelAddress.entity.TravelAddress; +import org.jeecg.modules.travelAddress.mapper.TravelAddressMapper; +import org.jeecg.modules.travelAddress.service.ITravelAddressService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 地址表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Service +public class TravelAddressServiceImpl extends ServiceImpl implements ITravelAddressService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/TravelAddressList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/TravelAddressList.vue new file mode 100644 index 0000000..69dd4aa --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/TravelAddressList.vue @@ -0,0 +1,196 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressForm.vue new file mode 100644 index 0000000..c244ed9 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressForm.vue @@ -0,0 +1,124 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressModal.Style#Drawer.vue new file mode 100644 index 0000000..b177879 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressModal.vue new file mode 100644 index 0000000..09e47d9 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue/modules/TravelAddressModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddress.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddress.api.ts new file mode 100644 index 0000000..8c0a835 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddress.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/travelAddress/travelAddress/list', + save='/travelAddress/travelAddress/add', + edit='/travelAddress/travelAddress/edit', + deleteOne = '/travelAddress/travelAddress/delete', + deleteBatch = '/travelAddress/travelAddress/deleteBatch', + importExcel = '/travelAddress/travelAddress/importExcel', + exportXls = '/travelAddress/travelAddress/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddress.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddress.data.ts new file mode 100644 index 0000000..ba835eb --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddress.data.ts @@ -0,0 +1,66 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '联系人姓名', + align:"center", + dataIndex: 'userName' + }, + { + title: '联系人电话', + align:"center", + dataIndex: 'userPhone' + }, + { + title: '所属区域', + align:"center", + dataIndex: 'area' + }, + { + title: '详细地址', + align:"center", + dataIndex: 'address' + }, + { + title: '所属用户', + align:"center", + dataIndex: 'memberId_dictText' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '联系人姓名', + field: 'userName', + component: 'Input', + }, + { + label: '联系人电话', + field: 'userPhone', + component: 'Input', + }, + { + label: '所属区域', + field: 'area', + component: 'Input', + }, + { + label: '详细地址', + field: 'address', + component: 'Input', + }, + { + label: '所属用户', + field: 'memberId', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"han_hai_member,nick_name,id" + }, + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddressList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddressList.vue new file mode 100644 index 0000000..2a86253 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/TravelAddressList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/components/TravelAddressModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/components/TravelAddressModal.vue new file mode 100644 index 0000000..8e42585 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAddress/vue3/components/TravelAddressModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/controller/TravelAmusementController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/controller/TravelAmusementController.java new file mode 100644 index 0000000..87a3c8d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/controller/TravelAmusementController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.travelAmusement.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.travelAmusement.entity.TravelAmusement; +import org.jeecg.modules.travelAmusement.service.ITravelAmusementService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 游玩项目表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Api(tags="游玩项目表") +@RestController +@RequestMapping("/travelAmusement/travelAmusement") +@Slf4j +public class TravelAmusementController extends JeecgController { + @Autowired + private ITravelAmusementService travelAmusementService; + + /** + * 分页列表查询 + * + * @param travelAmusement + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "游玩项目表-分页列表查询") + @ApiOperation(value="游玩项目表-分页列表查询", notes="游玩项目表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TravelAmusement travelAmusement, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(travelAmusement, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = travelAmusementService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param travelAmusement + * @return + */ + @AutoLog(value = "游玩项目表-添加") + @ApiOperation(value="游玩项目表-添加", notes="游玩项目表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TravelAmusement travelAmusement) { + travelAmusementService.save(travelAmusement); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param travelAmusement + * @return + */ + @AutoLog(value = "游玩项目表-编辑") + @ApiOperation(value="游玩项目表-编辑", notes="游玩项目表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TravelAmusement travelAmusement) { + travelAmusementService.updateById(travelAmusement); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "游玩项目表-通过id删除") + @ApiOperation(value="游玩项目表-通过id删除", notes="游玩项目表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + travelAmusementService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "游玩项目表-批量删除") + @ApiOperation(value="游玩项目表-批量删除", notes="游玩项目表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.travelAmusementService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "游玩项目表-通过id查询") + @ApiOperation(value="游玩项目表-通过id查询", notes="游玩项目表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TravelAmusement travelAmusement = travelAmusementService.getById(id); + if(travelAmusement==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(travelAmusement); + } + + /** + * 导出excel + * + * @param request + * @param travelAmusement + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TravelAmusement travelAmusement) { + return super.exportXls(request, travelAmusement, TravelAmusement.class, "游玩项目表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TravelAmusement.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/entity/TravelAmusement.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/entity/TravelAmusement.java new file mode 100644 index 0000000..df879a2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/entity/TravelAmusement.java @@ -0,0 +1,78 @@ +package org.jeecg.modules.travelAmusement.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 游玩项目表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Data +@TableName("travel_amusement") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="travel_amusement对象", description="游玩项目表") +public class TravelAmusement implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**项目标题*/ + @Excel(name = "项目标题", width = 15) + @ApiModelProperty(value = "项目标题") + private java.lang.String amusementTitle; + /**项目副标题*/ + @Excel(name = "项目副标题", width = 15) + @ApiModelProperty(value = "项目副标题") + private java.lang.String amusementShortTitle; + /**项目图片*/ + @Excel(name = "项目图片", width = 15) + @ApiModelProperty(value = "项目图片") + private java.lang.String amusementImage; + /**项目价格*/ + @Excel(name = "项目价格", width = 15) + @ApiModelProperty(value = "项目价格") + private java.math.BigDecimal amusementPrice; + /**项目介绍*/ + @Excel(name = "项目介绍", width = 15) + @ApiModelProperty(value = "项目介绍") + private java.lang.String amusementBrief; + /**关于行程*/ + @Excel(name = "关于行程", width = 15) + @ApiModelProperty(value = "关于行程") + private java.lang.String amusementRoute; + /**注意事项*/ + @Excel(name = "注意事项", width = 15) + @ApiModelProperty(value = "注意事项") + private java.lang.String amusementAttention; + /**出行说明*/ + @Excel(name = "出行说明", width = 15) + @ApiModelProperty(value = "出行说明") + private java.lang.String amusementStatement; + /**是否付费项目(0-否 1-是)*/ + @Excel(name = "是否付费项目(0-否 1-是)", width = 15) + @ApiModelProperty(value = "是否付费项目(0-否 1-是)") + private java.lang.String isPay; + /**项目类型(0-遗产路径 1-我要研学)*/ + @Excel(name = "项目类型(0-遗产路径 1-我要研学)", width = 15) + @ApiModelProperty(value = "项目类型(0-遗产路径 1-我要研学)") + private java.lang.String amusementType; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/mapper/TravelAmusementMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/mapper/TravelAmusementMapper.java new file mode 100644 index 0000000..2f57547 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/mapper/TravelAmusementMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.travelAmusement.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.travelAmusement.entity.TravelAmusement; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 游玩项目表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +public interface TravelAmusementMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/mapper/xml/TravelAmusementMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/mapper/xml/TravelAmusementMapper.xml new file mode 100644 index 0000000..ce98914 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/mapper/xml/TravelAmusementMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/service/ITravelAmusementService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/service/ITravelAmusementService.java new file mode 100644 index 0000000..6f38ebb --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/service/ITravelAmusementService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.travelAmusement.service; + +import org.jeecg.modules.travelAmusement.entity.TravelAmusement; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 游玩项目表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +public interface ITravelAmusementService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/service/impl/TravelAmusementServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/service/impl/TravelAmusementServiceImpl.java new file mode 100644 index 0000000..79794c0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/service/impl/TravelAmusementServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.travelAmusement.service.impl; + +import org.jeecg.modules.travelAmusement.entity.TravelAmusement; +import org.jeecg.modules.travelAmusement.mapper.TravelAmusementMapper; +import org.jeecg.modules.travelAmusement.service.ITravelAmusementService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 游玩项目表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Service +public class TravelAmusementServiceImpl extends ServiceImpl implements ITravelAmusementService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/TravelAmusementList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/TravelAmusementList.vue new file mode 100644 index 0000000..f912893 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/TravelAmusementList.vue @@ -0,0 +1,229 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementForm.vue new file mode 100644 index 0000000..a1d170e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementForm.vue @@ -0,0 +1,149 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementModal.Style#Drawer.vue new file mode 100644 index 0000000..b40d5ad --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementModal.vue new file mode 100644 index 0000000..28a2599 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue/modules/TravelAmusementModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusement.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusement.api.ts new file mode 100644 index 0000000..873c0c1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusement.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/travelAmusement/travelAmusement/list', + save='/travelAmusement/travelAmusement/add', + edit='/travelAmusement/travelAmusement/edit', + deleteOne = '/travelAmusement/travelAmusement/delete', + deleteBatch = '/travelAmusement/travelAmusement/deleteBatch', + importExcel = '/travelAmusement/travelAmusement/importExcel', + exportXls = '/travelAmusement/travelAmusement/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusement.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusement.data.ts new file mode 100644 index 0000000..8330efc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusement.data.ts @@ -0,0 +1,119 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '项目标题', + align:"center", + dataIndex: 'amusementTitle' + }, + { + title: '项目副标题', + align:"center", + dataIndex: 'amusementShortTitle' + }, + { + title: '项目图片', + align:"center", + dataIndex: 'amusementImage', + customRender:render.renderAvatar, + }, + { + title: '项目价格', + align:"center", + dataIndex: 'amusementPrice' + }, + { + title: '项目介绍', + align:"center", + dataIndex: 'amusementBrief' + }, + { + title: '关于行程', + align:"center", + dataIndex: 'amusementRoute', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '注意事项', + align:"center", + dataIndex: 'amusementAttention', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '出行说明', + align:"center", + dataIndex: 'amusementStatement', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '是否付费项目(0-否 1-是)', + align:"center", + dataIndex: 'isPay' + }, + { + title: '项目类型(0-遗产路径 1-我要研学)', + align:"center", + dataIndex: 'amusementType' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '项目标题', + field: 'amusementTitle', + component: 'Input', + }, + { + label: '项目副标题', + field: 'amusementShortTitle', + component: 'Input', + }, + { + label: '项目图片', + field: 'amusementImage', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '项目价格', + field: 'amusementPrice', + component: 'InputNumber', + }, + { + label: '项目介绍', + field: 'amusementBrief', + component: 'Input', + }, + { + label: '关于行程', + field: 'amusementRoute', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '注意事项', + field: 'amusementAttention', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '出行说明', + field: 'amusementStatement', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '是否付费项目(0-否 1-是)', + field: 'isPay', + component: 'Input', + }, + { + label: '项目类型(0-遗产路径 1-我要研学)', + field: 'amusementType', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusementList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusementList.vue new file mode 100644 index 0000000..d8911c2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/TravelAmusementList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/components/TravelAmusementModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/components/TravelAmusementModal.vue new file mode 100644 index 0000000..5613679 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelAmusement/vue3/components/TravelAmusementModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/controller/TravelExperienceController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/controller/TravelExperienceController.java new file mode 100644 index 0000000..9f03117 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/controller/TravelExperienceController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.travelExperience.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.travelExperience.entity.TravelExperience; +import org.jeecg.modules.travelExperience.service.ITravelExperienceService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 非遗体验表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Api(tags="非遗体验表") +@RestController +@RequestMapping("/travelExperience/travelExperience") +@Slf4j +public class TravelExperienceController extends JeecgController { + @Autowired + private ITravelExperienceService travelExperienceService; + + /** + * 分页列表查询 + * + * @param travelExperience + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "非遗体验表-分页列表查询") + @ApiOperation(value="非遗体验表-分页列表查询", notes="非遗体验表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TravelExperience travelExperience, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(travelExperience, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = travelExperienceService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param travelExperience + * @return + */ + @AutoLog(value = "非遗体验表-添加") + @ApiOperation(value="非遗体验表-添加", notes="非遗体验表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TravelExperience travelExperience) { + travelExperienceService.save(travelExperience); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param travelExperience + * @return + */ + @AutoLog(value = "非遗体验表-编辑") + @ApiOperation(value="非遗体验表-编辑", notes="非遗体验表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TravelExperience travelExperience) { + travelExperienceService.updateById(travelExperience); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "非遗体验表-通过id删除") + @ApiOperation(value="非遗体验表-通过id删除", notes="非遗体验表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + travelExperienceService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "非遗体验表-批量删除") + @ApiOperation(value="非遗体验表-批量删除", notes="非遗体验表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.travelExperienceService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "非遗体验表-通过id查询") + @ApiOperation(value="非遗体验表-通过id查询", notes="非遗体验表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TravelExperience travelExperience = travelExperienceService.getById(id); + if(travelExperience==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(travelExperience); + } + + /** + * 导出excel + * + * @param request + * @param travelExperience + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TravelExperience travelExperience) { + return super.exportXls(request, travelExperience, TravelExperience.class, "非遗体验表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TravelExperience.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/entity/TravelExperience.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/entity/TravelExperience.java new file mode 100644 index 0000000..5bb9b1d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/entity/TravelExperience.java @@ -0,0 +1,54 @@ +package org.jeecg.modules.travelExperience.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 非遗体验表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Data +@TableName("travel_experience") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="travel_experience对象", description="非遗体验表") +public class TravelExperience implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**非遗体验标题*/ + @Excel(name = "非遗体验标题", width = 15) + @ApiModelProperty(value = "非遗体验标题") + private java.lang.String experienceTitle; + /**非遗体验封面*/ + @Excel(name = "非遗体验封面", width = 15) + @ApiModelProperty(value = "非遗体验封面") + private java.lang.String experienceImage; + /**开放时间*/ + @Excel(name = "开放时间", width = 15) + @ApiModelProperty(value = "开放时间") + private java.lang.String experienceOpentime; + /**非遗体验详情*/ + @Excel(name = "非遗体验详情", width = 15) + @ApiModelProperty(value = "非遗体验详情") + private java.lang.String experienceDetail; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/mapper/TravelExperienceMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/mapper/TravelExperienceMapper.java new file mode 100644 index 0000000..eb156f4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/mapper/TravelExperienceMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.travelExperience.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.travelExperience.entity.TravelExperience; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 非遗体验表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +public interface TravelExperienceMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/mapper/xml/TravelExperienceMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/mapper/xml/TravelExperienceMapper.xml new file mode 100644 index 0000000..6ee0bba --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/mapper/xml/TravelExperienceMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/service/ITravelExperienceService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/service/ITravelExperienceService.java new file mode 100644 index 0000000..a7a2c05 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/service/ITravelExperienceService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.travelExperience.service; + +import org.jeecg.modules.travelExperience.entity.TravelExperience; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 非遗体验表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +public interface ITravelExperienceService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/service/impl/TravelExperienceServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/service/impl/TravelExperienceServiceImpl.java new file mode 100644 index 0000000..40d28f9 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/service/impl/TravelExperienceServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.travelExperience.service.impl; + +import org.jeecg.modules.travelExperience.entity.TravelExperience; +import org.jeecg.modules.travelExperience.mapper.TravelExperienceMapper; +import org.jeecg.modules.travelExperience.service.ITravelExperienceService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 非遗体验表 + * @Author: jeecg-boot + * @Date: 2024-09-23 + * @Version: V1.0 + */ +@Service +public class TravelExperienceServiceImpl extends ServiceImpl implements ITravelExperienceService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/TravelExperienceList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/TravelExperienceList.vue new file mode 100644 index 0000000..919509a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/TravelExperienceList.vue @@ -0,0 +1,191 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceForm.vue new file mode 100644 index 0000000..56d69b0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceForm.vue @@ -0,0 +1,119 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceModal.Style#Drawer.vue new file mode 100644 index 0000000..a6c87f0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceModal.vue new file mode 100644 index 0000000..80929c4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue/modules/TravelExperienceModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperience.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperience.api.ts new file mode 100644 index 0000000..1451eec --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperience.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/travelExperience/travelExperience/list', + save='/travelExperience/travelExperience/add', + edit='/travelExperience/travelExperience/edit', + deleteOne = '/travelExperience/travelExperience/delete', + deleteBatch = '/travelExperience/travelExperience/deleteBatch', + importExcel = '/travelExperience/travelExperience/importExcel', + exportXls = '/travelExperience/travelExperience/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperience.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperience.data.ts new file mode 100644 index 0000000..ab2113d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperience.data.ts @@ -0,0 +1,57 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '非遗体验标题', + align:"center", + dataIndex: 'experienceTitle' + }, + { + title: '非遗体验封面', + align:"center", + dataIndex: 'experienceImage', + customRender:render.renderAvatar, + }, + { + title: '开放时间', + align:"center", + dataIndex: 'experienceOpentime' + }, + { + title: '非遗体验详情', + align:"center", + dataIndex: 'experienceDetail', + slots: { customRender: 'htmlSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '非遗体验标题', + field: 'experienceTitle', + component: 'Input', + }, + { + label: '非遗体验封面', + field: 'experienceImage', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '开放时间', + field: 'experienceOpentime', + component: 'Input', + }, + { + label: '非遗体验详情', + field: 'experienceDetail', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperienceList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperienceList.vue new file mode 100644 index 0000000..c9d7eae --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/TravelExperienceList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/components/TravelExperienceModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/components/TravelExperienceModal.vue new file mode 100644 index 0000000..5dfe31a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelExperience/vue3/components/TravelExperienceModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/controller/TravelOrderController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/controller/TravelOrderController.java index f6d4416..d924c71 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/controller/TravelOrderController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/controller/TravelOrderController.java @@ -37,12 +37,12 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; /** - * @Description: 线上预定项目表 + * @Description: 预约订单表 * @Author: jeecg-boot - * @Date: 2024-09-14 + * @Date: 2024-09-23 * @Version: V1.0 */ -@Api(tags="线上预定项目表") +@Api(tags="预约订单表") @RestController @RequestMapping("/travelOrder/travelOrder") @Slf4j @@ -59,8 +59,8 @@ public class TravelOrderController extends JeecgController> queryPageList(TravelOrder travelOrder, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @@ -78,8 +78,8 @@ public class TravelOrderController extends JeecgController add(@RequestBody TravelOrder travelOrder) { travelOrderService.save(travelOrder); @@ -92,8 +92,8 @@ public class TravelOrderController extends JeecgController edit(@RequestBody TravelOrder travelOrder) { travelOrderService.updateById(travelOrder); @@ -106,8 +106,8 @@ public class TravelOrderController extends JeecgController delete(@RequestParam(name="id",required=true) String id) { travelOrderService.removeById(id); @@ -120,8 +120,8 @@ public class TravelOrderController extends JeecgController deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.travelOrderService.removeByIds(Arrays.asList(ids.split(","))); @@ -134,8 +134,8 @@ public class TravelOrderController extends JeecgController queryById(@RequestParam(name="id",required=true) String id) { TravelOrder travelOrder = travelOrderService.getById(id); @@ -153,7 +153,7 @@ public class TravelOrderController extends JeecgController { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/service/ITravelOrderService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/service/ITravelOrderService.java index f3a29d3..b2b90e5 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/service/ITravelOrderService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/service/ITravelOrderService.java @@ -4,9 +4,9 @@ import org.jeecg.modules.travelOrder.entity.TravelOrder; import com.baomidou.mybatisplus.extension.service.IService; /** - * @Description: 线上预定项目表 + * @Description: 预约订单表 * @Author: jeecg-boot - * @Date: 2024-09-14 + * @Date: 2024-09-23 * @Version: V1.0 */ public interface ITravelOrderService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/service/impl/TravelOrderServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/service/impl/TravelOrderServiceImpl.java index 69711f1..b135b67 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/service/impl/TravelOrderServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/service/impl/TravelOrderServiceImpl.java @@ -8,9 +8,9 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** - * @Description: 线上预定项目表 + * @Description: 预约订单表 * @Author: jeecg-boot - * @Date: 2024-09-14 + * @Date: 2024-09-23 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue/TravelOrderList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue/TravelOrderList.vue index a9d06dd..e9cdeba 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue/TravelOrderList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue/TravelOrderList.vue @@ -12,7 +12,7 @@
新增 - 导出 + 导出 导入 @@ -99,7 +99,6 @@ import { mixinDevice } from '@/utils/mixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin' import TravelOrderModal from './modules/TravelOrderModal' - import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' export default { name: 'TravelOrderList', @@ -109,7 +108,7 @@ }, data () { return { - description: '线上预定项目表管理页面', + description: '预约订单表管理页面', // 表头 columns: [ { @@ -123,56 +122,34 @@ } }, { - title:'预约项目标题', + title:'订单类型(0-路径定制 1-遗产讲述 2-达人同游 3-我要跟拍 4-非遗体验)', align:"center", - dataIndex: 'orderTitle' - }, - { - title:'预约项目副标题', - align:"center", - dataIndex: 'orderShortTitle' - }, - { - title:'预约项目封面', - align:"center", - dataIndex: 'orderImage', - scopedSlots: {customRender: 'imgSlot'} - }, - { - title:'预约项目价格', - align:"center", - dataIndex: 'orderPrice' - }, - { - title:'预约项目简介', - align:"center", - dataIndex: 'orderBrief' + dataIndex: 'orderType' }, { - title:'关于行程', + title:'主题', align:"center", - dataIndex: 'orderRoute' + dataIndex: 'orderTitle' }, { - title:'注意事项', + title:'电话', align:"center", - dataIndex: 'orderAttention' + dataIndex: 'orderPhone' }, { - title:'出行说明', + title:'预约时间', align:"center", - dataIndex: 'orderStatement' + dataIndex: 'orderTime' }, { - title:'项目详情介绍', + title:'预约价格', align:"center", - dataIndex: 'orderDetail', - scopedSlots: {customRender: 'htmlSlot'} + dataIndex: 'orderPrice' }, { - title:'项目所属分类', + title:'预约项目编号', align:"center", - dataIndex: 'categoryId' + dataIndex: 'itemId' }, { title: '操作', @@ -208,16 +185,12 @@ }, getSuperFieldList(){ let fieldList=[]; - fieldList.push({type:'string',value:'orderTitle',text:'预约项目标题',dictCode:''}) - fieldList.push({type:'string',value:'orderShortTitle',text:'预约项目副标题',dictCode:''}) - fieldList.push({type:'string',value:'orderImage',text:'预约项目封面',dictCode:''}) - fieldList.push({type:'string',value:'orderPrice',text:'预约项目价格',dictCode:''}) - fieldList.push({type:'string',value:'orderBrief',text:'预约项目简介',dictCode:''}) - fieldList.push({type:'string',value:'orderRoute',text:'关于行程',dictCode:''}) - fieldList.push({type:'string',value:'orderAttention',text:'注意事项',dictCode:''}) - fieldList.push({type:'string',value:'orderStatement',text:'出行说明',dictCode:''}) - fieldList.push({type:'string',value:'orderDetail',text:'项目详情介绍',dictCode:''}) - fieldList.push({type:'string',value:'categoryId',text:'项目所属分类',dictCode:"travel_category,category_name,id"}) + fieldList.push({type:'string',value:'orderType',text:'订单类型(0-路径定制 1-遗产讲述 2-达人同游 3-我要跟拍 4-非遗体验)',dictCode:''}) + fieldList.push({type:'string',value:'orderTitle',text:'主题',dictCode:''}) + fieldList.push({type:'string',value:'orderPhone',text:'电话',dictCode:''}) + fieldList.push({type:'datetime',value:'orderTime',text:'预约时间'}) + fieldList.push({type:'BigDecimal',value:'orderPrice',text:'预约价格',dictCode:''}) + fieldList.push({type:'string',value:'itemId',text:'预约项目编号',dictCode:''}) this.superFieldList = fieldList } } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue/modules/TravelOrderForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue/modules/TravelOrderForm.vue index 921bd30..4c0edcb 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue/modules/TravelOrderForm.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue/modules/TravelOrderForm.vue @@ -4,53 +4,33 @@ - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue3/TravelOrder.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue3/TravelOrder.data.ts index fded225..ee637f3 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue3/TravelOrder.data.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue3/TravelOrder.data.ts @@ -5,56 +5,34 @@ import { render } from '/@/utils/common/renderUtils'; //列表数据 export const columns: BasicColumn[] = [ { - title: '预约项目标题', + title: '订单类型(0-路径定制 1-遗产讲述 2-达人同游 3-我要跟拍 4-非遗体验)', align:"center", - dataIndex: 'orderTitle' - }, - { - title: '预约项目副标题', - align:"center", - dataIndex: 'orderShortTitle' - }, - { - title: '预约项目封面', - align:"center", - dataIndex: 'orderImage', - customRender:render.renderAvatar, - }, - { - title: '预约项目价格', - align:"center", - dataIndex: 'orderPrice' - }, - { - title: '预约项目简介', - align:"center", - dataIndex: 'orderBrief' + dataIndex: 'orderType' }, { - title: '关于行程', + title: '主题', align:"center", - dataIndex: 'orderRoute' + dataIndex: 'orderTitle' }, { - title: '注意事项', + title: '电话', align:"center", - dataIndex: 'orderAttention' + dataIndex: 'orderPhone' }, { - title: '出行说明', + title: '预约时间', align:"center", - dataIndex: 'orderStatement' + dataIndex: 'orderTime' }, { - title: '项目详情介绍', + title: '预约价格', align:"center", - dataIndex: 'orderDetail', - slots: { customRender: 'htmlSlot' }, + dataIndex: 'orderPrice' }, { - title: '项目所属分类', + title: '预约项目编号', align:"center", - dataIndex: 'categoryId' + dataIndex: 'itemId' }, ]; //查询数据 @@ -63,55 +41,33 @@ export const searchFormSchema: FormSchema[] = [ //表单数据 export const formSchema: FormSchema[] = [ { - label: '预约项目标题', - field: 'orderTitle', - component: 'Input', - }, - { - label: '预约项目副标题', - field: 'orderShortTitle', + label: '订单类型(0-路径定制 1-遗产讲述 2-达人同游 3-我要跟拍 4-非遗体验)', + field: 'orderType', component: 'Input', }, { - label: '预约项目封面', - field: 'orderImage', - component: 'JImageUpload', - componentProps:{ - }, - }, - { - label: '预约项目价格', - field: 'orderPrice', - component: 'Input', - }, - { - label: '预约项目简介', - field: 'orderBrief', - component: 'Input', - }, - { - label: '关于行程', - field: 'orderRoute', + label: '主题', + field: 'orderTitle', component: 'Input', }, { - label: '注意事项', - field: 'orderAttention', + label: '电话', + field: 'orderPhone', component: 'Input', }, { - label: '出行说明', - field: 'orderStatement', + label: '预约时间', + field: 'orderTime', component: 'Input', }, { - label: '项目详情介绍', - field: 'orderDetail', - component: 'JCodeEditor', //TODO String后缀暂未添加 + label: '预约价格', + field: 'orderPrice', + component: 'InputNumber', }, { - label: '项目所属分类', - field: 'categoryId', + label: '预约项目编号', + field: 'itemId', component: 'Input', }, ]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue3/TravelOrderList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue3/TravelOrderList.vue index 3e579e7..655d644 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue3/TravelOrderList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelOrder/vue3/TravelOrderList.vue @@ -53,7 +53,7 @@ //注册table数据 const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({ tableProps:{ - title: '线上预定项目表', + title: '预约订单表', api: list, columns, canResize:false, @@ -70,7 +70,7 @@ }, }, exportConfig: { - name:"线上预定项目表", + name:"预约订单表", url: getExportUrl, }, importConfig: { diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java index f563dfe..4f38684 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java @@ -6,6 +6,9 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.apiBean.PageBean; import org.jeecg.modules.apiService.IndexApiService; +import org.jeecg.modules.travelAddress.entity.TravelAddress; +import org.jeecg.modules.travelOrder.entity.TravelOrder; +import org.jeecg.modules.travelTime.entity.TravelTime; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -103,9 +106,78 @@ public class IndexApiController { return indexApiService.queryVedioById(roleInfoId, pageBean); } - //遗产路径-待补充 + //遗产路径/我要研学 + @ApiOperation(value="小程序-获取游玩项目列表/详情", notes="amusementType:0-遗产路径 1-我要研学;isPay:0-免费 1-付费") + @RequestMapping(value = "/queryAmusement", method = {RequestMethod.GET}) + public Result queryAmusement(String amusementId, String amusementType, String isPay, PageBean pageBean){ + return indexApiService.queryAmusement(amusementId, amusementType, isPay, pageBean); + } + + //非遗体验 + @ApiOperation(value="小程序-获取非遗体验列表/详情", notes="小程序-获取非遗体验列表/详情") + @RequestMapping(value = "/queryExperience", method = {RequestMethod.GET}) + public Result queryExperience(String experienceId, PageBean pageBean){ + return indexApiService.queryExperience(experienceId, pageBean); + } + + /*//我的收藏 + @ApiOperation(value="小程序-获取我的收藏列表", notes="小程序-获取我的收藏列表") + @RequestMapping(value = "/queryCollection", method = {RequestMethod.GET}) + public Result queryCollection(String experienceId, PageBean pageBean){ + return indexApiService.queryCollection(experienceId, pageBean); + } + + //我的预约 + @ApiOperation(value="小程序-获取我的预约列表", notes="小程序-获取我的预约列表") + @RequestMapping(value = "/queryPreOrder", method = {RequestMethod.GET}) + public Result queryPreOrder(String preOrderType, PageBean pageBean){ + return indexApiService.queryPreOrder(preOrderType, pageBean); + }*/ + + //地址 + //查询地址 + @ApiOperation(value="小程序-查询地址", notes="小程序-查询地址") + @RequestMapping(value = "/queryAddress", method = {RequestMethod.GET}) + public Result queryAddress(TravelAddress travelAddress, PageBean pageBean){ + return indexApiService.queryAddress(travelAddress, pageBean); + } + + //新增地址 + @ApiOperation(value="小程序-新增地址", notes="小程序-新增地址") + @RequestMapping(value = "/addAddress", method = {RequestMethod.POST}) + public Result addAddress(TravelAddress travelAddress){ + return indexApiService.addAddress(travelAddress); + } + + //删除地址 + @ApiOperation(value="小程序-删除地址", notes="小程序-删除地址") + @RequestMapping(value = "/deleteAddress", method = {RequestMethod.DELETE}) + public Result deleteAddress(String AddressId){ + return indexApiService.deleteAddress(AddressId); + } + + //修改地址 + @ApiOperation(value="小程序-修改地址", notes="小程序-修改地址") + @RequestMapping(value = "/updateAddress", method = {RequestMethod.POST}) + public Result updateAddress(TravelAddress travelAddress){ + return indexApiService.updateAddress(travelAddress); + } + + + //时间段查询 + @ApiOperation(value="小程序-查询预约时间段", notes="小程序-查询预约时间段") + @RequestMapping(value = "/queryOrderTime", method = {RequestMethod.GET}) + public Result queryOrderTime(TravelTime travelTime){ + return indexApiService.queryOrderTime(travelTime); + } + + //查询订单信息 + @ApiOperation(value="小程序-查询订单列表", notes="小程序-查询订单列表") + @RequestMapping(value = "/queryOrderList", method = {RequestMethod.GET}) + public Result queryOrderList(TravelOrder travelOrder, PageBean pageBean){ + return indexApiService.queryOrderList(travelOrder, pageBean); + } - //我要研学-待补充 //文创好物-待补充 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java index b39b8d3..9dbd636 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java @@ -2,6 +2,9 @@ package org.jeecg.modules.apiService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.apiBean.PageBean; +import org.jeecg.modules.travelAddress.entity.TravelAddress; +import org.jeecg.modules.travelOrder.entity.TravelOrder; +import org.jeecg.modules.travelTime.entity.TravelTime; public interface IndexApiService { //获取小程序任一文章或服务 @@ -39,9 +42,36 @@ public interface IndexApiService { //根据角色id获取视频列表 public Result queryVedioById(String roleInfoId, PageBean pageBean); - //遗产路径-待补充 + //根据角色id获取视遗产路径/我要研学列表 + public Result queryAmusement(String amusementId, String amusementType, String isPay, PageBean pageBean); + + //非遗体验 + public Result queryExperience(String experienceId, PageBean pageBean); + + //我的收藏 + public Result queryCollection(String collectionType, PageBean pageBean); + + //我的预约 + public Result queryPreOrder(String collectionType, PageBean pageBean); + + //查询地址 + public Result queryAddress(TravelAddress travelAddress, PageBean pageBean); + + //新增地址 + public Result addAddress(TravelAddress travelAddress); + + //删除地址 + public Result deleteAddress(String addressId); + + //修改地址 + public Result updateAddress(TravelAddress travelAddress); + + //预约时段表 + public Result queryOrderTime(TravelTime travelTime); + + //查询预约订单列表 + public Result queryOrderList(TravelOrder travelOrder, PageBean pageBean); - //我要研学-待补充 //文创好物-待补充 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java index f7ffad7..afca8af 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java @@ -5,26 +5,37 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.modules.apiBean.PageBean; import org.jeecg.modules.apiService.IndexApiService; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.jeecg.modules.travelAddress.entity.TravelAddress; +import org.jeecg.modules.travelAddress.service.ITravelAddressService; +import org.jeecg.modules.travelAmusement.entity.TravelAmusement; +import org.jeecg.modules.travelAmusement.service.ITravelAmusementService; import org.jeecg.modules.travelArea.entity.TravelArea; import org.jeecg.modules.travelArea.service.ITravelAreaService; import org.jeecg.modules.travelArticle.entity.TravelArticle; import org.jeecg.modules.travelArticle.service.ITravelArticleService; +import org.jeecg.modules.travelCategory.entity.TravelCategory; import org.jeecg.modules.travelCategory.service.ITravelCategoryService; import org.jeecg.modules.travelCertification.service.ITravelCertificationService; +import org.jeecg.modules.travelExperience.entity.TravelExperience; +import org.jeecg.modules.travelExperience.service.ITravelExperienceService; import org.jeecg.modules.travelImage.entity.TravelImage; import org.jeecg.modules.travelImage.service.ITravelImageService; +import org.jeecg.modules.travelOrder.entity.TravelOrder; import org.jeecg.modules.travelOrder.service.ITravelOrderService; import org.jeecg.modules.travelRole.service.ITravelRoleService; import org.jeecg.modules.travelRoleInfo.entity.TravelRoleInfo; import org.jeecg.modules.travelRoleInfo.service.ITravelRoleInfoService; import org.jeecg.modules.travelSpot.entity.TravelSpot; import org.jeecg.modules.travelSpot.service.ITravelSpotService; +import org.jeecg.modules.travelTime.entity.TravelTime; +import org.jeecg.modules.travelTime.service.ITravelTimeService; import org.jeecg.modules.travelVideo.entity.TravelVideo; import org.jeecg.modules.travelVideo.service.ITravelVideoService; import org.jeecg.modules.travelVolunteer.service.ITravelVolunteerService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; @Service @@ -59,12 +70,33 @@ public class IndexApiServiceImpl implements IndexApiService { //视频表 @Resource private ITravelVideoService travelVideoService; - //证件表 + //游玩项目表 @Resource - private ITravelCertificationService travelCertificationService; - //订单表 + private ITravelAmusementService travelAmusementService; + + //非遗体验表 + @Resource + private ITravelExperienceService travelExperienceService; + + //收货地址表 + @Resource + private ITravelAddressService travelAddressService; + + //预约时段表 + @Resource + private ITravelTimeService travelTimeService; + + //预约订单表 @Resource private ITravelOrderService travelOrderService; + + + + + + //证件表 + @Resource + private ITravelCertificationService travelCertificationService; //志愿者表 @Resource private ITravelVolunteerService travelVolunteerService; @@ -363,6 +395,195 @@ public class IndexApiServiceImpl implements IndexApiService { return Result.OK("视频列表", pageList); } + //获取游玩项目列表 + @Override + public Result queryAmusement(String amusementId, String amusementType, String isPay, PageBean pageBean) { + Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + Page pageList; + + if(null != amusementId && null != amusementType && null != isPay){ + pageList = travelAmusementService + .lambdaQuery() + .eq(TravelAmusement::getId, amusementId) + .eq(TravelAmusement::getAmusementType, amusementType) + .eq(TravelAmusement::getIsPay, isPay) + .page(page); + }else if(null != amusementId && null != amusementType){ + pageList = travelAmusementService + .lambdaQuery() + .eq(TravelAmusement::getId, amusementId) + .eq(TravelAmusement::getAmusementType, amusementType) + .page(page); + }else if(null != amusementId && null != isPay){ + pageList = travelAmusementService + .lambdaQuery() + .eq(TravelAmusement::getId, amusementId) + .eq(TravelAmusement::getIsPay, isPay) + .page(page); + }else if(null != amusementType && null != isPay){ + pageList = travelAmusementService + .lambdaQuery() + .eq(TravelAmusement::getAmusementType, amusementType) + .eq(TravelAmusement::getIsPay, isPay) + .page(page); + }else if(null != amusementId && null != amusementType){ + pageList = travelAmusementService + .lambdaQuery() + .eq(TravelAmusement::getId, amusementId) + .eq(TravelAmusement::getAmusementType, amusementType) + .page(page); + }else if(null != amusementId){ + pageList = travelAmusementService + .lambdaQuery() + .eq(TravelAmusement::getId, amusementId) + .page(page); + }else if(null != amusementType){ + pageList = travelAmusementService + .lambdaQuery() + .eq(TravelAmusement::getAmusementType, amusementType) + .page(page); + }else if(null != isPay){ + pageList = travelAmusementService + .lambdaQuery() + .eq(TravelAmusement::getIsPay, isPay) + .page(page); + }else { + pageList = travelAmusementService + .lambdaQuery() + .page(page); + } + + + return Result.OK("游玩项目列表/详情", pageList); + } + + //获取非遗体验 + @Override + public Result queryExperience(String experienceId, PageBean pageBean) { + + Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + Page pageList; + + if(null != experienceId){ + pageList = travelExperienceService + .lambdaQuery() + .eq(TravelExperience::getId, experienceId) + .page(page); + }else { + pageList = travelExperienceService + .lambdaQuery() + .page(page); + } + + return Result.OK("非遗体验列表/详情", pageList); + } + + @Override + public Result queryCollection(String collectionType, PageBean pageBean) { + + return null; + } + + + @Override + public Result queryPreOrder(String collectionType, PageBean pageBean) { + return null; + } + + //获取地址列表 + @Override + public Result queryAddress(TravelAddress travelAddress, PageBean pageBean) { + Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + Page pageList; + + if(null != travelAddress.getMemberId()){ + pageList = travelAddressService + .lambdaQuery() + .eq(TravelAddress::getMemberId,travelAddress.getMemberId()) + .page(page); + }else { + pageList = travelAddressService + .lambdaQuery() + .page(page); + } + + return Result.OK("地址列表", pageList); + } + + //新增地址 + @Override + public Result addAddress(TravelAddress travelAddress) { + boolean flag = travelAddressService.save(travelAddress); + if(flag){ + return Result.OK("新增地址成功!"); + }else { + return Result.OK("新增地址失败!"); + } + } + + //删除地址 + @Override + public Result deleteAddress(String addressId) { + boolean flag = travelAddressService.removeById(addressId); + if(flag){ + return Result.OK("删除地址成功!"); + }else { + return Result.OK("删除地址失败!"); + } + } + + //修改地址 + @Override + public Result updateAddress(TravelAddress travelAddress) { + boolean flag = travelAddressService.updateById(travelAddress); + if(flag){ + return Result.OK("修改地址成功!"); + }else { + return Result.OK("修改地址失败!"); + } + } + + //查询预约时间段 + @Override + public Result queryOrderTime(TravelTime travelTime) { + List list; + + if(null != travelTime.getTimeType()){ + list = travelTimeService + .lambdaQuery() + .eq(TravelTime::getTimeType, travelTime.getTimeType()) + .orderByAsc(TravelTime::getTimeDot) + .list(); + }else { + list = travelTimeService + .lambdaQuery() + .orderByAsc(TravelTime::getTimeDot) + .list(); + } + return Result.OK("时段列表", list); + } + + //查询预约订单列表 + @Override + public Result queryOrderList(TravelOrder travelOrder, PageBean pageBean) { + Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + Page pageList; + + if(null != travelOrder.getOrderType()){ + pageList = travelOrderService + .lambdaQuery() + .eq(TravelOrder::getOrderType, travelOrder.getOrderType()) + .orderByDesc(TravelOrder::getCreateTime) + .page(page); + }else { + pageList = travelOrderService + .lambdaQuery() + .orderByDesc(TravelOrder::getCreateTime) + .page(page); + } + return Result.OK("订单列表", pageList); + } + //添加建议 @Override public Result addAdvice() {