44323
2023-10-25 cf6b7d7ebd13d2b6fe131112b92f5c607bebd868
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

 Conflicts:
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
 cloud-server-management/src/main/webapp/WEB-INF/view/system/cpPayment/cpPayment_add.html
34个文件已修改
1个文件已添加
1000 ■■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/VideoOfCourseListClient.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/WeeksOfCourseRest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/PostCourseVideoController.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/WeeksOfCourseRest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/model/vo/response/AppUserVideoResponse.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/CoursePackageSchedulingMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/TCoursePackageDiscountMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointsMerchandise.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/resources/mapper/TStoreMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add1.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit1.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_info.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/cpPayment/cpPayment_add.html 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info1.js 744 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -592,16 +592,16 @@
            @ApiImplicitParam(value = "时间类型 0=全部 1=近一周 2=近一个月 3=近一年", name = "timeType", required = false, dataType = "int"),
            @ApiImplicitParam(value = "课程名称", name = "appointStatus", required = false, dataType = "string"),
    })
    public ResultUtil<List<RecordAppoint>> cgeClassAppointmentRecordList(Integer stuId, Integer appointStatus, Integer timeType, String search){
        try {
    public ResultUtil<List<RecordAppoint>> cgeClassAppointmentRecordList(Integer stuId, Integer appointStatus, Integer timeType, String search,Integer pageNum){
//        try {
            Integer appUserId = tokenUtil.getUserIdFormRedis();
            if(null == appUserId){
                return ResultUtil.tokenErr();
            }
            return ResultUtil.success(istuService.getAppointmentRecords(stuId,appUserId,appointStatus,timeType,search));
        }catch (Exception e){
            return ResultUtil.runErr();
        }
            return ResultUtil.success(istuService.getAppointmentRecords(stuId,appUserId,appointStatus,timeType,search,pageNum));
//        }catch (Exception e){
//            return ResultUtil.runErr();
//        }
    }
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/VideoOfCourseListClient.java
@@ -13,5 +13,8 @@
    @PostMapping("/base/courseVideo/getAllList")
    List<ExerciseVideo> getStuCourseOfVideoList(@RequestBody List<Integer> coursePackIds);
    @PostMapping("/base/courseVideo/query")
    List<ExerciseVideo> query(@RequestBody Integer id);
    
}
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/WeeksOfCourseRest.java
@@ -15,4 +15,5 @@
    @ApiModelProperty(value = "时间 ")
    private String time;
    private Integer pageNum;
}
cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
@@ -87,7 +87,7 @@
     * @param appUserId
     * @return
     */
    List<RecordAppoint> getAppointmentRecords(Integer stuId, Integer appUserId, Integer appointStatus, Integer timeType, String search);
    List<RecordAppoint> getAppointmentRecords(Integer stuId, Integer appUserId, Integer appointStatus, Integer timeType, String search,Integer pageNum);
    ResultUtil cancelReservationOfCourse( Integer courseStuRecordId);
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -318,7 +318,7 @@
                                case 2:
                                    return fieldValue != null && !fieldValue.isEmpty() && fieldValue.charAt(0) == '+';
                                default:
                                    break;
                                    return fieldValue != null && !fieldValue.isEmpty();
                            }
                        }
                        return false;
