luo
2023-09-25 35fec86ca49916eb8a8082f7f1e99185ee1e3c24
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -8,6 +8,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.course.entity.*;
import com.dsh.course.entity.TAppUser;
import com.dsh.course.feignclient.account.AppUserClient;
import com.dsh.course.feignclient.account.CoachClient;
import com.dsh.course.feignclient.account.StudentClient;
@@ -23,9 +24,7 @@
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
import com.dsh.course.mapper.*;
import com.dsh.course.model.BillingRequest;
import com.dsh.course.model.QueryRegistrationRecord;
import com.dsh.course.model.QueryWalkInStudentList;
import com.dsh.course.model.*;
import com.dsh.course.model.dto.DiscountJsonDto;
import com.dsh.course.model.vo.RegisterCourseVo;
import com.dsh.course.model.vo.request.*;
@@ -117,6 +116,21 @@
    @Override
    public List<CoursePackagePaymentVO> listAll(CoursePackagePaymentQuery query) {
        return cpConfigMapper.listAll(query);
    }
    @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());
    }
    /**
     * 获取课包购买人数
@@ -222,32 +236,36 @@
                .eq("appUserId",appUserId ));
        System.out.println(tCoursePackagePayments);
        if (tCoursePackagePayments.size() > 0){
            for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
                TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
                Store store = stoClient.queryStoreById(coursePackage.getStoreId());
                RegisterCourseVo registerCourseVo = new RegisterCourseVo();
                // 2.0
                registerCourseVo.setType(coursePackage.getType());
            try {
                for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
                    TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
                    Store store = stoClient.queryStoreById(coursePackage.getStoreId());
                    RegisterCourseVo registerCourseVo = new RegisterCourseVo();
                    // 2.0
                    registerCourseVo.setType(coursePackage.getType());
                registerCourseVo.setCoursePayId(tCoursePackagePayment.getId());
                registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
                registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId());
                registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
                String storeAndCourse = coursePackage.getName()+"("+ store.getName() +")";
                registerCourseVo.setCourseNameStore(storeAndCourse);
                    registerCourseVo.setCoursePayId(tCoursePackagePayment.getId());
                    registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
                    registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId());
                    registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
                    String storeAndCourse = coursePackage.getName()+"("+ store.getName() +")";
                    registerCourseVo.setCourseNameStore(storeAndCourse);
//                registerCourseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
                // 2.0
                registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime()));
                Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
                registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
                List<CoursePackageStudent> coursePackageStudents = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
                        .eq("coursePackageId",coursePackage.getId())
                        .eq("studentId",appUserId ));
                if (coursePackageStudents.size() > 0 ){
                    registerCourseVo.setCourseNums(coursePackageStudents.size() * 2);
                    // 2.0
                    registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime()));
                    Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
                    registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
                    List<CoursePackageStudent> coursePackageStudents = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
                            .eq("coursePackageId",coursePackage.getId())
                            .eq("studentId",appUserId ));
                    if (coursePackageStudents.size() > 0 ){
                        registerCourseVo.setCourseNums(coursePackageStudents.size() * 2);
                    }
                    registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus());
                    courseVos.add(registerCourseVo);
                }
                registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus());
                courseVos.add(registerCourseVo);
            }catch (Exception e){
                e.printStackTrace();
            }
            if (ToolUtil.isNotEmpty(courseTypeId.getSearch())){
@@ -707,17 +725,23 @@
        }
        List<Map<String, Object>> list = this.baseMapper.queryRegistrationRecord(page, coursePackageId, userIds, studentIds);
        for (Map<String, Object> map : list) {
            Long id = Long.valueOf(map.get("id").toString());
            Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
            Integer studentId = Integer.valueOf(map.get("studentId").toString());
            AppUser appUser = appuClient.queryAppUser(appUserId);
            TAppUser appUser = appuClient.queryAppUser1(appUserId);
            map.put("userName", null != appUser ? appUser.getName() : "");
            map.put("phone", null != appUser ? appUser.getPhone() : "");
            Student student = studentClient.queryStudentById(studentId);
            map.put("studentName", null != student ? student.getName() : "");
            Integer integer = cpsMapper.selectCount(new QueryWrapper<CoursePackageStudent>().eq("appUserId", appUserId)
                    .eq("studentId", studentId).eq("coursePackagePaymentId", id).eq("signInOrNot", 1));
                    .eq("studentId", studentId).eq("coursePackagePaymentId", id).eq("signInOrNot", 2));
            map.put("already", integer);
//            if (student != null && student.getName().equals("杨锴1")) {
//                map.put("totalClassHours", "测试");
//            }
            ;
        }
        return list;
    }
@@ -814,7 +838,7 @@
        // 今天周几
        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
        SimpleDateFormat format = new SimpleDateFormat("MM.dd");
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
        ArrayList<String> strings1 = new ArrayList<>();
        for (Integer integer : week) {
@@ -913,7 +937,7 @@
            return ResultUtil.error("当前课包课时数不足");
        }
        tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours()-req.getNum());
        this.baseMapper.updateById(tCoursePackagePayment);
        this.baseMapper.updateHoursById(tCoursePackagePayment.getId(),-req.getNum());
        TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId());
@@ -970,7 +994,7 @@
                    student1.setReservationStatus(1);
                    student1.setInsertTime(new Date());
                    cpsMapper.insert(student1);
                } catch (ParseException e) {
                } catch (Exception e) {
                    e.printStackTrace();
                }
@@ -981,7 +1005,7 @@
        // 2.0
        TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
        tCourseInfoRecord.setUserId(userId);
        tCourseInfoRecord.setCourseId(req.getOldCourseId());
        tCourseInfoRecord.setCourseId(req.getCourseId());
        tCourseInfoRecord.setName("体验购课");
        tCourseInfoRecord.setNum(req.getNum());
        tCourseInfoRecord.setTime(new Date());
@@ -1015,9 +1039,16 @@
    }
    @Override
    public List<Integer> getStudentIds(Integer payId) {
    public List<Integer> getStudentIds(Long payId) {
       return  this.baseMapper.getStudentIds(payId);
    }
    @Override
    public boolean updateHoursById(TCoursePackagePayment byId, int i) {
        return this.baseMapper.updateHoursById(byId.getId(),i);
    }
}