From cce14211f430c5eaeb74d66368b2e474106c417c Mon Sep 17 00:00:00 2001 From: gxwebsoft Date: Thu, 25 Apr 2024 15:28:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9C=BA=E9=A6=86=E5=9C=BA?= =?UTF-8?q?=E5=9C=B0=E6=A8=A1=E5=9D=97=E3=80=81=E5=9C=BA=E5=9C=B0=E6=97=B6?= =?UTF-8?q?=E6=AE=B5=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../booking/controller/FieldController.java | 110 +++++++++++++++++ .../booking/controller/PeriodController.java | 115 ++++++++++++++++++ .../com/gxwebsoft/booking/entity/Field.java | 73 +++++++++++ .../com/gxwebsoft/booking/entity/Period.java | 80 ++++++++++++ .../gxwebsoft/booking/mapper/FieldMapper.java | 37 ++++++ .../booking/mapper/PeriodMapper.java | 37 ++++++ .../booking/mapper/xml/FieldMapper.xml | 72 +++++++++++ .../booking/mapper/xml/PeriodMapper.xml | 78 ++++++++++++ .../gxwebsoft/booking/param/FieldParam.java | 75 ++++++++++++ .../gxwebsoft/booking/param/PeriodParam.java | 79 ++++++++++++ .../booking/service/FieldService.java | 42 +++++++ .../booking/service/PeriodService.java | 42 +++++++ .../service/impl/FieldServiceImpl.java | 47 +++++++ .../service/impl/PeriodServiceImpl.java | 47 +++++++ .../gxwebsoft/generator/BookingGenerator.java | 4 +- 15 files changed, 937 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/gxwebsoft/booking/controller/FieldController.java create mode 100644 src/main/java/com/gxwebsoft/booking/controller/PeriodController.java create mode 100644 src/main/java/com/gxwebsoft/booking/entity/Field.java create mode 100644 src/main/java/com/gxwebsoft/booking/entity/Period.java create mode 100644 src/main/java/com/gxwebsoft/booking/mapper/FieldMapper.java create mode 100644 src/main/java/com/gxwebsoft/booking/mapper/PeriodMapper.java create mode 100644 src/main/java/com/gxwebsoft/booking/mapper/xml/FieldMapper.xml create mode 100644 src/main/java/com/gxwebsoft/booking/mapper/xml/PeriodMapper.xml create mode 100644 src/main/java/com/gxwebsoft/booking/param/FieldParam.java create mode 100644 src/main/java/com/gxwebsoft/booking/param/PeriodParam.java create mode 100644 src/main/java/com/gxwebsoft/booking/service/FieldService.java create mode 100644 src/main/java/com/gxwebsoft/booking/service/PeriodService.java create mode 100644 src/main/java/com/gxwebsoft/booking/service/impl/FieldServiceImpl.java create mode 100644 src/main/java/com/gxwebsoft/booking/service/impl/PeriodServiceImpl.java diff --git a/src/main/java/com/gxwebsoft/booking/controller/FieldController.java b/src/main/java/com/gxwebsoft/booking/controller/FieldController.java new file mode 100644 index 0000000..3128f8d --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/controller/FieldController.java @@ -0,0 +1,110 @@ +package com.gxwebsoft.booking.controller; + +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.booking.service.FieldService; +import com.gxwebsoft.booking.entity.Field; +import com.gxwebsoft.booking.param.FieldParam; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.system.entity.User; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 场馆场地控制器 + * + * @author 科技小王子 + * @since 2024-04-25 13:22:11 + */ +@Api(tags = "场馆场地管理") +@RestController +@RequestMapping("/api/booking/field") +public class FieldController extends BaseController { + @Resource + private FieldService fieldService; + + @ApiOperation("分页查询场馆场地") + @GetMapping("/page") + public ApiResult> page(FieldParam param) { + // 使用关联查询 + return success(fieldService.pageRel(param)); + } + + @ApiOperation("查询全部场馆场地") + @GetMapping() + public ApiResult> list(FieldParam param) { + // 使用关联查询 + return success(fieldService.listRel(param)); + } + + @PreAuthorize("hasAuthority('booking:field:list')") + @ApiOperation("根据id查询场馆场地") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(fieldService.getByIdRel(id)); + } + + @ApiOperation("添加场馆场地") + @PostMapping() + public ApiResult save(@RequestBody Field field) { + if (fieldService.save(field)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改场馆场地") + @PutMapping() + public ApiResult update(@RequestBody Field field) { + if (fieldService.updateById(field)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除场馆场地") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (fieldService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加场馆场地") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (fieldService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改场馆场地") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(fieldService, "field_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除场馆场地") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (fieldService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/booking/controller/PeriodController.java b/src/main/java/com/gxwebsoft/booking/controller/PeriodController.java new file mode 100644 index 0000000..512b4e6 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/controller/PeriodController.java @@ -0,0 +1,115 @@ +package com.gxwebsoft.booking.controller; + +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.booking.service.PeriodService; +import com.gxwebsoft.booking.entity.Period; +import com.gxwebsoft.booking.param.PeriodParam; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.system.entity.User; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 场地时段控制器 + * + * @author 科技小王子 + * @since 2024-04-25 15:25:18 + */ +@Api(tags = "场地时段管理") +@RestController +@RequestMapping("/api/booking/period") +public class PeriodController extends BaseController { + @Resource + private PeriodService periodService; + + @ApiOperation("分页查询场地时段") + @GetMapping("/page") + public ApiResult> page(PeriodParam param) { + // 使用关联查询 + return success(periodService.pageRel(param)); + } + + @ApiOperation("查询全部场地时段") + @GetMapping() + public ApiResult> list(PeriodParam param) { + // 使用关联查询 + return success(periodService.listRel(param)); + } + + @PreAuthorize("hasAuthority('booking:period:list')") + @ApiOperation("根据id查询场地时段") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(periodService.getByIdRel(id)); + } + + @ApiOperation("添加场地时段") + @PostMapping() + public ApiResult save(@RequestBody Period period) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // period.setUserId(loginUser.getUserId()); + // } + if (periodService.save(period)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改场地时段") + @PutMapping() + public ApiResult update(@RequestBody Period period) { + if (periodService.updateById(period)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除场地时段") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (periodService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加场地时段") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (periodService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改场地时段") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(periodService, "period_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除场地时段") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (periodService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/booking/entity/Field.java b/src/main/java/com/gxwebsoft/booking/entity/Field.java new file mode 100644 index 0000000..aa360e3 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/entity/Field.java @@ -0,0 +1,73 @@ +package com.gxwebsoft.booking.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 场馆场地 + * + * @author 科技小王子 + * @since 2024-04-25 13:22:11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "Field对象", description = "场馆场地") +@TableName("booking_field") +public class Field implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(value = "field_id", type = IdType.AUTO) + private Integer fieldId; + + @ApiModelProperty(value = "场地名称") + private String fieldName; + + @ApiModelProperty(value = "是否有卫生间,1有,2没有") + private Integer isToilet; + + @ApiModelProperty(value = "是否关闭,1开启,2关闭") + private Integer isStatus; + + @ApiModelProperty(value = "是否重复预订,1可以,2不可以") + private Integer isRepeat; + + @ApiModelProperty(value = "是否可预定半场,1可以,2不可以") + private Integer isHalf; + + @ApiModelProperty(value = "是否支持儿童价:1支持,2不支持") + private Integer isChildren; + + @ApiModelProperty(value = "可重复预订次数") + private Integer num; + + @ApiModelProperty(value = "显示在第几行") + private Integer row; + + @ApiModelProperty(value = "商户ID") + private Integer merchantId; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/booking/entity/Period.java b/src/main/java/com/gxwebsoft/booking/entity/Period.java new file mode 100644 index 0000000..3841957 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/entity/Period.java @@ -0,0 +1,80 @@ +package com.gxwebsoft.booking.entity; + +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 场地时段 + * + * @author 科技小王子 + * @since 2024-04-25 15:25:18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "Period对象", description = "场地时段") +@TableName("booking_period") +public class Period implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(value = "period_id", type = IdType.AUTO) + private Integer periodId; + + @ApiModelProperty(value = "时段") + private String timePeriod; + + @ApiModelProperty(value = "价格") + private BigDecimal price; + + @ApiModelProperty(value = "每日不同价格") + private String prices; + + @ApiModelProperty(value = "半场价格") + private BigDecimal halfPrice; + + @ApiModelProperty(value = "每日不同半场价格") + private String halfPrices; + + @ApiModelProperty(value = "儿童价") + private BigDecimal childrenPrice; + + @ApiModelProperty(value = "星期选择") + private String week; + + @ApiModelProperty(value = "排序") + private Integer sortNumber; + + @ApiModelProperty(value = "关联id") + private Integer merchantId; + + @ApiModelProperty(value = "是否关闭,1开启,2关闭") + private Integer isStatus; + + @ApiModelProperty(value = "是否免费:1免费,2收费") + private Integer isFree; + + @ApiModelProperty(value = "开始时间") + private String startTime; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/booking/mapper/FieldMapper.java b/src/main/java/com/gxwebsoft/booking/mapper/FieldMapper.java new file mode 100644 index 0000000..a262fa2 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/mapper/FieldMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.booking.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.booking.entity.Field; +import com.gxwebsoft.booking.param.FieldParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 场馆场地Mapper + * + * @author 科技小王子 + * @since 2024-04-25 13:22:11 + */ +public interface FieldMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") FieldParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") FieldParam param); + +} diff --git a/src/main/java/com/gxwebsoft/booking/mapper/PeriodMapper.java b/src/main/java/com/gxwebsoft/booking/mapper/PeriodMapper.java new file mode 100644 index 0000000..457978b --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/mapper/PeriodMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.booking.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.booking.entity.Period; +import com.gxwebsoft.booking.param.PeriodParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 场地时段Mapper + * + * @author 科技小王子 + * @since 2024-04-25 15:25:18 + */ +public interface PeriodMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") PeriodParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") PeriodParam param); + +} diff --git a/src/main/java/com/gxwebsoft/booking/mapper/xml/FieldMapper.xml b/src/main/java/com/gxwebsoft/booking/mapper/xml/FieldMapper.xml new file mode 100644 index 0000000..5e20478 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/mapper/xml/FieldMapper.xml @@ -0,0 +1,72 @@ + + + + + + + SELECT a.* + FROM booking_field a + + + AND a.field_id = #{param.fieldId} + + + AND a.field_name LIKE CONCAT('%', #{param.fieldName}, '%') + + + AND a.is_toilet = #{param.isToilet} + + + AND a.is_status = #{param.isStatus} + + + AND a.is_repeat = #{param.isRepeat} + + + AND a.is_half = #{param.isHalf} + + + AND a.is_children = #{param.isChildren} + + + AND a.num = #{param.num} + + + AND a.row = #{param.row} + + + AND a.merchant_id = #{param.merchantId} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.field_name LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/booking/mapper/xml/PeriodMapper.xml b/src/main/java/com/gxwebsoft/booking/mapper/xml/PeriodMapper.xml new file mode 100644 index 0000000..73ba2b2 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/mapper/xml/PeriodMapper.xml @@ -0,0 +1,78 @@ + + + + + + + SELECT a.* + FROM booking_period a + + + AND a.period_id = #{param.periodId} + + + AND a.time_period LIKE CONCAT('%', #{param.timePeriod}, '%') + + + AND a.price = #{param.price} + + + AND a.prices LIKE CONCAT('%', #{param.prices}, '%') + + + AND a.half_price = #{param.halfPrice} + + + AND a.half_prices LIKE CONCAT('%', #{param.halfPrices}, '%') + + + AND a.children_price = #{param.childrenPrice} + + + AND a.week LIKE CONCAT('%', #{param.week}, '%') + + + AND a.sort_number = #{param.sortNumber} + + + AND a.merchant_id = #{param.merchantId} + + + AND a.is_status = #{param.isStatus} + + + AND a.is_free = #{param.isFree} + + + AND a.start_time LIKE CONCAT('%', #{param.startTime}, '%') + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/booking/param/FieldParam.java b/src/main/java/com/gxwebsoft/booking/param/FieldParam.java new file mode 100644 index 0000000..7934943 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/param/FieldParam.java @@ -0,0 +1,75 @@ +package com.gxwebsoft.booking.param; + +import java.math.BigDecimal; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 场馆场地查询参数 + * + * @author 科技小王子 + * @since 2024-04-25 13:22:11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "FieldParam对象", description = "场馆场地查询参数") +public class FieldParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @QueryField(type = QueryType.EQ) + private Integer fieldId; + + @ApiModelProperty(value = "场地名称") + private String fieldName; + + @ApiModelProperty(value = "是否有卫生间,1有,2没有") + @QueryField(type = QueryType.EQ) + private Boolean isToilet; + + @ApiModelProperty(value = "是否关闭,1开启,2关闭") + @QueryField(type = QueryType.EQ) + private Boolean isStatus; + + @ApiModelProperty(value = "是否重复预订,1可以,2不可以") + @QueryField(type = QueryType.EQ) + private Boolean isRepeat; + + @ApiModelProperty(value = "是否可预定半场,1可以,2不可以") + @QueryField(type = QueryType.EQ) + private Boolean isHalf; + + @ApiModelProperty(value = "是否支持儿童价:1支持,2不支持") + @QueryField(type = QueryType.EQ) + private Boolean isChildren; + + @ApiModelProperty(value = "可重复预订次数") + @QueryField(type = QueryType.EQ) + private Integer num; + + @ApiModelProperty(value = "显示在第几行") + @QueryField(type = QueryType.EQ) + private Boolean row; + + @ApiModelProperty(value = "商户ID") + @QueryField(type = QueryType.EQ) + private Integer merchantId; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/booking/param/PeriodParam.java b/src/main/java/com/gxwebsoft/booking/param/PeriodParam.java new file mode 100644 index 0000000..90ca30c --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/param/PeriodParam.java @@ -0,0 +1,79 @@ +package com.gxwebsoft.booking.param; + +import java.math.BigDecimal; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 场地时段查询参数 + * + * @author 科技小王子 + * @since 2024-04-25 15:25:18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "PeriodParam对象", description = "场地时段查询参数") +public class PeriodParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @QueryField(type = QueryType.EQ) + private Integer periodId; + + @ApiModelProperty(value = "时段") + private String timePeriod; + + @ApiModelProperty(value = "价格") + @QueryField(type = QueryType.EQ) + private BigDecimal price; + + @ApiModelProperty(value = "每日不同价格") + private String prices; + + @ApiModelProperty(value = "半场价格") + @QueryField(type = QueryType.EQ) + private BigDecimal halfPrice; + + @ApiModelProperty(value = "每日不同半场价格") + private String halfPrices; + + @ApiModelProperty(value = "儿童价") + @QueryField(type = QueryType.EQ) + private BigDecimal childrenPrice; + + @ApiModelProperty(value = "星期选择") + private String week; + + @ApiModelProperty(value = "排序") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + + @ApiModelProperty(value = "关联id") + @QueryField(type = QueryType.EQ) + private Integer merchantId; + + @ApiModelProperty(value = "是否关闭,1开启,2关闭") + @QueryField(type = QueryType.EQ) + private Integer isStatus; + + @ApiModelProperty(value = "是否免费:1免费,2收费") + @QueryField(type = QueryType.EQ) + private Integer isFree; + + @ApiModelProperty(value = "开始时间") + private String startTime; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + +} diff --git a/src/main/java/com/gxwebsoft/booking/service/FieldService.java b/src/main/java/com/gxwebsoft/booking/service/FieldService.java new file mode 100644 index 0000000..3714be3 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/service/FieldService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.booking.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.booking.entity.Field; +import com.gxwebsoft.booking.param.FieldParam; + +import java.util.List; + +/** + * 场馆场地Service + * + * @author 科技小王子 + * @since 2024-04-25 13:22:11 + */ +public interface FieldService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(FieldParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(FieldParam param); + + /** + * 根据id查询 + * + * @param fieldId + * @return Field + */ + Field getByIdRel(Integer fieldId); + +} diff --git a/src/main/java/com/gxwebsoft/booking/service/PeriodService.java b/src/main/java/com/gxwebsoft/booking/service/PeriodService.java new file mode 100644 index 0000000..610e3c3 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/service/PeriodService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.booking.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.booking.entity.Period; +import com.gxwebsoft.booking.param.PeriodParam; + +import java.util.List; + +/** + * 场地时段Service + * + * @author 科技小王子 + * @since 2024-04-25 15:25:18 + */ +public interface PeriodService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(PeriodParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(PeriodParam param); + + /** + * 根据id查询 + * + * @param periodId + * @return Period + */ + Period getByIdRel(Integer periodId); + +} diff --git a/src/main/java/com/gxwebsoft/booking/service/impl/FieldServiceImpl.java b/src/main/java/com/gxwebsoft/booking/service/impl/FieldServiceImpl.java new file mode 100644 index 0000000..ec6b75f --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/service/impl/FieldServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.booking.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.booking.mapper.FieldMapper; +import com.gxwebsoft.booking.service.FieldService; +import com.gxwebsoft.booking.entity.Field; +import com.gxwebsoft.booking.param.FieldParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 场馆场地Service实现 + * + * @author 科技小王子 + * @since 2024-04-25 13:22:11 + */ +@Service +public class FieldServiceImpl extends ServiceImpl implements FieldService { + + @Override + public PageResult pageRel(FieldParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number desc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(FieldParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number desc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public Field getByIdRel(Integer fieldId) { + FieldParam param = new FieldParam(); + param.setFieldId(fieldId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/booking/service/impl/PeriodServiceImpl.java b/src/main/java/com/gxwebsoft/booking/service/impl/PeriodServiceImpl.java new file mode 100644 index 0000000..0717129 --- /dev/null +++ b/src/main/java/com/gxwebsoft/booking/service/impl/PeriodServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.booking.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.booking.mapper.PeriodMapper; +import com.gxwebsoft.booking.service.PeriodService; +import com.gxwebsoft.booking.entity.Period; +import com.gxwebsoft.booking.param.PeriodParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 场地时段Service实现 + * + * @author 科技小王子 + * @since 2024-04-25 15:25:18 + */ +@Service +public class PeriodServiceImpl extends ServiceImpl implements PeriodService { + + @Override + public PageResult pageRel(PeriodParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(PeriodParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public Period getByIdRel(Integer periodId) { + PeriodParam param = new PeriodParam(); + param.setPeriodId(periodId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/test/java/com/gxwebsoft/generator/BookingGenerator.java b/src/test/java/com/gxwebsoft/generator/BookingGenerator.java index 9b9e752..ef3cd2f 100644 --- a/src/test/java/com/gxwebsoft/generator/BookingGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/BookingGenerator.java @@ -49,7 +49,9 @@ public class BookingGenerator { // "booking_teacher", // "booking_category", // "booking_card", -// "booking_card_plan" +// "booking_card_plan", +// "booking_field", + "booking_period" }; // 需要去除的表前缀 private static final String[] TABLE_PREFIX = new String[]{