@@ -651,10 +651,11 @@
     * @return
     */
    @Override
    public List<RecordAppoint> getAppointmentRecords(Integer stuId, Integer appUserId,Integer appointStatus,Integer timeType,String search) {
    public List<RecordAppoint> getAppointmentRecords(Integer stuId, Integer appUserId,Integer appointStatus,Integer timeType,String search,Integer pageNum) {
        WeeksOfCourseRest courseRest = new WeeksOfCourseRest();
        courseRest.setAppUserId(appUserId);
        courseRest.setStuId(stuId);
        courseRest.setPageNum(pageNum);
        List<RecordAppoint> recordAppoints = couPayClient.obtainStudentClassDetailsData(courseRest);
        if (recordAppoints.size() > 0) {
            if (ToolUtil.isNotEmpty(appointStatus) && appointStatus != 0) {
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -242,6 +242,8 @@
                    mapList.add(map);
                }
            }
        }else {
            mapList = mapList1;
        }
        if (mapList.size() > 0){
            for (Map<String, Object> stringObjectMap : mapList) {
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -126,6 +126,8 @@
                    result.add(map);
                }
            }
        }else {
            result=result1;
        }
        if (result.size() > 0){
            for (Map<String, Object> stringObjectMap : result) {
@@ -1148,7 +1150,9 @@
        try {
            Integer pointMerchandiseId = (Integer) map.get("pointMerchandiseId");
            PointsMerchandise byId1 = pmdsService.getById(pointMerchandiseId);
            if(Integer.valueOf(map.get("type").toString())!=1){
                byId1.setStatus(2);
            }
            Integer quantityIssued = (Integer) map.get("quantityIssued");
            Integer pickUpQuantity = (Integer) map.get("pickUpQuantity");
            String redemptionInstructions = (String) map.get("redemptionInstructions");
@@ -1174,7 +1178,6 @@
    }
    @PostMapping("/base/pointMerchars/add")
    public Integer add(@RequestBody PointsMerchandise pointsMerchandise){
        Integer storeId = pointsMerchandise.getShelves();
@@ -1197,6 +1200,7 @@
    @PostMapping("/base/pointMerchars/addOther")
    public Boolean addOther(@RequestBody String pam){
        Boolean save =false;
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -405,7 +405,8 @@
            re.setPhone(appUser.getPhone());
            re.setStoreName(store.getName());
            // 在这里添加条件来删除不满足要求的元素
            if (appUser.getInsertType() != query.getInsertType()) {
            if (query.getInsertType() !=null && appUser.getInsertType() != query.getInsertType()) {
                iterator.remove(); // 使用迭代器的 remove 方法删除元素
            }
        }
@@ -1294,12 +1295,12 @@
    @ResponseBody
    @PostMapping("/base/coursePack/obtainStudentClassDetails")
    public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId){
        try {
            return packagePaymentService.obtainStuClassDetails(stuId.getStuId(),stuId.getAppUserId());
        }catch (Exception e){
            e.printStackTrace();
            throw new RuntimeException();
        }
//        try {
            return packagePaymentService.obtainStuClassDetails(stuId.getStuId(),stuId.getAppUserId(),stuId.getPageNum());
//        }catch (Exception e){
//            e.printStackTrace();
//            throw new RuntimeException();
//        }
    }
cloud-server-course/src/main/java/com/dsh/course/controller/PostCourseVideoController.java
@@ -1,8 +1,18 @@
package com.dsh.course.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.course.entity.CoursePackageScheduling;
import com.dsh.course.entity.CoursePackageStudent;
import com.dsh.course.feignclient.model.ExerciseVideo;
import com.dsh.course.mapper.CoursePackageSchedulingMapper;
import com.dsh.course.model.vo.response.AppUserVideoResponse;
import com.dsh.course.service.CoursePackageStudentService;
import com.dsh.course.service.ICoursePackageSchedulingService;
import com.dsh.course.service.PostCourseVideoService;
import com.dsh.course.service.TCoursePackageDiscountService;
import com.dsh.course.util.ToolUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -23,5 +33,47 @@
    public List<ExerciseVideo> getStuCourseOfVideoList(@RequestBody List<Integer> coursePackIds){
        return pcvService.queryCourseOfVideos(coursePackIds);
    }
    @Autowired
    private TCoursePackageDiscountService discountService;
    @Resource
    private CoursePackageSchedulingMapper coursePackageSchedulingMapper;
    @Autowired
    private ICoursePackageSchedulingService coursePackageSchedulingService;
    @Autowired
    private CoursePackageStudentService coursePackageStudentService;
    @ResponseBody
    @PostMapping("/base/courseVideo/query")
    public List<ExerciseVideo> query(@RequestBody Integer coursePackIds){
        List<ExerciseVideo> exerciseVideoList = new ArrayList<>();
        QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("appUserId", 19);
        List<CoursePackageStudent> list = coursePackageStudentService.list(queryWrapper1);
        List<Long> longs = new ArrayList<>();
        for (CoursePackageStudent coursePackageStudent : list) {
            longs.add(coursePackageStudent.getCoursePackageSchedulingId());
        }
        System.out.println("======longs========"+longs);
        List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId"));
        List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs);
        for (AppUserVideoResponse appUserVideoResponse : coursePackageSchedulings1) {
            ExerciseVideo exerciseVideo = new ExerciseVideo();
            exerciseVideo.setVideoId(appUserVideoResponse.getVideoId());
            exerciseVideo.setVideoName(appUserVideoResponse.getVideoName());
            exerciseVideo.setCoursePackageId(appUserVideoResponse.getCoursePackageId());
            exerciseVideo.setVideoUrl(appUserVideoResponse.getCourseVideo());
            exerciseVideo.setVideoCoverImgUrl(appUserVideoResponse.getCourseVideo());exerciseVideoList.add(exerciseVideo);
        }
//        return pcvService.queryCourseOfVideos(coursePackIds);
        return exerciseVideoList;
    }
}
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/WeeksOfCourseRest.java
@@ -14,5 +14,6 @@
    @ApiModelProperty(value = "时间 yyyy-MM-dd")
    private String time;
    private Integer pageNum;
}
cloud-server-course/src/main/java/com/dsh/course/model/vo/response/AppUserVideoResponse.java
@@ -31,4 +31,7 @@
    @ApiModelProperty(value = "学习状态 1未学习 2已学习")
    private Integer studyStatus;
    @ApiModelProperty(value = "课程视频")
    private String courseVideo;
}
cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
@@ -87,7 +87,7 @@
     * @param appUserId
     * @return
     */
    List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId);
    List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId,Integer pageNum);
    ResultUtil insertVipPaymentCallback(String code, String orderNumber);
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -9,6 +9,7 @@
import com.alipay.api.response.AlipayTradeQueryResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.course.entity.*;
@@ -39,7 +40,6 @@
import com.dsh.course.util.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
@@ -50,6 +50,7 @@
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import javax.persistence.criteria.CriteriaBuilder;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.ParseException;
@@ -731,7 +732,9 @@
    @Override
    public List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId) {
    public List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId,Integer pageNum) {
        List<RecordAppoint> recordVoList = new ArrayList<>();
        List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new QueryWrapper<TCoursePackagePayment>()
                .eq("studentId",stuId )
@@ -739,31 +742,58 @@
                .eq("payStatus",2 )
                .eq("status",1 )
                .orderByDesc("insertTime"));
        List<Integer> ids = new ArrayList<>();
        for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
            ids.add(tCoursePackagePayment.getCoursePackageId());
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
        if (tCoursePackagePayments.size() > 0 ){
            for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
                List<CoursePackageStudent> coursePackageStudent1 = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
                        .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() )
//            int pageNum = 1; // 页码
            int pageSize = 10; // 每页记录数
            Page<CoursePackageStudent> page = new Page<>(pageNum, pageSize);
//            for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
//                List<CoursePackageStudent> coursePackageStudent1 = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
//                        .in("coursePackageId",ids)
//                        .eq("studentId",stuId)
//                        .eq("appUserId",appUserId)
//                        .eq("reservationStatus",1));
            IPage<CoursePackageStudent> coursePackageStudentPage = cpsMapper.selectPage(page, new QueryWrapper<CoursePackageStudent>()
                    .in("coursePackageId", ids)
                        .eq("studentId",stuId)
                        .eq("appUserId",appUserId)
                        .eq("reservationStatus",1));
            List<CoursePackageStudent> coursePackageStudent1 = coursePackageStudentPage.getRecords();
                if (ToolUtil.isNotEmpty(coursePackageStudent1) && coursePackageStudent1.size() > 0){
                    TCoursePackage coursePackage = new TCoursePackage();
                    Integer coursePackageId = -1;
                    for (CoursePackageStudent coursePackageStudent : coursePackageStudent1) {
                        RecordAppoint recordVo = new RecordAppoint();
                        recordVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
                        recordVo.setCoursePackageId(coursePackageStudent.getCoursePackageId());
                        TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
                        if (!coursePackageStudent.getCoursePackageId().equals(coursePackageId)) {
                             coursePackage = tcpmapper.selectById(coursePackageStudent.getCoursePackageId());
                             coursePackageId = coursePackageStudent.getCoursePackageId();
                        }
                        recordVo.setUserId(appUserId);
                        recordVo.setSiteId(coursePackage.getSiteId());
                        List<Integer> ids = getIds(coursePackage.getSiteId());
                        recordVo.setIds(ids);
                        List<Integer> ids1 = getIds(coursePackage.getSiteId());
                        recordVo.setIds(ids1);
                        recordVo.setCoursePackageName(coursePackage.getName());
                        for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
                            if (Objects.equals(coursePackageStudent.getCoursePackageId(), tCoursePackagePayment.getCoursePackageId())){
                        recordVo.setCourseHours(tCoursePackagePayment.getClassHours());
                            }
                        }
//                        recordVo.setCourseHours(tCoursePackagePayment.getClassHours());
                        Date date = DateUtil.getDate();
                        String classStartTime = coursePackage.getClassStartTime();
@@ -791,7 +821,7 @@
                                recordVo.setStatus(5);
                            }else {
                                CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
                                        .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() ));
                                        .eq("coursePackageId",coursePackageStudent.getCoursePackageId() ));
                                if (ToolUtil.isNotEmpty(cancelledClasses)){
                                    recordVo.setStatus(3);
                                    // 消课 到课状态0 旷课
@@ -814,7 +844,8 @@
                }
            }
        }
