liujie
2023-09-28 f0f6bd6f7499d1fa737f705091337befb98f5112
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -14,6 +14,7 @@
import com.dsh.course.feignclient.account.model.AppUser;
import com.dsh.course.feignclient.account.model.Student;
import com.dsh.course.feignclient.account.model.TCourseInfoRecord;
import com.dsh.course.feignclient.account.model.TStudent;
import com.dsh.course.feignclient.activity.CouponClient;
import com.dsh.course.feignclient.activity.model.Coupon;
import com.dsh.course.feignclient.model.*;
@@ -124,6 +125,8 @@
    private CoursePackageSchedulingMapper coursePackageSchedulingMapper;
    @Autowired
    private ICoursePackageSchedulingService coursePackageSchedulingService;
    @Autowired
    private CoursePackageStudentService coursePackageStudentService;
    private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
    /**
@@ -135,6 +138,8 @@
        packagePayment.setInsertTime(new Date());
        packagePayment.setInsertTime(new Date());
        Integer studentId = packagePayment.getStudentId();
        // 添加学员上课记录
        CoursePackageStudent coursePackageStudent = new CoursePackageStudent();
        TCoursePackagePayment one = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", packagePayment)
                .orderByDesc("insertTime")
                .last("LIMIT 1"));
@@ -145,7 +150,7 @@
            // 没有过期
            if (one.getUseTime().after(new Date())){
                packagePayment.setTotalClassHours(packagePayment.getClassHours()+one.getTotalClassHours());
                packagePayment.setLaveClassHours(packagePayment.getClassHours()+one.getLaveClassHours());
                packagePayment.setLaveClassHours(one.getLaveClassHours()-packagePayment.getClassHours());
                packagePayment.setAbsencesNumber(one.getAbsencesNumber());
            }
            packagePayment.setTotalClassHours(packagePayment.getClassHours());
@@ -215,6 +220,8 @@
                        coursePackageScheduling.setEndDate(endDate.getTime());
                        coursePackageScheduling.setStatus(1);
                        coursePackageSchedulingService.save(coursePackageScheduling);
                        coursePackageStudent.setCoursePackageSchedulingId(coursePackageScheduling.getId());
                        List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
                                .eq("coursePackageId", coursePackage.getId())
                                .eq("classDate", classDate.getTime())
@@ -233,7 +240,18 @@
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return packagePaymentService.save(packagePayment);
        coursePackageStudent.setStudentId(packagePayment.getStudentId());
        coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId());
        coursePackageStudent.setSignInOrNot(0);
        coursePackageStudent.setReservationStatus(1);
        coursePackageStudent.setInsertTime(new Date());
        coursePackageStudent.setAppUserId(packagePayment.getAppUserId());
        packagePaymentService.save(packagePayment);
        coursePackageStudent.setCoursePackagePaymentId(packagePayment.getId());
        return coursePackageStudentService.save(coursePackageStudent);
    }
    /**
     * 手动支付
@@ -272,19 +290,19 @@
                List<AppUser> appUsers = appUserClient.queryAppUserListByName(query.getPayUser());
                for (AppUser user : appUsers) {
                    if (appUser.getName().equals(user.getName())){
                        result.add(re);
                        if (query.getPayStudent()== null || query.getPayStudent().equals("")){
                        }else{
                            List<Student> students = studentClient.queryStudentListByName(query.getPayStudent());
                            for (Student student1 : students) {
                                if (student.getName().equals(student1.getName())){
                                    result.add(re);
                                }
                            }
                        }
                    }
                }
            }
            if (query.getPayStudent()== null || query.getPayStudent().equals("")){
            }else{
                List<Student> students = studentClient.queryStudentListByName(query.getPayStudent());
                for (Student student1 : students) {
                    if (student.getName().equals(student1.getName())){
                        result.add(re);
                    }
                }
            }
            if (re.getPayType()!=null){
                if (re.getPayType()==1){
                    re.setBuyTypeName("微信支付");
@@ -304,6 +322,7 @@
            }
            // 如果支付用户类型为管理员 则购买方式则为1线下购买
            if (re.getPayUserType()!=null){
                if (re.getPayUserType()== 2){
                    re.setBuyType(1);
                }else{
@@ -317,6 +336,7 @@
                    }
                }
            }
            }
        if (query.getPayStudent()== null || query.getPayStudent().equals("")){
            if (query.getPayUser()== null || query.getPayUser().equals("")){
                return res;
@@ -326,6 +346,47 @@
        }else{
            return result;
        }
    }
    /**
     * 获取报名订单记录列表
     */
    @ResponseBody
    @RequestMapping("/registerOrder/listAllRegister")
    public List<RegisterOrderVO> listAllRegister(@RequestBody RegisterOrderQuery query){
        if (query.getStudentName()!=null){
            if (!query.getStudentName().equals("")){
                List<TStudent> students1 = studentClient.queryTStudentListByName(query.getStudentName());
                List<Integer> studentIds = students1.stream().map(TStudent::getId).collect(Collectors.toList());
                query.setStudentIds(studentIds);
                if (students1.size()==0){
                    return new ArrayList<>();
                }
            }
        }
        List<RegisterOrderVO> res = packagePaymentService.listAllRegister(query);
        List<RegisterOrderVO> result = new ArrayList<>();
        for (RegisterOrderVO re : res) {
            if(re.getSalesName()==null){
                re.setSalesName("无");
            }
            if(re.getPayType()!=null){
                if (re.getPayType() == 3){
                    re.setPayMoneyAndType(re.getPlayPaiCoin()+"玩湃币");
                }else{
                    re.setPayMoneyAndType("¥"+re.getMoney());
                }
            }
            Store store = storeClient.queryStoreById(re.getStoreId());
            TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
            Student student = studentClient.queryStudentById(re.getStudentId());
            re.setPayStudent(student.getName());
            re.setPayUser(appUser.getName());
            re.setPhone(appUser.getPhone());
            re.setStoreName(store.getName());
        }
        return res;
    }
    /**
@@ -1179,7 +1240,7 @@
        return packagePaymentService.save(packagePayment);
    }
    @ResponseBody
    @PostMapping("/base/coursePack/obtainStudentClassDetails")
    public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId){
        try {
@@ -1290,8 +1351,22 @@
    @ResponseBody
    @PostMapping("/coursePackagePayment/editCoursePackagePayment")
    public void editCoursePackagePayment(TCoursePackagePayment coursePackagePayment){
        coursePackagePayment.setCoursePackageId(null);
        coursePackagePayment.setAppUserId(null);
        packagePaymentService.updateById(coursePackagePayment);
    }
    /**
     * 修改数据
     * @param coursePackagePayment
     */
    @ResponseBody
    @PostMapping("/coursePackagePayment/editCoursePackagePayment1")
    public void editCoursePackagePayment1(@RequestBody TCoursePackagePayment coursePackagePayment){
        System.out.println("editCoursePackagePayment1====coursePackagePayment"+coursePackagePayment);
//        coursePackagePayment.setCoursePackageId(null);
        packagePaymentService.updateBytime(coursePackagePayment);
    }
