From fade481769731552d9a16c79c9a5323e6f015b36 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期二, 28 十一月 2023 06:07:11 +0800
Subject: [PATCH] 后台bug修改
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java | 13
cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml | 16
cloud-server-course/pom.xml | 6
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageOrderStudent.java | 96 +++++++++
cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 2
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 340 ++++++++++++++++++++++++++++++---
cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java | 2
cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js | 5
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java | 13 +
cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java | 2
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java | 9
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 9
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java | 2
cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js | 19 -
cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java | 2
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java | 7
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java | 2
18 files changed, 467 insertions(+), 80 deletions(-)
diff --git a/cloud-server-course/pom.xml b/cloud-server-course/pom.xml
index dd0d09c..20a5b50 100644
--- a/cloud-server-course/pom.xml
+++ b/cloud-server-course/pom.xml
@@ -15,6 +15,12 @@
<description>课程</description>
<dependencies>
<dependency>
+ <groupId>net.sf.json-lib</groupId>
+ <artifactId>json-lib</artifactId>
+ <version>2.4</version>
+ <classifier>jdk15</classifier>
+ </dependency>
+ <dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.1</version>
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java
index f21af93..b1482d2 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java
@@ -55,6 +55,19 @@
public List<CoursePackagePaymentConfig> queryCoursePackagePaymentConfigList(@RequestBody Integer coursePackageId) {
return coursePackagePaymentConfigService.list(new QueryWrapper<CoursePackagePaymentConfig>().eq("coursePackageId", coursePackageId));
}
+ /**
+ * 根据课时规格id获取价格配置
+ *
+ * @param
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/coursePackagePaymentConfig/queryCoursePackagePaymentConfigList1")
+ public List<CoursePackagePaymentConfig> queryCoursePackagePaymentConfigList1(@RequestBody Integer coursePackagePaymentConfigId) {
+ return coursePackagePaymentConfigService.
+ list(new QueryWrapper<CoursePackagePaymentConfig>()
+ .eq("id", coursePackagePaymentConfigId));
+ }
/**
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 2097da1..7831e10 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -16,6 +16,7 @@
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
import com.dsh.course.mapper.CoursePackageSchedulingMapper;
+import com.dsh.course.mapper.CoursePackageStudentMapper;
import com.dsh.course.mapper.TCoursePackageMapper;
import com.dsh.course.model.*;
import com.dsh.course.model.dto.DiscountJsonDto;
@@ -31,6 +32,7 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -60,6 +62,8 @@
@Autowired
private TCoursePackagePaymentService packagePaymentService;
+ @Resource
+ private CoursePackageStudentMapper cpsMapper;
@Autowired
private ICoursePackageOrderService coursePackageOrderService;
@@ -161,17 +165,15 @@
*/
@RequestMapping("/base/coursePackagePayment/add")
public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment) {
-
//校验是否已经报满
Integer cpId = Integer.valueOf((int) packagePayment.getCoursePackageId());
Integer integer = coursePackagePaymentService.queryCountNumber(cpId);
- TCoursePackage course = coursePackageService.getById(packagePayment.getId());
+ TCoursePackage course = coursePackageService.getById(packagePayment.getCoursePackageId());
if (course.getType() != 3) {
if (integer + 1 > course.getMaxSubscribeNumber()) {
return 5001;
}
}
- // 如果重复购买 累加课时
CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
coursePackageOrder.setAppUserId(packagePayment.getAppUserId());
coursePackageOrder.setStudentIds(String.valueOf(packagePayment.getStudentId()));
@@ -185,29 +187,9 @@
coursePackageOrder.setInsertTime(new Date());
coursePackageOrder.setSalesName(packagePayment.getSalesName());
coursePackageOrderService.save(coursePackageOrder);
- TCoursePackage byId = coursePackageService.getById(packagePayment.getCoursePackageId());
- if (byId.getType()==1){
- CoursePackageOrderStudent coursePackageOrderStudent = new CoursePackageOrderStudent();
- coursePackageOrderStudent.setAppUserId(packagePayment.getAppUserId());
- coursePackageOrderStudent.setStudentId(packagePayment.getStudentId());
- coursePackageOrderStudent.setCoursePackageId(packagePayment.getCoursePackageId());
- coursePackageOrderStudent.setTotalClassHours(packagePayment.getClassHours());
- coursePackageOrderStudent.setLaveClassHours(packagePayment.getClassHours());
- coursePackageOrderStudent.setAbsencesNumber(0);
- coursePackageOrderStudent.setDropoutsNumber(0);
- coursePackageOrderStudent.setStatus(1);
- coursePackageOrderStudent.setState(1);
- coursePackageOrderStudent.setInsertTime(new Date());
- coursePackageOrderStudent.setGiftClassHours(packagePayment.getGiftClassHours());
- // 获取常规课的有效期 计算是哪一天
- Calendar calendar = Calendar.getInstance();
- calendar.add(Calendar.DAY_OF_MONTH, byId.getValidDays());
- Date time = calendar.getTime();
- coursePackageOrderStudent.setUseTime(time);
- return coursePackageOrderStudentService.save(coursePackageOrderStudent);
- }
+
// 生成排课数据
- return null;
+ return 200;
}
@@ -218,13 +200,95 @@
*/
@RequestMapping("/base/coursePackagePayment/changeState")
public Object changeState(@RequestBody CoursePackagePayDTO dto) {
+ String ids = dto.getIds();
+ Long aLong = Long.valueOf(ids);
+ CoursePackageOrder byId1 = coursePackageOrderService.getById(aLong);
+ TCoursePackage byId = coursePackageService.getById(byId1.getCoursePackageId());
+ if (byId.getType()==1){
+ // 如果重复购买 累加课时
+ CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService
+ .getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", Integer.valueOf(byId1.getStudentIds()))
+ .eq("coursePackageId", byId1.getCoursePackageId()).eq("status", 1).eq("state", 1));
+ if (null == coursePackageOrderStudent) {
+ coursePackageOrderStudent = new CoursePackageOrderStudent();
+ coursePackageOrderStudent.setAppUserId(byId1.getAppUserId());
+ coursePackageOrderStudent.setStudentId(Integer.valueOf(byId1.getStudentIds()));
+ coursePackageOrderStudent.setCoursePackageId(byId1.getCoursePackageId());
+ coursePackageOrderStudent.setTotalClassHours(byId1.getClassHours());
+ coursePackageOrderStudent.setLaveClassHours(byId1.getClassHours());
+ coursePackageOrderStudent.setAbsencesNumber(0);
+ coursePackageOrderStudent.setStatus(1);
+ coursePackageOrderStudent.setState(1);
+ coursePackageOrderStudent.setInsertTime(new Date());
+ // 判断这个订单购买的是哪一个课时规格
+ CoursePackagePaymentConfig one1 = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
+ .eq("coursePackageId", byId.getId())
+ .eq("classHours", byId1.getClassHours()));
+ // 判断当前购买的课包有没有赠送课时
+ TCoursePackageDiscount one = tcpdService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", byId.getId())
+ .eq("type", 4).eq("auditStatus", 2).eq("status", 1)
+ .eq("coursePackagePaymentConfigId",one1.getId()));
+ if (one!=null){
+ Integer giftClassHours = getGiftClassHours(one);
+ coursePackageOrderStudent.setGiftClassHours(giftClassHours);
+ coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours()+giftClassHours);
+ coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()+giftClassHours);
+ }else{
+ coursePackageOrderStudent.setGiftClassHours(0);
+ }
+ Integer validDays = byId.getValidDays();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
+ coursePackageOrderStudent.setUseTime(calendar.getTime());
+
+ coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
+ Integer studentId = Integer.valueOf(byId1.getStudentIds());
+ //开始排课
+ addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent);
+ } else {
+ Date useTime = coursePackageOrderStudent.getUseTime();
+ coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + byId1.getClassHours());
+ coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + byId1.getClassHours());
+ Integer validDays = byId.getValidDays();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
+ coursePackageOrderStudent.setUseTime(calendar.getTime());
+ // 判断这个订单购买的是哪一个课时规格
+ CoursePackagePaymentConfig one1 = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
+ .eq("coursePackageId", byId.getId())
+ .eq("classHours", byId1.getClassHours()));
+ // 判断当前购买的课包有没有赠送课时
+ TCoursePackageDiscount one = tcpdService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", byId.getId())
+ .eq("type", 4).eq("auditStatus", 2).eq("status", 1)
+ .eq("coursePackagePaymentConfigId",one1.getId()));
+ if (one!=null){
+ Integer giftClassHours = getGiftClassHours(one);
+ coursePackageOrderStudent.setGiftClassHours(giftClassHours);
+ }else{
+ coursePackageOrderStudent.setGiftClassHours(0);
+ }
+ // 获取常规课的有效期 计算是哪一天
+ Calendar calendar9 = Calendar.getInstance();
+ calendar9.add(Calendar.DAY_OF_MONTH, byId.getValidDays());
+ Date time = calendar9.getTime();
+ coursePackageOrderStudent.setUseTime(time);
+ coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
+ Integer studentId = Integer.valueOf(byId1.getStudentIds());
+ //中间断课,没有连续续费的情况需要重新排课
+ if (useTime.compareTo(new Date()) < 0) {
+ addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent);
+ }
+ }
+ }
return packagePaymentService.changeState(dto);
}
@GetMapping("/coursePackagePayment/courseStore/{appUserId}/{coursePackageId}")
- public List<TCoursePackagePayment> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId) {
- List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ public List<CoursePackageOrderStudent> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId) {
+ List<CoursePackageOrderStudent> list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
.eq("appUserId", appUserId)
.eq("coursePackageId", coursePackageId));
return list;
@@ -245,11 +309,21 @@
re.setCashPayment(new BigDecimal(value));
}
}
-
Store store = storeClient.queryStoreById(re.getStoreId());
TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
- Student student = studentClient.queryStudentById(re.getStudentId());
- re.setPayStudent(student.getName());
+ String studentId = re.getStudentId();
+ String[] split = studentId.split(",");
+ StringBuilder stringBuilder = new StringBuilder("");
+
+ for (String s : split) {
+ Student student = studentClient.queryStudentById(Integer.valueOf(s));
+ stringBuilder.append(student.getName()+",");
+ }
+ String string = stringBuilder.toString();
+ if (string.length() > 0) {
+ String stringWithoutLastCharacter = string.substring(0, string.length() - 1);
+ re.setPayStudent(stringWithoutLastCharacter);
+ }
re.setPayUser(appUser.getName());
re.setPhone(appUser.getPhone());
re.setStoreName(store.getName());
@@ -262,7 +336,7 @@
} else {
List<Student> students = studentClient.queryStudentListByName(query.getPayStudent());
for (Student student1 : students) {
- if (student.getName().equals(student1.getName())) {
+ if (string.contains(student1.getName())) {
result.add(re);
}
}
@@ -270,7 +344,6 @@
}
}
}
-
if (re.getPayType() != null) {
if (re.getPayType() == 1) {
re.setBuyTypeName("微信支付");
@@ -1717,9 +1790,208 @@
return dateList.toArray(new Date[0]);
}
+ public Integer getGiftClassHours(TCoursePackageDiscount one){
+ // 判断购买时间 是否满足折扣规则
+ char c = one.getContent().charAt(0);
+ String value1 = String.valueOf(c);
+ JSONObject jsonObject ;
+ if (value1.equals("[")){
+ jsonObject = JSONObject.fromObject(one.getContent()
+ .substring(1,one.getContent().length() - 1));
+ }else{
+ jsonObject = JSONObject.fromObject(one.getContent());
+ }
+ // 赠送课时 判断当前课包有没有赠送课时
+ String weeks = jsonObject.getString("weeks");
+ // 判断当前周几 是否满足折扣规则
+ // 获取当前日期
+ LocalDate currentDate = LocalDate.now();
+ // 获取当前日期是星期几的数字表示
+ int dayOfWeekAsNumber = currentDate.getDayOfWeek().getValue();
+ if (weeks.contains(String.valueOf(dayOfWeekAsNumber))){
+ // 限时折扣判断是否在有效期
+ try {
+ // 判断当日时间是否能享受到折扣
+ String startTime = jsonObject.getString("startTime");
+ String endTime = jsonObject.getString("endTime");
+ // 获取当前时间
+ Date currentTime = new Date();
+ // 定义时间格式
+ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
+ // 解析开始时间和结束时间为Date对象
+ Date startTime1 = sdf.parse(startTime);
+ Date endTime1 = sdf.parse(endTime);
+ Date date1 = new Date();
+ date1.setHours(startTime1.getHours());
+ date1.setMinutes(startTime1.getMinutes());
+ date1.setSeconds(startTime1.getSeconds());
+ Date date2 = new Date();
+ date2.setHours(endTime1.getHours());
+ date2.setMinutes(endTime1.getMinutes());
+ date2.setSeconds(endTime1.getSeconds());
+ // 检查当前时间是否在开始时间和结束时间之间
+ if (currentTime.after(date1) && currentTime.before(date2)) {
+ System.out.println("当前时间在开始时间和结束时间之间。");
+ String hour = jsonObject.getString("hour");
+
+ return Integer.valueOf(hour);
+ } else {
+ System.out.println("当前时间不在开始时间和结束时间之间。");
+ return 0;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ return 0;
+ }
+
@Autowired
private TCoursePackageService coursePackageService;
+ private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) {
+ try {
+ //1常规 2假期 3体验
+ if (tCoursePackage.getType() == 1) {
+ //上课星期
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+ //上课时段
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+ //剩余课时
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ //扣除课时数
+ Integer codeTime = tCoursePackage.getCodeTime();
+ //排课 本周+下周,课时不够扣则直接剩余不排课
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
+ calendar.set(Calendar.MINUTE, 0);
+ calendar.set(Calendar.SECOND, 0);
+ int day_week = calendar.get(Calendar.DAY_OF_WEEK);
+ day_week = day_week - 1 == 0 ? 7 : day_week - 1;
+ int num = 8 - day_week + 7;
+ Date useTime = coursePackageOrderStudent.getUseTime();
+
+ for (int i = 0; i < num; i++) {
+ Date time = calendar.getTime();
+
+ //判断当天是否在排课星期内
+ int day = calendar.get(Calendar.DAY_OF_WEEK);
+ day = day - 1 == 0 ? 7 : day - 1;
+ if (!week.contains(day)) {
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ continue;
+ }
+
+
+ //大于有效期不进行排课
+ if (calendar.getTimeInMillis() >= useTime.getTime()) {
+ break;
+ }
+ for (int j = 0; j < split.length; j++) {
+ //剩余数量不足以排课
+ if (laveClassHours.compareTo(codeTime) < 0) {
+ break;
+ }
+
+ laveClassHours -= codeTime;
+
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setType(tCoursePackage.getType());
+ coursePackageScheduling.setAppUserId(userId);
+ coursePackageScheduling.setStudentId(sId);
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(time) + " " + split[j]);
+ Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ }
+ //增加日期,用于判断
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ }
+ }
+
+ if (tCoursePackage.getType() == 2) {
+ //上课星期
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+ //上课时段
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+ Date startTime = tCoursePackage.getStartTime();
+ Date endTime = tCoursePackage.getEndTime();
+ //排课 本周+下周,课时不够扣则直接剩余不排课
+ Calendar calendar = Calendar.getInstance();
+ //假期开始使用当前时间为起始时间进行排课
+ calendar.setTime(startTime.getTime() > System.currentTimeMillis() ? startTime : new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ while (true) {
+ Date time = calendar.getTime();
+
+ //判断当天是否在排课星期内
+ int day = calendar.get(Calendar.DAY_OF_WEEK);
+ day = day - 1 == 0 ? 7 : day - 1;
+ if (!week.contains(day)) {
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ continue;
+ }
+
+ //大于有效期不进行排课
+ if (calendar.getTimeInMillis() > endTime.getTime()) {
+ break;
+ }
+ for (int j = 0; j < split.length; j++) {
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setType(tCoursePackage.getType());
+ coursePackageScheduling.setAppUserId(userId);
+ coursePackageScheduling.setStudentId(sId);
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(time) + " " + split[j]);
+ Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(null);
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ }
+ //增加日期,用于判断
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
private void addPackageStudent(Integer courseId, Integer userId, Integer sId, Long paymentId) throws ParseException {
// 课包
TCoursePackage tCoursePackage = coursePackageService.getById(courseId);
@@ -1855,8 +2127,6 @@
}
}
}
-
-
// 2.0
TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
tCourseInfoRecord.setUserId(userId);
@@ -1866,8 +2136,6 @@
tCourseInfoRecord.setTime(new Date());
tCourseInfoRecord.setType(2);
appUserClient.addCourseInfoRecord(tCourseInfoRecord);
-
-
}
@ResponseBody
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
index 1174608..bae2cab 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -194,4 +194,6 @@
private Integer orderId;
@TableField("giftClassHours")
private Integer giftClassHours;
+ // 所选课时规格id
+ private Integer coursePackageConfigId;
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java
index bddf0c5..6d3ba0b 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java
@@ -15,7 +15,7 @@
public interface CoursePackagePaymentConfigMapper extends BaseMapper<CoursePackagePaymentConfig> {
List<CoursePackagePaymentVO> listAll(@Param("query") CoursePackagePaymentQuery query);
- int changeState(@Param("ids") List<Long> ids, @Param("payUserName") String payUserName, @Param("payUserId") Integer payUserId);
+ int changeState(@Param("ids") Long ids, @Param("payUserName") String payUserName, @Param("payUserId") Integer payUserId);
List<RegisterOrderVO> listAllRegister(@Param("query") RegisterOrderQuery query, @Param("sTime") String sTime, @Param("eTime") String eTime, @Param("amount") BigDecimal amount);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java
index bd6b0e5..1559c5c 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java
@@ -9,7 +9,7 @@
*/
@Data
public class CoursePackagePayDTO {
- private List<String> ids;
+ private String ids;
private String payUserName;
// 操作人id
private Integer userId;
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java
index 55a9003..d0080af 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java
@@ -43,7 +43,7 @@
private String payUser;
private String phone;
// 学员id
- private Integer studentId;
+ private String studentId;
private String payStudent;
private Integer payType;
private BigDecimal originalPrice;
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 624cee3..de2b00e 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -130,13 +130,8 @@
@Override
public int changeState(CoursePackagePayDTO dto) {
- List<String> ids = dto.getIds();
- List<Long> list = new ArrayList<>();
- for (String id : ids) {
- long value = Long.parseLong(id);
- list.add(value);
- }
- return cpConfigMapper.changeState(list, dto.getPayUserName(), dto.getUserId());
+
+ return cpConfigMapper.changeState(Long.valueOf(dto.getIds()), dto.getPayUserName(), dto.getUserId());
}
@Override
diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml
index 3d9fe23..cce8880 100644
--- a/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml
@@ -12,25 +12,23 @@
<result column="playPaiCoin" property="playPaiCoin"/>
</resultMap>
<update id="changeState">
- update t_course_package_payment set
- payStatus = 2,payUserName = #{payUserName},payType = 7,payUserId=#{payUserId}
+ update t_course_package_order set
+ payStatus = 2,payUserName = #{payUserName},payType = 7,payUserId=#{payUserId},
+ payUserType = 2
<where>
- <if test="ids != null and ids.size()>0">
- AND t_course_package_payment.id IN
- <foreach collection="ids" separator="," item="id" open="(" close=")">
- #{id}
- </foreach>
+ <if test="ids!=null and ids!= ''">
+ and t_course_package_order.id = #{ids}
</if>
</where>
</update>
<select id="listAll" resultType="com.dsh.course.model.CoursePackagePaymentVO">
select
- t1.id,t1.studentId,t1.payUserType,t1.payStatus,t1.payType,t1.originalPrice,t1.userCouponId,t1.payUserId,t1.giftClassHours,t1.studentId,t1.appUserId,t1.cashPayment,t1.playPaiCoin,
+ t1.id,t1.payUserType,t1.payStatus,t1.payType,t1.originalPrice,t1.userCouponId,t1.payUserId,t1.studentIds as studentId,t1.appUserId,t1.cashPayment,t1.playPaiCoin,
t1.payUserName as buyTypeName,
CONCAT(t2.province,t2.city) as provinceAndCity,t2.coursePackageTypeId,t2.storeId,t2.name as coursePackage,
t3.name as coursePackageType
- from t_course_package_payment t1
+ from t_course_package_order t1
left join t_course_package t2 on t1.coursePackageId = t2.id
left join t_course_package_type t3 on t2.coursePackageTypeId = t3.id
<where>
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
index 5c5d4e3..ebe104f 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
@@ -1,12 +1,10 @@
package com.dsh.course.feignClient.course;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.dsh.course.feignClient.course.model.QueryRegistrationRecord;
-import com.dsh.course.feignClient.course.model.QueryWalkInStudentList;
-import com.dsh.course.feignClient.course.model.TCoursePackage;
+import com.dsh.course.feignClient.course.model.*;
import com.dsh.course.feignClient.course.model.TCoursePackagePayment;
import com.dsh.guns.modular.system.model.*;
-import com.dsh.guns.modular.system.model.dto.CoursePackage;
+
import com.dsh.guns.modular.system.util.ResultUtil;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@@ -112,5 +110,6 @@
HashMap<String, Object> courseStore(@RequestBody List<Integer> userPt);
@GetMapping("/coursePackagePayment/courseStore/{appUserId}/{coursePackageId}")
- List<TCoursePackagePayment> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId,@PathVariable("coursePackageId") Integer coursePackageId);
+ List<CoursePackageOrderStudent> getByUserIdAndCoursePackageId
+ (@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId);
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java
index 8318f02..1c36fca 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java
@@ -37,6 +37,13 @@
*/
@PostMapping("/coursePackagePaymentConfig/queryCoursePackagePaymentConfigList")
List<CoursePackagePaymentConfig> queryCoursePackagePaymentConfigList(Integer coursePackageId);
+ /**
+ * 根据课包id获取价格配置
+ * @param
+ * @return
+ */
+ @PostMapping("/coursePackagePaymentConfig/queryCoursePackagePaymentConfigList1")
+ List<CoursePackagePaymentConfig> queryCoursePackagePaymentConfigList1(Integer coursePackagePaymentConfigId);
/**
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageOrderStudent.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageOrderStudent.java
new file mode 100644
index 0000000..b5f4377
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageOrderStudent.java
@@ -0,0 +1,96 @@
+package com.dsh.course.feignClient.course.model;
+
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/11/25 11:59
+ */
+@Data
+@TableName("t_course_package_order_student")
+public class CoursePackageOrderStudent {
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ /**
+ * 用户id
+ */
+ @TableField("appUserId")
+ private Integer appUserId;
+ /**
+ * 学员id
+ */
+ @TableField("studentId")
+ private Integer studentId;
+ /**
+ * 课包id
+ */
+ @TableField("coursePackageId")
+ private Integer coursePackageId;
+ /**
+ * 总课时
+ */
+ @TableField("totalClassHours")
+ private Integer totalClassHours;
+ /**
+ * 剩余课时
+ */
+ @TableField("laveClassHours")
+ private Integer laveClassHours;
+ /**
+ * 缺课次数
+ */
+ @TableField("absencesNumber")
+ private Integer absencesNumber;
+ /**
+ * 退课课时
+ */
+ @TableField(exist = false)
+ private Integer dropoutsNumber;
+ /**
+ * 课程状态(1=正常,2=已退课)
+ */
+ @TableField("status")
+ private Integer status;
+ /**
+ * 退课时间
+ */
+ @TableField("withdrawalTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date withdrawalTime;
+ /**
+ * 退课凭证
+ */
+ @TableField("certificate")
+ private String certificate;
+ /**
+ * 状态(1=正常,2=冻结,3=删除)
+ */
+ @TableField("state")
+ private Integer state;
+ /**
+ * 添加时间
+ */
+ @TableField("insertTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date insertTime;
+ /**
+ * 赠送课时
+ */
+ @TableField("giftClassHours")
+ private Integer giftClassHours;
+ /**
+ * 课程有效期
+ */
+ @TableField("useTime")
+ private Date useTime;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
index 5b6bc0a..9b70316 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
@@ -135,6 +135,7 @@
for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
char c = tCoursePackageDiscount.getContent().charAt(0);
String value1 = String.valueOf(c);
+
JSONObject jsonObject ;
if (value1.equals("[")){
jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent()
@@ -142,10 +143,10 @@
}else{
jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent());
}
- // 获取当前课包价格配置
- Integer coursePackageId1 = tCoursePackagePayment.getCoursePackageId();
- List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(coursePackageId1);
-
+ // 获取所选课时的课包价格配置
+ List<CoursePackagePaymentConfig> coursePackagePaymentConfigs =
+ coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList1
+ (tCoursePackagePayment.getCoursePackageConfigId());
if (coursePackagePaymentConfigs.size()!=0){
CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0);
tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
@@ -174,7 +175,9 @@
break;
case 2:
// 判断当前用户是否已经购买过当前课包
- List<com.dsh.course.feignClient.course.model.TCoursePackagePayment> result= coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(),tCoursePackagePayment.getCoursePackageId());
+ List<CoursePackageOrderStudent> result=
+ coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(),
+ tCoursePackagePayment.getCoursePackageId());
// 已经购买了
if (result.size()!=0){
// 会员续课折扣
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java
index f096587..28b00b3 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java
@@ -9,7 +9,7 @@
*/
@Data
public class CoursePackagePayDTO {
- private List<String> ids;
+ private String ids;
private String payUserName;
// 操作人id
private Integer userId;
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java
index be14510..a24303a 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java
@@ -45,7 +45,7 @@
private String payUser;
private String phone;
// 学员id
- private Integer studentId;
+ private String studentId;
private String payStudent;
private Integer payType;
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java
index 58a1646..f6bfdc0 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java
@@ -174,4 +174,6 @@
private Integer hasHours;
private BigDecimal laveCashPayment;
private BigDecimal cashPayment1;
+ // 所选课时规格id
+ private Integer coursePackageConfigId;
}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js
index aadbb71..c9f6f43 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js
@@ -14,7 +14,7 @@
*/
TQuestion.initColumn = function () {
return [
- {field: 'selectItem', checkbox: true},
+ {field: 'selectItem', radio: true},
{title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
{title: '所在省市', field: 'provinceAndCity', visible: role==1?true:false, align: 'center', valign: 'middle'},
{title: '门店名称', field: 'storeName', visible: true, align: 'center', valign: 'middle'},
@@ -538,23 +538,16 @@
TQuestion.unfreeze = function () {
if (this.check()) {
var selected = $('#' + this.id).bootstrapTable('getSelections');
-
console.log("看看选择")
console.log(selected)
const data1 = {
- ids:[],
+ ids:TQuestion.seItem.id,
payUserName:""
};
- selected.forEach(function(obj) {
- if (obj.payStatus == 2){
- Feng.error("订单已支付!不能再手动支付了")
- return;
- }
- var id = "";
- id = obj.id;
- console.log(obj.id);
- data1.ids.push(id);
- });
+ if (TQuestion.seItem.payStatus == 2){
+ Feng.error("订单已支付!不能再手动支付了")
+ return;
+ }
console.log(data1)
$.ajax({
url: Feng.ctxPath + "/cpPayment/pay",
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js
index 53fc429..155328e 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js
@@ -260,8 +260,12 @@
giftClassHours:null,
useTime:"",
payUserName:"",
+ coursePackageConfigId:null
};
data.appUserId = appUserId;
+ console.log("我看看规格id")
+ console.log($("#courseTime").val())
+ data.coursePackageConfigId = $("#courseTime").val();
data.studentId = $("#student").val()
data.coursePackageId = $("#coursePackageName").val()
data.cashPayment = $("#cashPayment").val()
@@ -312,6 +316,7 @@
var courseTimeId= $("#courseTime").val()
console.log("看看课时")
console.log(courseTimeId)
+ data.coursePackageConfigId = courseTimeId;
if(typeof courseTimeId === 'undefined'){
console.log("进入")
courseTimeId=0;
--
Gitblit v1.7.1