From b455502aab8c89be665ea6c7d278b90ac3901a57 Mon Sep 17 00:00:00 2001 From: cjw Date: Mon, 19 Aug 2024 15:46:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=9B=B8=E5=85=B3=EF=BC=9B?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 2 + .../scale/controller/ActivityController.java | 105 ++++++++++++++ .../controller/ActivityEnterController.java | 105 ++++++++++++++ .../controller/wx/WxCounselorController.java | 22 ++- .../org/dromara/scale/domain/Activity.java | 63 ++++++++ .../dromara/scale/domain/ActivityEnter.java | 36 +++++ .../org/dromara/scale/domain/Counselor.java | 13 ++ .../dromara/scale/domain/ReservationDay.java | 43 ++++++ .../dromara/scale/domain/ReservationTime.java | 53 +++++++ .../dromara/scale/domain/bo/ActivityBo.java | 68 +++++++++ .../scale/domain/bo/ActivityEnterBo.java | 36 +++++ .../dromara/scale/domain/bo/CounselorBo.java | 13 ++ .../scale/domain/bo/ReservationDayBo.java | 51 +++++++ .../scale/domain/bo/ReservationTimeBo.java | 56 ++++++++ .../scale/domain/vo/ActivityEnterVo.java | 44 ++++++ .../dromara/scale/domain/vo/ActivityVo.java | 76 ++++++++++ .../dromara/scale/domain/vo/CounselorVo.java | 13 ++ .../scale/domain/vo/ReservationDayVo.java | 52 +++++++ .../scale/domain/vo/ReservationTimeVo.java | 64 +++++++++ .../scale/mapper/ActivityEnterMapper.java | 15 ++ .../dromara/scale/mapper/ActivityMapper.java | 15 ++ .../mapper/CounselorExperienceMapper.java | 2 + .../mapper/CounselorQualificationMapper.java | 2 + .../scale/mapper/ReservationDayMapper.java | 17 +++ .../scale/mapper/ReservationTimeMapper.java | 17 +++ .../scale/service/IActivityEnterService.java | 68 +++++++++ .../scale/service/IActivityService.java | 68 +++++++++ .../scale/service/IReservationService.java | 14 ++ .../impl/ActivityEnterServiceImpl.java | 129 +++++++++++++++++ .../service/impl/ActivityServiceImpl.java | 134 ++++++++++++++++++ .../service/impl/ReservationServiceImpl.java | 58 ++++++++ .../impl/SysScaleQuestionServiceImpl.java | 2 - .../mapper/scale/ActivityEnterMapper.xml | 7 + .../resources/mapper/scale/ActivityMapper.xml | 7 + .../scale/CounselorExperienceMapper.xml | 7 + .../mapper/scale/CounselorMapper.xml | 7 + .../scale/CounselorQualificationMapper.xml | 7 + .../mapper/scale/ReservationDayMapper.xml | 7 + .../mapper/scale/ReservationTimeMapper.xml | 7 + 39 files changed, 1499 insertions(+), 6 deletions(-) create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityController.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityEnterController.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Activity.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ActivityEnter.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ReservationDay.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ReservationTime.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ActivityBo.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ActivityEnterBo.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ReservationDayBo.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ReservationTimeBo.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ActivityEnterVo.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ActivityVo.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ReservationDayVo.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ReservationTimeVo.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ActivityEnterMapper.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ActivityMapper.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ReservationDayMapper.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ReservationTimeMapper.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IActivityEnterService.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IActivityService.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IReservationService.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityEnterServiceImpl.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityServiceImpl.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ReservationServiceImpl.java create mode 100644 ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ActivityEnterMapper.xml create mode 100644 ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ActivityMapper.xml create mode 100644 ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorExperienceMapper.xml create mode 100644 ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorMapper.xml create mode 100644 ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorQualificationMapper.xml create mode 100644 ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ReservationDayMapper.xml create mode 100644 ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ReservationTimeMapper.xml diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 6f278d8..6797639 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -150,6 +150,8 @@ tenant: - m_reservation_time - m_score_record - sys_warn_config + - m_activity + - m_activity_enter # MyBatisPlus配置 # https://baomidou.com/config/ diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityController.java new file mode 100644 index 0000000..b75fc2c --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityController.java @@ -0,0 +1,105 @@ +package org.dromara.scale.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.scale.domain.vo.ActivityVo; +import org.dromara.scale.domain.bo.ActivityBo; +import org.dromara.scale.service.IActivityService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 活动 + * + * @author cjw + * @date 2024-08-19 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/scale/activity") +public class ActivityController extends BaseController { + + private final IActivityService activityService; + + /** + * 查询活动列表 + */ + @SaCheckPermission("scale:activity:list") + @GetMapping("/list") + public TableDataInfo list(ActivityBo bo, PageQuery pageQuery) { + return activityService.queryPageList(bo, pageQuery); + } + + /** + * 导出活动列表 + */ + @SaCheckPermission("scale:activity:export") + @Log(title = "活动", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ActivityBo bo, HttpServletResponse response) { + List list = activityService.queryList(bo); + ExcelUtil.exportExcel(list, "活动", ActivityVo.class, response); + } + + /** + * 获取活动详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("scale:activity:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(activityService.queryById(id)); + } + + /** + * 新增活动 + */ + @SaCheckPermission("scale:activity:add") + @Log(title = "活动", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody ActivityBo bo) { + return toAjax(activityService.insertByBo(bo)); + } + + /** + * 修改活动 + */ + @SaCheckPermission("scale:activity:edit") + @Log(title = "活动", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody ActivityBo bo) { + return toAjax(activityService.updateByBo(bo)); + } + + /** + * 删除活动 + * + * @param ids 主键串 + */ + @SaCheckPermission("scale:activity:remove") + @Log(title = "活动", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(activityService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityEnterController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityEnterController.java new file mode 100644 index 0000000..6d804c2 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ActivityEnterController.java @@ -0,0 +1,105 @@ +package org.dromara.scale.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.scale.domain.vo.ActivityEnterVo; +import org.dromara.scale.domain.bo.ActivityEnterBo; +import org.dromara.scale.service.IActivityEnterService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 活动报名 + * + * @author cjw + * @date 2024-08-19 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/scale/activityEnter") +public class ActivityEnterController extends BaseController { + + private final IActivityEnterService activityEnterService; + + /** + * 查询活动报名列表 + */ + @SaCheckPermission("scale:activityEnter:list") + @GetMapping("/list") + public TableDataInfo list(ActivityEnterBo bo, PageQuery pageQuery) { + return activityEnterService.queryPageList(bo, pageQuery); + } + + /** + * 导出活动报名列表 + */ + @SaCheckPermission("scale:activityEnter:export") + @Log(title = "活动报名", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ActivityEnterBo bo, HttpServletResponse response) { + List list = activityEnterService.queryList(bo); + ExcelUtil.exportExcel(list, "活动报名", ActivityEnterVo.class, response); + } + + /** + * 获取活动报名详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("scale:activityEnter:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(activityEnterService.queryById(id)); + } + + /** + * 新增活动报名 + */ + @SaCheckPermission("scale:activityEnter:add") + @Log(title = "活动报名", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody ActivityEnterBo bo) { + return toAjax(activityEnterService.insertByBo(bo)); + } + + /** + * 修改活动报名 + */ + @SaCheckPermission("scale:activityEnter:edit") + @Log(title = "活动报名", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody ActivityEnterBo bo) { + return toAjax(activityEnterService.updateByBo(bo)); + } + + /** + * 删除活动报名 + * + * @param ids 主键串 + */ + @SaCheckPermission("scale:activityEnter:remove") + @Log(title = "活动报名", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(activityEnterService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxCounselorController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxCounselorController.java index b2fadf9..987a37b 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxCounselorController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/wx/WxCounselorController.java @@ -2,14 +2,18 @@ package org.dromara.scale.controller.wx; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.web.core.BaseController; +import org.dromara.scale.domain.bo.ReservationDayBo; import org.dromara.scale.domain.vo.CounselorVo; import org.dromara.scale.service.ICounselorService; +import org.dromara.scale.service.IReservationService; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** *