//        }
        return recordVoList;
    }
    public List<Integer>  getIds(Integer siteId) {
cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml
@@ -45,9 +45,9 @@
            <if test="query.coursePackageTypeName!=null and query.coursePackageTypeName!= ''">
                and t2.name like concat('%',#{query.coursePackageTypeName},'%')
            </if>
            <if test="query.storesIds != null and query.storesIds.size()>0">
            <if test="query.storeIds != null and query.storeIds.size>0">
                AND t2.storeId IN
                <foreach collection="query.storesIds" separator="," item="id" open="(" close=")">
                <foreach collection="query.storeIds" separator="," item="id" open="(" close=")">
                    #{id}
                </foreach>
            </if>
@@ -55,7 +55,7 @@
                and t1.payStatus = #{query.payStatus}
            </if>
            <if test="query.ids !=null and query.ids.size >0">
                and t2.storeId in <foreach collection="query.ids" close=")" item="id" open="(" separator=",">
                and t2.id in <foreach collection="query.ids" close=")" item="id" open="(" separator=",">
                #{id}
            </foreach>
            </if>
cloud-server-course/src/main/resources/mapper/CoursePackageSchedulingMapper.xml
@@ -31,7 +31,7 @@
    </select>
    <select id="queryAll" resultType="com.dsh.course.model.vo.response.AppUserVideoResponse">
        SELECT cs.courseId as videoId,cs.coursePackageId as coursePackageId,tc.coverDrawing,tc.name as videoName,tc.introduce as synopsis,cs.integral
        SELECT cs.courseId as videoId,cs.coursePackageId as coursePackageId,tc.coverDrawing,tc.name as videoName,tc.introduce as synopsis,cs.integral,cs.courseVideo as courseVideo
        FROM t_course_package_scheduling cs
                 LEFT JOIN t_course tc ON cs.courseId = tc.id
        WHERE cs.courseId IS NOT NULL and cs.id in
cloud-server-course/src/main/resources/mapper/TCoursePackageDiscountMapper.xml
@@ -18,8 +18,8 @@
    <select id="queryDiscountList" resultType="com.dsh.course.model.DiscountList">
        select t1.id,t1.type,t1.status,t2.province pName,t2.city cName,t2.name,t2.storeId,t2.id courseId from t_course_package_discount t1 left join  t_course_package t2 on t1.coursePackageId = t2.id
        where t2.storeId in <foreach collection="ids" close=")" item="id" open="(" separator=",">
        #{id} and t1.auditStatus =2
    </foreach>
        #{id}
    </foreach> and t1.auditStatus =2
        <if test="pCode !=null and pCode !=''">
            and t2.provinceCode =#{pCode}
        </if>
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointsMerchandise.java
@@ -166,6 +166,9 @@
    @TableField("cardType")
    private Integer cardType;
    @TableField("status")
    private Integer status;
    @Override
    protected Serializable pkVal() {
        return this.id;
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
@@ -90,6 +90,12 @@
        // 获取所有课包类型
        List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
        model.addAttribute("roleType",roleType);
        if(UserExt.getUser().getObjectType()==3){
            List<TStore> list1 = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getId, UserExt.getUser().getObjectId()));
            model.addAttribute("stores",list1);
        }else {
            model.addAttribute("stores",new ArrayList<>());
        }
        model.addAttribute("coursePackageType",tCoursePackageTypes);
        return PREFIX + "cpPayment_add.html";
    }
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java
@@ -167,12 +167,13 @@
            vo.setCity(cityManager.getCity());
            vo.setCityCode(cityManager.getCityCode());
        }else if (roleType == 3){
            TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(cityManagerId);
            Store storeById = storeClient.getStoreById(storeByStoreStaffId.getStoreId());
//            TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(cityManagerId);
            Store storeById = storeClient.getStoreById(cityManagerId);
            vo.setProvince(storeById.getProvince());
            vo.setProvinceCode(storeById.getProvinceCode());
            vo.setCity(storeById.getCity());
            vo.setCityCode(storeById.getCityCode());
            vo.setStoreId(cityManagerId);
        }
        bodySideAppointmentClient.addBodySideAppointments(vo);
        return ResultUtil.success("添加成功");
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
@@ -148,6 +148,9 @@
        query.setProvince(province);
        query.setCity(city);
        query.setStoreId(storeId);
        if(UserExt.getUser().getObjectType()==3){
            query.setStoreId(UserExt.getUser().getObjectId());
        }
        query.setRegisterTime(registerTime);
        query.setUserName(userName);
        query.setUserIds(Lists.newArrayList());
