pass(@RequestBody ProductShow productShowUpdate) {
+ return ResponseEntity.ok(service.passProductShow(productShowUpdate));
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/course/ScClaTimeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/course/ScClaTimeController.java
index 88a161b..ecb4db2 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/course/ScClaTimeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/course/ScClaTimeController.java
@@ -1,15 +1,15 @@
package com.ruoyi.web.controller.school.course;
import com.ruoyi.common.page.RespPage;
+import com.ruoyi.core.api.APIResponse;
+import com.ruoyi.school.course.domain.ScClaTime;
+import com.ruoyi.school.course.domain.ScClaTimeVo;
import com.ruoyi.school.course.domain.req.time.ReqSearchClaTime;
import com.ruoyi.school.course.domain.resp.time.RespBusinessClaTimeCalendar;
import com.ruoyi.school.course.domain.resp.time.RespClaTime;
import com.ruoyi.school.course.domain.resp.time.RespClaTimeCalendar;
-import com.ruoyi.school.course.domain.ScClaTime;
-import com.ruoyi.school.course.domain.ScClaTimeVo;
import com.ruoyi.school.course.service.BusinessClaTimeService;
import com.ruoyi.school.student.domain.req.ReqClaTimeAttend;
-import com.ruoyi.core.api.APIResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -122,5 +122,14 @@ public class ScClaTimeController {
return claTimeService.confirmCla(reqClaTimeAttend);
}
+ /**
+ * 查询已经预约签到的会员
+ * @param
+ * @return
+ */
+ @GetMapping("/list/searchCourseClaStudent")
+ public APIResponse searchCourseClaStudent(ReqSearchClaTime reqSearchClaTime) {
+ return claTimeService.searchCourseClaStudent(reqSearchClaTime);
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/course/ScCourseClaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/course/ScCourseClaController.java
deleted file mode 100644
index 0ff334d..0000000
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/course/ScCourseClaController.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.ruoyi.web.controller.school.course;
-
-import com.ruoyi.core.api.APIResponse;
-import com.ruoyi.school.course.domain.ScCourseCla;
-import com.ruoyi.school.course.domain.req.cla.ReqAddScCourseCla;
-import com.ruoyi.school.course.domain.req.cla.ReqSearchScCourseCla;
-import com.ruoyi.school.course.domain.req.time.ReqSearchClaTime;
-import com.ruoyi.school.course.domain.resp.cla.RespClaAllDetailInfo;
-import com.ruoyi.school.course.service.impl.BusinessScCourseClaService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- *
- * 课程班级信息 Controller
- *
- *
- * @author zhangby
- * @since 2020-03-17 01:11:06
- */
-@RestController
-@RequestMapping("/api/sc/course/cla")
-public class ScCourseClaController {
- @Autowired
- private BusinessScCourseClaService scCourseClaService;
-
- /**
- * 列表
- *
- * @param reqSearchScCourseCla
- * @return
- */
- @GetMapping("/list/searchList")
- public APIResponse searchList(ReqSearchScCourseCla reqSearchScCourseCla) {
- return scCourseClaService.searchList(reqSearchScCourseCla);
- }
-
- /**
- * 查询已经预约签到的会员
- * @param
- * @return
- */
- @GetMapping("/list/searchCourseClaStudent")
- public APIResponse searchCourseClaStudent(ReqSearchClaTime reqSearchClaTime) {
- return scCourseClaService.searchCourseClaStudent(reqSearchClaTime);
- }
-
- /**
- * 详情
- *
- * @param claId
- * @return
- */
- @GetMapping("/info/detailById/{claId}")
- public APIResponse detailById(@PathVariable("claId") Long claId) {
- return scCourseClaService.detailById(claId);
- }
-
- /**
- * 详情
- * 包含内容较多
- *
- * @param claId
- * @return
- */
- @GetMapping("/info/allDetailInfoById/{claId}")
- public APIResponse allDetailInfoById(@PathVariable("claId") Long claId) {
- RespClaAllDetailInfo allDetailInfo = scCourseClaService.allDetailInfoById(claId);
- return APIResponse.toAPIResponse(allDetailInfo);
- }
-
-
-
- /**
- * 添加
- *
- * @param scCourseCla
- * @return
- */
- @PostMapping("/add/addScCourseCla")
- public APIResponse addScCourseCla(@RequestBody ReqAddScCourseCla scCourseCla) {
- return scCourseClaService.addScCourseCla(scCourseCla);
- }
-
- /**
- * 修改
- *
- * @param scCourseCla
- * @return
- */
- @PutMapping("/update/updateScCourseCla")
- public APIResponse updateScCourseCla(@RequestBody ScCourseCla scCourseCla) {
- return scCourseClaService.updateScCourseCla(scCourseCla);
- }
-
- /**
- * 删除
- *
- * @param claIds
- * @return
- */
- @DeleteMapping("/delete/deleteById/{claIds}")
- public APIResponse deleteById(@PathVariable("claIds") Long[] claIds) {
- return scCourseClaService.deleteById(claIds);
- }
-
-
-}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/member/ScMemberCardTypesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/member/ScMemberCardTypesController.java
index 0a5c9f1..90c077f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/member/ScMemberCardTypesController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/member/ScMemberCardTypesController.java
@@ -7,7 +7,6 @@ import cn.xluobo.core.page.RespPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.core.api.APIResponse;
-import com.ruoyi.school.course.domain.req.course.ReqBusinessOrderCourseDetail;
import com.ruoyi.school.course.domain.resp.course.RespCourseTypeSelect;
import com.ruoyi.school.member.domain.ScMemberCard;
import com.ruoyi.school.member.domain.ScMemberCardCharge;
@@ -136,7 +135,7 @@ public class ScMemberCardTypesController {
@PostMapping("/add/memberCardTypes")
@Transactional
public APIResponse addScCourse(@RequestBody ScMemberCardTypes types) {
- //todo 会员卡项修改记录
+
types.checkParam();
types.setTenantId(SecurityUtils.getLoginUser().getNowTenantId());
types.setCreateUser(SecurityUtils.getUserId());
@@ -254,9 +253,6 @@ public class ScMemberCardTypesController {
return APIResponse.toOkResponse();
}
- @GetMapping("/info/orderCardTypeDetail")
- public APIResponse orderCardTypeDetail(ReqBusinessOrderCourseDetail orderCourseDetail) {
- return typesService.orderCardTypeDetail(orderCourseDetail);
- }
+
}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 789cf90..a707dcc 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -13,16 +13,19 @@ spring:
username: root
password: '!Runpeng888'
# 从库数据源
- slave:
- # 从数据源开关/默认关闭
- enabled: false
- url:
- username:
- password:
- statViewServlet:
+# slave:
+# # 从数据源开关/默认关闭
+# enabled: false
+# url:
+# username:
+# password:
+# statViewServlet:
# 控制台管理用户名和密码
- login-username: ruoyi
- login-password: 123456
+# login-username: ruoyi
+# login-password: 123456
+ # Liquibase 关闭自动运行(手动执行)
+ liquibase:
+ enabled: false
# redis 配置
redis:
# 地址
@@ -47,3 +50,4 @@ minio:
filePath: file
videoPath: video
expireIn: 180 # 文件过期时间,单位:天
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
index 6ca5b37..8b662f3 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
@@ -1,6 +1,7 @@
package com.ruoyi.common.core.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -23,6 +24,8 @@ public class SysDept extends BaseEntity
private static final long serialVersionUID = 1L;
/** 部门ID */
+
+ @TableId
private Long deptId;
/** 父部门ID */
@@ -64,6 +67,32 @@ public class SysDept extends BaseEntity
//1部门 2校区
private String deptType;
+ /**
+ * 入驻日期
+ */
+ private String activationDate;
+
+ /**
+ * 到期日期
+ */
+ private String expiryDate;
+
+ public String getActivationDate() {
+ return activationDate;
+ }
+
+ public void setActivationDate(String activationDate) {
+ this.activationDate = activationDate;
+ }
+
+ public String getExpiryDate() {
+ return expiryDate;
+ }
+
+ public void setExpiryDate(String expiryDate) {
+ this.expiryDate = expiryDate;
+ }
+
/** 子部门 */
@TableField(exist = false)
private List children = new ArrayList();
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/db/SshContextListener.java b/ruoyi-common/src/main/java/com/ruoyi/common/db/SshContextListener.java
index 502515e..ac97a56 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/db/SshContextListener.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/db/SshContextListener.java
@@ -1,11 +1,14 @@
package com.ruoyi.common.db;
+import org.springframework.stereotype.Component;
+
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
+import javax.servlet.annotation.WebListener;
-//@Component//尽量加上这个
-//@WebListener//声明为监听器
+@Component//尽量加上这个
+@WebListener//声明为监听器
public class SshContextListener implements ServletContextListener {
private SshTunnelConfig sshConnectionConfig;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/TenantInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/TenantInterceptor.java
new file mode 100644
index 0000000..625fda2
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/TenantInterceptor.java
@@ -0,0 +1,31 @@
+package com.ruoyi.framework.config;
+
+import org.springframework.web.servlet.HandlerInterceptor;
+
+//@Component
+//@RequiredArgsConstructor
+public class TenantInterceptor implements HandlerInterceptor {
+
+// private final TenantDataSourceService tenantDataSourceService;
+//
+// @Override
+// public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+// // 从请求头、JWT、Session 等获取租户ID
+// String tenantId = request.getHeader("X-Tenant-Id");
+// if (tenantId == null || tenantId.isEmpty()) {
+// throw new RuntimeException("缺少租户标识");
+// }
+//
+// TenantContext.setTenantId(tenantId);
+// // 通知 dynamic-datasource 切换数据源
+// tenantDataSourceService.switchToTenant(tenantId);
+// return true;
+// }
+//
+// @Override
+// public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
+// // 清理资源
+// tenantDataSourceService.clearDataSource();
+// TenantContext.clear();
+// }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Address.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Address.java
index 82441d1..41c04f6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Address.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Address.java
@@ -1,5 +1,6 @@
package com.ruoyi.mall.domain;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
@@ -15,6 +16,7 @@ public class Address {
private static final long serialVersionUID = 1L;
//"ID")
+ @TableId
private Integer id;
//"地区邮编")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Brand.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Brand.java
index 329e95d..bdc99a0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Brand.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Brand.java
@@ -1,5 +1,6 @@
package com.ruoyi.mall.domain;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseAudit;
@@ -15,7 +16,7 @@ import lombok.Data;
public class Brand extends BaseAudit {
private static final long serialVersionUID = 1L;
-
+ @TableId
private Long id;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/OrderDeliveryHistory.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/OrderDeliveryHistory.java
index b45187a..ff4efc9 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/OrderDeliveryHistory.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/OrderDeliveryHistory.java
@@ -1,5 +1,6 @@
package com.ruoyi.mall.domain;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseAudit;
@@ -16,7 +17,7 @@ import lombok.Data;
public class OrderDeliveryHistory extends BaseAudit {
private static final long serialVersionUID = 1L;
- //"ID")
+ @TableId
private Long id;
//"订单id")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/OrderOperateHistory.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/OrderOperateHistory.java
index e31015c..12ffce5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/OrderOperateHistory.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/OrderOperateHistory.java
@@ -1,5 +1,6 @@
package com.ruoyi.mall.domain;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseAudit;
@@ -17,6 +18,7 @@ public class OrderOperateHistory extends BaseAudit {
private static final long serialVersionUID = 1L;
//"ID")
+ @TableId
private Long id;
//"订单id")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Product.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Product.java
index a1716cc..818afab 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Product.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Product.java
@@ -2,6 +2,7 @@ package com.ruoyi.mall.domain;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseAudit;
@@ -20,6 +21,7 @@ public class Product extends BaseAudit {
private static final long serialVersionUID = 1L;
+ @TableId
private Long id;
@@ -101,4 +103,5 @@ public class Product extends BaseAudit {
*/
private Long instructor;
private Long storeId;
+ private String tenantId;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/ProductCategory.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/ProductCategory.java
index eed65bf..b7270db 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/ProductCategory.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/ProductCategory.java
@@ -1,5 +1,6 @@
package com.ruoyi.mall.domain;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseAudit;
@@ -16,6 +17,7 @@ public class ProductCategory extends BaseAudit {
private static final long serialVersionUID = 1L;
+ @TableId
private Long id;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/ProductShow.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/ProductShow.java
new file mode 100644
index 0000000..69ef0e8
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/ProductShow.java
@@ -0,0 +1,75 @@
+package com.ruoyi.mall.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 商品商城展示申请表
+ * 表名: mall_product_show
+ */
+@Data
+@TableName("mall_product_show")
+public class ProductShow {
+
+ /**
+ * 主键ID
+ */
+ @TableId
+ private Long id;
+
+ /**
+ * 商品ID
+ */
+ private Long productId;
+
+ /**
+ * 场馆ID
+ */
+ private Long storeId;
+
+ /**
+ * 租户ID
+ */
+ private String tenantId;
+
+ /**
+ * 展示标识(0-不展示 1-展示)
+ */
+ private String showFlag;
+
+ /**
+ * 展示分类ID
+ */
+ private Long showCategory;
+
+ /**
+ * 展示开始时间
+ */
+ private LocalDate showStartTime;
+
+ /**
+ * 展示结束时间
+ */
+ private LocalDate showEndTime;
+
+ /**
+ * 申请状态(0-待审核(已申请) 1-审核通过 2-审核拒绝 3-展示中 4-展示期结束 )
+ */
+ private String applyStatus;
+
+ /**
+ * 申请时间
+ */
+ private LocalDateTime applyTime;
+
+ private LocalDateTime reviewTime;
+
+ /**
+ * 排序字段
+ */
+ private Integer sort;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Sku.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Sku.java
index 214a82b..aafb69c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Sku.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/Sku.java
@@ -1,5 +1,6 @@
package com.ruoyi.mall.domain;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseAudit;
@@ -18,6 +19,7 @@ public class Sku extends BaseAudit {
private static final long serialVersionUID = 1L;
+ @TableId
private Long id;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/vo/ProductShowVO.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/vo/ProductShowVO.java
new file mode 100644
index 0000000..3723461
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/vo/ProductShowVO.java
@@ -0,0 +1,14 @@
+package com.ruoyi.mall.domain.vo;
+
+import com.ruoyi.mall.domain.ProductShow;
+import lombok.Data;
+
+@Data
+public class ProductShowVO extends ProductShow {
+ private String productName;
+ private String productCategoryName;
+ private String tenantName;
+ private String storeName;
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/ProductShowMapper.java b/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/ProductShowMapper.java
new file mode 100644
index 0000000..756ab64
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/ProductShowMapper.java
@@ -0,0 +1,19 @@
+package com.ruoyi.mall.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.mall.domain.ProductShow;
+import com.ruoyi.mall.domain.vo.ProductShowVO;
+
+import java.util.List;
+
+/**
+ * 商品展示申请Mapper接口
+ */
+public interface ProductShowMapper extends BaseMapper {
+
+ List selectProductShowList(ProductShowVO productShowVO);
+
+ int onSaleProductShow();
+
+ int expireProductShow();
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductService.java b/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductService.java
index f91a01c..664d441 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductService.java
@@ -183,6 +183,7 @@ public class ProductService extends ServiceImpl implemen
Product product = BeanUtil.toBean(productVO,Product.class);
product.setCreateTime(LocalDateTime.now());
product.setStoreId(SecurityUtils.getDeptId());
+ product.setTenantId(SecurityUtils.getLoginUser().getNowTenantId());
setProductManager(productVO,product);
List skuList = productVO.getSkuList();
@@ -299,6 +300,7 @@ public class ProductService extends ServiceImpl implemen
if (orderCount>0){
throw new RuntimeException("商品已生成订单,无法删除!");
}
+ //sku product_show 数据库级联删除
return productMapper.deleteById(id);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductShowService.java b/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductShowService.java
new file mode 100644
index 0000000..281d828
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductShowService.java
@@ -0,0 +1,145 @@
+package com.ruoyi.mall.service;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.mall.domain.ProductCategory;
+import com.ruoyi.mall.domain.ProductShow;
+import com.ruoyi.mall.domain.vo.ProductShowVO;
+import com.ruoyi.mall.mapper.ProductCategoryMapper;
+import com.ruoyi.mall.mapper.ProductShowMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Pageable;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 商品信息Service业务层处理
+ *
+ *
+ * @author zcc
+ */
+@Service
+@Slf4j
+public class ProductShowService extends ServiceImpl implements IService {
+
+ @Autowired
+ private ProductCategoryMapper productCategoryMapper; // 注入权限验证服务
+
+
+ public List selectByEntity(ProductShowVO productShow, Pageable page) {
+ if (page != null) {
+ PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize());
+ }
+ LoginUser loginUser= SecurityUtils.getLoginUser();
+ //审核页list
+ if(loginUser.getPermissions().contains("pms:review:list")){
+ return baseMapper.selectProductShowList(productShow);
+ }
+ //申请页list
+ productShow.setTenantId(loginUser.getNowTenantId());
+ productShow.setStoreId(loginUser.getDeptId());
+ return baseMapper.selectProductShowList(productShow);
+ }
+
+ //申请商品展示
+ public Boolean insertProductShow(ProductShow productShow) {
+ LoginUser loginUser= SecurityUtils.getLoginUser();
+ productShow.setTenantId(loginUser.getNowTenantId());
+ productShow.setStoreId(loginUser.getDeptId());
+ productShow.setApplyStatus("0");
+ productShow.setApplyTime(LocalDateTime.now());
+ return this.save(productShow);
+ }
+ //获取商品展示详情
+ public ProductShow selectProductShowDetail(Long id) {
+ return this.getById(id);
+ }
+ //修改申请(租户)
+ public Boolean updateProductShow(ProductShow productShowUpdate) {
+ ProductShow dbProductShow =this.getById(productShowUpdate.getId());
+ if ("1,3".contains(dbProductShow.getApplyStatus())){
+ throw new RuntimeException("审核通过或正在展示期的商品不允许修改");
+ }
+ if (dbProductShow.getApplyStatus().equals("4")){
+ throw new RuntimeException("本次申请展示期已结束,如需继续展示请重新提交申请");
+ }
+ ProductShow productShow = new ProductShow();
+ productShow.setId(productShowUpdate.getId());
+ productShow.setProductId(productShowUpdate.getProductId());
+ productShow.setShowStartTime(productShowUpdate.getShowStartTime());
+ productShow.setShowEndTime(productShowUpdate.getShowEndTime());
+ productShow.setApplyStatus("0");
+ return this.updateById(productShow);
+ }
+
+ //取消申请
+ public Boolean deleteProductShow(Long id) {
+ return this.removeById(id);
+ }
+
+
+
+ //拒绝商品展示
+ public Boolean refuseProductShow(Long id) {
+ ProductShow dbProductShow =this.getById(id);
+ if (!dbProductShow.getApplyStatus().equals("0")){
+ throw new RuntimeException("当前状态不允许此项操作");
+ }
+ ProductShow productShow = new ProductShow();
+ productShow.setId(id);
+ productShow.setApplyStatus("2");
+ return this.updateById(productShow);
+ }
+ //审核通过
+ public Boolean passProductShow(ProductShow productShowUpdate) {
+ ProductShow dbProductShow =this.getById(productShowUpdate.getId());
+ if (ObjectUtil.isEmpty(dbProductShow)){
+ throw new RuntimeException("租户已取消申请");
+ }
+ if (!dbProductShow.getApplyStatus().equals("0")){
+ throw new RuntimeException("当前状态不允许此项操作");
+ }
+ if (dbProductShow.getShowStartTime().isBefore(LocalDateTime.now().toLocalDate())){
+ throw new RuntimeException("展示开始日期已过,请联系租户修改展示时间后,重新提交申请");
+ }
+ if (ObjectUtil.hasNull(productShowUpdate.getSort(),productShowUpdate.getShowCategory())){
+ throw new RuntimeException("请将上架商品所属分类及排序补充完整");
+ }
+ ProductCategory category=productCategoryMapper.selectById(productShowUpdate.getShowCategory());
+ if (ObjectUtil.isNull(category)){
+ throw new RuntimeException("上架商品所属分类不存在");
+ }
+ ProductShow productShow = new ProductShow();
+ productShow.setId(productShowUpdate.getId());
+ productShow.setReviewTime(productShowUpdate.getReviewTime());
+ productShow.setApplyStatus("1");
+ productShow.setSort(productShowUpdate.getSort());
+ productShow.setShowCategory(productShowUpdate.getShowCategory());
+ productShow.setReviewTime(LocalDateTime.now());
+ return this.updateById(productShow);
+ }
+
+ //上架商品展示 (定时器触发事件)
+ @Transactional
+ public int onSaleProductShow() {
+ int updatedRows=baseMapper.onSaleProductShow();
+ System.out.println("今天开始的展示任务已启动,影响记录数:" + updatedRows);
+ return updatedRows;
+ }
+ //商品展示到期 (定时器触发事件)
+ @Transactional
+ public int expireProductShow() {
+ int updatedRows=baseMapper.onSaleProductShow();
+ System.out.println("昨天结束的展示任务已停止,影响记录数:" + updatedRows);
+ return updatedRows;
+ }
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/quartz/task/ProductShowTask.java b/ruoyi-system/src/main/java/com/ruoyi/quartz/task/ProductShowTask.java
new file mode 100644
index 0000000..a19976e
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/quartz/task/ProductShowTask.java
@@ -0,0 +1,26 @@
+package com.ruoyi.quartz.task;
+
+import com.ruoyi.mall.service.ProductShowService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component("productShowTask")
+public class ProductShowTask {
+
+ @Autowired
+ private ProductShowService productShowService;
+
+ /**
+ * 定时上架商品展示(每天00:01执行)
+ */
+ public void onSaleProductShow() {
+ productShowService.onSaleProductShow();
+ }
+
+ /**
+ * 定时过期商品展示(每天00:02执行)
+ */
+ public void expireProductShow() {
+ productShowService.expireProductShow();
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTime.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTime.java
index 639e3ed..fcb4002 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTime.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTime.java
@@ -47,6 +47,9 @@ public class ScClaTime implements Serializable {
@TableField("cla_id")
private Long claId;
+ @TableField( "course_id")
+ private Long courseId;
+
/**
* 任课教练
*/
@@ -65,6 +68,12 @@ public class ScClaTime implements Serializable {
@TableField("room_name")
private String roomName;
+ @TableField("cla_color")
+ private String claColor;
+ @TableField("font_size")
+ private Integer fontSize;
+ @TableField("font_color")
+ private String fontColor;
/**
* 上课主题
*/
@@ -191,7 +200,7 @@ public class ScClaTime implements Serializable {
@TableField("last_update_time")
private Date lastUpdateTime;
- @TableField(exist = false)
+ @TableField("dept_id")
private Long deptId;
@TableField(exist = false)
private String courseName;
@@ -211,7 +220,7 @@ public class ScClaTime implements Serializable {
}
public boolean checkAddParam() {
- if(null == claId || null == teacherId) {
+ if(null == deptId || null == teacherId || null == courseId) {
return false;
}
if (StringUtils.isAnyEmpty(claDate, startTime, endTime)) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeRule.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeRule.java
index 77f8f70..f8ef742 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeRule.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeRule.java
@@ -42,12 +42,21 @@ public class ScClaTimeRule implements Serializable {
@TableField("cla_id")
private Long claId;
+ @TableField( "course_id")
+ private Long courseId;
+
/**
* 规则类型 1重复排课 2单次排课
*/
@TableField("rule_type")
private String ruleType;
+ @TableField("cla_color")
+ private String claColor;
+ @TableField("font_size")
+ private Integer fontSize;
+ @TableField("font_color")
+ private String fontColor;
/**
* 开始日期
*/
@@ -171,11 +180,11 @@ public class ScClaTimeRule implements Serializable {
/**
* 所属校区
*/
- @TableField(exist = false)
+ @TableField("dept_id")
private Long deptId;
public boolean checkParam() {
- if (null == claId || null == teacherId) {
+ if (null == deptId || null == teacherId || null == courseId ) {
return false;
}
if (StringUtils.isAnyEmpty(ruleType)) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeRuleVo.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeRuleVo.java
index 26b31d1..36c1d81 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeRuleVo.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeRuleVo.java
@@ -164,14 +164,17 @@ public class ScClaTimeRuleVo implements Serializable {
/**
* 单次排课 选择的上课日期
*/
- @TableField(exist = false)
private String[] chooseDate;
/**
* 所属校区
*/
- @TableField(exist = false)
private Long deptId;
+ private Long courseId;
+ private String claColor;
+ private Integer fontSize;
+
+ private String fontColor;
public boolean checkParam() {
if (null == claId || null == teacherId) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeVo.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeVo.java
index c48cff6..af173aa 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeVo.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScClaTimeVo.java
@@ -3,7 +3,6 @@ package com.ruoyi.school.course.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -23,7 +22,6 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
-@TableName("sc_cla_time")
public class ScClaTimeVo implements Serializable {
private static final long serialVersionUID = 1L;
@@ -137,14 +135,6 @@ public class ScClaTimeVo implements Serializable {
@TableField("at_class_cnt")
private Integer atClassCnt;
- /**
- * 请假人数
- */
-// @TableField("leave_cnt")
-// private Integer leaveCnt;
-
-
-
/**
* 备注
*/
@@ -175,13 +165,17 @@ public class ScClaTimeVo implements Serializable {
@TableField("last_update_time")
private Date lastUpdateTime;
- @TableField(exist = false)
+ private String claColor;
+ private Integer fontSize;
+
+ private String fontColor;
+
private Long deptId;
- @TableField(exist = false)
+
private String courseName;
- @TableField(exist = false)
+
private String claName;
- @TableField(exist = false)
+
private String deptName;
public boolean checkUpdateParam() {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourse.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourse.java
index 9827548..8f7d57c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourse.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourse.java
@@ -67,6 +67,10 @@ public class ScCourse implements Serializable {
*/
@TableField("sale")
private String sale;
+ @TableField("remark")
+ private String remark;
+ @TableField("star")
+ private Integer star;
/**
* 删除标志(1删除 0在用)
@@ -117,7 +121,7 @@ public class ScCourse implements Serializable {
@TableField("tuition_fee")
private BigDecimal tuitionFee;
- @TableField(value = "depart_id", typeHandler = LongArrayTypeHandler.class,updateStrategy = FieldStrategy.IGNORED)
+ @TableField(value = "depart_id", typeHandler = LongArrayTypeHandler.class)
private Long[] departId;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourseCla.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourseCla.java
deleted file mode 100644
index 84497a6..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourseCla.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.ruoyi.school.course.domain;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.core.api.APIBaseResponse;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.apache.commons.lang3.StringUtils;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- *
- * 课程班级信息
- *
- *
- * @author zhangby
- * @since 2020-08-07
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("sc_course_cla")
-public class ScCourseCla implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 班级id
- */
- @TableId(value = "cla_id")
- private Long claId;
-
- /**
- * 所属租户
- */
- @TableField("tenant_id")
- private String tenantId;
-
- /**
- * 课程id
- */
- @TableField("course_id")
- private Long courseId;
-
- /**
- * 开班校区
- */
- @TableField("depart_id")
- private Long departId;
-
- /**
- * 班主任id
- */
- @TableField("staff_id")
- private Long staffId;
-
- /**
- * 班级名称
- */
- @TableField("cla_name")
- private String claName;
-
- /**
- * 班级颜色
- */
- @TableField("cla_color")
- private String claColor;
-
- /**
- * 满班人数
- */
- @TableField("capacity")
- private Integer capacity;
-
- /**
- * 招生状态 1开放 2满班后停止 0停止
- */
- @TableField("recruit_status")
- private String recruitStatus;
-
-
- /**
- * 开班日期
- */
- @TableField("open_date")
- private String openDate;
-
- /**
- * 结班日期
- */
- @TableField("close_date")
- private String closeDate;
-
- /**
- * 备注
- */
- @TableField("memo")
- private String memo;
-
- /**
- * 删除标志(1删除 0在用)
- */
- @TableField("delete_flag")
- private String deleteFlag;
-
- /**
- * 创建者
- */
- @TableField("create_user")
- private Long createUser;
-
- /**
- * 创建时间
- */
- @TableField("create_time")
- private Date createTime;
-
- /**
- * 更新者
- */
- @TableField("last_update_user")
- private Long lastUpdateUser;
-
- /**
- * 更新时间
- */
- @TableField("last_update_time")
- private Date lastUpdateTime;
-
- @TableField(exist = false)
- private String deptName;
-
- private String teacherName;
-
- // 当前班级人数
- @TableField(exist = false)
- private Integer studentCnt;
-
- public String getTenantId(){
- return SecurityUtils.getLoginUser().getNowTenantId();
- }
-
- /**
- * 校验参数
- * @return
- */
- public APIBaseResponse checkParam(){
- if(StringUtils.isAnyEmpty(claName,claColor)){
- return APIBaseResponse.fail("请求参数错误,请全部填写后,重新提交");
- }
- if(null == courseId || null == departId
-// || null == staffId || null == capacity
-// || null == everyStuLoseHour || null == everyTeaGetHour
- ){
- return APIBaseResponse.fail("请求参数错误,请全部填写后,重新提交");
- }
- return APIBaseResponse.success();
- }
-
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourseClaVo.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourseClaVo.java
deleted file mode 100644
index e5dace6..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/ScCourseClaVo.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package com.ruoyi.school.course.domain;
-
-import com.ruoyi.core.api.APIBaseResponse;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.utils.SecurityUtils;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.apache.commons.lang3.StringUtils;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- *
- * 课程班级信息
- *
- *
- * @author zhangby
- * @since 2020-08-07
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("sc_course_cla")
-public class ScCourseClaVo implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 班级id
- */
- @TableId(value = "cla_id")
- private String claId;
-
- /**
- * 所属租户
- */
- @TableField("tenant_id")
- private String tenantId;
-
- /**
- * 课程id
- */
- @TableField("course_id")
- private String courseId;
-
- /**
- * 开班校区
- */
- @TableField("depart_id")
- private Long departId;
-
- /**
- * 班主任id
- */
- @TableField("staff_id")
- private Long staffId;
-
- /**
- * 班级名称
- */
- @TableField("cla_name")
- private String claName;
-
- /**
- * 班级颜色
- */
- @TableField("cla_color")
- private String claColor;
-
- /**
- * 满班人数
- */
- @TableField("capacity")
- private Integer capacity;
-
- /**
- * 招生状态 1开放 2满班后停止 0停止
- */
- @TableField("recruit_status")
- private String recruitStatus;
-
- /**
- * 每次上课会员扣除课时
- */
- @TableField("every_stu_lose_hour")
- private BigDecimal everyStuLoseHour;
-
- /**
- * 每次上课教练获得课时
- */
- @TableField("every_tea_get_hour")
- private BigDecimal everyTeaGetHour;
-
- /**
- * 开班日期
- */
- @TableField("open_date")
- private String openDate;
-
- /**
- * 结班日期
- */
- @TableField("close_date")
- private String closeDate;
-
- /**
- * 备注
- */
- @TableField("memo")
- private String memo;
-
- /**
- * 删除标志(1删除 0在用)
- */
- @TableField("delete_flag")
- private String deleteFlag;
-
- /**
- * 创建者
- */
- @TableField("create_user")
- private Long createUser;
-
- /**
- * 创建时间
- */
- @TableField("create_time")
- private Date createTime;
-
- /**
- * 更新者
- */
- @TableField("last_update_user")
- private Long lastUpdateUser;
-
- /**
- * 更新时间
- */
- @TableField("last_update_time")
- private Date lastUpdateTime;
-
- @TableField(exist = false)
- private String deptName;
-
- @TableField(exist = false)
- private String teacherName;
-
- // 当前班级人数
- @TableField(exist = false)
- private Integer studentCnt;
-
- public String getTenantId(){
- return SecurityUtils.getLoginUser().getNowTenantId();
- }
-
- /**
- * 校验参数
- * @return
- */
- public APIBaseResponse checkParam(){
- if(StringUtils.isAnyEmpty(claName,claColor,recruitStatus,openDate)){
- return APIBaseResponse.fail("请求参数错误,请全部填写后,重新提交");
- }
- if(null == courseId || null == departId || null == staffId || null == capacity || null == everyStuLoseHour || null == everyTeaGetHour){
- return APIBaseResponse.fail("请求参数错误,请全部填写后,重新提交");
- }
- return APIBaseResponse.success();
- }
-
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqAddScCourseCla.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqAddScCourseCla.java
deleted file mode 100644
index 42e6499..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqAddScCourseCla.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.ruoyi.school.course.domain.req.cla;
-
-import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.school.course.domain.ScCourseCla;
-import lombok.Data;
-
-/**
- * 新增课程
- *
- * @author :zhangbaoyu
- * @date :Created in 2020-03-23 13:53
- */
-@Data
-public class ReqAddScCourseCla {
-
- private Long courseId;
-
- private Long departId;
-
- private Long staffId;
-
- private String claName;
-
- private String claColor;
-
- private Integer capacity;
-
- private String recruitStatus;
-
- private String openDate;
-
- private String closeDate;
-
- private String memo;
-
- /**
- * 获取班级实体
- *
- * @param loginUser
- * @return
- */
- public ScCourseCla getScCourseCla(LoginUser loginUser) {
- ScCourseCla cla = new ScCourseCla();
- cla.setCourseId(courseId);
- cla.setDepartId(departId);
- cla.setStaffId(staffId);
- cla.setClaName(claName);
- cla.setClaColor(claColor);
- cla.setCapacity(capacity);
- cla.setRecruitStatus(recruitStatus);
- cla.setOpenDate(openDate);
- cla.setCloseDate(closeDate);
- cla.setMemo(memo);
- cla.setCreateUser(loginUser.getUserId());
- return cla;
- }
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqClaCount.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqClaCount.java
deleted file mode 100644
index 0dc6ebe..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqClaCount.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.school.course.domain.req.cla;
-
-import com.ruoyi.common.page.ReqDeptCondition;
-import lombok.Builder;
-import lombok.Data;
-
-/**
- * @author :zhangbaoyu
- * @date :Created in 2020/10/24 12:27
- */
-@Data
-@Builder
-public class ReqClaCount extends ReqDeptCondition {
-
- private Long teacherId;
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqCourseClaSelect.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqCourseClaSelect.java
deleted file mode 100644
index d387d76..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqCourseClaSelect.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.school.course.domain.req.cla;
-
-import lombok.Data;
-
-/**
- * 课程班级 select
- *
- * @author :zhangbaoyu
- * @date :Created in 2020-04-27 19:41
- */
-@Data
-public class ReqCourseClaSelect {
-
- private String search;
-
- private Integer maxRecord = 500;
-
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqSearchScCourseCla.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqSearchScCourseCla.java
deleted file mode 100644
index 1e826d4..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/cla/ReqSearchScCourseCla.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.school.course.domain.req.cla;
-
-import com.ruoyi.common.page.ReqPageBase;
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * @author :zhangbaoyu
- * @date :Created in 2020-01-14 17:30
- */
-@Data
-public class ReqSearchScCourseCla extends ReqPageBase implements Serializable {
- private String courseId;
- private String staffId;
- private String claName;
- private String courseTime;
- private Long departId;
-
- private String tenantId;
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/course/ReqAddScCourse.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/course/ReqAddScCourse.java
index c01bf42..b3ad069 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/course/ReqAddScCourse.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/course/ReqAddScCourse.java
@@ -52,6 +52,10 @@ public class ReqAddScCourse {
private BigDecimal tuitionFee;
+
+ private String remark;
+
+ private Integer star;
/**
* 参数校验
*
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/course/ReqSelect.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/course/ReqSelect.java
index c532641..94b2127 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/course/ReqSelect.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/course/ReqSelect.java
@@ -13,6 +13,8 @@ public class ReqSelect {
private String search;
+ private Long departId;
+
private Integer maxRecord = 50;
// 是否可分页
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/time/ReqSearchClaTime.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/time/ReqSearchClaTime.java
index 4ad060c..e0b28f2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/time/ReqSearchClaTime.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/req/time/ReqSearchClaTime.java
@@ -27,7 +27,7 @@ public class ReqSearchClaTime implements Serializable {
private String userId;
// 班级
- private String claId;
+
// 会员
private Long studentId;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespClaAllDetailInfo.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespClaAllDetailInfo.java
deleted file mode 100644
index af33c68..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespClaAllDetailInfo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.ruoyi.school.course.domain.resp.cla;
-
-import com.ruoyi.school.course.domain.ScCourseClaVo;
-import com.ruoyi.school.course.domain.resp.course.RespBusinessChooseCourseCharge;
-import com.ruoyi.school.course.domain.resp.course.ScCourseVo;
-import lombok.Builder;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * 班级详情
- * @author :zhangbaoyu
- * @date :Created in 2020/9/29 18:36
- */
-@Data
-@Builder
-public class RespClaAllDetailInfo {
-
- // 班级信息
- private ScCourseClaVo courseCla;
-
- // 课程信息
- private ScCourseVo course;
-
- // 收费方式
- private List courseChargeList;
-
- // 上课时间
- private List claTimeList;
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespCourseClaInfo.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespCourseClaInfo.java
deleted file mode 100644
index 1cc63af..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespCourseClaInfo.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.ruoyi.school.course.domain.resp.cla;
-
-import lombok.Data;
-
-/**
- * 班级列表信息
- * @author :zhangbaoyu
- * @date :Created in 2020-03-23 19:36
- */
-@Data
-public class RespCourseClaInfo {
-
- private String claId;
-
- private String claName;
-
- // 当前人数
- private Integer studentCnt;
-
- // 满班人数
- private String capacity;
-
- private String recruitStatus;
-
- private String openDate;
-
- private String courseId;
-
- private String courseName;
-
- private Long staffId;
-
- private String teacherName;
-
- private String deptName;
-
- // 上课星期
- private String weekDay;
-
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespCourseClaSelectInfo.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespCourseClaSelectInfo.java
deleted file mode 100644
index 7b14421..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/cla/RespCourseClaSelectInfo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.school.course.domain.resp.cla;
-
-import lombok.Data;
-
-/**
- * 班级 select
- * @author :zhangbaoyu
- * @date :Created in 2020/5/6 13:11
- */
-@Data
-public class RespCourseClaSelectInfo {
-
- private Long claId;
-
- private String claName;
-
- private Long courseId;
-
- private String courseName;
-
- private String staffName;
-
- private Long deptId;
-
- private String deptName;
-
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/course/RespSearchCourse.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/course/RespSearchCourse.java
index 747e493..03bb647 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/course/RespSearchCourse.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/course/RespSearchCourse.java
@@ -67,4 +67,8 @@ public class RespSearchCourse implements Serializable {
private BigDecimal claFee;//教练课时费
private BigDecimal tuitionFee;//课程价值
private String storeNames;
+
+
+ private String remark;
+ private Integer star;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/ClaTimeCalendarItem.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/ClaTimeCalendarItem.java
index 3185ab3..d50d280 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/ClaTimeCalendarItem.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/ClaTimeCalendarItem.java
@@ -50,6 +50,8 @@ public class ClaTimeCalendarItem {
private String roomName;
private String claColor;
+ private Integer fontSize;
+ private String fontColor;
// 上课状态
private String claTimeStatus;
@@ -66,6 +68,8 @@ public class ClaTimeCalendarItem {
this.staffName = respClaTime.getStaffName();
this.roomName = respClaTime.getRoomName();
this.claColor = respClaTime.getClaColor();
+ this.fontSize = respClaTime.getFontSize();
+ this.fontColor = respClaTime.getFontColor();
this.claTimeStatus = respClaTime.getStatus();
this.atClassCnt=respClaTime.getAtClassCnt();
this.lessCnt=respClaTime.getLessCnt();
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTime.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTime.java
index 20c8b16..f4c25f5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTime.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTime.java
@@ -79,4 +79,5 @@ public class RespClaTime {
private Date lastUpdateTime;
// 记录人
private String lastUpdateUserName;
+ private String deptName;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTimeCalendar.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTimeCalendar.java
index 57be5af..3929043 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTimeCalendar.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTimeCalendar.java
@@ -16,6 +16,8 @@ import java.util.Date;
public class RespClaTimeCalendar {
private String claColor;
+ private Integer fontSize;
+ private String fontColor;
private String staffName;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTimeRule.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTimeRule.java
index dfca153..e528554 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTimeRule.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/domain/resp/time/RespClaTimeRule.java
@@ -42,6 +42,7 @@ public class RespClaTimeRule {
@TableField("cla_id")
private String claId;
+ private Long courseId;
/**
* 规则类型 1重复排课 2单次排课
*/
@@ -147,13 +148,12 @@ public class RespClaTimeRule {
/**
* 单次排课 选择的上课日期
*/
- @TableField(exist = false)
private String[] chooseDate;
/**
* 所属校区
*/
- @TableField(exist = false)
private Long deptId;
+ private String deptName;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeAttendMapper.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeAttendMapper.java
index 03c1431..e99eb5e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeAttendMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeAttendMapper.java
@@ -75,16 +75,7 @@ public interface ScClaTimeAttendMapper extends com.baomidou.mybatisplus.core.map
, @Param("tenantId") String tenantId);
BigDecimal selectMemberByDay( @Param("tenantId") String tenantId);
- /**
- * 应消 会员消耗课时数量
- *
- * @param beginDate
- * @param endDate
- * @return
- */
- BigDecimal selectNeedAttendCostHour(@Param("beginDate") String beginDate
- , @Param("endDate") String endDate
- , @Param("tenantId") String tenantId);
+
/**
* 教练 指定日期范围内 累计获得课时
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeMapper.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeMapper.java
index 7552e76..077cce5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeMapper.java
@@ -3,10 +3,12 @@ package com.ruoyi.school.course.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.school.course.domain.ScClaTime;
+import com.ruoyi.school.course.domain.ScClaTimeVo;
import com.ruoyi.school.course.domain.req.time.ReqClaTimeCount;
import com.ruoyi.school.course.domain.req.time.ReqSearchClaTime;
import com.ruoyi.school.course.domain.resp.time.RespClaTime;
import com.ruoyi.school.course.domain.resp.time.RespClaTimeCalendar;
+import com.ruoyi.school.student.domain.resp.RespCourseClaStudent;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -46,9 +48,21 @@ public interface ScClaTimeMapper extends BaseMapper {
Integer selectClaTimeCount(ReqClaTimeCount reqClaTimeCount);
Integer selectBookCount(@Param("ruleId") Long ruleId
- ,@Param("claId") Long claId
,@Param("courseTimeId") String courseTimeId
, @Param("tenantId") String tenantId );
+ ScClaTimeVo serlectByClaTimeId(Long courseTimeId);
+ List selectStudenForClaTime(String courseTimeId);
+
+ int checkTeacherConflict(@Param("teacherId")Long teacherId,
+ @Param("date")String date,
+ @Param("startTime")String startTime,
+ @Param("endTime")String endTime,
+ @Param("excludeScheduleId")String excludeScheduleId);
+ int checkClassroomConflict(@Param("classroomId")Long classroomId,
+ @Param("date")String date,
+ @Param("startTime")String startTime,
+ @Param("endTime")String endTime,
+ @Param("excludeScheduleId")String excludeScheduleId);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeRuleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeRuleMapper.java
index 67ec1c2..08116d0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeRuleMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScClaTimeRuleMapper.java
@@ -34,7 +34,7 @@ public interface ScClaTimeRuleMapper extends BaseMapper {
* @param day
* @return
*/
- List selectByDay(@Param("claId")Long claId, @Param("day")String day);
+ List selectByDay(@Param("courseId")Long courseId, @Param("day")String day);
/**
* 根据id获取规则
@@ -45,8 +45,10 @@ public interface ScClaTimeRuleMapper extends BaseMapper {
/**
* 获取班级上课时间
- * @param claId
+ * @param
* @return
*/
- List selectClaTimeInfo(Long claId);
+ List selectClaTimeInfo(@Param("deptId") Long deptId,@Param("courseId")Long courseId);
+
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScCourseClaMapper.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScCourseClaMapper.java
deleted file mode 100644
index 4a58004..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/mapper/ScCourseClaMapper.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.ruoyi.school.course.mapper;
-
-import com.baomidou.mybatisplus.annotation.SqlParser;
-import com.ruoyi.common.page.RespPage;
-import com.ruoyi.school.course.domain.ScCourseCla;
-import com.ruoyi.school.course.domain.req.cla.ReqClaCount;
-import com.ruoyi.school.course.domain.req.cla.ReqCourseClaSelect;
-import com.ruoyi.school.course.domain.req.cla.ReqSearchScCourseCla;
-import com.ruoyi.school.course.domain.resp.cla.RespCourseClaInfo;
-import com.ruoyi.school.course.domain.resp.cla.RespCourseClaSelectInfo;
-import com.ruoyi.school.student.domain.resp.RespCourseClaStudent;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- *
- * 课程班级信息 Mapper 接口
- *
- *
- * @author zhangby
- * @since 2020-03-17 01:11:06
- */
-public interface ScCourseClaMapper extends com.baomidou.mybatisplus.core.mapper.BaseMapper {
-
- /**
- * 班级列表
- *
- * @param reqSearchScCourseCla
- * @param page
- * @return
- */
- List selectClaList(@Param("reqSearchScCourseCla") ReqSearchScCourseCla reqSearchScCourseCla, @Param("page") RespPage page);
-
- /**
- * 班级select
- * @param courseClaSelect
- * @return
- */
- List selectForSelect(ReqCourseClaSelect courseClaSelect);
-
- /**
- * 班级数量
- * @param reqClaCount
- * @return
- */
- Integer selectClaCount(ReqClaCount reqClaCount);
-
- /**
- * 班级数量
- * @param tenantId
- * @return
- */
- @SqlParser(filter = true)
- Integer selectTenantClaCount(String tenantId);
-
- /**
- * 班级在读会员数量
- * @param claId
- * @return
- */
- Integer selectStudentCnt(Long claId);
-
-
- List selectStudenForClaTime(@Param("courseTimeId") String courseTimeId);
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessClaTimeRuleService.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessClaTimeRuleService.java
index 63fc966..3965c61 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessClaTimeRuleService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessClaTimeRuleService.java
@@ -35,8 +35,6 @@ public class BusinessClaTimeRuleService {
@Autowired
private ScClaTimeRuleMapper claTimeRuleMapper;
@Autowired
- private IScCourseClaService courseClaService;
- @Autowired
private IScRoomService roomService;
/**
@@ -60,6 +58,7 @@ public class BusinessClaTimeRuleService {
*/
@Transactional
public APIResponse addClaTimeRule(ScClaTimeRule claTimeRule) {
+
if (!claTimeRule.checkParam()) {
return APIResponse.toExceptionResponse(ApiResEnums.PARAM_FAIL);
}
@@ -90,10 +89,7 @@ public class BusinessClaTimeRuleService {
ScClaTimeRuleVo scClaTimeRuleVo = new ScClaTimeRuleVo();
BeanUtil.copyProperties(claTimeRule,scClaTimeRuleVo);
// 设置deptId
- Long claId = claTimeRule.getClaId();
- ScCourseCla courseCla = courseClaService.getById(claId);
- claTimeRule.setDeptId(courseCla.getDepartId());
- scClaTimeRuleVo.setDeptId(courseCla.getDepartId());
+ scClaTimeRuleVo.setDeptId(claTimeRule.getDeptId());
return APIResponse.toAPIResponse(scClaTimeRuleVo);
}
@@ -114,7 +110,7 @@ public class BusinessClaTimeRuleService {
return APIResponse.toExceptionResponse(ApiResEnums.PARAM_FAIL);
}
LoginUser loginUser = SecurityUtils.getLoginUser();
- Integer bookCount= claTimeService.selectBookCount(claTimeRule.getRuleId(), claTimeRule.getClaId(),null);
+ Integer bookCount= claTimeService.selectBookCount(claTimeRule.getRuleId(), null);
if(bookCount.intValue()>0){
return APIResponse.toExceptionResponse("无法修改:相关课表中有会员预约!");
}
@@ -128,7 +124,7 @@ public class BusinessClaTimeRuleService {
claTimeRule.setLastUpdateTime(new Date());
boolean updateScCourseType = claTimeRuleService.updateById(claTimeRule);
- claTimeService.deleteUnBeginTime(claTimeRule.getRuleId(), claTimeRule.getClaId(), loginUser.getNowTenantId());
+ claTimeService.deleteUnBeginTime(claTimeRule.getRuleId(), loginUser.getNowTenantId());
saveBatchClaTime(claTimeRule);
return APIResponse.toOkResponse();
@@ -149,7 +145,7 @@ public class BusinessClaTimeRuleService {
//是否有会员预约
LoginUser loginUser = SecurityUtils.getLoginUser();
- Integer bookCount= claTimeService.selectBookCount(claTimeRule.getRuleId(), claTimeRule.getClaId(),null);
+ Integer bookCount= claTimeService.selectBookCount(claTimeRule.getRuleId(), null);
if(bookCount.intValue()>0){
return APIResponse.toExceptionResponse("无法删除:相关课表中有会员预约!");
@@ -157,7 +153,7 @@ public class BusinessClaTimeRuleService {
claTimeRuleService.removeById(ruleId);
- claTimeService.deleteUnBeginTime(claTimeRule.getRuleId(), claTimeRule.getClaId(), loginUser.getNowTenantId());
+ claTimeService.deleteUnBeginTime(claTimeRule.getRuleId(), loginUser.getNowTenantId());
return APIResponse.toOkResponse();
}
@@ -170,17 +166,24 @@ public class BusinessClaTimeRuleService {
* @param claTimeRule
*/
private void saveBatchClaTime(ScClaTimeRule claTimeRule) {
- Long claId = claTimeRule.getClaId();
- ScCourseCla courseCla = courseClaService.getById(claId);
- ScCourse course=courseService.getById(courseCla.getCourseId());
+
+ ScCourse course=courseService.getById(claTimeRule.getCourseId());
List claTimeList = claTimeRuleService.getClaTimeListByRule(claTimeRule, null);
List timeList = claTimeList.stream().map(item -> {
+ if (
+ claTimeService.checkTeacherConflict(claTimeRule.getTeacherId(), item.getClaDate(), item.getClaTimeBegin(), item.getClaTimeEnd(), null)
+ ||
+ claTimeService.checkClassroomConflict(claTimeRule.getRoomId(), item.getClaDate(), item.getClaTimeBegin(), item.getClaTimeEnd(), null)
+ ){
+ throw new RuntimeException("存在教师或教室冲突,请重新选择上课时间");
+ }
ScClaTime claTime = new ScClaTime();
claTime.setRuleId(claTimeRule.getRuleId());
- claTime.setClaId(claTimeRule.getClaId());
+ claTime.setCourseId(claTimeRule.getCourseId());
+ claTime.setDeptId(claTimeRule.getDeptId());
claTime.setClaDate(item.getClaDate());
claTime.setStartTime(item.getClaTimeBegin());
claTime.setEndTime(item.getClaTimeEnd());
@@ -188,6 +191,9 @@ public class BusinessClaTimeRuleService {
claTime.setAtClassCnt(claTimeRule.getAtClassCnt());
claTime.setLessCnt(claTimeRule.getLessCnt());
claTime.setTeacherFee(course.getClaFee());
+ claTime.setClaColor(claTimeRule.getClaColor());
+ claTime.setFontSize(claTimeRule.getFontSize());
+ claTime.setFontColor(claTimeRule.getFontColor());
// 排课
claTime.setSource("1");
// 待上课
@@ -197,10 +203,11 @@ public class BusinessClaTimeRuleService {
claTime.setClassTheme(claTimeRule.getClassTheme());
claTime.setTeacherId(claTimeRule.getTeacherId());
claTime.setCreateUser(claTimeRule.getCreateUser());
- claTime.setTenantId(courseCla.getTenantId());
+ claTime.setTenantId(course.getTenantId());
return claTime;
}).collect(Collectors.toList());
claTimeService.saveBatch(timeList);
}
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessClaTimeService.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessClaTimeService.java
index b963a2f..94d5dca 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessClaTimeService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessClaTimeService.java
@@ -1,6 +1,5 @@
package com.ruoyi.school.course.service;
-import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -27,11 +26,13 @@ import com.ruoyi.school.room.domain.ScRoom;
import com.ruoyi.school.room.mapper.ScRoomMapper;
import com.ruoyi.school.room.service.IScRoomService;
import com.ruoyi.school.student.domain.req.ReqClaTimeAttend;
+import com.ruoyi.school.student.domain.resp.RespCourseClaStudent;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.*;
@@ -49,8 +50,6 @@ public class BusinessClaTimeService {
@Autowired
private IScRoomService roomService;
@Autowired
- private IScCourseClaService claService;
- @Autowired
private IScCourseService courseService;
@Autowired
private ScBookCourseMapper bookCourseMapper;
@@ -83,19 +82,35 @@ public class BusinessClaTimeService {
return APIResponse.toOkResponse();
}
- // 日历数据 格式为:时间->星期->课程
+ // 1. 查询真实课表数据
+ List respClaTimeList = claTimeMapper.selectListForCalendar(reqSearchClaTime);
+
+ // 2. 根据返回的 开始时间(startHour) + 时长(claDuration) 自动生成时间段 MAP
+ Map AUTO_CLA_TIME_MAP = generateTimeMapFromData(respClaTimeList);
+
+ // 3. 使用自动生成的时间段构建日历结构
Map>> claTimeCalendarMap = Maps.newHashMap();
- SysConstant.CLA_TIME_MAP.forEach((claTimeKey, claTimeValue) -> {
+ AUTO_CLA_TIME_MAP.forEach((claTimeKey, claTimeValue) -> {
Map> weekDayMap = Maps.newHashMap();
SysConstant.WEEK_DAY_MAP.forEach((weekDayKey, weekDay) -> {
- List claTimeArrayList = Lists.newArrayList();
- weekDayMap.put(weekDayKey, claTimeArrayList);
+ weekDayMap.put(weekDayKey, Lists.newArrayList());
});
claTimeCalendarMap.put(claTimeKey, weekDayMap);
});
-
-
- List respClaTimeList = claTimeMapper.selectListForCalendar(reqSearchClaTime);
+ // ======================================================
+ // 日历数据 格式为:时间->星期->课程
+// Map>> claTimeCalendarMap = Maps.newHashMap();
+// SysConstant.CLA_TIME_MAP.forEach((claTimeKey, claTimeValue) -> {
+// Map> weekDayMap = Maps.newHashMap();
+// SysConstant.WEEK_DAY_MAP.forEach((weekDayKey, weekDay) -> {
+// List claTimeArrayList = Lists.newArrayList();
+// weekDayMap.put(weekDayKey, claTimeArrayList);
+// });
+// claTimeCalendarMap.put(claTimeKey, weekDayMap);
+// });
+//
+//
+// List respClaTimeList = claTimeMapper.selectListForCalendar(reqSearchClaTime);
// 将排课信息 入到 claTimeCalendarMap
respClaTimeList.forEach(item -> {
@@ -120,7 +135,7 @@ public class BusinessClaTimeService {
// 每行数据
claTimeCalendarMap.forEach((claTimeKey, claTimeMap) -> {
ClaTimeContainer claTimeContainer = new ClaTimeContainer();
- claTimeContainer.setTime(SysConstant.CLA_TIME_MAP.get(claTimeKey));
+ claTimeContainer.setTime(AUTO_CLA_TIME_MAP.get(claTimeKey));
Map> claTimeWeekDayMap = Maps.newHashMap();
claTimeMap.forEach((weekDayKey, list) -> {
@@ -142,17 +157,23 @@ public class BusinessClaTimeService {
claTimeContainer.setClaTimeWeekDayMap(claTimeWeekDayMap);
claTimeContainerList.add(claTimeContainer);
});
- Collections.sort(claTimeContainerList, (o1, o2) -> {
- int a = Integer.parseInt(o1.getTime().substring(0, 2));
- int b = Integer.parseInt(o2.getTime().substring(0, 2));
- if (a > b) {
- return 1;
- } else if (a < b) {
- return -1;
- } else {
- return 0;
- }
- });
+// Collections.sort(claTimeContainerList, (o1, o2) -> {
+// int a = Integer.parseInt(o1.getTime().substring(0, 2));
+// int b = Integer.parseInt(o2.getTime().substring(0, 2));
+// if (a > b) {
+// return 1;
+// } else if (a < b) {
+// return -1;
+// } else {
+// return 0;
+// }
+// });
+ // 按小时正序排序
+ Collections.sort(claTimeContainerList, Comparator.comparingInt(o -> {
+ String time = o.getTime();
+ return Integer.parseInt(time.substring(0, 2));
+ }));
+
timeCalendar.setClaTimeContainer(claTimeContainerList);
@@ -184,7 +205,12 @@ public class BusinessClaTimeService {
return claTimeMapper.selectListForCalendar(reqSearchClaTime);
}
-
+ public APIResponse searchCourseClaStudent(ReqSearchClaTime reqSearchClaTime){
+ String courseTimeId=reqSearchClaTime.getCourseTimeId();
+ //预约的会员
+ List scStudentList= claTimeMapper.selectStudenForClaTime(courseTimeId);
+ return APIResponse.toAPIResponse(scStudentList);
+ }
/**
@@ -244,8 +270,7 @@ public class BusinessClaTimeService {
claTime.setRoomName(room.getRoomName());
}
- ScCourseCla courseCla = claService.getById(claTime.getClaId());
- ScCourse course=courseService.getById(courseCla.getCourseId());
+ ScCourse course=courseService.getById(claTime.getCourseId());
claTime.setSource("3");
LoginUser loginUser = SecurityUtils.getLoginUser();
claTime.setTeacherFee(course.getClaFee());
@@ -266,17 +291,12 @@ public class BusinessClaTimeService {
if (null == courseTimeId) {
return APIResponse.toAPIResponse(null);
}
- ScClaTime claTime = claTimeService.getById(courseTimeId);
- Long claId = claTime.getClaId();
- if (null != claId) {
- ScCourseCla courseCla = claService.getById(claId);
- if (null != courseCla) {
- claTime.setDeptId(courseCla.getDepartId());
- }
- }
+// ScClaTime claTime = claTimeService.getById(courseTimeId);
+ ScClaTimeVo scClaTimeVo =claTimeMapper.serlectByClaTimeId(courseTimeId);
- ScClaTimeVo scClaTimeVo = new ScClaTimeVo();
- BeanUtil.copyProperties(claTime,scClaTimeVo);
+
+// ScClaTimeVo scClaTimeVo = new ScClaTimeVo();
+// BeanUtil.copyProperties(claTime,scClaTimeVo);
return APIResponse.toAPIResponse(scClaTimeVo);
}
@@ -295,11 +315,25 @@ public class BusinessClaTimeService {
return APIResponse.toExceptionResponse(ApiResEnums.PARAM_FAIL);
}
- ScCourseCla courseCla = claService.getById(claTime.getClaId());
+ if (
+ claTimeService.checkTeacherConflict(claTime.getTeacherId(),
+ claTime.getClaDate(),
+ claTime.getStartTime(),
+ claTime.getEndTime(),
+ claTime.getCourseTimeId())
+ ||
+ claTimeService.checkClassroomConflict(new Long(claTime.getRoomId()),
+ claTime.getClaDate(),
+ claTime.getEndTime(),
+ claTime.getEndTime(),
+ claTime.getCourseTimeId())
+ ){
+ throw new RuntimeException("存在教师或教室冲突,请重新选择上课时间");
+ }
LoginUser loginUser = SecurityUtils.getLoginUser();
//是否有会员预约
- Integer bookCount= claTimeService.selectBookCount(null, null,claTime.getCourseTimeId());
+ Integer bookCount= claTimeService.selectBookCount(null, claTime.getCourseTimeId());
if(bookCount.intValue()>0){
return APIResponse.toExceptionResponse("无法修改:有会员预约,请联系会员取消预约后再作修改!");
@@ -313,6 +347,9 @@ public class BusinessClaTimeService {
uw.set("room_name", room.getRoomName());
}
uw.set("cla_date", claTime.getClaDate());
+ uw.set("cla_color", claTime.getClaColor());
+ uw.set("font_size", claTime.getFontSize());
+ uw.set("font_color", claTime.getFontColor());
uw.set("start_time", claTime.getStartTime());
uw.set("end_time", claTime.getEndTime());
uw.set("teacher_id", claTime.getTeacherId());
@@ -345,7 +382,7 @@ public class BusinessClaTimeService {
return APIResponse.toExceptionResponse("已上课,无法删除");
}
//是否有会员预约
- Integer bookCount= claTimeService.selectBookCount(null, null,claTime.getCourseTimeId().toString());
+ Integer bookCount= claTimeService.selectBookCount(null, claTime.getCourseTimeId().toString());
if(bookCount.intValue()>0){
return APIResponse.toExceptionResponse("无法删除:相关课表中有会员预约,请联系会员取消预约后再进行操作!");
@@ -440,5 +477,43 @@ public class BusinessClaTimeService {
log.setBookId(bookId);
bookCourseLogMapper.insert(log);
}
+ /**
+ * 根据课表真实数据,自动生成【2小时间隔、不重叠、有序】的时间段 MAP
+ * 规则:
+ * 1. 每个时间段固定 2 小时
+ * 2. 自动去重、不重叠、时间连续
+ * 3. 只包含数据库中实际存在的上课时段
+ */
+ private Map generateTimeMapFromData(List respClaTimeList) {
+ // TreeMap 自动按 key 升序排列
+ Map timeMap = new TreeMap<>();
+ if (CollectionUtils.isEmpty(respClaTimeList)) {
+ timeMap=SysConstant.CLA_TIME_MAP;
+ return timeMap;
+ }
+ // 第一步:收集所有【合法的2小时制开始小时】(8、10、12、14、16、18...)
+ Set validStartHours = new HashSet<>();
+ for (RespClaTimeCalendar item : respClaTimeList) {
+ Integer startHour = item.getStartHour();
+ if (startHour == null) continue;
+
+ // 计算属于哪个2小时时段(核心:向下取整到偶数整点)
+ int sectionStart = (startHour / 2) * 2;
+ // 限制在合理范围 0~24
+ if (sectionStart >= 0 && sectionStart <= 22) {
+ validStartHours.add(sectionStart);
+ }
+ }
+
+ // 第二步:生成 2小时间隔、不重叠 的时间段
+ for (Integer start : validStartHours) {
+ int end = start + 2;
+ String startTime = String.format("%02d:00", start);
+ String endTime = String.format("%02d:00", end);
+ timeMap.put(start, startTime + " ~ " + endTime);
+ }
+
+ return timeMap;
+ }
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessScCourseService.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessScCourseService.java
index 2a31d50..303c595 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessScCourseService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessScCourseService.java
@@ -14,7 +14,6 @@ import com.ruoyi.core.api.ApiResEnums;
import com.ruoyi.mall.domain.Product;
import com.ruoyi.mall.service.ProductService;
import com.ruoyi.school.course.domain.ScCourse;
-import com.ruoyi.school.course.domain.ScCourseCla;
import com.ruoyi.school.course.domain.ScCourseType;
import com.ruoyi.school.course.domain.req.course.ReqAddScCourse;
import com.ruoyi.school.course.domain.req.course.ReqChangeScCourse;
@@ -94,7 +93,10 @@ public class BusinessScCourseService {
qw.like("course_name", reqSelect.getSearch());
}
qw.eq("tenant_id", SecurityUtils.getLoginUser().getNowTenantId());
- qw.orderByDesc("create_time");
+ if (ObjectUtil.isNotEmpty(reqSelect.getDepartId())) {
+ qw.last(" and (JSON_CONTAINS(depart_id, CAST("+reqSelect.getDepartId()+" AS JSON)) or depart_id is null)");
+ }
+// qw.orderByDesc("create_time");
List list = scCourseService.list(qw);
return APIResponse.toAPIResponse(list);
}
@@ -123,7 +125,8 @@ public class BusinessScCourseService {
respScCourseDetail.setClaFee(detailInfo.getClaFee());
respScCourseDetail.setCourseCampus(ObjectUtil.isEmpty(detailInfo.getDepartId())?"全部校区":"部分校区");
respScCourseDetail.setPartCampus(detailInfo.getDepartId());
-
+ respScCourseDetail.setRemark(detailInfo.getRemark());
+ respScCourseDetail.setStar(detailInfo.getStar());
if(null != detailInfo.getCourseTypeId()) {
ScCourseType courseType = courseTypeService.getById(detailInfo.getCourseTypeId());
@@ -160,6 +163,8 @@ public class BusinessScCourseService {
scCourse.setClaFee(reqAddScCourse.getClaFee());
scCourse.setDepartId(reqAddScCourse.getPartCampus());
scCourse.setTuitionFee(reqAddScCourse.getTuitionFee());
+ scCourse.setRemark(reqAddScCourse.getRemark());
+ scCourse.setStar(reqAddScCourse.getStar());
boolean addScCourse = scCourseService.save(scCourse);
//默认班级
@@ -196,13 +201,13 @@ public class BusinessScCourseService {
updateCourse.setSale("1");
// updateCourse.setDepartId(reqChangeScCourse.getPartCampus());
updateCourse.setImportId(-1L);
+ updateCourse.setRemark(reqChangeScCourse.getRemark());
+ updateCourse.setStar(reqChangeScCourse.getStar());
boolean updateScCourse = scCourseService.updateById(updateCourse);
return APIResponse.toOkResponse();
}
- @Autowired
- private IScCourseClaService courseClaService;
@Autowired
private ScMemberCardCourseService cardCourseService;
/**
@@ -216,14 +221,6 @@ public class BusinessScCourseService {
return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE);
}
- // 如课程对应在用班级,不允许删除
- QueryWrapper qw = new QueryWrapper<>();
- qw.in("course_id", courseIds);
- int courseClaCount = courseClaService.count(qw);
- if (courseClaCount != 0) {
- return APIResponse.toExceptionResponse("该课程下存在在用班级,无法删除课程");
- }
-
String arrayAsString = courseIds.stream()
.map(Object::toString) // 将Long转换为String
.collect(Collectors.joining(",")); // 使用逗号和空格连接字符串
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessScCourseTypeService.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessScCourseTypeService.java
index 1c5e064..2c4c918 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessScCourseTypeService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/BusinessScCourseTypeService.java
@@ -151,7 +151,7 @@ public class BusinessScCourseTypeService {
.map(Object::toString) // 将Long转换为String
.collect(Collectors.joining(",")); // 使用逗号和空格连接字符串
- int cardTypes= memberCardTypesService.count(new QueryWrapper()
+ int cardTypes= memberCardTypesService.count(new QueryWrapper()
.last(" and JSON_CONTAINS(course_types, CAST("+arrayAsString+" AS JSON))"));
if (cardTypes != 0) {
return APIResponse.toExceptionResponse("已有会员卡项使用,无法删除");
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScClaTimeRuleService.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScClaTimeRuleService.java
index d42755b..594c52f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScClaTimeRuleService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScClaTimeRuleService.java
@@ -75,6 +75,6 @@ public interface IScClaTimeRuleService extends IService {
* @param claId
* @return
*/
- List selectClaTimeInfo(Long claId);
+ List selectClaTimeInfo(Long deptId,Long courseId);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScClaTimeService.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScClaTimeService.java
index a3e666f..c575652 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScClaTimeService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScClaTimeService.java
@@ -21,7 +21,7 @@ public interface IScClaTimeService extends IService {
* @param tenantId
* @return
*/
- boolean deleteUnBeginTime(Long ruleId, Long claId, String tenantId);
+ boolean deleteUnBeginTime(Long ruleId, String tenantId);
/**
* 排课总数量
@@ -36,6 +36,28 @@ public interface IScClaTimeService extends IService {
* @param claId
* @return
*/
- Integer selectBookCount( Long ruleId, Long claId,String courseTimeId);
+ Integer selectBookCount( Long ruleId, String courseTimeId);
+
+ /**
+ * 检查教师冲突
+ * @param teacherId
+ * @param date
+ * @param startTime
+ * @param endTime
+ * @param excludeScheduleId
+ * @return
+ */
+ boolean checkTeacherConflict(Long teacherId, String date, String startTime, String endTime, String excludeScheduleId);
+
+ /**
+ * 检查教室冲突
+ * @param classroomId
+ * @param date
+ * @param startTime
+ * @param endTime
+ * @param excludeSchedule
+ * @return
+ */
+ boolean checkClassroomConflict(Long classroomId, String date, String startTime, String endTime, String excludeSchedule);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScCourseClaService.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScCourseClaService.java
deleted file mode 100644
index 59a9dc4..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/IScCourseClaService.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ruoyi.school.course.service;
-
-import com.ruoyi.school.course.domain.ScCourseCla;
-import com.ruoyi.core.api.APIBaseResponse;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- *
- * 课程班级信息 服务类
- *
- *
- * @author zhangby
- * @since 2020-03-17 01:11:06
- */
-public interface IScCourseClaService extends IService {
-
-
-
- /**
- * 是否允许变更 班级所属课程
- * @param claId
- * @return
- */
- APIBaseResponse canChangeCourse(Long claId);
-
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/BusinessScCourseClaService.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/BusinessScCourseClaService.java
deleted file mode 100644
index 36f93f3..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/BusinessScCourseClaService.java
+++ /dev/null
@@ -1,299 +0,0 @@
-package com.ruoyi.school.course.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.google.common.collect.Maps;
-import com.ruoyi.common.core.domain.entity.SysDept;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.common.page.RespPage;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.core.api.APIBaseResponse;
-import com.ruoyi.core.api.APIResponse;
-import com.ruoyi.core.api.ApiResEnums;
-import com.ruoyi.school.course.domain.ScClaTime;
-import com.ruoyi.school.course.domain.ScCourse;
-import com.ruoyi.school.course.domain.ScCourseCla;
-import com.ruoyi.school.course.domain.ScCourseClaVo;
-import com.ruoyi.school.course.domain.req.cla.ReqAddScCourseCla;
-import com.ruoyi.school.course.domain.req.cla.ReqSearchScCourseCla;
-import com.ruoyi.school.course.domain.req.time.ReqSearchClaTime;
-import com.ruoyi.school.course.domain.resp.cla.RespClaAllDetailInfo;
-import com.ruoyi.school.course.domain.resp.cla.RespCourseClaInfo;
-import com.ruoyi.school.course.domain.resp.course.ScCourseVo;
-import com.ruoyi.school.course.mapper.ScCourseClaMapper;
-import com.ruoyi.school.course.service.*;
-import com.ruoyi.school.student.domain.resp.RespCourseClaStudent;
-import com.ruoyi.school.student.service.IScStudentService;
-import com.ruoyi.system.service.ISysDeptService;
-import com.ruoyi.system.service.ISysUserService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author :zhangbaoyu
- * @date :Created in 2020-01-14 17:24
- */
-@Service
-@Transactional
-public class BusinessScCourseClaService {
-
- @Autowired
- private IScCourseClaService scCourseClaService;
- @Autowired
- private IScCourseService courseService;
-
- @Autowired
- private ScCourseClaMapper scCourseClaMapper;
- @Autowired
- private IScStudentService studentService;
-
- @Autowired
- private ISysDeptService deptService;
- @Autowired
- private IScClaTimeService claTimeService;
-
- @Autowired
- private ISysUserService userService;
-
-
- //
- public APIResponse searchCourseClaStudent(ReqSearchClaTime reqSearchClaTime){
- String courseTimeId=reqSearchClaTime.getCourseTimeId();
- //预约的会员
- List scStudentList= scCourseClaMapper.selectStudenForClaTime(courseTimeId);
- return APIResponse.toAPIResponse(scStudentList);
- }
-
-
-
-
- /**
- * 查询
- *
- * @param reqSearchScCourseCla
- * @return
- */
- public APIResponse searchList(ReqSearchScCourseCla reqSearchScCourseCla) {
- com.ruoyi.common.page.RespPage page = new RespPage<>(reqSearchScCourseCla.getPageNum(), reqSearchScCourseCla.getPageSize());
- String nowTenantId = SecurityUtils.getLoginUser().getNowTenantId();
- reqSearchScCourseCla.setTenantId(nowTenantId);
- List claList = scCourseClaMapper.selectClaList(reqSearchScCourseCla, page);
- page.setRows(claList);
- return APIResponse.toAPIResponse(page);
- }
-
- /**
- * 详情
- *
- * @param claId
- * @return
- */
- public APIResponse detailById(Long claId) {
- if (null == claId) {
- return APIResponse.toAPIResponse(null);
- }
- Map resultMap = Maps.newHashMap();
- // 班级信息
- ScCourseCla detailInfo = scCourseClaService.getById(claId);
-
- if (null == detailInfo) {
- return APIResponse.toAPIResponse(null);
- }
-
- ScCourseClaVo scCourseCla = new ScCourseClaVo();
- BeanUtil.copyProperties(detailInfo,scCourseCla);
- scCourseCla.setClaId(detailInfo.getClaId().toString());
- scCourseCla.setCourseId(detailInfo.getCourseId().toString());
- // 课程信息
- ScCourse scCourse = courseService.getById(detailInfo.getCourseId());
-
- ScCourseVo scCourseVo = new ScCourseVo();
- BeanUtil.copyProperties(scCourse,scCourseVo);
- scCourseVo.setCourseId(scCourse.getCourseId().toString());
-
- // 是否允许变更课程,有报名不允许变更课程
- APIBaseResponse canChangeCourse = scCourseClaService.canChangeCourse(claId);
- resultMap.put("canChangeCourse", canChangeCourse.isSuccess());
-
- resultMap.put("claInfo", scCourseCla);
- resultMap.put("claCourseInfo", scCourseVo);
-
- return APIResponse.toAPIResponse(resultMap);
- }
-
-
-
- @Autowired
- private IScClaTimeRuleService claTimeRuleService;
-
- /**
- * 班级详情
- *
- * @param claId
- * @return
- */
- public RespClaAllDetailInfo allDetailInfoById(Long claId) {
- if (null == claId) {
- return null;
- }
- // 班级信息
- ScCourseCla courseCla = scCourseClaService.getById(claId);
-
- if (null == courseCla) {
- return null;
- }
-
- ScCourseClaVo scCourseClaVo = new ScCourseClaVo();
- BeanUtil.copyProperties(courseCla,scCourseClaVo);
- scCourseClaVo.setClaId(courseCla.getClaId().toString());
-
- // 课程信息
- ScCourse scCourse = courseService.getById(courseCla.getCourseId());
-
- ScCourseVo scCourseVo = new ScCourseVo();
- BeanUtil.copyProperties(scCourse,scCourseVo);
- scCourseVo.setCourseId(scCourse.getCourseId().toString());
-
- // 校区
- if (null != courseCla.getDepartId()) {
- SysDept sysDept = deptService.getById(courseCla.getDepartId());
- scCourseClaVo.setDeptName(sysDept.getDeptName());
- }
-
- // 教练
- if (null != courseCla.getStaffId()) {
- SysUser staff = userService.selectUserById(courseCla.getStaffId());
- scCourseClaVo.setTeacherName(staff.getNickName());
- }
-
- // 上课时间
- List claTimeInfo = claTimeRuleService.selectClaTimeInfo(claId);
-
- return RespClaAllDetailInfo.builder()
- .courseCla(scCourseClaVo)
- .course(scCourseVo)
- .claTimeList(claTimeInfo)
- .build();
- }
-
- /**
- * 添加
- *
- * @param scCourseCla
- * @return
- */
- public APIResponse addScCourseCla(ReqAddScCourseCla scCourseCla) {
-
- LoginUser loginUser = SecurityUtils.getLoginUser();
-
- // 课程编号是否存在
- ScCourse course = courseService.getById(scCourseCla.getCourseId());
- if (null == course) {
- return APIResponse.toExceptionResponse("课程不存在,请重新选择后提交。");
- }
- // 新建班级
- ScCourseCla cla = scCourseCla.getScCourseCla(loginUser);
-
-
- // 教练是否存在
- SysUser teacher = userService.selectUserById(scCourseCla.getStaffId());
- if (ObjectUtil.isEmpty(teacher)) {
- return APIResponse.toExceptionResponse("教练不存在,请重新选择后提交。");
-
- }
- cla.setTeacherName(teacher.getNickName());
-
- APIBaseResponse checkParam = cla.checkParam();
- if (!checkParam.isSuccess()) {
- return APIResponse.toExceptionResponse(checkParam.getRespMsg());
- }
- boolean addScCourseCla = scCourseClaService.save(cla);
- if (addScCourseCla) {
- return APIResponse.toOkResponse();
- } else {
- return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE);
- }
- }
-
- /**
- * 更新
- *
- * @param scCourseCla
- * @return
- */
- public APIResponse updateScCourseCla(ScCourseCla scCourseCla) {
- if (null == scCourseCla.getClaId()) {
- return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE);
- }
-
- ScCourseCla dbClaInfo = scCourseClaService.getById(scCourseCla.getClaId());
- Long dbCourseId = dbClaInfo.getCourseId();
-
- // 课程编号是否存在
- ScCourse course = courseService.getById(scCourseCla.getCourseId());
- if (null == course) {
- return APIResponse.toExceptionResponse("课程不存在,请重新选择后提交。");
- }
-
- // 教练是否存在
- SysUser teacher = userService.selectUserById(scCourseCla.getStaffId());
- if (null == teacher) {
- return APIResponse.toExceptionResponse("教练不存在,请重新选择后提交。");
- }
-
- // 修改课程,校验是否允许修改所属课程
- if (!dbCourseId.equals(scCourseCla.getCourseId())) {
- APIBaseResponse canChangeCourse = scCourseClaService.canChangeCourse(scCourseCla.getClaId());
- if (!canChangeCourse.isSuccess()) {
- return APIResponse.toExceptionResponse(canChangeCourse.getRespMsg());
- }
- }
-
- LoginUser loginUser = SecurityUtils.getLoginUser();
- scCourseCla.setTeacherName(teacher.getNickName());
- scCourseCla.setLastUpdateUser(loginUser.getUserId());
- scCourseCla.setLastUpdateTime(new Date());
- boolean updateScCourseCla = scCourseClaService.updateById(scCourseCla);
- if (updateScCourseCla) {
- return APIResponse.toOkResponse();
- } else {
- return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE);
- }
- }
-
- /**
- * 删除
- *
- * @param claIds
- * @return
- */
- public APIResponse deleteById(Long[] claIds) {
- if (null == claIds || claIds.length == 0) {
- return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE);
- }
-
- // 已排课不允许删除
- QueryWrapper qwSct = new QueryWrapper<>();
- qwSct.in("cla_id", claIds);
- int claTimeCount = claTimeService.count(qwSct);
- if (claTimeCount != 0) {
- return APIResponse.toExceptionResponse("该班级已排课,无法删除班级");
- }
-
- boolean deleteScCourseCla = scCourseClaService.removeByIds(Arrays.asList(claIds));
-
- if (deleteScCourseCla) {
- return APIResponse.toOkResponse();
- } else {
- return APIResponse.toExceptionResponse(ApiResEnums.FAIL_WAIT_A_MINUTE);
- }
- }
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScClaTimeRuleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScClaTimeRuleServiceImpl.java
index 985d946..4de3509 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScClaTimeRuleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScClaTimeRuleServiceImpl.java
@@ -293,7 +293,7 @@ public class ScClaTimeRuleServiceImpl extends ServiceImpl selectClaTimeInfo(Long claId) {
- return baseMapper.selectClaTimeInfo(claId);
+ public List selectClaTimeInfo(Long deptId,Long courseId) {
+ return baseMapper.selectClaTimeInfo(deptId,courseId);
}
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScClaTimeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScClaTimeServiceImpl.java
index 189bef3..1cc58ad 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScClaTimeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScClaTimeServiceImpl.java
@@ -21,12 +21,10 @@ import org.springframework.stereotype.Service;
public class ScClaTimeServiceImpl extends ServiceImpl implements IScClaTimeService {
@Override
- public boolean deleteUnBeginTime(Long ruleId, Long claId, String tenantId) {
+ public boolean deleteUnBeginTime(Long ruleId, String tenantId) {
UpdateWrapper uw = new UpdateWrapper();
uw.eq("rule_id", ruleId);
- uw.eq("cla_id", claId);
uw.in("status", "1");
- uw.exists("select 1 from sc_course_cla b where sc_cla_time.cla_id = b.cla_id and b.tenant_id='" + tenantId + "'");
return this.remove(uw);
}
@@ -35,8 +33,27 @@ public class ScClaTimeServiceImpl extends ServiceImpl0){
+ return true;
+ }
+ return false;
+ }
+
+ // 检查教室冲突
+ public boolean checkClassroomConflict(Long classroomId, String date, String startTime, String endTime, String excludeScheduleId) {
+ // 查询该教室在同一天内,时间段重叠的排期
+ int i= baseMapper.checkClassroomConflict(classroomId, date, startTime, endTime, excludeScheduleId);
+ if(i>0){
+ return true;
+ }
+ return false;
+ }
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScCourseClaServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScCourseClaServiceImpl.java
deleted file mode 100644
index a6223a3..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/school/course/service/impl/ScCourseClaServiceImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.ruoyi.school.course.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.core.api.APIBaseResponse;
-import com.ruoyi.school.course.domain.ScCourseCla;
-import com.ruoyi.school.course.mapper.ScCourseClaMapper;
-import com.ruoyi.school.course.service.IScClaTimeService;
-import com.ruoyi.school.course.service.IScCourseClaService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- *
- * 课程班级信息 服务实现类
- *
- *
- * @author zhangby
- * @since 2020-03-17 01:11:06
- */
-@Service
-public class ScCourseClaServiceImpl extends ServiceImpl implements IScCourseClaService {
-
-
- @Autowired
- private IScClaTimeService claTimeService;
- //todo 当前是否有人预约
-
- @Override
- public APIBaseResponse canChangeCourse(Long claId) {
-// QueryWrapper qw = new QueryWrapper<>();
-// qw.eq("cla_id", claId);
-// int count = studentCourseService.count(qw);
-// if (count != 0) {
-// return APIBaseResponse.fail("当前班级有报读会员,无法变更所属课程.");
-// }
-//
-// QueryWrapper qwClaTime = new QueryWrapper<>();
-// qwClaTime.eq("cla_id", claId);
-// qwClaTime.eq("status", ClaTimeStatusEnums.HAD_CLASS.getStatus());
-// int hadClaTimeCount = claTimeService.count(qwClaTime);
-// if (hadClaTimeCount != 0) {
-// return APIBaseResponse.fail("当前班级已有上课记录,无法变更所属课程.");
-// }
- return APIBaseResponse.success();
- }
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/dashboard/service/DashboardService.java b/ruoyi-system/src/main/java/com/ruoyi/school/dashboard/service/DashboardService.java
index f23ca53..e3f7e34 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/dashboard/service/DashboardService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/dashboard/service/DashboardService.java
@@ -5,12 +5,10 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.school.course.domain.ScCourse;
-import com.ruoyi.school.course.domain.ScCourseCla;
import com.ruoyi.school.course.domain.req.time.ReqClaTimeCount;
import com.ruoyi.school.course.enums.ClaTimeAttendStatusEnums;
import com.ruoyi.school.course.service.IScClaTimeAttendService;
import com.ruoyi.school.course.service.IScClaTimeService;
-import com.ruoyi.school.course.service.IScCourseClaService;
import com.ruoyi.school.course.service.IScCourseService;
import com.ruoyi.school.dashboard.domain.resp.DashboardData;
import com.ruoyi.school.member.domain.ScStudent;
@@ -42,8 +40,7 @@ public class DashboardService {
@Autowired
private IScOrderService orderService;
- @Autowired
- private IScCourseClaService claService;
+
@Autowired
private IScClaTimeService claTimeService;
@@ -66,7 +63,6 @@ public class DashboardService {
String thisMonthEnd = DateUtil.endOfMonth(DateTime.now()).toString("yyyy-MM-dd");
String tenantId=SecurityUtils.getLoginUser().getNowTenantId();
- int claCnt = claService.count(new QueryWrapper().eq("tenant_id",tenantId));
int courseCnt = courseService.count(new QueryWrapper().eq("tenant_id",tenantId));
int studentCnt = studentService.count(new QueryWrapper().eq("tenant_id",tenantId));
//排课数
@@ -104,7 +100,7 @@ public class DashboardService {
// .todayNeedCostHour(todayNeedCostHour)
.todayRealCostHour(todayRealCostHour)
.studentCnt(studentCnt)
- .claCnt(claCnt)
+// .claCnt(claCnt)
.courseCnt(courseCnt)
.feeWillExpireCnt(feeWillExpireCnt)
.dateWillExpireCnt(dateWillExpireCnt)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/member/mapper/ScMemberCardMapper.java b/ruoyi-system/src/main/java/com/ruoyi/school/member/mapper/ScMemberCardMapper.java
index 642471c..8f2d5de 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/member/mapper/ScMemberCardMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/member/mapper/ScMemberCardMapper.java
@@ -45,6 +45,7 @@ public interface ScMemberCardMapper extends BaseMapper {
@Select("SELECT count(1) FROM sc_member_cards WHERE remaining_total_fee <= #{fee} AND status = 'ACTIVE' AND is_deleted = 0")
Integer selectFeeWillExpireCards(@Param("fee") Integer fee);
+
@Select("SELECT count(1) FROM sc_member_cards WHERE remaining_count <= #{hour} AND status = 'ACTIVE' AND is_deleted = 0")
Integer selectHourWillExpireCards(@Param("hour") Integer hour);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/member/service/ScMemberCardTypesService.java b/ruoyi-system/src/main/java/com/ruoyi/school/member/service/ScMemberCardTypesService.java
index accef85..31e8dd6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/member/service/ScMemberCardTypesService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/member/service/ScMemberCardTypesService.java
@@ -1,14 +1,11 @@
package com.ruoyi.school.member.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.core.api.APIResponse;
-import com.ruoyi.school.course.domain.req.course.ReqBusinessOrderCourseDetail;
import com.ruoyi.school.member.domain.ScMemberCardTypes;
public interface ScMemberCardTypesService extends IService {
- APIResponse orderCardTypeDetail(ReqBusinessOrderCourseDetail orderCourseDetail);
void memberTypeDetail(ScMemberCardTypes l);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/member/service/impl/ScMemberCardServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/school/member/service/impl/ScMemberCardServiceImpl.java
index 215f1ad..ff688d6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/member/service/impl/ScMemberCardServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/member/service/impl/ScMemberCardServiceImpl.java
@@ -11,10 +11,12 @@ import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.page.RespPage;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.core.api.APIResponse;
-import com.ruoyi.school.course.domain.*;
+import com.ruoyi.school.course.domain.ScBookCourse;
+import com.ruoyi.school.course.domain.ScClaTime;
+import com.ruoyi.school.course.domain.ScClaTimeAttend;
+import com.ruoyi.school.course.domain.ScCourse;
import com.ruoyi.school.course.enums.ClaTimeStatusEnums;
import com.ruoyi.school.course.mapper.ScClaTimeMapper;
-import com.ruoyi.school.course.mapper.ScCourseClaMapper;
import com.ruoyi.school.course.mapper.ScCourseMapper;
import com.ruoyi.school.course.service.IScClaTimeAttendService;
import com.ruoyi.school.course.service.impl.ScBookCourseServiceImpl;
@@ -225,8 +227,6 @@ public class ScMemberCardServiceImpl extends ServiceImpl memberCardVOS= memberCardService.getMemberCards(studentId);
-
- RespBusinessChooseCourseInfo chooseCourseInfo = RespBusinessChooseCourseInfo.builder()
- .cardTypeId(memberCardType.getCardTypeId())
- .cardTypeName(memberCardType.getCardName())
- .continueCourse(memberCardVOS.size()>0?true:false)
-// .deptId(sysDept.getDeptId())
-// .deptName(sysDept.getDeptName())
-// .teachingMode(scCourse.getTeachingMode())
- .build();
- return APIResponse.toAPIResponse(chooseCourseInfo);
- }
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/student/service/BusinessScStudentService.java b/ruoyi-system/src/main/java/com/ruoyi/school/student/service/BusinessScStudentService.java
index 5b3a558..884f673 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/school/student/service/BusinessScStudentService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/school/student/service/BusinessScStudentService.java
@@ -120,6 +120,7 @@ public class BusinessScStudentService {
appUser.setNickName(scStudent.getStudentName());
appUser.setPhoneNumber(scStudent.getPhone());
appUser.setPassword(SecurityUtils.encryptPassword(scStudent.getPhone()));
+ appUser.setVisitStore(SecurityUtils.getLoginUser().getDeptId());
appUser.setStatus(1);
appUserService.save(appUser);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/columns/impl/SysTeacherServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/columns/impl/SysTeacherServiceImpl.java
index d286d28..b9382e1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/columns/impl/SysTeacherServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/columns/impl/SysTeacherServiceImpl.java
@@ -5,10 +5,8 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.school.course.domain.ScClaTime;
import com.ruoyi.school.course.domain.ScClaTimeRule;
-import com.ruoyi.school.course.domain.ScCourseCla;
import com.ruoyi.school.course.service.IScClaTimeRuleService;
import com.ruoyi.school.course.service.IScClaTimeService;
-import com.ruoyi.school.course.service.IScCourseClaService;
import com.ruoyi.school.member.domain.ScMemberCardTypes;
import com.ruoyi.school.member.service.ScMemberCardTypesService;
import com.ruoyi.system.domain.columns.SysTeacher;
@@ -33,8 +31,7 @@ public class SysTeacherServiceImpl implements ISysTeacherService
@Autowired
private SysTeacherMapper sysTeacherMapper;
- @Autowired
- private IScCourseClaService claService;
+
@Autowired
private IScClaTimeRuleService claTimeRuleService;
@Autowired
@@ -138,10 +135,7 @@ public class SysTeacherServiceImpl implements ISysTeacherService
public boolean isUsed(List userIds){
- int claCount=claService.count(new QueryWrapper().in("staff_id", userIds));
- if (claCount>0 ){
- return true;
- }
+
int timeRuleCount=claTimeRuleService.count(new QueryWrapper().in("teacher_id",userIds));
if (timeRuleCount>0 ){
return true;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
index 793724c..996e44e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -14,9 +14,9 @@ import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.common.utils.uuid.IdGenerator;
+import com.ruoyi.school.course.domain.ScClaTime;
import com.ruoyi.school.course.domain.ScCourse;
-import com.ruoyi.school.course.domain.ScCourseCla;
-import com.ruoyi.school.course.service.IScCourseClaService;
+import com.ruoyi.school.course.service.IScClaTimeService;
import com.ruoyi.school.course.service.IScCourseService;
import com.ruoyi.school.room.domain.ScRoom;
import com.ruoyi.school.room.service.IScRoomService;
@@ -54,7 +54,7 @@ public class SysDeptServiceImpl extends ServiceImpl imp
@Autowired
private IScCourseService courseService;
@Autowired
- private IScCourseClaService claService;
+ private IScClaTimeService claTimeService;
@Autowired
private IScRoomService roomService;
@@ -66,8 +66,9 @@ public class SysDeptServiceImpl extends ServiceImpl imp
if (courseCount>0){
return true;
}
- int claCount= claService.count(new QueryWrapper()
- .eq("depart_id",deptId));
+ //已排课
+ int claCount= claTimeService.count(new QueryWrapper()
+ .eq("dept_id",deptId));
if (claCount>0){
return true;
}
@@ -265,7 +266,7 @@ public class SysDeptServiceImpl extends ServiceImpl imp
throw new ServiceException("部门停用,不允许新增");
}
dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
- dept.setTenantId(SecurityUtils.getLoginUser().getNowTenantId());
+ dept.setTenantId(info.getTenantId());
dept.setDeptId(IdGenerator.nextId());
int i= deptMapper.insertDept(dept);
if (dept.getDeptType().equals("2")){
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java
index 22ceb6d..2d1d08d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java
@@ -167,6 +167,8 @@ public class SysTenantServiceImpl extends ServiceImpl
+
+
+
+
+
+
+ UPDATE mall_product_show
+ SET show_flag = '1', apply_status = '3'
+ WHERE show_start_time = CURDATE();
+
+
+ UPDATE mall_product_show
+ SET show_flag = '0', apply_status = '4'
+ WHERE show_end_time = DATE_SUB(CURDATE(), INTERVAL 1 DAY);
+
+
diff --git a/ruoyi-system/src/main/resources/mapper/school/course/ScBookCourseMapper.xml b/ruoyi-system/src/main/resources/mapper/school/course/ScBookCourseMapper.xml
index 73a2541..ec61136 100644
--- a/ruoyi-system/src/main/resources/mapper/school/course/ScBookCourseMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/school/course/ScBookCourseMapper.xml
@@ -9,9 +9,7 @@
a.id as book_id,
a.book_status,
c.course_time_id,
- b.cla_name,
- b.cla_color,
- b.cla_pic,
+ c.cla_color,
c.cla_date,
c.start_time,
c.end_time,
@@ -22,13 +20,11 @@
d.store_name
from
-
sc_book_course a,
- sc_course_cla b,
sc_cla_time c,
yj_store d
- where b.cla_id=c.cla_id and a.course_time_id =c.course_time_id
- and b.depart_id=d.dept_id
+ where a.course_time_id =c.course_time_id
+ and c.dept_id=d.dept_id
and a.student_id=#{studentId}
ORDER BY a.create_time
@@ -47,20 +43,17 @@
b.start_time,
b.end_time,
c.teacher_name,
- d.cla_name,
e.store_name
from
sc_book_course a,
sc_cla_time b,
sys_teacher c,
- sc_course_cla d,
yj_store e
WHERE a.course_time_id=b.course_time_id
and b.teacher_id=c.user_id
- and b.cla_id=d.cla_id
- and d.depart_id=e.dept_id
+ and b.dept_id=e.dept_id
and a.id=#{bookId}
diff --git a/ruoyi-system/src/main/resources/mapper/school/course/ScClaTimeAttendMapper.xml b/ruoyi-system/src/main/resources/mapper/school/course/ScClaTimeAttendMapper.xml
index e95352d..6b319d4 100644
--- a/ruoyi-system/src/main/resources/mapper/school/course/ScClaTimeAttendMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/school/course/ScClaTimeAttendMapper.xml
@@ -12,12 +12,10 @@
cta.pay_hour,
cta.pay_fee,
cta.memo,
- ct.real_cla_date,ct.real_start_time,ct.real_end_time,cta.create_time,
- scc.cla_name
+ ct.real_cla_date,ct.real_start_time,ct.real_end_time,cta.create_time
from sc_cla_time_attend cta
left join sc_student s on cta.student_id=s.student_id
left join sc_cla_time ct on cta.course_time_id=ct.course_time_id
- left join sc_course_cla scc on cta.cla_id=scc.cla_id
where s.tenant_id=#{reqSearchScClaTimeAttend.tenantId}
and cta.course_time_id=#{reqSearchScClaTimeAttend.courseTimeId}
@@ -35,7 +33,7 @@
and cta.attend_status=#{reqSearchScClaTimeAttend.attendStatus}
- and scc.depart_id=#{reqSearchScClaTimeAttend.deptId}
+ and ct.dept_id=#{reqSearchScClaTimeAttend.deptId}
order by cta.attend_id desc
@@ -73,35 +71,19 @@
and expiry_date > CURDATE()
and tenant_id=#{tenantId}
-
diff --git a/ruoyi-system/src/main/resources/mapper/school/course/ScClaTimeMapper.xml b/ruoyi-system/src/main/resources/mapper/school/course/ScClaTimeMapper.xml
index 90886c7..a47db02 100644
--- a/ruoyi-system/src/main/resources/mapper/school/course/ScClaTimeMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/school/course/ScClaTimeMapper.xml
@@ -4,7 +4,6 @@