TODO

@@ -26,9 +30,10 @@ public class WxCounselorController extends BaseController { private final ICounselorService counselorService; + private final IReservationService reservationService; + /** * 获取心理咨询师详细信息 - * */ @GetMapping() public R getInfo() { @@ -36,6 +41,15 @@ public class WxCounselorController extends BaseController { return R.ok(counselorService.queryById(userId)); } + /** + * 新增预约 + */ + @Log(title = "新增预约", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody ReservationDayBo bo) { + return toAjax(reservationService.insertByBo(bo)); + } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Activity.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Activity.java new file mode 100644 index 0000000..2536534 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Activity.java @@ -0,0 +1,63 @@ +package org.dromara.scale.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 活动对象 m_activity + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("m_activity") +public class Activity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 活动标题 + */ + private String activityTitle; + + /** + * 活动详情 + */ + private String activityDetails; + + /** + * 浏览量 + */ + private Long viewNums; + + /** + * 开始时间 + */ + private Date startTime; + + /** + * 结束时间 + */ + private Date endTime; + + /** + * 活动状态 + */ + private Integer status; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ActivityEnter.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ActivityEnter.java new file mode 100644 index 0000000..e12bd8e --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ActivityEnter.java @@ -0,0 +1,36 @@ +package org.dromara.scale.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 活动报名对象 m_activity_enter + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("m_activity_enter") +public class ActivityEnter extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 活动id + */ + private Long activityId; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Counselor.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Counselor.java index b6593ca..10c717f 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Counselor.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/Counselor.java @@ -72,5 +72,18 @@ public class Counselor extends BaseEntity { */ private Date practiceTime; + /** + * 省 + */ + private String provinceCode; + /** + * 市 + */ + private String cityCode; + /** + * 区 + */ + private String countyCode; + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ReservationDay.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ReservationDay.java new file mode 100644 index 0000000..8e79f5f --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ReservationDay.java @@ -0,0 +1,43 @@ +package org.dromara.scale.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 预约-日对象 m_reservation_day + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("m_reservation_day") +public class ReservationDay extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 咨询师id + */ + private Long counselorId; + + /** + * 日期 + */ + private Date dayTime; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ReservationTime.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ReservationTime.java new file mode 100644 index 0000000..9a2df2a --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/ReservationTime.java @@ -0,0 +1,53 @@ +package org.dromara.scale.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 预约-时间对象 m_reservation_time + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("m_reservation_time") +public class ReservationTime extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 日期表id + */ + private Long dayId; + + /** + * 咨询师id + */ + private Long counselorId; + + /** + * 开始时间 + */ + private Date startTime; + + /** + * 结束时间 + */ + private Date endTime; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ActivityBo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ActivityBo.java new file mode 100644 index 0000000..cb9ae03 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ActivityBo.java @@ -0,0 +1,68 @@ +package org.dromara.scale.domain.bo; + +import org.dromara.scale.domain.Activity; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 活动业务对象 m_activity + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = Activity.class, reverseConvertGenerate = false) +public class ActivityBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 活动标题 + */ + @NotBlank(message = "活动标题不能为空", groups = { AddGroup.class, EditGroup.class }) + private String activityTitle; + + /** + * 活动详情 + */ + @NotBlank(message = "活动详情不能为空", groups = { AddGroup.class, EditGroup.class }) + private String activityDetails; + + /** + * 浏览量 + */ + @NotNull(message = "浏览量不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long viewNums; + + /** + * 开始时间 + */ + @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date startTime; + + /** + * 结束时间 + */ + @NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date endTime; + + /** + * 活动状态 + */ + @NotNull(message = "活动状态不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer status; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ActivityEnterBo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ActivityEnterBo.java new file mode 100644 index 0000000..c7d2470 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ActivityEnterBo.java @@ -0,0 +1,36 @@ +package org.dromara.scale.domain.bo; + +import org.dromara.scale.domain.ActivityEnter; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 活动报名业务对象 m_activity_enter + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ActivityEnter.class, reverseConvertGenerate = false) +public class ActivityEnterBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 活动id + */ + @NotNull(message = "活动id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long activityId; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/CounselorBo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/CounselorBo.java index 97c3664..dc3c9ac 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/CounselorBo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/CounselorBo.java @@ -76,5 +76,18 @@ public class CounselorBo extends BaseEntity { @NotNull(message = "从业时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date practiceTime; + /** + * 省 + */ + private String provinceCode; + /** + * 市 + */ + private String cityCode; + /** + * 区 + */ + private String countyCode; + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ReservationDayBo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ReservationDayBo.java new file mode 100644 index 0000000..e0f7d8c --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ReservationDayBo.java @@ -0,0 +1,51 @@ +package org.dromara.scale.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.scale.domain.ReservationDay; +import org.dromara.scale.domain.ReservationTime; + +import java.util.Date; +import java.util.List; + +/** + * 预约-日业务对象 m_reservation_day + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ReservationDay.class, reverseConvertGenerate = false) +public class ReservationDayBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "不能为空", groups = {EditGroup.class}) + private Long id; + + /** + * 咨询师id + */ + //@NotNull(message = "咨询师id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long counselorId; + + /** + * 日期 + */ + @NotNull(message = "日期不能为空", groups = {AddGroup.class, EditGroup.class}) + private Date dayTime; + + /** + * 预约时间列表 + */ + @NotEmpty(message = "预约时间不能为空", groups = {AddGroup.class, EditGroup.class}) + List timeList; +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ReservationTimeBo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ReservationTimeBo.java new file mode 100644 index 0000000..34f100a --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/ReservationTimeBo.java @@ -0,0 +1,56 @@ +package org.dromara.scale.domain.bo; + +import org.dromara.scale.domain.ReservationTime; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 预约-时间业务对象 m_reservation_time + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ReservationTime.class, reverseConvertGenerate = false) +public class ReservationTimeBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 日期表id + */ + @NotNull(message = "日期表id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long dayId; + + /** + * 咨询师id + */ + @NotNull(message = "咨询师id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long counselorId; + + /** + * 开始时间 + */ + @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date startTime; + + /** + * 结束时间 + */ + @NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date endTime; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ActivityEnterVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ActivityEnterVo.java new file mode 100644 index 0000000..02fcf34 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ActivityEnterVo.java @@ -0,0 +1,44 @@ +package org.dromara.scale.domain.vo; + +import org.dromara.scale.domain.ActivityEnter; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 活动报名视图对象 m_activity_enter + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ActivityEnter.class) +public class ActivityEnterVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 活动id + */ + @ExcelProperty(value = "活动id") + private Long activityId; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ActivityVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ActivityVo.java new file mode 100644 index 0000000..bf5ed16 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ActivityVo.java @@ -0,0 +1,76 @@ +package org.dromara.scale.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.scale.domain.Activity; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 活动视图对象 m_activity + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = Activity.class) +public class ActivityVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 活动标题 + */ + @ExcelProperty(value = "活动标题") + private String activityTitle; + + /** + * 活动详情 + */ + @ExcelProperty(value = "活动详情") + private String activityDetails; + + /** + * 浏览量 + */ + @ExcelProperty(value = "浏览量") + private Long viewNums; + + /** + * 开始时间 + */ + @ExcelProperty(value = "开始时间") + private Date startTime; + + /** + * 结束时间 + */ + @ExcelProperty(value = "结束时间") + private Date endTime; + + /** + * 活动状态 + */ + @ExcelProperty(value = "活动状态") + private Integer status; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/CounselorVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/CounselorVo.java index 93578e0..8506ed4 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/CounselorVo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/CounselorVo.java @@ -82,5 +82,18 @@ public class CounselorVo implements Serializable { */ private Date practiceTime; + /** + * 省 + */ + private String provinceCode; + /** + * 市 + */ + private String cityCode; + /** + * 区 + */ + private String countyCode; + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ReservationDayVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ReservationDayVo.java new file mode 100644 index 0000000..6fad460 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ReservationDayVo.java @@ -0,0 +1,52 @@ +package org.dromara.scale.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.scale.domain.ReservationDay; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 预约-日视图对象 m_reservation_day + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ReservationDay.class) +public class ReservationDayVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 咨询师id + */ + @ExcelProperty(value = "咨询师id") + private Long counselorId; + + /** + * 日期 + */ + @ExcelProperty(value = "日期") + private Date dayTime; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ReservationTimeVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ReservationTimeVo.java new file mode 100644 index 0000000..8f6f6fc --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ReservationTimeVo.java @@ -0,0 +1,64 @@ +package org.dromara.scale.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.scale.domain.ReservationTime; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 预约-时间视图对象 m_reservation_time + * + * @author cjw + * @date 2024-08-19 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ReservationTime.class) +public class ReservationTimeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 日期表id + */ + @ExcelProperty(value = "日期表id") + private Long dayId; + + /** + * 咨询师id + */ + @ExcelProperty(value = "咨询师id") + private Long counselorId; + + /** + * 开始时间 + */ + @ExcelProperty(value = "开始时间") + private Date startTime; + + /** + * 结束时间 + */ + @ExcelProperty(value = "结束时间") + private Date endTime; + + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ActivityEnterMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ActivityEnterMapper.java new file mode 100644 index 0000000..a6a0892 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ActivityEnterMapper.java @@ -0,0 +1,15 @@ +package org.dromara.scale.mapper; + +import org.dromara.scale.domain.ActivityEnter; +import org.dromara.scale.domain.vo.ActivityEnterVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 活动报名Mapper接口 + * + * @author cjw + * @date 2024-08-19 + */ +public interface ActivityEnterMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ActivityMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ActivityMapper.java new file mode 100644 index 0000000..5a067a9 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ActivityMapper.java @@ -0,0 +1,15 @@ +package org.dromara.scale.mapper; + +import org.dromara.scale.domain.Activity; +import org.dromara.scale.domain.vo.ActivityVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 活动Mapper接口 + * + * @author cjw + * @date 2024-08-19 + */ +public interface ActivityMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorExperienceMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorExperienceMapper.java index d13c76b..f422a6b 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorExperienceMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorExperienceMapper.java @@ -1,5 +1,6 @@ package org.dromara.scale.mapper; +import org.apache.ibatis.annotations.Mapper; import org.dromara.scale.domain.CounselorExperience; import org.dromara.scale.domain.vo.CounselorExperienceVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -10,6 +11,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; * @author cjw * @date 2024-07-30 */ +@Mapper public interface CounselorExperienceMapper extends BaseMapperPlus { } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorQualificationMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorQualificationMapper.java index e6ff03f..2267559 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorQualificationMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/CounselorQualificationMapper.java @@ -1,5 +1,6 @@ package org.dromara.scale.mapper; +import org.apache.ibatis.annotations.Mapper; import org.dromara.scale.domain.CounselorQualification; import org.dromara.scale.domain.vo.CounselorQualificationVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -10,6 +11,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; * @author cjw * @date 2024-07-30 */ +@Mapper public interface CounselorQualificationMapper extends BaseMapperPlus { } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ReservationDayMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ReservationDayMapper.java new file mode 100644 index 0000000..37c37f3 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ReservationDayMapper.java @@ -0,0 +1,17 @@ +package org.dromara.scale.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.dromara.scale.domain.ReservationDay; +import org.dromara.scale.domain.vo.ReservationDayVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 预约-日Mapper接口 + * + * @author cjw + * @date 2024-08-19 + */ +@Mapper +public interface ReservationDayMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ReservationTimeMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ReservationTimeMapper.java new file mode 100644 index 0000000..21cc021 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/ReservationTimeMapper.java @@ -0,0 +1,17 @@ +package org.dromara.scale.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.dromara.scale.domain.ReservationTime; +import org.dromara.scale.domain.vo.ReservationTimeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 预约-时间Mapper接口 + * + * @author cjw + * @date 2024-08-19 + */ +@Mapper +public interface ReservationTimeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IActivityEnterService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IActivityEnterService.java new file mode 100644 index 0000000..eba5a6b --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IActivityEnterService.java @@ -0,0 +1,68 @@ +package org.dromara.scale.service; + +import org.dromara.scale.domain.vo.ActivityEnterVo; +import org.dromara.scale.domain.bo.ActivityEnterBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 活动报名Service接口 + * + * @author cjw + * @date 2024-08-19 + */ +public interface IActivityEnterService { + + /** + * 查询活动报名 + * + * @param id 主键 + * @return 活动报名 + */ + ActivityEnterVo queryById(Long id); + + /** + * 分页查询活动报名列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 活动报名分页列表 + */ + TableDataInfo queryPageList(ActivityEnterBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的活动报名列表 + * + * @param bo 查询条件 + * @return 活动报名列表 + */ + List queryList(ActivityEnterBo bo); + + /** + * 新增活动报名 + * + * @param bo 活动报名 + * @return 是否新增成功 + */ + Boolean insertByBo(ActivityEnterBo bo); + + /** + * 修改活动报名 + * + * @param bo 活动报名 + * @return 是否修改成功 + */ + Boolean updateByBo(ActivityEnterBo bo); + + /** + * 校验并批量删除活动报名信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IActivityService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IActivityService.java new file mode 100644 index 0000000..a79d157 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IActivityService.java @@ -0,0 +1,68 @@ +package org.dromara.scale.service; + +import org.dromara.scale.domain.vo.ActivityVo; +import org.dromara.scale.domain.bo.ActivityBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 活动Service接口 + * + * @author cjw + * @date 2024-08-19 + */ +public interface IActivityService { + + /** + * 查询活动 + * + * @param id 主键 + * @return 活动 + */ + ActivityVo queryById(Long id); + + /** + * 分页查询活动列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 活动分页列表 + */ + TableDataInfo queryPageList(ActivityBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的活动列表 + * + * @param bo 查询条件 + * @return 活动列表 + */ + List queryList(ActivityBo bo); + + /** + * 新增活动 + * + * @param bo 活动 + * @return 是否新增成功 + */ + Boolean insertByBo(ActivityBo bo); + + /** + * 修改活动 + * + * @param bo 活动 + * @return 是否修改成功 + */ + Boolean updateByBo(ActivityBo bo); + + /** + * 校验并批量删除活动信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IReservationService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IReservationService.java new file mode 100644 index 0000000..5ddc194 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/IReservationService.java @@ -0,0 +1,14 @@ +package org.dromara.scale.service; + +import org.dromara.scale.domain.bo.ReservationDayBo; + +public interface IReservationService { + + /** + * 新增预约 + * + * @param bo 预约 + * @return 是否新增成功 + */ + Boolean insertByBo(ReservationDayBo bo); +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityEnterServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityEnterServiceImpl.java new file mode 100644 index 0000000..50d146f --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityEnterServiceImpl.java @@ -0,0 +1,129 @@ +package org.dromara.scale.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.scale.domain.bo.ActivityEnterBo; +import org.dromara.scale.domain.vo.ActivityEnterVo; +import org.dromara.scale.domain.ActivityEnter; +import org.dromara.scale.mapper.ActivityEnterMapper; +import org.dromara.scale.service.IActivityEnterService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 活动报名Service业务层处理 + * + * @author cjw + * @date 2024-08-19 + */ +@RequiredArgsConstructor +@Service +public class ActivityEnterServiceImpl implements IActivityEnterService { + + private final ActivityEnterMapper baseMapper; + + /** + * 查询活动报名 + * + * @param id 主键 + * @return 活动报名 + */ + @Override + public ActivityEnterVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询活动报名列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 活动报名分页列表 + */ + @Override + public TableDataInfo queryPageList(ActivityEnterBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的活动报名列表 + * + * @param bo 查询条件 + * @return 活动报名列表 + */ + @Override + public List queryList(ActivityEnterBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ActivityEnterBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getActivityId() != null, ActivityEnter::getActivityId, bo.getActivityId()); + return lqw; + } + + /** + * 新增活动报名 + * + * @param bo 活动报名 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(ActivityEnterBo bo) { + ActivityEnter add = MapstructUtils.convert(bo, ActivityEnter.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改活动报名 + * + * @param bo 活动报名 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(ActivityEnterBo bo) { + ActivityEnter update = MapstructUtils.convert(bo, ActivityEnter.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ActivityEnter entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除活动报名信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityServiceImpl.java new file mode 100644 index 0000000..f4744af --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ActivityServiceImpl.java @@ -0,0 +1,134 @@ +package org.dromara.scale.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.scale.domain.bo.ActivityBo; +import org.dromara.scale.domain.vo.ActivityVo; +import org.dromara.scale.domain.Activity; +import org.dromara.scale.mapper.ActivityMapper; +import org.dromara.scale.service.IActivityService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 活动Service业务层处理 + * + * @author cjw + * @date 2024-08-19 + */ +@RequiredArgsConstructor +@Service +public class ActivityServiceImpl implements IActivityService { + + private final ActivityMapper baseMapper; + + /** + * 查询活动 + * + * @param id 主键 + * @return 活动 + */ + @Override + public ActivityVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询活动列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 活动分页列表 + */ + @Override + public TableDataInfo queryPageList(ActivityBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的活动列表 + * + * @param bo 查询条件 + * @return 活动列表 + */ + @Override + public List queryList(ActivityBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ActivityBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getActivityTitle()), Activity::getActivityTitle, bo.getActivityTitle()); + lqw.eq(StringUtils.isNotBlank(bo.getActivityDetails()), Activity::getActivityDetails, bo.getActivityDetails()); + lqw.eq(bo.getViewNums() != null, Activity::getViewNums, bo.getViewNums()); + lqw.eq(bo.getStartTime() != null, Activity::getStartTime, bo.getStartTime()); + lqw.eq(bo.getEndTime() != null, Activity::getEndTime, bo.getEndTime()); + lqw.eq(bo.getStatus() != null, Activity::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增活动 + * + * @param bo 活动 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(ActivityBo bo) { + Activity add = MapstructUtils.convert(bo, Activity.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改活动 + * + * @param bo 活动 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(ActivityBo bo) { + Activity update = MapstructUtils.convert(bo, Activity.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(Activity entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除活动信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ReservationServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ReservationServiceImpl.java new file mode 100644 index 0000000..58bb56b --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ReservationServiceImpl.java @@ -0,0 +1,58 @@ +package org.dromara.scale.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.scale.domain.ReservationDay; +import org.dromara.scale.domain.ReservationTime; +import org.dromara.scale.domain.bo.ReservationDayBo; +import org.dromara.scale.mapper.ReservationDayMapper; +import org.dromara.scale.mapper.ReservationTimeMapper; +import org.dromara.scale.service.IReservationService; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + *

TODO

+ * + * @author cjw + * @version V1.0.0 + * @date 2024/8/19 14:16 + */ +@RequiredArgsConstructor +@Service +public class ReservationServiceImpl implements IReservationService { + + private final ReservationDayMapper dayMapper; + + private final ReservationTimeMapper timeMapper; + + + @Override + public Boolean insertByBo(ReservationDayBo bo) { + Long userId = LoginHelper.getUserId(); + Date dayTime = bo.getDayTime(); + boolean exists = dayMapper.exists(new LambdaQueryWrapper() + .eq(ReservationDay::getCounselorId, userId) + .eq(ReservationDay::getDayTime, dayTime)); + if (exists) { + throw new ServiceException("此日期下已有预约排程"); + } + ReservationDay add = MapstructUtils.convert(bo, ReservationDay.class); + boolean flag = dayMapper.insert(add) > 0; + Long id = add.getId(); + if (flag) { + List timeList = bo.getTimeList(); + for (ReservationTime one : timeList) { + one.setCounselorId(userId); + one.setDayId(id); + } + timeMapper.insert(timeList); + } + return flag; + } +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java index 242b2f1..4c3e9d2 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java @@ -87,8 +87,6 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService { lqw.eq(bo.getScaleId() != null, SysScaleQuestion::getScaleId, bo.getScaleId()); lqw.eq(bo.getQuestionOrder() != null, SysScaleQuestion::getQuestionOrder, bo.getQuestionOrder()); lqw.eq(StringUtils.isNotBlank(bo.getQuestionContent()), SysScaleQuestion::getQuestionContent, bo.getQuestionContent()); -// lqw.eq(bo.getFactorId() != null, SysScaleQuestion::getFactorId, bo.getFactorId()); -// lqw.like(StringUtils.isNotBlank(bo.getFactorName()), SysScaleQuestion::getFactorName, bo.getFactorName()); lqw.orderByAsc(SysScaleQuestion::getQuestionOrder); return lqw; } diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ActivityEnterMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ActivityEnterMapper.xml new file mode 100644 index 0000000..00141ef --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ActivityEnterMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ActivityMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ActivityMapper.xml new file mode 100644 index 0000000..f718ac9 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ActivityMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorExperienceMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorExperienceMapper.xml new file mode 100644 index 0000000..c8d67b6 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorExperienceMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorMapper.xml new file mode 100644 index 0000000..fd1205c --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorQualificationMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorQualificationMapper.xml new file mode 100644 index 0000000..67e1e24 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/CounselorQualificationMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ReservationDayMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ReservationDayMapper.xml new file mode 100644 index 0000000..73a16d3 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ReservationDayMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ReservationTimeMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ReservationTimeMapper.xml new file mode 100644 index 0000000..00620c1 --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ReservationTimeMapper.xml @@ -0,0 +1,7 @@ + + + + +