44323
2023-12-12 312cd22230809437aae8462d71d3335e6540f78a
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai
18个文件已修改
710 ■■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageOrder.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js 405 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
@@ -1381,7 +1381,14 @@
        map.put("boy", boy);
        map.put("girl", girl);
        return map;
    }
    @ResponseBody
    @PostMapping("/student/queryExpiredList")
    public List<TStudent> queryExpiredList(){
        List<TStudent> list = studentService.list(new QueryWrapper<TStudent>().eq("state", 1).last(" and DATE_FORMAT(now(), '%Y-%m-%d') > validity"));
        return list;
    }
}
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -584,6 +584,10 @@
                tAppUser.setGender(loginWechatVo.getSex());
                tAppUser.setState(1);
                tAppUser.setInsertTime(new Date());
                tAppUser.setProvince("");
                tAppUser.setProvinceCode("");
                tAppUser.setCity("");
                tAppUser.setCityCode("");
                this.baseMapper.insert(tAppUser);
            }
        }
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -76,7 +76,7 @@
    private String key = "";//微信商户号
    private String callbackPath = "http://8.137.22.229:56666/account";//支付回调网关地址
    private String callbackPath = "http://221.182.45.100:56666/account";//支付回调网关地址
    private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -122,8 +122,7 @@
            // 优惠券已领取数量
            int couponId = ucService.count(new QueryWrapper<UserCoupon>().eq("couponId", coupon.getId()));
            // 用户已领取该优惠券数量
            int count = ucService.count(new QueryWrapper<UserCoupon>().eq("couponId", coupon.getId()
            ).eq("userId", userId));
            int count = ucService.count(new QueryWrapper<UserCoupon>().eq("couponId", coupon.getId()).eq("userId", userId));
            if (couponId >= quantityIssued) {
                continue;
            }
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
@@ -68,11 +68,11 @@
    public List<CouponListVo> queryCouponList(Integer uid, Integer distributionMethod) throws Exception {
        String value = redisUtil.getValue("VIP_P_" + uid);
        if (ToolUtil.isEmpty(value)) {
            Thread.sleep(5000);
            Thread.sleep(3000);
            value = redisUtil.getValue("VIP_P_" + uid);
        }
        List<CouponListVo> listVos = new ArrayList<>();
        if (ToolUtil.isEmpty(value)) {
        if (ToolUtil.isNotEmpty(value)) {
            List<Long> longs = JSON.parseArray(value, Long.class);
            List<UserCoupon> list = userCouponService.getBaseMapper().selectBatchIds(longs);
            List<Integer> collect = list.stream().map(UserCoupon::getCouponId).collect(Collectors.toList());
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -1019,6 +1019,9 @@
    public List<Integer> queryAppUserId(@RequestBody List<Integer> storeIds){
        List<Competition> list = competitionService.list(new QueryWrapper<Competition>().in("storeId", storeIds).eq("auditStatus", 2).eq("state", 1));
        List<Integer> collect = list.stream().map(Competition::getId).collect(Collectors.toList());
        if(collect.size() == 0){
            return new ArrayList<>();
        }
        List<PaymentCompetition> list1 = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().eq("payStatus", 2).eq("state", 1).in("competitionId", collect));
        return list1.stream().map(PaymentCompetition::getAppUserId).collect(Collectors.toList());
    }
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -185,6 +185,7 @@
        coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin());
        coursePackageOrder.setCode(packagePayment.getCode());
        coursePackageOrder.setPayStatus(1);
        coursePackageOrder.setStatus(1);
        coursePackageOrder.setState(1);
        coursePackageOrder.setInsertTime(new Date());
        coursePackageOrder.setSalesName(packagePayment.getSalesName());
@@ -3210,6 +3211,9 @@
    @ResponseBody
    @PostMapping("/coursePackagePayment/queryPaymentCoursePackage")
    public List<Integer> queryPaymentCoursePackage(@RequestBody List<Integer> storeIds){
        if(storeIds.size() == 0){
            return new ArrayList<>();
        }
        List<TCoursePackage> list = coursePackageService.list(new QueryWrapper<TCoursePackage>().eq("auditStatus", 2)
                .ne("status", 4).eq("state", 1).in("storeId", storeIds));
        List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageOrder.java
@@ -90,6 +90,11 @@
    @TableField("payUserId")
    private Integer payUserId;
    /**
     * 课程状态(1=正常,2=已退课)
     */
    @TableField("status")
    private Integer status;
    /**
     * 状态(1=正常,2=冻结,3=删除)
     */
    @TableField("state")
cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java
@@ -61,4 +61,12 @@
     */
    @PostMapping("/student/frozen")
    void frozen(@RequestBody Student student);
    /**
     * 获取课时有效期结束的学员
     * @return
     */
    @PostMapping("/student/queryExpiredList")
    List<TStudent> queryExpiredList();
}
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java
@@ -47,4 +47,10 @@
     * @param coursePackageOrderStudentId
     */
    void addNewCoursePackageScheduling(Long coursePackageOrderStudentId, Integer classNumber);
    /**
     * 定时任务过期清零课时及排课数据
     */
    void taskOverdueClearing();
}
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
@@ -7,6 +7,7 @@
import com.dsh.course.entity.*;
import com.dsh.course.feignclient.account.StudentClient;
import com.dsh.course.feignclient.account.model.Student;
import com.dsh.course.feignclient.account.model.TStudent;
import com.dsh.course.mapper.CoursePackageSchedulingMapper;
import com.dsh.course.mapper.CoursePackageStudentMapper;
import com.dsh.course.model.QueryCoursePackageSchedulingList;
@@ -18,6 +19,7 @@
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author zhibing.pu
@@ -49,6 +51,9 @@
    @Resource
    private StudentClient studentClient;
    @Autowired
    private CourseCounsumService courseCounsumService;
    /**
@@ -111,7 +116,7 @@
                    coursePackageSchedulingMapper.updateById(coursePackageScheduling);
                    TCoursePackage coursePackage = coursePackageService.getById(coursePackageScheduling.getCoursePackageId());
                    if (coursePackage.getStatus() == 1) {
                    if (null != coursePackage && coursePackage.getStatus() == 1) {
                        coursePackage.setStatus(2);
                        coursePackageService.updateById(coursePackage);
                    }
@@ -568,6 +573,50 @@
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     * 过时清零排课记录及剩余课时数据
     */
    @Override
    public void taskOverdueClearing() {
        List<TStudent> tStudents = studentClient.queryExpiredList();
        for (TStudent tStudent : tStudents) {
            List<CoursePackageScheduling> list1 = this.list(new QueryWrapper<CoursePackageScheduling>()
                    .eq("type", 1)
                    .eq("studentId", tStudent.getId())
                    .eq("status", 1)
            );
            if(list1.size() > 0){
                List<Long> collect = list1.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
                this.removeByIds(collect);
                coursePackageStudentMapper.delete(new QueryWrapper<CoursePackageStudent>()
                        .in("coursePackageSchedulingId", collect)
                );
            }
            List<CoursePackageOrderStudent> list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
                    .eq("studentId", tStudent.getId())
                    .eq("status", 1)
                    .eq("state", 1)
            );
            for (CoursePackageOrderStudent coursePackageOrderStudent : list) {
                CourseCounsum courseCounsum = new CourseCounsum();
                courseCounsum.setChangeType(0);
                courseCounsum.setNum(coursePackageOrderStudent.getLaveClassHours());
                courseCounsum.setReason("有效期结束清楚剩余课时");
                courseCounsum.setInsertTime(new Date());
                courseCounsum.setAppUserId(coursePackageOrderStudent.getAppUserId());
                courseCounsumService.save(courseCounsum);
                coursePackageOrderStudent.setLaveClassHours(0);
            }
            if(list.size() > 0){
                coursePackageOrderStudentService.updateBatchById(list);
            }
        }
    }
}
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -941,6 +941,7 @@
        coursePackageOrder.setPayUserType(1);
        coursePackageOrder.setPayStatus(1);
        coursePackageOrder.setPayUserId(uid);
        coursePackageOrder.setStatus(1);
        coursePackageOrder.setState(1);
        coursePackageOrder.setInsertTime(new Date());
        coursePackageOrderService.save(coursePackageOrder);