@@ -225,7 +228,7 @@
    public String income(Model model) {
        Integer objectType = UserExt.getUser().getObjectType();
        model.addAttribute("roleType",objectType);
        return PREFIX + "income.html";
        return PREFIX + "Income.html";
    }
    /**
     * 获取收入管理列表
@@ -620,6 +623,9 @@
        query.setProvince(province);
        query.setCity(city);
        query.setStoreId(storeId);
        if(UserExt.getUser().getObjectType()==3){
            query.setStoreId(UserExt.getUser().getObjectId());
        }
        query.setRegisterTime(registerTime);
        query.setUserName(userName);
        query.setUserIds(Lists.newArrayList());
@@ -641,8 +647,9 @@
        if (userIds.size()==0){
            return new ArrayList<>();
        }
        List<RegisterOrderVO> registerOrderVOS = coursePackagePaymentClient.listAllRegister(query);
        return coursePackagePaymentClient.listAllRegister(query);
        return registerOrderVOS;
    }
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
@@ -410,6 +410,7 @@
        stringObjectHashMap.put("cover",cover);
        stringObjectHashMap.put("productImages",productImages);
        stringObjectHashMap.put("sort",sort);
        stringObjectHashMap.put("type",UserExt.getUser().getObjectType());
        System.out.println(stringObjectHashMap);
        pointMercharsClient.updateGoodsDetail(stringObjectHashMap);
        return new SuccessTip<>();
@@ -481,6 +482,9 @@
        pointsMerchandise.setState(1);
        pointsMerchandise.setInsertTime(new Date());
        pointsMerchandise.setCoursePackageConfigId(coursePackageConfigId);
        if(UserExt.getUser().getObjectType()!=1){
            pointsMerchandise.setStatus(2);
        }
        // 代替storeId
        pointsMerchandise.setShelves(1);
        if(typeAll!=2){
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -402,18 +402,14 @@
            user.setPassword(SecureUtil.md5("a123456"));
            user.setObjectType(3);
            user.setStatus(1);
            user.setObjectId(tStore.getId());
            userMapper.insert(user);
            tStore.setStoreStaffId(user.getId());
                tStore.setLon(lon);
                tStore.setLat(lat);
            tStore.setOperatorId(UserExt.getUser().getObjectId());
            storeService.save(tStore);
            user.setObjectId(tStore.getId());
            userMapper.insert(user);
            ArrayList<StoreConfig> storeConfigs = new ArrayList<>();
            for (int i = 1; i < 9; i++) {
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -35,6 +35,7 @@
import groovyjarjarpicocli.CommandLine;
import net.bytebuddy.asm.Advice;
import org.apache.http.HttpResponse;
import org.apache.poi.ss.formula.functions.T;
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpRequest;
@@ -633,8 +634,10 @@
            List<TStore> operatorId = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId));
            model.addAttribute("stores",operatorId);
        }else if(objectType == 3){
             stores= storeClient.getStoreByStoreStaffId(objectId);
            model.addAttribute("stores",stores);
            List<TStore> list = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getId, objectId));
            model.addAttribute("stores",list);
        }else {
            model.addAttribute("stores",storeService.list(new QueryWrapper<TStore>().eq("operatorId", 0)));
        }
        List<TOperator> list = tOperatorService.list();
        model.addAttribute("yysList",list);
cloud-server-management/src/main/resources/mapper/TStoreMapper.xml
@@ -153,7 +153,7 @@
    </select>
    <select id="listAllStore" resultType="com.dsh.guns.modular.system.model.TStoreListVo">
        select t1.*,t2.name userName,t2.phone userPhone,t3.name yysName from t_store t1 left join sys_user t2 on t1.storeStaffId = t2.id left  join t_operator t3 on t1.operatorId = t3.id
        where t1.id =#{operatorId}
        where t1.id =#{id}
        <if test="provinceCode !=null and provinceCode !=''">
            and t1.provinceCode = #{provinceCode}
        </if>
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html
@@ -59,8 +59,9 @@
                            <#button name="开启" icon="fa-refresh" clickFun="TStudent.editCoursePackageState(0)" space="true"/>
                            <#button name="关闭" icon="fa-warning" clickFun="TStudent.editCoursePackageState(1)" space="true"/>
                            <#button name="查看详情" icon="fa-edit" clickFun="TStudent.openTStudentDetail3()" space="true"/>
                            @if(role =='1'){
                            <#button name="介绍管理" icon="fa-edit" clickFun="TStudent.openTStudentDetail1()" space="true"/>
                            @}
                            <#button name="数据统计" icon="fa-edit" clickFun="TStudent.openTStudentDetail5()" space="true"/>
                            @if(shiro.hasPermission("/tStudent/delete")){
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add1.html
@@ -113,6 +113,7 @@
              "label": "所属门店:",
              "name": "store",
              "value":`${storeId!}`,
              "hidden": `${is3}`,
              "id": "u:576899b1b531",
              "multiple": false,
              "disabled": true,
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit1.html
@@ -199,6 +199,7 @@
              "id": "u:576899b1b531",
              "multiple": false,
              "mode": "horizontal",
              "disabled": true,
              "size": "md",
              "horizontal": {
                "leftFixed": "lg"
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_info.html
@@ -189,7 +189,7 @@
        </div>
    </div>
</div>
<script src="${ctxPath}/modular/system/ball/yuyue_info.js"></script>
<script src="${ctxPath}/modular/system/ball/yuyue_info1.js"></script>
<script type="text/javascript">
    function updateType(o) {
        if(o==1){
cloud-server-management/src/main/webapp/WEB-INF/view/system/cpPayment/cpPayment_add.html
@@ -73,6 +73,7 @@
        <div class="form-horizontal" id="carInfoForm">
            <h2>选择课包信息</h2>
            <input hidden id="roleType" value="${roleType}">
            @if(roleType==1){
            <div class="form-group" id="provinceCode">
                <label class="col-sm-3 control-label">所在省:</label>
                <div class="col-sm-9">
@@ -92,16 +93,18 @@
                    </select>
                </div>
            </div>
            @if(roleType !=3){
            @}
            <div class="form-group">
                <label class="col-sm-3 control-label">*所属门店:</label>
                <div class="col-sm-9">
                    <select style="width: 300px" class="form-control" id="store" name="store" >
                        <option value="">选择门店</option>
                        @for(obj in stores){
                        <option value="${obj.id}">${obj.name}</option>
                        @}
                    </select>
                </div>
            </div>
            @}
            <div class="form-group">
                <label class="col-sm-3 control-label">*课包类型:</label>
                <div class="col-sm-9">
cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html
@@ -4,7 +4,7 @@
        <div class="ibox float-e-margins">
            <input hidden id="roleType" value="${roleType}">
            <div class="ibox-title">
                <h5>报名订单</h5>
                <h5>收入管理</h5>
            </div>
            <div class="ibox-content">
                <div class="row row-lg">
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html
@@ -172,7 +172,6 @@
                            <button class="btn btn-outline btn-success" type="file" onclick="UploadFileFn()"><i class="fa fa-upload"></i>上传文件</button>
                        </div>
                    </div>
                @if(objectType==1){
                <div class="row" id="app1">
                        <div class="form-group">
                            <label class="col-sm-3 control-label head-scu-label">*实景图片(请上传不超过五张图片): </label>
@@ -193,18 +192,13 @@
                        </div>
                    </div>
                </div>
                @}
                @if(objectType==1){
                <#input style="width: 300px" id="ids" name="*添加闸机:" placeholder="请输入闸机ID" type="text"/>
                @}
                @if(objectType==1){
                <div class="form-group"   style=" margin-left: 17%;" >
                    <label class="col-sm-1 control-label">场地说明:</label>
                    <div class="col-sm-5">
                        <textarea type="text/plain" id="editor"  style="height: 300px;width: 800px;"></textarea>
                    </div>
                </div>
                @}
<div class="row btn-group-m-t">
    <div class="col-sm-10 col-sm-offset-5" >
        <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/>
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html
@@ -202,7 +202,6 @@
                    <button class="btn btn-outline btn-success" type="file" onclick="UploadFileFn()"><i class="fa fa-upload"></i>上传文件</button>
                </div>
            </div>
            @if(objectType ==1){
            <div class="row" id="app1">
                <div class="form-group">
                    <label class="col-sm-3 control-label head-scu-label">*实景图片(请上传不超过五张图片): </label>
@@ -224,16 +223,13 @@
                    </div>
                </div>
            </div>
            @}
        </div>
        @if(objectType==1){
        <div class="form-group" style="margin-left: 205px;">
            <label class="col-sm-1 control-label">*添加闸机:</label>
            <div class="col-sm-9">
                <input class="form-control" id="ids" name="ids" value="${list.ids}" type="text" style="width: 300px" placeholder="请输入闸机ID">
            </div>
        </div>
        @}
        <div class="form-group"   style="margin-left: 13%;display: inline-flex;margin-top: 16px;" >
            <label class="col-sm-2 control-label">场地说明:</label>
            <div class="col-sm-5" style="margin-left: -35px;">
cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
@@ -674,13 +674,6 @@
$(function () {
    console.log("=======iiiii======"+            window.parent.TStudent.seItem.status)
    if (window.parent.TStudent.seItem.status != 5 ){
        // Hide the elements with the specified IDs
        document.getElementById("hi1").style.display = "none";
        document.getElementById("hi2").style.display = "none";
        document.getElementById("hi3").style.display = "none";}
cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info1.js
New file
@@ -0,0 +1,744 @@
/**
 * 用户详情对话框(可用于添加和修改对话框)
 */
