From 5f804115139dfdeeb2ce950a0f584b30f94b285c Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期六, 23 九月 2023 17:57:27 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java |  405 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 397 insertions(+), 8 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
index e60bb31..631575c 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -4,23 +4,30 @@
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.dsh.course.entity.StudentClassInfo;
-import com.dsh.course.entity.TCoursePackagePayment;
-import com.dsh.course.entity.dto.ClassListDto;
-import com.dsh.course.entity.dto.SelectDto;
-import com.dsh.course.entity.dto.updateTimeDto;
+import com.dsh.course.entity.*;
+import com.dsh.course.entity.dto.*;
 import com.dsh.course.feignclient.account.AppUserClient;
-import com.dsh.course.service.CoursePackageStudentService;
-import com.dsh.course.service.TCoursePackagePaymentService;
+import com.dsh.course.feignclient.account.StudentClient;
+import com.dsh.course.feignclient.account.model.Student;
+import com.dsh.course.model.dto.ToClassDto;
+import com.dsh.course.service.*;
 import com.dsh.course.util.ResultUtil;
+import com.dsh.course.util.UUIDUtil;
 import io.swagger.annotations.Api;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.swing.text.html.parser.Entity;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Api
 @CrossOrigin
@@ -43,12 +50,13 @@
 
 //        Date maxDate = studentService.getMaxDate(tStudentId);
         Date minDate = studentService.getMinDate(tStudentId);
-        System.out.println("===========>"+studentClassInfo);
         Integer totalHours = studentClassInfo.getTotalHours();
         Integer hasHours = studentClassInfo.getRestHours();
         Integer restHours = totalHours-hasHours;
         studentClassInfo.setHasHours(restHours);
         studentClassInfo.setInDate(minDate);
+        System.out.println("===========>"+studentClassInfo);
+
         return studentClassInfo;
     }
     //获取学员课程列表
@@ -57,6 +65,9 @@
     public List<ClassListDto> listClass(@RequestParam("tStudentId")Integer tStudentId) {
         System.out.println("==========getClassList===tStudentId===="+tStudentId);
     List<ClassListDto> listDtos = studentService.getClassList(tStudentId);
+    for (ClassListDto dto : listDtos){
+        dto.setHasClassHours(dto.getTotalClassHours()-dto.getLaveClassHours());
+    }
     System.out.println("======listDtos======"+listDtos);
     return  listDtos;
 
@@ -105,4 +116,382 @@
     }
 
 