@@ -1036,6 +1037,7 @@
            coursePackageOrder.setPayUserType(1);
            coursePackageOrder.setPayStatus(1);
            coursePackageOrder.setPayUserId(uid);
            coursePackageOrder.setStatus(1);
            coursePackageOrder.setState(1);
            coursePackageOrder.setInsertTime(new Date());
            coursePackageOrderService.save(coursePackageOrder);
@@ -1138,6 +1140,7 @@
        coursePackageOrder.setPayUserType(1);
        coursePackageOrder.setPayStatus(2);
        coursePackageOrder.setPayUserId(appUser.getId());
        coursePackageOrder.setStatus(1);
        coursePackageOrder.setState(1);
        coursePackageOrder.setInsertTime(new Date());
        coursePackageOrderService.save(coursePackageOrder);
cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java
@@ -90,10 +90,18 @@
    }
    @Scheduled(cron = "0 1 0 * * ?")
    public void everyMorningTask() {
        //定时清楚过期的课时
        coursePackageSchedulingService.taskOverdueClearing();
    }
    /**
     * 每周一执行的定时任务
     */
    @Scheduled(cron = "0 0 0 * * 2")
    @Scheduled(cron = "0 0 2 * * 2")
    public void weekTask() {
        //定时添加排课数据
        coursePackageSchedulingService.taskCoursePackageScheduling();
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
@@ -122,30 +122,7 @@
        calendar.add(Calendar.DAY_OF_MONTH, 20);
        Date updatedDate = calendar.getTime();
        tCoursePackagePayment.setOriginalPrice(tCoursePackagePayment.getCashPayment().doubleValue());
//        tCoursePackagePayment.setUseTime(updatedDate);
//        // 查询当前课包有没有课包折扣
//        List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId);
//        // 判断当前用户是不是会员
//        Integer appUserId = tCoursePackagePayment.getAppUserId();
//        Date vipEndTime = appUserClient.queryAppUser1(appUserId).getVipEndTime();
//        // 会员折扣
//        double c1 = 0.00;
//        // 续课优惠
//        double c2 = 0.00;
//        // 显示折扣
//        double c3 = 0.00;
//        for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
//            char c = tCoursePackageDiscount.getContent().charAt(0);
//            String value1 = String.valueOf(c);
//
//            JSONObject jsonObject ;
//            if (value1.equals("[")){
//                jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent()
//                        .substring(1,tCoursePackageDiscount.getContent().length() - 1));
//            }else{
//                jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent());
//            }
//            // 获取所选课时的课包价格配置
        // 获取所选课时的课包价格配置
        if (tCoursePackagePayment.getCoursePackageConfigId()!=null) {
            List<CoursePackagePaymentConfig> coursePackagePaymentConfigs =
                    coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList1
@@ -153,153 +130,14 @@
            if (coursePackagePaymentConfigs.size() != 0) {
                CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0);
                tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
//                tCoursePackagePayment.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
            }
        }else {
            List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(coursePackageId);
            CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0);
            tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
        }