var CoursePackageInfo = {
    userInfoData: {},
};
/**
 * 关闭此对话框
 */
CoursePackageInfo.close = function () {
    parent.layer.close(window.parent.TStudent.layerIndex);
};
CoursePackageInfo.openDia = function (i) {
        let index = layer.open({
            type: 2,
            title: '编辑',
            area: ['80%', '80%'], //宽高
            fix: false, //不固定
            maxmin: true,
            content: Feng.ctxPath + '/coursePackage/conpun/'+i
        });
        this.layerIndex = index;
};
CoursePackageInfo.openDia1 = function (i) {
    var ids = $("#counpons"+i).val()
        console.log($("#counpons"+i).val())
    let index = layer.open({
        type: 2,
        title: '编辑',
        area: ['80%', '80%'], //宽高
        fix: false, //不固定
        maxmin: true,
        content: Feng.ctxPath + '/coursePackage/conpun1'+'/'+i+'?conpunids='+ids
    });
    this.layerIndex = index;
};
CoursePackageInfo.addTime = function (a) {
    console.log("==========="+a)
    var ajax = new $ax(Feng.ctxPath + "/ball/yuyuetimes/"+ $('#siteId').val(), function(data){
        console.log("================"+data)
        if(data!=null){
            var content='';
            $.each(data, function(k, v) {
                var buttonClass = "layui-btn layui-btn-primary";
                var style = "";
                if (v.state === 0) {
                    style = "background-color: red;";
                }
                var disabledAttribute = v.state === 0 ? "disabled" : "";
                content += '<button type="button" class="' + buttonClass + '" ' + disabledAttribute + ' style="' + style + '" onclick="toggleColor(this)">' + v.time + '</button>';
            });
            $("#ttt2").empty().append(content);
        }
    })
    ajax.set("date",$('#time').val());
    ajax.start()
    var ajax1 = new $ax(Feng.ctxPath + "/ball/halfName/"+ $('#siteId').val(), function(data){
        console.log("================"+data)
        if(data!=null){
            let htmlStr = '';
            for (let i = 0; i < data.length; i++) {
                htmlStr += '<option value="' + data[i] + '">' + data[i] + '</option>'
            }
            $("#half").empty().append(htmlStr);
        }
    })
    ajax1.start()
};
CoursePackageInfo.addTime1 = function (a) {
    if ($('#siteId').val() != $('#selSiteId').val()||$('#time').val()!=$('#selDate').val()){
        $("#ttt3").hide()
        $("#ttt2").show()
    }else {
        $("#ttt3").show()
        $("#ttt2").hide()
    }
    console.log("==========="+a)
    var ajax = new $ax(Feng.ctxPath + "/ball/yuyuetimes/"+ $('#siteId').val(), function(data){
        console.log("================"+data)
        if(data!=null){
            var content='';
            $.each(data, function(k, v) {
                var buttonClass = "layui-btn layui-btn-primary";
                var style = "";
                if (v.state === 0) {
                    style = "background-color: red;";
                }
                var disabledAttribute = v.state === 0 ? "disabled" : "";
                content += '<button type="button" class="' + buttonClass + '" ' + disabledAttribute + ' style="' + style + '" onclick="toggleColor(this)">' + v.time + '</button>';
            });
            $("#ttt2").empty().append(content);
        }
    })
    ajax.start()
    var ajax1 = new $ax(Feng.ctxPath + "/ball/halfName/"+ $('#siteId').val(), function(data){
        console.log("================"+data)
        if(data!=null){
            let htmlStr = '';
            for (let i = 0; i < data.length; i++) {
                htmlStr += '<option value="' + data[i] + '">' + data[i] + '</option>'
            }
            $("#half").empty().append(htmlStr);
        }
    })
    ajax1.start()
};
/**
 * 提交添加用户
 */
