44323
2023-11-24 ae9bfd2d66f68a553786ac78b12f4390e65e4e09
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
@@ -9,6 +9,7 @@
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.support.HttpKit;
import com.dsh.guns.core.util.ToolUtil;
import com.dsh.guns.modular.system.model.CourseCounsum;
import com.dsh.guns.modular.system.model.TStore;
import com.dsh.guns.modular.system.service.ICoursePackageService;
import com.dsh.guns.modular.system.service.IStoreService;
@@ -19,6 +20,8 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -70,12 +73,12 @@
     * @return
     */
    @Override
    public Page<Map<String, Object>> queryCoursePackageLists(String provinceCode, String cityCode, Integer coursePackageTypeId, Integer storeId, String name, Integer status, Integer state) {
    public Page<Map<String, Object>> queryCoursePackageLists(String provinceCode, String cityCode, Integer coursePackageTypeId, List<Integer> storeId, String name, Integer status, Integer state) {
        QueryCoursePackageLists queryCoursePackageLists = new QueryCoursePackageLists();
        queryCoursePackageLists.setProvinceCode(provinceCode);
        queryCoursePackageLists.setCityCode(cityCode);
        queryCoursePackageLists.setCoursePackageTypeId(coursePackageTypeId);
        queryCoursePackageLists.setStoreId(storeId);
        queryCoursePackageLists.setStoreIds(storeId);
        queryCoursePackageLists.setName(name);
        queryCoursePackageLists.setState(state);
        queryCoursePackageLists.setStatus(status);
@@ -138,8 +141,40 @@
     */
    @Override
    public void updateCoursePackage(TCoursePackage coursePackage, String coursePackagePaymentConfig) {
        String holitime = coursePackage.getHolitime();
        if (holitime!=null){
            // 如果为空字符串 则默认未修改
            if (holitime.equals("")){
                TCoursePackage tCoursePackage = coursePackageClient.queryById(coursePackage.getId());
                coursePackage.setStartTime(tCoursePackage.getStartTime());
                coursePackage.setEndTime(tCoursePackage.getEndTime());
            }else{
                String[] split = holitime.split(" - ");
                String startTime = split[0];
                String endTime = split[1];
                SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
                SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
                try {
                    Date parse1 = format1.parse(startTime);
                    parse1.setHours(0);
                    parse1.setMinutes(0);
                    parse1.setSeconds(0);
                    Date parse2 = format2.parse(endTime);
                    parse2.setHours(23);
                    parse2.setMinutes(59);
                    parse2.setSeconds(59);
                    coursePackage.setStartTime(parse1);
                    coursePackage.setEndTime(parse2);
                } catch (ParseException e) {
                    e.printStackTrace();
                }
            }
        }
        coursePackageClient.updateCoursePackage(coursePackage);
        coursePackagePaymentConfigClient.delCoursePackagePaymentConfig(coursePackage.getId());
        List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient
                .queryByCoursePackageId(coursePackage.getId());
        JSONArray jsonArray = JSON.parseArray(coursePackagePaymentConfig);
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
@@ -153,7 +188,11 @@
            coursePackagePaymentConfig1.setCashPayment(cashPayment);
            coursePackagePaymentConfig1.setPlayPaiCoin(playPaiCoin);
            coursePackagePaymentConfig1.setCouponIds(couponIds);
            coursePackagePaymentConfigClient.addCoursePackagePaymentConfig(coursePackagePaymentConfig1);
            int i1 = coursePackagePaymentConfigClient.addCoursePackagePaymentConfig(coursePackagePaymentConfig1);
//            for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
//                tCoursePackageDiscount.setCoursePackagePaymentConfigId(coursePackagePaymentConfig1.getId());
//                coursePackageDiscountClient.update(tCoursePackageDiscount);
//            }
        }
    }
@@ -285,7 +324,12 @@
                coursePackageDiscount1.setCoursePackagePaymentConfigId(coursePackagePaymentConfigId);
                coursePackageDiscount1.setType(type);
                coursePackageDiscount1.setContent(cpd.getString("content"));
                coursePackageDiscount1.setAuditStatus(2);
                if (UserExt.getUser().getObjectType() == 1){
                    coursePackageDiscount1.setAuditStatus(2);
                }else if (UserExt.getUser().getObjectType() == 2){
                    coursePackageDiscount1.setAuditStatus(1);
                }
                coursePackageDiscount1.setInsertTime(new Date());
                list.add(coursePackageDiscount1);
            }