+
+    //根据payid获取对应门店的常规课程
+
+    @Autowired
+    private  TCoursePackageService packageService;
+    @RequestMapping("/holiSelect")
+    @ResponseBody
+    public List<SelectDto> getHoliSelect(@RequestParam("courseId")Integer id){
+
+        TCoursePackage byId = packageService.getById(id);
+        Integer storeId = byId.getStoreId();
+        List<TCoursePackage> list = packageService.list(new QueryWrapper<TCoursePackage>()
+                .select("id", "name")
+                .eq("storeId", storeId)
+                .eq("type","2")
+        );
+        List<SelectDto> selectDtos = new ArrayList<>();
+        for (TCoursePackage t :list){
+            SelectDto selectDto = new SelectDto();
+            selectDto.setId(t.getId());
+            selectDto.setValue(t.getName());
+            selectDtos.add(selectDto);
+        }
+
+
+
+
+        return selectDtos;
+    }
+
+    @RequestMapping("/transSelect")
+    @ResponseBody
+    public List<SelectDto> getTransSelect(@RequestParam("courseId")Integer id){
+
+        TCoursePackage byId = packageService.getById(id);
+        Integer storeId = byId.getStoreId();
+        List<TCoursePackage> list = packageService.list(new QueryWrapper<TCoursePackage>()
+                .select("id", "name")
+                .eq("storeId", storeId)
+                .eq("type","1")
+        );
+        List<SelectDto> selectDtos = new ArrayList<>();
+        for (TCoursePackage t :list){
+            SelectDto selectDto = new SelectDto();
+            selectDto.setId(t.getId());
+            selectDto.setValue(t.getName());
+            selectDtos.add(selectDto);
+        }
+
+
+
+
+        return selectDtos;
+    }
+
+    @Autowired
+    private CourseCounsumService counsumService;
+    @RequestMapping("/queryCounsum")
+    @ResponseBody
+    public List<CourseCounsum> queryCounsum(@RequestBody ConsumeQuery consumeQuery){
+        System.out.println("======queryCounsum==========="+consumeQuery);
+
+        QueryWrapper<CourseCounsum> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("paymentId",consumeQuery.getPayId());
+
+
+        if (consumeQuery.getChangeType()!=null){
+            queryWrapper.eq("changeType", consumeQuery.getChangeType());
+        }
+        if (consumeQuery.getStart()!=null){
+            queryWrapper.between("insertTime", consumeQuery.getStart(), consumeQuery.getEnd());
+        }
+        if (consumeQuery.getReason()!=null&&consumeQuery.getReason()!=""){
+            queryWrapper.like("reason", consumeQuery.getReason());
+
+        }
+
+        List<CourseCounsum> list = counsumService.list(queryWrapper);
+
+
+
+
+//        List<CourseCounsum> list = counsumService.list(new QueryWrapper<CourseCounsum>().eq("paymentId", consumeQuery.getPayId()).eq("changeType", consumeQuery.getChangeType()).between("insertTime", consumeQuery.getStart(), consumeQuery.getEnd()).like("reason", consumeQuery.getReason()));
+        return list;
+    }
+
+
+    @RequestMapping("/insertBack")
+    @ResponseBody
+    public void insertBack(@RequestBody InsertBackDto insertBackDto){
+
+        MoneyBack moneyBack = new MoneyBack();
+        moneyBack.setStudentId(insertBackDto.getId());
+        moneyBack.setStatus(0);
+        moneyBack.setInsertTime(new Date());
+        moneyBack.setIds(insertBackDto.getIds());
+        moneyBackService.save(moneyBack);
+
+    }
+
+
+    @RequestMapping("/queryByIds")
+    @ResponseBody
+    public List<TCoursePackagePayment> queryByIds(@RequestParam("ids")String ids){
+        List<TCoursePackagePayment> paymentList = paymentService.list(new QueryWrapper<TCoursePackagePayment>()
+                .in("id", Arrays.asList(ids.split(","))));
+
+        System.out.println("========client==>"+paymentList);
+        return paymentList;
+    }
+
+    @RequestMapping("/changeStatus")
+    @ResponseBody
+    public void changeStatus(@RequestParam("id")Integer id){
+        MoneyBack byId = moneyBackService.getById(id);
+        byId.setStatus(1);
+        moneyBackService.updateById(byId);
+
+    }
+
+    @RequestMapping("/zeroClass")
+    @ResponseBody
+    public void zeroClass(@RequestParam("id")Integer id){
+        MoneyBack byId = moneyBackService.getById(id);
+        String[] split = byId.getIds().split(",");
+        System.out.println("========split===>"+split);
+        List<TCoursePackagePayment> id1 = paymentService.list(new QueryWrapper<TCoursePackagePayment>().in("id", split));
+        for (TCoursePackagePayment o :id1){
+            o.setTotalClassHours(0);
+            o.setLaveClassHours(0);
+            o.setAppUserId(null);
+        }
+        paymentService.updateBatchById(id1);
+    }
+
+    @RequestMapping("/cancel")
+    @ResponseBody
+    public void cancel(@RequestParam("ids")String ids){
+        String[] split = ids.split(",");
+        List<CoursePackageStudent> coursePackagePaymentId = studentService.list(new QueryWrapper<CoursePackageStudent>().in("coursePackagePaymentId", split));
+      for (CoursePackageStudent student :coursePackagePaymentId){
+          student.setReservationStatus(2);
+          student.setAppUserId(null);
+      }
+        studentService.updateBatchById(coursePackagePaymentId);
+
+
+    }
+
+    @Autowired
+    private MoneyBackService moneyBackService;
+    @RequestMapping("/getMoneyBack")
+    @ResponseBody
+    public List<MoneyBack> getMoneyBack(@RequestParam("tStudentId")Integer tStudentId){
+
+        List<MoneyBack> moneyBacksck = moneyBackService.list(new QueryWrapper<MoneyBack>().eq("studentId", tStudentId));
+        return moneyBacksck;
+    }
+
+    //课程转移
+    @RequestMapping("/toClass")
+    @ResponseBody
+    public void toClass(@RequestBody ToClassDto toClassDto){
+        System.out.println("===========到达getSelect======="+toClassDto);
+        TCoursePackagePayment orinPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId()));
+        TCoursePackagePayment studentPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId",orinPay.getCoursePackageId()));
+        if (studentPay!=null) {
+            System.out.println("======orinPay=====>" + orinPay);
+            System.out.println("======studentPay=====>" + studentPay);
+            Integer laveClassHours = orinPay.getLaveClassHours();
+            Integer totalClassHours = orinPay.getTotalClassHours();
+
+            orinPay.setTotalClassHours(0);
+            orinPay.setLaveClassHours(0);
+            orinPay.setAppUserId(null);
+            paymentService.updateById(orinPay);
+
+            CourseCounsum courseCounsum = new CourseCounsum();
+            courseCounsum.setInsertTime(new Date());
+            courseCounsum.setReason("转课");
+            courseCounsum.setNum(laveClassHours);
+            courseCounsum.setChangeType(0);
+            courseCounsum.setPaymentId(orinPay.getId());
+            counsumService.save(courseCounsum);
+
+            Integer laveClassHours1 = studentPay.getLaveClassHours();
+            Integer totalClassHours1 = studentPay.getTotalClassHours();
+            int total = totalClassHours + totalClassHours1;
+            int lave = laveClassHours + laveClassHours1;
+
+            studentPay.setAppUserId(null);
+            studentPay.setLaveClassHours(lave);
+            studentPay.setTotalClassHours(total);
+            paymentService.updateById(studentPay);
+
+            CourseCounsum courseCounsum1 = new CourseCounsum();
+            courseCounsum1.setInsertTime(new Date());
+            courseCounsum1.setReason("转课");
+            courseCounsum1.setNum(laveClassHours);
+            courseCounsum1.setChangeType(1);
+            courseCounsum1.setPaymentId(studentPay.getId());
+            counsumService.save(courseCounsum1);
+
+        }else {
+
+
+
+            orinPay.setTotalClassHours(0);
+            orinPay.setLaveClassHours(0);
+            orinPay.setAppUserId(null);
+            paymentService.updateById(orinPay);
+
+
+            CourseCounsum courseCounsum = new CourseCounsum();
+            courseCounsum.setInsertTime(new Date());
+            courseCounsum.setReason("赠课");
+            courseCounsum.setNum(orinPay.getLaveClassHours());
+            courseCounsum.setChangeType(0);
+            courseCounsum.setPaymentId(orinPay.getId());
+            counsumService.save(courseCounsum);
+
+
+
+            Student student = studentClient.queryStudentById(toClassDto.getToStudentId());
+            TCoursePackagePayment to = new TCoursePackagePayment();
+            to.setStudentId(toClassDto.getToStudentId());
+            to.setTotalClassHours(orinPay.getTotalClassHours());
+            to.setLaveClassHours(orinPay.getLaveClassHours());
+            to.setCoursePackageId(orinPay.getCoursePackageId());
+            to.setState(1);
+            to.setAppUserId(student.getAppUserId());
+            to.setPayStatus(2);
+            to.setStatus(1);
+            to.setInsertTime(new Date());
+            paymentService.save(to);
+
+
+            CourseCounsum courseCounsum1 = new CourseCounsum();
+            courseCounsum1.setInsertTime(new Date());
+            courseCounsum1.setReason("赠课");
+            courseCounsum1.setNum(orinPay.getLaveClassHours());
+            courseCounsum1.setChangeType(1);
+            courseCounsum1.setPaymentId(to.getId());
+            counsumService.save(courseCounsum);
+
+        }
+
+
+    }
+
+    @Resource
+    private StudentClient studentClient;
+    @RequestMapping(value = "/toHoli",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")
+    @ResponseBody
+    public String toHoli(@RequestBody ToHoliDto toHoliDto){
+
+        String [] ids = toHoliDto.getIds();
+        List<String> strings = new ArrayList<>();
+
+
+        for (String id : ids){
+            //扣除课时
+            TCoursePackagePayment payment = paymentService.getById(id);
+            System.out.println("=====byId========="+payment);
+
+
+            Integer laveClassHours = payment.getLaveClassHours();
+
+            Integer classNum = toHoliDto.getClassNum();
+            Integer totalClassHours = payment.getTotalClassHours();
+            Student student = studentClient.queryStudentById(payment.getStudentId());
+
+            if (laveClassHours < classNum){
+                strings.add(student.getName()); continue;
+            }
+
+            Integer laveClassHoursnew = laveClassHours - classNum;
+            Integer totalClassHoursnew = totalClassHours - classNum;
+            payment.setLaveClassHours(laveClassHoursnew);
+            payment.setTotalClassHours(totalClassHoursnew);
+            payment.setAppUserId(null);
+
+            paymentService.updateById(payment);
+
+            //获取student信息
+
+            //新增课时
+
+            TCoursePackagePayment holi = new TCoursePackagePayment();
+            holi.setAppUserId(student.getAppUserId());
+            holi.setStudentId(student.getId());
+            holi.setCoursePackageId(toHoliDto.getClassId());
+            holi.setTotalClassHours(toHoliDto.getClassNum());
+            holi.setLaveClassHours(toHoliDto.getClassNum());
+            holi.setState(1);
+            holi.setInsertTime(new Date());
+            paymentService.save(holi);
+
+            System.out.println("保存成功=============》="+holi);
+
+
+
+        }
+        String[] stringArray = strings.toArray(new String[strings.size()]);
+
+        String join = StringUtils.join(stringArray, ",");
+    System.out.println("==========join========"+join);
+        return join;
+
+
+
+
+    }
+
+    @RequestMapping(value = "/toTrans",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")
+    @ResponseBody
+    public String toTrans(@RequestBody ToHoliDto toHoliDto){
+
+        String [] ids = toHoliDto.getIds();
+        List<String> strings = new ArrayList<>();
+
+
+        for (String id : ids){
+            //扣除课时
+            TCoursePackagePayment payment = paymentService.getById(id);
+            System.out.println("=====byId========="+payment);
+
+
+            Integer laveClassHours = payment.getLaveClassHours();
+
+            Integer classNum = toHoliDto.getClassNum();
+            Integer totalClassHours = payment.getTotalClassHours();
+            Student student = studentClient.queryStudentById(payment.getStudentId());
+
+//            if (laveClassHours < classNum){
+//                strings.add(student.getName()); continue;
+//            }
+//
+//            Integer laveClassHoursnew = laveClassHours - classNum;
+//            Integer totalClassHoursnew = totalClassHours - classNum;
+            payment.setLaveClassHours(0);
+            payment.setTotalClassHours(0);
+            payment.setAppUserId(null);
+
+            paymentService.updateById(payment);
+
+            //获取student信息
+
+            //新增课时
+
+            TCoursePackagePayment holi = new TCoursePackagePayment();
+            holi.setAppUserId(student.getAppUserId());
+            holi.setStudentId(student.getId());
+            holi.setCoursePackageId(toHoliDto.getClassId());
+            holi.setTotalClassHours(laveClassHours);
+            holi.setLaveClassHours(laveClassHours);
+            holi.setState(1);
+            holi.setInsertTime(new Date());
+            paymentService.save(holi);
+
+            System.out.println("保存成功=============》="+holi);
+
+
+
+        }
+        String[] stringArray = strings.toArray(new String[strings.size()]);
+
+        String join = StringUtils.join(stringArray, ",");
+        System.out.println("==========join========"+join);
+        return "转课成功";
+
+
+
+
+    }
+
+
+
 }

--
Gitblit v1.7.1