CoursePackageInfo.addSubmit = function () {
    let province = $('#provinceCode option:checked').text();
    let provinceCode = $('#provinceCode').val();
    let city = $('#cityCode option:checked').text();
    let cityCode = $('#cityCode').val();
    let storeId = $('#storeId').val();
    let siteId = $('#siteId').val();
    let site = $('#siteId option:checked').text();
    var radios = document.getElementsByName("type");
    var selectedValue;
    for (var i = 0; i < radios.length; i++) {
        if (radios[i].checked) {
            selectedValue = radios[i].value;
            break;
        }
    }
    let type = selectedValue;
    let half = $('#half').val();
    let date = $('#time').val();
    var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button");
    var values = "";
    for (var i = 0; i < elements.length; i++) {
         values += date +" "+ elements[i].innerText + ";";
    }
// 去除最后一个逗号
    values = values.slice(0, -1);
    console.log(values);
    var times = values;
    let cash = $('#cash').val();
    let play = $('#play').val();
    let booker = $('#booker').val();
    let phone = $('#phone').val();
    // if(null == provinceCode || '' == provinceCode){
    //     Feng.error("所在省不能为空");
    //     return
    // }
    // if(null == cityCode || '' == cityCode){
    //     Feng.error("所在市不能为空");
    //     return
    // }
    // if(null == storeId || '' == storeId){
    //     Feng.error("所属门店不能为空");
    //     return
    // }
    // if(null == coursePackageTypeId || '' == coursePackageTypeId){
    //     Feng.error("课程类型不能为空");
    //     return
    // }
    // if(null == name || '' == name){
    //     Feng.error("课包名称不能为空");
    //     return
    // }
    // if(null == siteId || '' == siteId){
    //     Feng.error("上课场地不能为空");
    //     return
    // }
    // if(null == coachId || '' == coachId){
    //     Feng.error("授课教师不能为空");
    //     return
    // }
    //
    // classWeeks = classWeeks.substring(0, classWeeks.length - 1);
    //
    // if(null == coverDrawing || '' == coverDrawing){
    //     Feng.error("课包封面不能为空");
    //     return
    // }
    // if(null == detailDrawing || '' == detailDrawing){
    //     Feng.error("详情页不能为空");
    //     return
    // }
    // if(null == introduceDrawing || '' == introduceDrawing){
    //     Feng.error("课包介绍不能为空");
    //     return
    // }
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/ball/ordersave", function (data) {
        if(data.code == 200){
            Feng.success("添加成功!");
            CoursePackageInfo.close();
            window.parent.TStudent.table.refresh();
        }else{
            Feng.error(data.msg);
        }
    }, function (data) {
        Feng.error("添加失败!" + data.responseJSON.message + "!");
    });
    ajax.set("province",province)
    ajax.set("provinceCode",provinceCode);
    ajax.set("city",city);
    ajax.set("cityCode",cityCode);
    ajax.set("storeId",storeId);
    ajax.set("isHalf",type);
    ajax.set("siteId",siteId);
    ajax.set("nextName",site);
    ajax.set("halfName",half);
    ajax.set("date",date);
    ajax.set("times",times);
    ajax.set("money",cash+","+play);
    ajax.set("booker",booker);
    ajax.set("phone",phone);
    ajax.start();
};
/**
 * 新修改
 */
CoursePackageInfo.addSubmit1 = function () {
    let province = $('#provinceCode option:checked').text();
    let provinceCode = $('#provinceCode').val();
    let city = $('#cityCode option:checked').text();
    let cityCode = $('#cityCode').val();
    let storeId = $('#storeId').val();
    let siteId = $('#siteId').val();
    let site = $('#siteId option:checked').text();
    var radios = document.getElementsByName("type");
    var selectedValue;
    for (var i = 0; i < radios.length; i++) {
        if (radios[i].checked) {
            selectedValue = radios[i].value;
            break;
        }
    }
    let type = selectedValue;
    let half = $('#half').val();
    let date = $('#time').val();
    var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button");
    var values = "";
    console.log("==============="+elements[0])
    if ($('#siteId').val() != $('#selSiteId').val()||$('#time').val()!=$('#selDate').val()) {
        for (var i = 0; i < elements.length; i++) {
            if (elements[i].name != 'has') {
                values += date + " " + elements[i].innerText + ";";
            }
        }
    }else {
        for (var i = 0; i < elements.length; i++) {
            if (elements[i].name = 'has') {
                values += date + " " + elements[i].innerText + ";";
            }
        }
    }
// 去除最后一个逗号
    values = values.slice(0, -1);
    console.log(values);
    var times = values;
    let cash = $('#cash').val();
    let play = $('#play').val();
    let booker = $('#booker').val();
    let phone = $('#phone').val();
    let id = $('#id').val();
    // if(null == provinceCode || '' == provinceCode){
    //     Feng.error("所在省不能为空");
    //     return
    // }
    // if(null == cityCode || '' == cityCode){
    //     Feng.error("所在市不能为空");
    //     return
    // }
    // if(null == storeId || '' == storeId){
    //     Feng.error("所属门店不能为空");
    //     return
    // }
    // if(null == coursePackageTypeId || '' == coursePackageTypeId){
    //     Feng.error("课程类型不能为空");
    //     return
    // }
    // if(null == name || '' == name){
    //     Feng.error("课包名称不能为空");
    //     return
    // }
    // if(null == siteId || '' == siteId){
    //     Feng.error("上课场地不能为空");
    //     return
    // }
    // if(null == coachId || '' == coachId){
    //     Feng.error("授课教师不能为空");
    //     return
    // }
    //
    // classWeeks = classWeeks.substring(0, classWeeks.length - 1);
    //
    // if(null == coverDrawing || '' == coverDrawing){
    //     Feng.error("课包封面不能为空");
    //     return
    // }
    // if(null == detailDrawing || '' == detailDrawing){
    //     Feng.error("详情页不能为空");
    //     return
    // }
    // if(null == introduceDrawing || '' == introduceDrawing){
    //     Feng.error("课包介绍不能为空");
    //     return
    // }
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/ball/orderedit", function (data) {
        if(data.code == 200){
            Feng.success("添加成功!");
            CoursePackageInfo.close();
            window.parent.TStudent.table.refresh();
        }else{
            Feng.error(data.msg);
        }
    }, function (data) {
        Feng.error("添加失败!" + data.responseJSON.message + "!");
    });
    ajax.set("province",province)
    ajax.set("provinceCode",provinceCode);
    ajax.set("city",city);
    ajax.set("cityCode",cityCode);
    ajax.set("storeId",storeId);
    ajax.set("isHalf",type);
    ajax.set("siteId",siteId);
    ajax.set("nextName",site);
    ajax.set("halfName",half);
    ajax.set("date",date);
    ajax.set("times",times);
    ajax.set("money",cash+","+play);
    ajax.set("booker",booker);
    ajax.set("phone",phone);
    ajax.set("id",id);
    ajax.start();
};
/**
 * 提交修改
 */