//            // 原价
//            Double originalPrice = tCoursePackagePayment.getOriginalPrice();
//
//            BigDecimal d1 = new BigDecimal(Double.toString(originalPrice));
//
//            // 计算课包折扣
//            switch (tCoursePackageDiscount.getType()){
//                case 1:
//                    // 是会员
//                    if (!vipEndTime.before(new Date())){
//                        // 会员折扣金额
//                        double discountMember = jsonObject.getDouble("discountMember");
//                        Double aDouble = new Double(discountMember);
//                        if (aDouble!=null){
//                            String value = String.valueOf(discountMember);
//                            // 折扣比例
//                            Double aDouble1 = Double.valueOf(value);
//                            c1 = aDouble1;
//                        }
//                    }
//                    break;
//                case 2:
//                    // 判断当前用户是否已经购买过当前课包
//                    List<CoursePackageOrderStudent> result=
//                            coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(),
//                                    tCoursePackagePayment.getCoursePackageId());
//                    // 已经购买了
//                    if (result.size()!=0){
//                        // 会员续课折扣
//                        double continuingMember = jsonObject.getDouble("continuingMember");
//                        // 用户续课折扣
//                        double continuingUser = jsonObject.getDouble("continuingUser");
//                        // 是会员享受会员续课折扣
//                        if (!vipEndTime.before(new Date())){
//                            String value = String.valueOf(continuingMember);
//                            c2 = Double.valueOf(value);
//                        }else{ // 否则享受用户续课折扣
//                            String value = String.valueOf(continuingUser);
//                            c2 = Double.valueOf(value);
//                        }
//                    }
//                    break;
//                case 3:
//                    // 限时折扣判断是否在有效期
//                    String timeFrameStart = jsonObject.getString("startDate");
//                    String timeFrameEnd   = jsonObject.getString("endDate");
//                    try {
//                        // 判断当日时间是否能享受到折扣
//                        String startTime = jsonObject.getString("startTime");
//                        String endTime = jsonObject.getString("endTime");
//                        // 获取当前时间
//                        Date currentTime = new Date();
//                        // 定义时间格式
//                        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
//                        // 解析开始时间和结束时间为Date对象
//                        Date startTime1 = sdf.parse(startTime);
//                        Date endTime1 = sdf.parse(endTime);
//                        Date date1 = new Date();
//                        date1.setHours(startTime1.getHours());
//                        date1.setMinutes(startTime1.getMinutes());
//                        date1.setSeconds(startTime1.getSeconds());
//                        Date date2 = new Date();
//                        date2.setHours(endTime1.getHours());
//                        date2.setMinutes(endTime1.getMinutes());
//                        date2.setSeconds(endTime1.getSeconds());
//                        // 检查当前时间是否在开始时间和结束时间之间
//                        if (currentTime.after(date1) && currentTime.before(date2)) {
//                            System.out.println("当前时间在开始时间和结束时间之间。");
//                            String cashPayment = jsonObject.getString("cashPayment");
//                            c3 = Double.valueOf(cashPayment);
//                        } else {
//                            System.out.println("当前时间不在开始时间和结束时间之间。");
//                        }
//                    } catch (ParseException e) {
//                        e.printStackTrace();
//                    }
//                    break;
//                case 4:
//                    // 赠送课时 判断当前课包有没有赠送课时
//                    String weeks = jsonObject.getString("weeks");
//                    // 判断当前周几 是否满足折扣规则
//                    Calendar calendar9 = Calendar.getInstance();
//                    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
//                    if (weeks.contains(String.valueOf(dayOfWeek))){
//                        // 限时折扣判断是否在有效期
//                        String timeFrameStart1 = jsonObject.getString("startDate");
//                        String timeFrameEnd1   = jsonObject.getString("endDate");
//                        try {
//                            // 判断当日时间是否能享受到折扣
//                            String startTime = jsonObject.getString("startTime");
//                            String endTime = jsonObject.getString("endTime");
//                            // 获取当前时间
//                            Date currentTime = new Date();
//                            // 定义时间格式
//                            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
//                            // 解析开始时间和结束时间为Date对象
//                            Date startTime1 = sdf.parse(startTime);
//                            Date endTime1 = sdf.parse(endTime);
//                            Date date1 = new Date();
//                            date1.setHours(startTime1.getHours());
//                            date1.setMinutes(startTime1.getMinutes());
//                            date1.setSeconds(startTime1.getSeconds());
//                            Date date2 = new Date();
//                            date2.setHours(endTime1.getHours());
//                            date2.setMinutes(endTime1.getMinutes());
//                            date2.setSeconds(endTime1.getSeconds());
//                            // 检查当前时间是否在开始时间和结束时间之间
//                            if (currentTime.after(date1) && currentTime.before(date2)) {
//                                System.out.println("当前时间在开始时间和结束时间之间。");
//                                String hour = jsonObject.getString("hour");
//                                tCoursePackagePayment.setGiftClassHours(Integer.valueOf(hour));
//                            } else {
//                                System.out.println("当前时间不在开始时间和结束时间之间。");
//                            }
//                        } catch (ParseException e) {
//                            e.printStackTrace();
//                        }
//                    }
//                    break;
//            }
//
//        }
//        // 判断三个折扣 谁所需支付金额最少
//        double minValue = 0.00;
//        if (c1 != 0.00 && (c2 == 0.00 || c1 < c2) && (c3 == 0.00 || c1 < c3)) {
//            minValue = c1;
//        } else if (c2 != 0.00 && (c3 == 0.00 || c2 < c3)) {
//            minValue = c2;
//        } else if (c3 != 0.00) {
//            minValue = c3;
//        }
//        if (minValue!=0.00){
//            BigDecimal bigDecimal = new BigDecimal(minValue);
//            tCoursePackagePayment.setCashPayment(bigDecimal);
//        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
        tCoursePackagePayment.setCode(code);
        return coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment);
    }
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
@@ -267,6 +267,10 @@
    public Object addAppUser(@RequestBody TAppUser appUser){
        Integer objectType = UserExt.getUser().getObjectType();
        appUser.setPassword(MD5.md5("111111"));
        appUser.setProvince("");
        appUser.setProvinceCode("");
        appUser.setCity("");
        appUser.setCityCode("");
        appUser.setInsertType(objectType);
        appUser.setAddUserId(UserExt.getUser().getObjectId());
        Object o = appUserClient.addAppUser1(appUser);
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
@@ -405,7 +405,7 @@
        }
    }
    @ResponseBody
    @RequestMapping(value = "/cancel")
    public Object cancel(Integer TCompetitionId) {
        try {
@@ -416,7 +416,7 @@
            return ERROR;
        }
    }
    @ResponseBody
    @RequestMapping(value = "/getPeopleFromId")
    public Object getPeopleFromId(Integer id,Integer state) {
        try {
cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js
@@ -7,8 +7,8 @@
    table: null,
    layerIndex: -1
};
var role =$("#roleType").val()
var appUserId ;
var role = $("#roleType").val()
var appUserId;
/**
 * 初始化表格的列
 */
@@ -16,36 +16,40 @@
    return [
        {field: 'selectItem', checkbox: true},
        {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
        {title: '所在省市', field: 'provinceAndCity', visible: role==1?true:false, align: 'center', valign: 'middle'},
        {title:  '门店名称', field: 'storeName', visible: true, align: 'center', valign: 'middle'},
        {title:  '课包类型', field: 'coursePackageType', visible: true, align: 'center', valign: 'middle'},
        {title:  '课包名称', field: 'coursePackage', visible: true, align: 'center', valign: 'middle'},
        {title:  '购买用户', field: 'payUser', visible: true, align: 'center', valign: 'middle'},
        {title:  '联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'},
        {title:  '购课学员', field: 'payStudent', visible: true, align: 'center', valign: 'middle'},
        {title:  '购买方式', field: 'buyType', visible: true, align: 'center', valign: 'middle',
            formatter:function (data) {
                return{1:"线下",2:"线上",3:"折扣"}[data]
        {title: '所在省市', field: 'provinceAndCity', visible: role == 1 ? true : false, align: 'center', valign: 'middle'},
        {title: '门店名称', field: 'storeName', visible: true, align: 'center', valign: 'middle'},
        {title: '课包类型', field: 'coursePackageType', visible: true, align: 'center', valign: 'middle'},
        {title: '课包名称', field: 'coursePackage', visible: true, align: 'center', valign: 'middle'},
        {title: '购买用户', field: 'payUser', visible: true, align: 'center', valign: 'middle'},
        {title: '联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'},
        {title: '购课学员', field: 'payStudent', visible: true, align: 'center', valign: 'middle'},
        {
            title: '购买方式', field: 'buyType', visible: true, align: 'center', valign: 'middle',
            formatter: function (data) {
                return {1: "线下", 2: "线上", 3: "折扣"}[data]
            }
        },
        {title:  '支付方式', field: 'buyTypeName', visible: true, align: 'center', valign: 'middle'},
        {title:  '总金额', field: 'originalPrice', visible: true, align: 'center', valign: 'middle'},
        {title:  '优惠金额', field: 'discountAmount', visible: true, align: 'center', valign: 'middle'},
        {title:  '支付价格', field: 'cashPayment', visible: true, align: 'center', valign: 'middle'},
        {title:  '支付状态', field: 'payStatus', visible: true, align: 'center', valign: 'middle',
            formatter:function (data) {
                return{1:"待支付",2:"已支付"}[data]
        {title: '支付方式', field: 'buyTypeName', visible: true, align: 'center', valign: 'middle'},
        {title: '总金额', field: 'originalPrice', visible: true, align: 'center', valign: 'middle'},
        {title: '优惠金额', field: 'discountAmount', visible: true, align: 'center', valign: 'middle'},
        {title: '支付价格', field: 'cashPayment', visible: true, align: 'center', valign: 'middle'},
        {
            title: '支付状态', field: 'payStatus', visible: true, align: 'center', valign: 'middle',
            formatter: function (data) {
                return {1: "待支付", 2: "已支付"}[data]
            }
        },
        {title:  '赠送课时', field: 'giftClassHours', visible: true, align: 'center', valign: 'middle'}
        {title: '赠送课时', field: 'giftClassHours', visible: true, align: 'center', valign: 'middle'}
    ];
};
function currentTime(timestamp){
function currentTime(timestamp) {
    var time = timestamp + '';
    if(time.length != 13){
    if (time.length != 13) {
        timestamp = timestamp * 1000;
    }
    var date = new Date(timestamp);;
    var date = new Date(timestamp);
    ;
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
@@ -57,12 +61,13 @@
    return strDate
}
function currentTime1(timestamp){
function currentTime1(timestamp) {
    var time = timestamp + '';
    if(time.length != 13){
    if (time.length != 13) {
        timestamp = timestamp * 1000;
    }
    var date = new Date(timestamp);;
    var date = new Date(timestamp);
    ;
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
@@ -70,18 +75,19 @@
    var h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':';
    var m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':';
    var s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds());
    var strDate = Y + M + D ;
    var strDate = Y + M + D;
    return strDate
}
/**
 * 检查是否选中
 */
TQuestion.check = function () {
    var selected = $('#' + this.id).bootstrapTable('getSelections');
    if(selected.length == 0){
    if (selected.length == 0) {
        Feng.info("请先选中表格中的某一记录!");
        return false;
    }else{
    } else {
        TQuestion.seItem = selected[0];
        return true;
    }
@@ -109,7 +115,7 @@
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title:'编辑',
            title: '编辑',
            area: ['100%', '100%'], //宽高
            fix: false, //不固定
            maxmin: true,
@@ -122,7 +128,7 @@
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title:'详情',
            title: '详情',
            area: ['100%', '100%'], //宽高
            fix: false, //不固定
            maxmin: true,
@@ -135,7 +141,7 @@
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title:'免费福利',
            title: '免费福利',
            area: ['100%', '100%'], //宽高
            fix: false, //不固定
            maxmin: true,
@@ -148,7 +154,7 @@
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title:'首页设置',
            title: '首页设置',
            area: ['100%', '100%'], //宽高
            fix: false, //不固定
            maxmin: true,
@@ -164,193 +170,189 @@
TQuestion.delete = function () {
    if (this.check()) {
        var nickname = TQuestion.seItem.carLicensePlate;
        if (nickname == "" || nickname == null || nickname == undefined){
        if (nickname == "" || nickname == null || nickname == undefined) {
            nickname = "该车辆";
        }else{
            nickname = "【"+nickname+"】";
        } else {
            nickname = "【" + nickname + "】";
        }
        swal({
            title: language==1?"您是否确认删除" + nickname + "?":(language==2?"Are you sure to delete the" + nickname + "?":"Apakah Anda pasti akan menghapus" + nickname + "?"),
            text: language==1?"请谨慎操作!":(language==2?' Please operate with caution!':'Harap beroperasi dengan hati -hati!'),
            title: language == 1 ? "您是否确认删除" + nickname + "?" : (language == 2 ? "Are you sure to delete the" + nickname + "?" : "Apakah Anda pasti akan menghapus" + nickname + "?"),
            text: language == 1 ? "请谨慎操作!" : (language == 2 ? ' Please operate with caution!' : 'Harap beroperasi dengan hati -hati!'),
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55",
            confirmButtonText: language==1?"删除":(language==2?'Delete':'Hapus'),
            confirmButtonText: language == 1 ? "删除" : (language == 2 ? 'Delete' : 'Hapus'),
            closeOnConfirm: true
        }, function () {
            var ajax = new $ax(Feng.ctxPath + "/TCompetition/delete", function (data) {
                if(language==1){
                if (language == 1) {
                    swal("删除成功", "您已经成功删除了" + nickname + "。", "success");
                }else if(language==2){
                } else if (language == 2) {
                    swal("Delete succeeded!", "You have successfully deleted it" + nickname + "。", "success");
                }else {
                } else {
                    swal("Hapus berhasil!", "Anda berhasil menghapus" + nickname + "。", "success");
                }
                TQuestion.table.refresh();
            }, function (data) {
                if(language==1){
                if (language == 1) {
                    swal("删除失败", data.responseJSON.message + "!", "warning");
                }else if(language==2){
                } else if (language == 2) {
                    swal("Failed to delete", data.responseJSON.message + "!", "warning");
                }else {
                } else {
                    swal("Hapus Gagal", data.responseJSON.message + "!", "warning");
                }
            });
            ajax.set("TCompetitionId",TCompetition.seItem.id);
            ajax.set("TCompetitionId", TCompetition.seItem.id);
            ajax.start();
        });
    }
};
TQuestion.oneChange = function (e) {
    console.log(111)
    var oneId=$(e).val();
    var oneId = $(e).val();
    console.log(oneId)
    var content = "<option value=''>请选择</option>";
    var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function(data){
        if(data!=null){
    var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function (data) {
        if (data != null) {
            $.each(data, function(k,v) {
                content += "<option value='"+v.name+"'>"+v.name+"</option>";
            $.each(data, function (k, v) {
                content += "<option value='" + v.name + "'>" + v.name + "</option>";
            });
            $("#cCode").empty().append(content);
        }
    });
    ajax.set("oneId",oneId);
    ajax.set("oneId", oneId);
    ajax.start();
};
TQuestion.nextStore = function (e) {
    var oneId=$(e).val();
    var oneId = $(e).val();
    console.log(oneId)
    var content = "<option value=''>请选择</option>";
    var ajax = new $ax(Feng.ctxPath + "/coursePackage/getCoursePackageByStoreId", function(data){
        if(data!=null){
    var ajax = new $ax(Feng.ctxPath + "/coursePackage/getCoursePackageByStoreId", function (data) {
        if (data != null) {
            $.each(data, function(k,v) {
                content += "<option value='"+v.id+"'>"+v.name+"</option>";
            $.each(data, function (k, v) {
                content += "<option value='" + v.id + "'>" + v.name + "</option>";
            });
            $("#coursePackageType").empty().append(content);
        }
    });
    ajax.set("storeId",oneId);
    ajax.set("storeId", oneId);
    ajax.start();
};
TQuestion.addSubmit = function(){
    var data = {
        appUserId:null,
        studentId:null,
        coursePackageId:null,
        payType:null,
        classHours:null,
        originalPrice:null,
        cashPayment:null,
        playPaiCoin:null,
        totalClassHours:null,
        laveClassHours:null,
        absencesNumber:null,
        payUserType:2,
        payStatus:1,
        orderNumber:null,
        payUserId:2,
        status:1,
        withdrawalTime:"",
        certificate:"",
        state:1,
        giftClassHours:null,
        useTime:"",
        payUserName:"",
        coursePackageConfigId:null
    };
    data.appUserId            = appUserId;
    console.log("我看看规格id")
    console.log($("#courseTime").val())
    data.coursePackageConfigId            = $("#courseTime").val();
    data.studentId                = $("#student").val()
    data.coursePackageId       = $("#coursePackageName").val()
    data.cashPayment             = $("#cashPayment").val()
    data.playPaiCoin          = $("#playPaiCoin").val()
    data.classHours          = $('#courseTime option:selected').text()
    if (role == 1){
        if($("#studentId").val()=='' ){
            Feng.info("请选择学员")
            return;
        }
        if($("#pCode").val()=='' ){
            Feng.info("请选择省")
            return;
        }
        if($("#cCode").val()=='' ){
            Feng.info("请选择市")
            return;
        }
TQuestion.addSubmit = function () {
    let studentId = $("#studentId").val();
    let pCode = $("#pCode").val();
    let cCode = $("#cCode").val();
    let store = $("#store").val();
    let coursePackageType = $("#coursePackageType").val();
    let coursePackageName = $("#coursePackageName").val();
    if (studentId == '' || studentId == null) {
        Feng.info("请选择学员")
        return;
    }
    if (role!=3){
        if($("#store").val()==''){
            Feng.info("请选择门店")
            return;
        }
    if (pCode == '' || pCode == null) {
        Feng.info("请选择省")
        return;
    }
    if($("#coursePackageType").val()=='' ){
    if (cCode == '' || cCode == null) {
        Feng.info("请选择市")
        return;
    }
    if (store == '' || store == null) {
        Feng.info("请选择门店")
        return;
    }
    if (coursePackageType == '' || coursePackageType == null) {
        Feng.info("请选择课包类型")
        return;
    }
    if($("#coursePackageName").val()==''){
    if (coursePackageName == '' || coursePackageName == null) {
        Feng.info("请选择课包名称")
        return;
    }
    var data = {
        appUserId: null,
        studentId: null,
        coursePackageId: null,
        payType: null,
        classHours: null,
        originalPrice: null,
        cashPayment: null,
        playPaiCoin: null,
        totalClassHours: null,
        laveClassHours: null,
        absencesNumber: null,
        payUserType: 2,
        payStatus: 1,
        orderNumber: null,
        payUserId: 2,
        status: 1,
        withdrawalTime: "",
        certificate: "",
        state: 1,
        giftClassHours: null,
        useTime: "",
        payUserName: "",
        coursePackageConfigId: null
    };
    data.appUserId = appUserId;
    data.coursePackageConfigId = $("#courseTime").val();
    data.studentId = $("#student").val()
    data.coursePackageId = $("#coursePackageName").val()
    data.cashPayment = $("#cashPayment").val()
    data.playPaiCoin = $("#playPaiCoin").val()
    data.classHours = $('#courseTime option:selected').text()
    var selectElement = document.getElementById('coursePackageName');
    var selectedOption = selectElement.options[selectElement.selectedIndex];
    console.log("插入")
    var type = selectedOption.getAttribute('data-type');
    console.log('type----------'+type)
if (type==1) {
    if (role == 1) {
        if ($("#courseTime").val() == '') {
            Feng.info("请选择课时规格")
            return;
    if (type == 1) {
        if (role == 1) {
            if ($("#courseTime").val() == '') {
                Feng.info("请选择课时规格")
                return;
            }
        }
    } else {
        data.classHours = 0
    }
}else {
    data.classHours = 0
}
    if($("#cashPayment").val()==''){
    if ($("#cashPayment").val() == '') {
        Feng.info("请输入支付金额")
        return;
    }
    if($("#playPaiCoin").val()==''){
    if ($("#playPaiCoin").val() == '') {
        Feng.info("请输入玩湃币支付")
        return;
    }
    var courseTimeId= $("#courseTime").val()
    var courseTimeId = $("#courseTime").val()
    console.log("看看课时")
    console.log(courseTimeId)
    data.coursePackageConfigId            = courseTimeId;
    if(typeof courseTimeId === 'undefined'){
    data.coursePackageConfigId = courseTimeId;
    if (typeof courseTimeId === 'undefined') {
        console.log("进入")
        courseTimeId=0;
        courseTimeId = 0;
    }
    $.ajax({
        url: Feng.ctxPath + "/cpPayment/addCoursePackagePayment",
        type: "POST",
        contentType: "application/json", // 设置请求头的 Content-Type
        data: JSON.stringify(data), // 将数据转换为 JSON 字符串
        success: function(response) {
            if (response == "5001"){
        success: function (response) {
            if (response == "5001") {
                Feng.error("当前课包预约人数已满!")
            }else if(response == "5002"){
            } else if (response == "5002") {
                Feng.error("剩余课时不足,无法购买!")
            }else{
            } else {
                Feng.success("购买成功!");
                TQuestion.close();
                window.parent.TQuestion.table.refresh();
            }
        },
        error: function(xhr, status, error) {
        error: function (xhr, status, error) {
            var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!";
            Feng.error("您的网络异常!");
        }
@@ -359,67 +361,66 @@
/**
 * 关闭此对话框
 */
TQuestion.close = function() {
TQuestion.close = function () {
    parent.layer.close(window.parent.TQuestion.layerIndex);
}
TQuestion.getCoursePackage = function (e) {
    var oneId=$(e).val();
    var oneId = $(e).val();
    console.log("门店id")
    console.log(oneId)
    var storeId = $("#store").val();
    console.log("课包类型")
    console.log(storeId)
    var content = "<option value=''>请选择</option>";
    var ajax = new $ax(Feng.ctxPath + "/coursePackage/getCoursePackageByType", function(data){
        if(data!=null){
    var ajax = new $ax(Feng.ctxPath + "/coursePackage/getCoursePackageByType", function (data) {
        if (data != null) {
            $.each(data, function(k,v) {
            $.each(data, function (k, v) {
                // content += "<option value='"+v.id+"'>"+v.name+"</option>";
                content += "<option value='"+v.id+"'  data-type='"+v.type+"'>"+v.name+"</option>";
                content += "<option value='" + v.id + "'  data-type='" + v.type + "'>" + v.name + "</option>";
            });
            $("#coursePackageName").empty().append(content);
        }
    });
    ajax.set("storeId",storeId);
    ajax.set("typeId",oneId);
    ajax.set("storeId", storeId);
    ajax.set("typeId", oneId);
    ajax.start();
};
TQuestion.getCoursePackageConfig = function (e) {
    var c1 = document.getElementById("c1");
    var c2 = document.getElementById("c2");
    var oneId=$(e).val();
    var oneId = $(e).val();
    console.log(oneId)
    var content = "<option value=''>请选择</option>";
    var ajax = new $ax(Feng.ctxPath + "/cpPayment/getCoursePackageConfig", function(data){
        if(data!=null){
    var ajax = new $ax(Feng.ctxPath + "/cpPayment/getCoursePackageConfig", function (data) {
        if (data != null) {
            $.each(data, function(k,v) {
                content += "<option value='"+v.id+"'  data-cashPayment='"+v.cashPayment+"' data-playPaiCoin='"+v.playPaiCoin+"'>"+v.classHours+"</option>";
            $.each(data, function (k, v) {
                content += "<option value='" + v.id + "'  data-cashPayment='" + v.cashPayment + "' data-playPaiCoin='" + v.playPaiCoin + "'>" + v.classHours + "</option>";
            });
            $("#courseTime").empty().append(content);
        }else{
        } else {
            c1.style.display = "none";
            c2.style.display = "none";
        }
    });
    if (oneId == ""){
    if (oneId == "") {
        console.log("关闭");
        c1.style.display = "none";
        c2.style.display = "none";
    }else{
    } else {
        console.log("展示")
        c1.style.display = 'block'
        c2.style.display = 'block'
    }
    ajax.set("id",oneId);
    ajax.set("id", oneId);
    ajax.start();
    var ajax1 = new $ax(Feng.ctxPath + "/cpPayment/getCoursePackageType", function(data){
        if(data!=null){
                console.log("data ===="+data)
            if (data != 1){
    var ajax1 = new $ax(Feng.ctxPath + "/cpPayment/getCoursePackageType", function (data) {
        if (data != null) {
            console.log("data ====" + data)
            if (data != 1) {
                document.getElementById("toHidden").style.display = "none";
                var selectElement = document.getElementById('courseTime');
@@ -433,7 +434,7 @@
                $("#playPaiCoin").val(playPaiCoin);
            }else {
            } else {
                document.getElementById("toHidden").style.display = "block";
            }
@@ -441,14 +442,14 @@
        }
    });
    ajax1.set("id",oneId);
    ajax1.set("id", oneId);
    ajax1.start();
};
TQuestion.getCoursePackagePrice = function (e) {
    var c1 = document.getElementById("c1");
    var c2 = document.getElementById("c2");
    var oneId=$(e).val();
    var oneId = $(e).val();
    var selectElement = document.getElementById('courseTime');
    var selectedOption = selectElement.options[selectElement.selectedIndex];
    console.log("插入")
@@ -460,42 +461,42 @@
    $("#playPaiCoin").val(playPaiCoin);
};
TQuestion.twoChange = function (e) {
    var oneId=e;
    var oneId = e;
    var content = "<option value=''>请选择</option>";
    var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function(data){
        if(data!=null){
    var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function (data) {
        if (data != null) {
            $.each(data, function(k,v) {
                content += "<option value='"+v.name+"'>"+v.name+"</option>";
            $.each(data, function (k, v) {
                content += "<option value='" + v.name + "'>" + v.name + "</option>";
            });
            $("#cCode").empty().append(content);
        }
    });
    ajax.set("oneId",oneId);
    ajax.set("oneId", oneId);
    ajax.start();
};
TQuestion.threeChange = function (e) {
    var oneId=$(e).val();
    var oneId = $(e).val();
    var content1 = "<option value=''>请选择门店</option>";
    var ajax2=new $ax(Feng.ctxPath + "/cpPayment/getStore", function(data){
        $.each(data, function(k,v) {
            content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
    var ajax2 = new $ax(Feng.ctxPath + "/cpPayment/getStore", function (data) {
        $.each(data, function (k, v) {
            content1 += "<option value='" + v.id + "'>" + v.name + "</option>";
        });
        $("#store").empty().append(content1);
    });
    ajax2.set("city",oneId);
    ajax2.set("city", oneId);
    ajax2.start();
};
TQuestion.fourChange = function (e) {
    var content1 = "<option value=''>请选择门店</option>";
    var ajax2=new $ax(Feng.ctxPath + "/cpPayment/getStore", function(data){
        $.each(data, function(k,v) {
            content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
    var ajax2 = new $ax(Feng.ctxPath + "/cpPayment/getStore", function (data) {
        $.each(data, function (k, v) {
            content1 += "<option value='" + v.id + "'>" + v.name + "</option>";
        });
        $("#store").empty().append(content1);
    });
    ajax2.set("city",e);
    ajax2.set("city", e);
    ajax2.start();
};
@@ -513,13 +514,13 @@
    var c;
    var content = "<option value=''>请选择学员</option>";
    $.ajax({
        url: Feng.ctxPath + "/cpPayment/getUserByPhone/"+phone,
        url: Feng.ctxPath + "/cpPayment/getUserByPhone/" + phone,
        type: "GET",
        contentType: "application/json", // 设置请求头的 Content-Type
        success: function(response) {
        success: function (response) {
            console.log("===================");
            console.log(response)
            if (response==""){
            if (response == "") {
                let htmlStr =
                    '<div class="form-horizontal">' +
                    '   <div class="col-sm-11" style="padding: 20px;">' +
@@ -540,7 +541,7 @@
                    , yes: function () {
                        var index = layer.open({
                            type: 2,
                            title:'添加用户',
                            title: '添加用户',
                            area: ['100%', '100%'], //宽高
                            fix: false, //不固定
                            maxmin: true,
@@ -548,16 +549,16 @@
                        });
                        // layer.closeAll('page');
                    },
                    btn2:function () {
                    btn2: function () {
                    }
                });
            }else{
            } else {
                province = response.province;
                city = response.city;
                appUserId = response.id;
                var ajax1=new $ax(Feng.ctxPath + "/cpPayment/queryStudentList", function(data){
                var ajax1 = new $ax(Feng.ctxPath + "/cpPayment/queryStudentList", function (data) {
                    if (data.length==0){
                    if (data.length == 0) {
                        let htmlStr =
                            '<div class="form-horizontal">' +
                            '   <div class="col-sm-11" style="padding: 20px;">' +
@@ -578,18 +579,18 @@
                            , yes: function () {
                                var index = layer.open({
                                    type: 2,
                                    title:'首页设置',
                                    title: '首页设置',
                                    area: ['100%', '100%'], //宽高
                                    fix: false, //不固定
                                    maxmin: true,
                                    content: Feng.ctxPath + '/appUser/addStudent/'+appUserId
                                    content: Feng.ctxPath + '/appUser/addStudent/' + appUserId
                                });
                                // layer.closeAll('page');
                            },
                        });
                    }
                    $.each(data, function(k,v) {
                        content += "<option value='"+v.id+"'>"+v.name+"</option>";
                    $.each(data, function (k, v) {
                        content += "<option value='" + v.id + "'>" + v.name + "</option>";
                    });
                    $("#student").empty().append(content);
                    var provinceSelect = document.getElementById("pCode");
@@ -609,19 +610,18 @@
                        var option = citySelect.options[i];
                        if (option.text === city) {
                            option.selected = true;
                            c =  option.text;
                            c = option.text;
                            TQuestion.fourChange(c)
                            break; // 找到匹配的选项后,可以选择停止遍历
                        }
                    }
                });
                ajax1.set("appUserId",appUserId);
                ajax1.set("appUserId", appUserId);
                ajax1.start();
            }
        }
    });
};
@@ -634,7 +634,7 @@
        }, function (data) {
            Feng.error("冻结失败!" + data.responseJSON.message + "!");
        });
        ajax.set("id",this.seItem.id);
        ajax.set("id", this.seItem.id);
        ajax.start();
    }
};
@@ -644,10 +644,10 @@
        console.log("看看选择")
        console.log(selected)
        const data1 = {
            ids:[],
            payUserName:""
            ids: [],
            payUserName: ""
        };
        selected.forEach(function(obj) {
        selected.forEach(function (obj) {
            var id = "";
            id = obj.id;
            data1.ids.push(id);
@@ -658,11 +658,11 @@
            type: "POST",
            contentType: "application/json", // 设置请求头的 Content-Type
            data: JSON.stringify(data1), // 将数据转换为 JSON 字符串
            success: function(response) {
            success: function (response) {
                Feng.success("支付成功!");
                TQuestion.table.refresh();
            },
            error: function(xhr, status, error) {
            error: function (xhr, status, error) {
                var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!";
                Feng.error("您的网络异常!");
            }
@@ -672,14 +672,14 @@
TQuestion.reload = function () {
    if (this.check()) {
        let id = this.seItem.id
        var operation = function(){
        var operation = function () {
            var ajax = new $ax(Feng.ctxPath + "/tCity/pwd", function (data) {
                Feng.success("重置成功!");
                TQuestion.table.refresh();
            }, function (data) {
                Feng.error("重置失败!" + data.responseJSON.message + "!");
            });
            ajax.set("id",id);
            ajax.set("id", id);
            ajax.start();
        }
        Feng.confirm("确认重置密码?重置后密码为:a123456", operation);
@@ -691,7 +691,7 @@
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title: language==1?'车辆保险':(language==2?'Vehicle insurance':'Asuransi kendaraan'),
            title: language == 1 ? '车辆保险' : (language == 2 ? 'Vehicle insurance' : 'Asuransi kendaraan'),
            area: ['100%', '100%'], //宽高
            fix: false, //不固定
            maxmin: true,
@@ -702,15 +702,14 @@
};
/**
 * 查询车辆管理列表
 */
TQuestion.search = function () {
    var queryData = {};
    if ($('#pCode option:selected').text()!="全部"){
    if ($('#pCode option:selected').text() != "全部") {
        queryData['province'] = $('#pCode option:selected').text();
    }else{
    } else {
        queryData['province'] = "";
    }
cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js
@@ -165,32 +165,19 @@
            nickname = "【"+nickname+"】";
        }
        swal({
           title: language==1?"您是否确认取消" + nickname + "?":(language==2?"Are you sure to delete the" + nickname + "?":"Apakah Anda pasti akan menghapus" + nickname + "?"),
            text: language==1?"请谨慎操作!":(language==2?' Please operate with caution!':'Harap beroperasi dengan hati -hati!'),
            title: "您是否确认取消" + nickname + "?",
            text: "请谨慎操作!",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55",
            confirmButtonText: language==1?"删除":(language==2?'Delete':'Hapus'),
            confirmButtonText: "确定",
            closeOnConfirm: true
        }, function () {
            var ajax = new $ax(Feng.ctxPath + "/tCompetition/cancel", function (data) {
                  if(language==1){
                    swal("删除成功", "您已经成功删除了" + nickname + "。", "success");
                }else if(language==2){
                    swal("Delete succeeded!", "You have successfully deleted it" + nickname + "。", "success");
                }else {
                    swal("Hapus berhasil!", "Anda berhasil menghapus" + nickname + "。", "success");
                }
                swal("取消成功", "您已经成功取消了" + nickname + "。", "success");
                TCompetition.table.refresh();
            }, function (data) {
                if(language==1){
                    swal("删除失败", data.responseJSON.message + "!", "warning");
                }else if(language==2){
                    swal("Failed to delete", data.responseJSON.message + "!", "warning");
                }else {
                    swal("Hapus Gagal", data.responseJSON.message + "!", "warning");
                }
                swal("取消失败", data.responseJSON.message + "!", "warning");
            });
            ajax.set("TCompetitionId",TCompetition.seItem.id);
            ajax.start();