@@ -1323,8 +1398,14 @@
            if (ToolUtil.isEmpty(packagePayment) || packagePayment.size()==0){
                return ResultUtil.error("该用户未购买该课包");
            }
            List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>()
                    .eq(CoursePackageScheduling::getCoursePackageId, Integer.valueOf(courseID))
                    .like(CoursePackageScheduling::getClassDate, time)
            );
            List<CoursePackageStudent> coursePackageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
                    .in(CoursePackageStudent::getCoursePackagePaymentId,packagePayment.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList()))
                    .in(CoursePackageStudent::getCoursePackageSchedulingId,coursePackageSchedulings.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()))
                    .eq(CoursePackageStudent::getCoursePackageId,courseID)
                    .eq(CoursePackageStudent::getStudentId,stuId)
                    .eq(CoursePackageStudent::getAppUserId,appUserId)
@@ -1342,6 +1423,7 @@
            }
            return ResultUtil.success();
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
@@ -1388,10 +1470,13 @@
                String classEndTime = tCoursePackage.getClassEndTime();
                String[] split1 = classEndTime.split(",");
                ArrayList<String> strings = new ArrayList<>();
                for (int i1 = 0; i1 < split.length; i1++) {
                    String s = split[i1] + "-" + split1[i1];
                    strings.add(s);
                if(ToolUtil.isNotEmpty(classStartTime)){
                    for (int i1 = 0; i1 < split.length; i1++) {
                        String s = split[i1].substring(0,5) + "-" + split1[i1].substring(0,5);
                        strings.add(s);
                    }
                }
                detailsListVo.setTime(strings);
                List<CoursePackagePaymentConfig> list2 = icppcService.list(new LambdaQueryWrapper<CoursePackagePaymentConfig>().eq(CoursePackagePaymentConfig::getCoursePackageId, tCoursePackage.getId()).orderByAsc(CoursePackagePaymentConfig::getCashPayment));
                if (list2.size() > 0) {
@@ -1405,6 +1490,9 @@
                            .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
                            .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
                    );
                    if(list3.size()==0){
                        break;
                    }
                    List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
                    if(collect2.size()==0){
                        collect2.add(-1l);
@@ -1416,12 +1504,13 @@
                                    in(CoursePackageStudent::getCoursePackagePaymentId, ids)
                    );
                        detailsListVo.setType(1);
                    detailsListVo.setType(1);
                    if(list4.size()>0){
                        Integer signInOrNot = list4.get(0).getSignInOrNot();
                        if(signInOrNot==2){
                            detailsListVo.setType(3);
                        }
                        detailsListVo.setIsType(list4.get(0).getType());
                    }
                } else {