CoursePackageInfo.editSubmit = function () {
    let id = $('#id').val();
    let province = $('#provinceCode option:checked').text();
    let provinceCode = $('#provinceCode').val();
    let city = $('#cityCode option:checked').text();
    let cityCode = $('#cityCode').val();
    let storeId = $('#storeId').val();
    let coursePackageTypeId = $('#coursePackageTypeId').val();
    let name = $('#name').val();
    let siteId = $('#siteId').val();
    let coachId = $('#coachId').val();
    let maxSubscribeNumber = $('#maxSubscribeNumber').val();
    let codeTime = $('#codeTime').val();
    let type = $('#type').val();
    let holitime = $('#holitime').val();
    var inputElements = document.querySelectorAll('input[name="classStartTime"]');
    let classStartTime =  JSON.stringify(Array.from(inputElements).map(function(element) {
        return element.value;
    }))
    // let classStartTime = $('#classStartTime').val();
    let classWeeks = '';
    $('input[name="classWeeks"]:checked').each(function (index, e) {
        classWeeks += $(e).val() + ";";
    })
    let coverDrawing = $('#coverDrawing').val();
    let detailDrawing = $('#detailDrawing').val();
    let introduceDrawing = $('#introduceDrawing').val();
    let sort = $('#sort').val();
    let validDays = $('#validDays').val();
    // let counpons = $($(e).find(".counpons")).val();
    let price = [];
    $('#price>.form-group').each(function (i, e) {
        let classHours = $($(e).find(".classNumber_span input[class='classNumber']")[0]).val();
        let cash = $($(e).find(".cash_span input[class='cash']")[0]).val();
        let paiCoin = $($(e).find(".paiCoin_span input[class='paiCoin']")[0]).val();
        let counpons = $($(e).find(".counpons")).val();
        price.push({
            classHours: classHours,
            cashPayment: typeof cash == "undefined" ? 0 : cash,
            playPaiCoin: typeof paiCoin == "undefined" ? 0 : paiCoin,
            couponIds: typeof counpons == "undefined" ? 0 : counpons
        })
    });
    if(null == provinceCode || '' == provinceCode){
        Feng.error("所在省不能为空");
        return
    }
    if(null == cityCode || '' == cityCode){
        Feng.error("所在市不能为空");
        return
    }
    if(null == storeId || '' == storeId){
        Feng.error("所属门店不能为空");
        return
    }
    if(null == coursePackageTypeId || '' == coursePackageTypeId){
        Feng.error("课程类型不能为空");
        return
    }
    if(null == name || '' == name){
        Feng.error("课包名称不能为空");
        return
    }
    if(null == siteId || '' == siteId){
        Feng.error("上课场地不能为空");
        return
    }
    if(null == coachId || '' == coachId){
        Feng.error("授课教师不能为空");
        return
    }
    // if(null == maxSubscribeNumber || '' == maxSubscribeNumber){
    //     Feng.error("最多预约人数不能为空");
    //     return
    // }
    // if(null == codeTime || '' == codeTime){
    //     Feng.error("扣除课时不能为空");
    //     return
    // }
    // if(null == classStartTime || '' == classStartTime){
    //     Feng.error("上课时间不能为空");
    //     return
    // }
    // if(null == classWeeks || '' == classWeeks){
    //     Feng.error("周不能为空");
    //     return
    // }
    classWeeks = classWeeks.substring(0, classWeeks.length - 1);
    if(null == coverDrawing || '' == coverDrawing){
        Feng.error("课包封面不能为空");
        return
    }
    if(null == detailDrawing || '' == detailDrawing){
        Feng.error("详情页不能为空");
        return
    }
    if(null == introduceDrawing || '' == introduceDrawing){
        Feng.error("课包介绍不能为空");
        return
    }
    // if(null == validDays || '' == validDays){
    //     Feng.error("课时有效期不能为空");
    //     return
    // }
    let obj = {
        id: id,
        province: province,
        provinceCode: provinceCode,
        city: city,
        cityCode: cityCode,
        storeId: storeId,
        coursePackageTypeId: coursePackageTypeId,
        name: name,
        siteId: siteId,
        coachId: coachId,
        maxSubscribeNumber: maxSubscribeNumber,
        codeTime: codeTime,
        type:type,
        classStartTime: classStartTime,
        // classEndTime: classStartTime.split(" - ")[1],
        classWeeks: classWeeks,
        coverDrawing: coverDrawing,
        detailDrawing: detailDrawing,
        introduceDrawing: introduceDrawing,
        sort: sort,
        validDays: validDays,
        coursePackagePaymentConfig: JSON.stringify(price),
        holitime:holitime
    }
    console.log("======="+obj)
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/coursePackage/updateCoursePackage", function (data) {
        if(data.code == 200){
            Feng.success("编辑成功!");
            CoursePackageInfo.close();
            window.parent.CoursePackage.table.refresh();
        }else{
            Feng.error(data.msg);
        }
    }, function (data) {
        Feng.error("编辑失败!" + data.responseJSON.message + "!");
    });
    ajax.set(obj);
    ajax.start();
};
function queryStore() {
    let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryStore", function (data) {
        let htmlStr = '';
        for (let i = 0; i < data.length; i++) {
            htmlStr += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
        }
        $('#storeId').html(htmlStr);
        querySite();
    }, function (data) {
        Feng.error("获取失败!" + data.responseJSON.message + "!");
    });
    ajax.set("cityCode", $('#cityCode').val());
    ajax.start();
}
function querySite(){
    let ajax = new $ax(Feng.ctxPath + "/coursePackage/querySite", function (data) {
        let htmlStr = '';
        for (let i = 0; i < data.length; i++) {
            htmlStr += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
        }
        $('#siteId').html(htmlStr);
    }, function (data) {
        Feng.error("获取失败!" + data.responseJSON.message + "!");
    });
    ajax.set("storeId", $('#storeId').val());
    ajax.start();
}
function queryCoach(){
    let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryCoach", function (data) {
        let htmlStr = '';
        for (let i = 0; i < data.length; i++) {
            htmlStr += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
        }
        $('#coachId').html(htmlStr);
    }, function (data) {
        Feng.error("获取失败!" + data.responseJSON.message + "!");
    });
    ajax.set("cityCode", $('#cityCode').val());
    ajax.start();
}
function addPrice(y){
    console.log("===="+y)
    let cash = false;
    let paiCoin = false;
    $('input[name="payType"]:checked').each(function (index, e) {
        let v = $(e).val();
        if(v == 1){
            cash = true;
        }
        if(v == 2){
            paiCoin = true;
        }
    })
    var i =  $('#price > div').length+1
    let htmlStr = ''
    if (y===1){
        htmlStr +=   '<div class="form-group">\n' +
            '                        <label class="col-sm-3 control-label">*课时数:</label>\n' +
            '                        <div class="col-sm-8">\n' +
            '                            <span class="classNumber_span"><input class="classNumber" type="number" min="0" placeholder="请输入" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;">&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class="cash_span">\n';
    }
    if (y===2){
        htmlStr +=   '<div class="form-group">\n' +
            '                        <label class="col-sm-3 control-label"></label>\n' +
            '                        <div class="col-sm-8">\n' +
            '                            <span class="classNumber_span" hidden="hidden"><input class="classNumber" type="number" min="0" placeholder="请输入" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;">&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class="cash_span">\n';
    }
        '<div class="form-group">\n' +
        '                        <label class="col-sm-3 control-label">*课时数:</label>\n' +
        '                        <div class="col-sm-8">\n' +
        '                            <span class="classNumber_span"><input class="classNumber" type="number" min="0" placeholder="请输入" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;">&nbsp;&nbsp;&nbsp;&nbsp;</span> <span class="cash_span">\n';
        if(cash){
            htmlStr += '现金支付:<input class="cash" type="number" min="0" placeholder="请输入金额" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> ¥&nbsp;&nbsp;&nbsp;&nbsp;\n';
        }
        htmlStr += '</span> <span class="paiCoin_span">';
        if(paiCoin){
            htmlStr += '玩湃币支付:<input class="paiCoin" type="number" min="0" placeholder="请输入金额" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> 币&nbsp;&nbsp;&nbsp;&nbsp;\n';
        }
    htmlStr += '<button type="button" class="btn btn-info " onclick="CoursePackageInfo.openDia('+i+')" id="ensure">\n' +
        '    <i class="fa fa-check"></i>&nbsp;优惠券\n' +
        '</button>';
    htmlStr += '</span> <i class="fa fa-trash-o" style="font-size:24px" onclick="removePrice(this)"></i>\n' +
        '</div>\n' +'<input type="text" hidden="hidden" class = "counpons" id = "counpons'+i+'" >'+i+
        '</div>';
    $('#price').append(htmlStr);
}
function removePrice(e){
    $(e).parent('div').parent('div').remove();
}
function removePrice1(e){
    $(e).parent('div').remove();
}
$(function () {
    console.log("=======iiiii======"+            window.parent.TStudent.seItem.status)
    if (window.parent.TStudent.seItem.status != 5 ){
        // Hide the elements with the specified IDs
        document.getElementById("hi1").style.display = "none";
        document.getElementById("hi2").style.display = "none";
        document.getElementById("hi3").style.display = "none";}
    $('#provinceCode').change(function () {
        let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryCity", function (data) {
            let htmlStr = '';
            for (let i = 0; i < data.length; i++) {
                htmlStr += '<option value="' + data[i].code + '">' + data[i].name + '</option>'
            }
            $('#cityCode').html(htmlStr);
            queryStore();
            queryCoach();
        }, function (data) {
            Feng.error("获取失败!" + data.responseJSON.message + "!");
        });
        ajax.set("code", $(this).val());
        ajax.start();
    })
    $('#cityCode').change(function () {
        queryStore();
    })
    $('#storeId').change(function () {
        querySite();
    })
    $('input[name="payType"]').click(function () {
        $('input[name="payType"]').each(function (index, e) {
            let v = $(e).val();
            if(v == 1) {
                if (e.checked) {
                    $('span[class="cash_span"]').each(function (index, e) {
                        $(e).html('现金支付:<input class="cash" type="number" min="0" placeholder="请输入金额" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> ¥&nbsp;&nbsp;&nbsp;&nbsp;');
                    })
                } else {
                    $('span[class="cash_span"]').each(function (index, e) {
                        $(e).html('');
                    })
                }
            }
            if(v == 2){
                if (e.checked) {
                    $('span[class="paiCoin_span"]').each(function (index, e) {
                        $(e).html('玩湃币支付:<input class="paiCoin" type="number" min="0" placeholder="请输入金额" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> 币&nbsp;&nbsp;&nbsp;&nbsp;')
                    })
                } else {
                    $('span[class="paiCoin_span"]').each(function (index, e) {
                        $(e).html('');
                    })
                }
            }
        })
    })
});
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -177,6 +177,8 @@
//        List<SiteBooking> siteBookings = siteClient.listBooks(id);
        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("nextName",siteName).like("times",day));
        if (siteName==null|| siteName.equals("")){
            siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).like("times",day));
        }