@@ -365,7 +409,7 @@
    public ResultUtil cancelReservation(Long id) {
        CoursePackageStudent coursePackageStudent = coursePackageStudentClient.queryCoursePackageStudentById(id);
        if(coursePackageStudent.getSignInOrNot() == 1){
            return ResultUtil.error("无法取消预约");
            return ResultUtil.error("当前学员已到课不能请假");
        }
//        TCoursePackagePayment payment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId());
//        payment.setAbsencesNumber(payment.getAbsencesNumber()+1);
@@ -411,18 +455,40 @@
     */
    @Override
    public ResultUtil cancelClassSchedule(Long id) {
        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id);
        if(coursePackageScheduling.getStatus() != 1){
            return ResultUtil.error("不能取消本次");
//        List<CoursePackageScheduling> coursePackageSchedulings =  coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id);
//        List<Long> integers = new ArrayList<>();
//        for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) {
//            integers.add(coursePackageScheduling.getId());
//        }
        List<CoursePackageScheduling> coursePackageSchedulings =  coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id);
        List<Long> integers = new ArrayList<>();
        for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) {
            integers.add(coursePackageScheduling.getId());
            coursePackageScheduling.setStatus(4);
        }
        List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(id);
        if(coursePackageStudents.size() > 0){
            return ResultUtil.error("不能取消本次");
        }
        coursePackageScheduling = new CoursePackageScheduling();
        coursePackageScheduling.setId(id);
        coursePackageScheduling.setStatus(4);
        coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling);
        coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings);
//        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id);
//        if(coursePackageScheduling.getStatus() != 1){
//            return ResultUtil.error("不能取消本次");
//        }
//        List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(id);
//        if(coursePackageStudents.size() > 0){
////            return ResultUtil.error("不能取消本次");
//        }
//        coursePackageScheduling = new CoursePackageScheduling();
//        coursePackageScheduling.setId(id);
//        coursePackageScheduling.setStatus(4);
//        coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling);
        return ResultUtil.success();
    }
@@ -436,15 +502,40 @@
     */
    @Override
    public ResultUtil afterClassExercises(Long id, Integer courseId, Integer integral) {
        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id);
        if(coursePackageScheduling.getStatus() != 3){
            return ResultUtil.error("不能发布课后练习");
//        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id);
//        List<CoursePackageScheduling> coursePackageSchedulings =  coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id);
        List<CoursePackageScheduling> coursePackageSchedulings =  coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id);
        List<Long> integers = new ArrayList<>();
        for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) {
            integers.add(coursePackageScheduling.getId());
            coursePackageScheduling.setCourseId(courseId);
            coursePackageScheduling.setIntegral(integral);
        }
        coursePackageScheduling.setCourseId(courseId);
        coursePackageScheduling.setIntegral(integral);
        coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling);
        coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings);
//        for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) {
//            integers.add(coursePackageScheduling.getId());
//            if(coursePackageScheduling.getStatus() != 3){
//                return ResultUtil.error("不能发布课后练习");
//            }
//            coursePackageScheduling.setCourseId(courseId);
//            coursePackageScheduling.setIntegral(integral);
//            coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling);
//        }
//        if(coursePackageScheduling.getStatus() != 3){
//            return ResultUtil.error("不能发布课后练习");
//        }
//        coursePackageScheduling.setCourseId(courseId);
//        coursePackageScheduling.setIntegral(integral);
//        coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling);
        return ResultUtil.success();
    }
    /**
@@ -456,16 +547,26 @@
     */
    @Override
    public ResultUtil cancellationRecord(Long id, String cancelClasses, Integer deductClassHour) {
        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id);
        if(coursePackageScheduling.getStatus() == 1 || coursePackageScheduling.getStatus() == 4){
            return ResultUtil.error("不能添加消课凭证");
        }
        coursePackageScheduling.setCancelClasses(cancelClasses);
        coursePackageScheduling.setDeductClassHour(deductClassHour);
        coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling);
        List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(id);
//        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id);
        List<Long> integers = new ArrayList<>();
        List<CoursePackageScheduling> coursePackageSchedulings =  coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id);
//        for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) {
//        if(coursePackageScheduling.getStatus() == 1 || coursePackageScheduling.getStatus() == 4){
//            return ResultUtil.error("不能添加消课凭证");
//        }
//        coursePackageScheduling.setCancelClasses(cancelClasses);
//        coursePackageScheduling.setDeductClassHour(deductClassHour);
        List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(integers);
        for (CoursePackageStudent coursePackageStudent : coursePackageStudents) {
            for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) {
                if (coursePackageStudent.getSignInOrNot()==2){
                    break;
                }
                integers.add(coursePackageScheduling.getId());
                coursePackageScheduling.setCancelClasses(cancelClasses);
                coursePackageScheduling.setDeductClassHour(deductClassHour);
            }
            if(coursePackageStudent.getReservationStatus() == 0){
                continue;
            }
@@ -479,7 +580,7 @@
                tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours() - deductClassHour);
            }
            if(coursePackageStudent.getSignInOrNot() == 0){
            if(coursePackageStudent.getReservationStatus() == 0){
                tCoursePackagePayment.setAbsencesNumber(tCoursePackagePayment.getAbsencesNumber() + 1);
            }
            System.out.println("====tCoursePackagePayment====="+tCoursePackagePayment);
@@ -495,7 +596,16 @@
            cancelledClasses.setCancelledClassesNumber(deductClassHour);}
            cancelledClasses.setInsertTime(new Date());
            cancelledClassesClient.addCancelledClasses(cancelledClasses);
        }
        coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings);
//        }
        return ResultUtil.success();
    }