nickchange
2023-11-25 cf28c25d1a8e360ab328c5435d289c5cb9b414c1
11.26
16个文件已修改
5个文件已添加
1564 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/entity/User.java 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/EvaluateStudentServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/resources/mapper/TStudentMapper.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 336 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageScheduling.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageOrderStudentService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/mapper/UserMapper.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/model/User.java 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/IUserService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/UserServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/entity/User.java
New file
@@ -0,0 +1,270 @@
package com.dsh.account.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
 * 管理员表
 * </p>
 *
 * @author stylefeng
 * @since 2017-07-11
 */
@TableName("sys_user")
public class User extends Model<User> {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @TableId(value="id", type= IdType.AUTO)
    private Integer id;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 账号
     */
    private String account;
    /**
     * 密码
     */
    private String password;
    /**
     * md5密码盐
     */
    private String salt;
    /**
     * 名字
     */
    private String name;
    /**
     * 生日
     */
    private Date birthday;
    /**
     * 性别(1:男 2:女)
     */
    private Integer sex;
    /**
     * 电子邮件
     */
    private String email;
    /**
     * 电话
     */
    private String phone;
    /**
     * 角色id
     */
    private String roleid;
    /**
     * 部门id
     */
    private Integer deptid;
    /**
     * 状态(1:启用  2:冻结  3:删除)
     */
    private Integer status;
    /**
     * 创建时间
     */
    private Date createtime;
    /**
     * 保留字段
     */
    private Integer version;
    /**
     * 对象类型(1=平台,2=城市管理员,3=门店)
     */
    @TableField("objectType")
    private Integer objectType;
    /**
     * objectId
     */
    @TableField("objectId")
    private Integer objectId;
    @TableField("idCard")
    private String idCard;
    public String getIdCard() {
        return idCard;
    }
    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getAvatar() {
        return avatar;
    }
    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
    public String getAccount() {
        return account;
    }
    public void setAccount(String account) {
        this.account = account;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getSalt() {
        return salt;
    }
    public void setSalt(String salt) {
        this.salt = salt;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public Integer getSex() {
        return sex;
    }
    public void setSex(Integer sex) {
        this.sex = sex;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getRoleid() {
        return roleid;
    }
    public void setRoleid(String roleid) {
        this.roleid = roleid;
    }
    public Integer getDeptid() {
        return deptid;
    }
    public void setDeptid(Integer deptid) {
        this.deptid = deptid;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public Date getCreatetime() {
        return createtime;
    }
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }
    public Integer getVersion() {
        return version;
    }
    public void setVersion(Integer version) {
        this.version = version;
    }
    public Integer getObjectType() {
        return objectType;
    }
    public void setObjectType(Integer objectType) {
        this.objectType = objectType;
    }
    public Integer getObjectId() {
        return objectId;
    }
    public void setObjectId(Integer objectId) {
        this.objectId = objectId;
    }
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    @Override
    public String toString() {
        return "User{" +
            "id=" + id +
            ", avatar=" + avatar +
            ", account=" + account +
            ", password=" + password +
            ", salt=" + salt +
            ", name=" + name +
            ", birthday=" + birthday +
            ", sex=" + sex +
            ", email=" + email +
            ", phone=" + phone +
            ", roleid=" + roleid +
            ", deptid=" + deptid +
            ", status=" + status +
            ", createtime=" + createtime +
            ", version=" + version +
            "}";
    }
}
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
@@ -1,6 +1,7 @@
package com.dsh.account.feignclient.other;
import com.dsh.account.entity.OperatorUser;
import com.dsh.account.entity.User;
import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
import com.dsh.account.feignclient.other.model.SiteBooking;
import com.dsh.account.model.BillingRequestOfType;
@@ -39,4 +40,6 @@
    @PostMapping("/base/site/counts")
    Integer counts(Integer stuId);
    @PostMapping("/base/site/queryUserName")
    User queryUserName(Integer coachId);
}
cloud-server-account/src/main/java/com/dsh/account/service/impl/EvaluateStudentServiceImpl.java
@@ -5,6 +5,8 @@
import com.dsh.account.entity.Coach;
import com.dsh.account.entity.EvaluateStudent;
import com.dsh.account.entity.TStudent;
import com.dsh.account.entity.User;
import com.dsh.account.feignclient.other.SiteClient;
import com.dsh.account.mapper.EvaluateStudentMapper;
import com.dsh.account.mapper.TStudentMapper;
import com.dsh.account.model.vo.commentDetail.StuCommentsVo;
@@ -38,24 +40,27 @@
    @Autowired
    private CoachService coachService;
    @Resource
    private SiteClient siteClient;
    @Override
    public List<StuCommentsVo> queryStuCommentsList(Integer stuId) {
        List<StuCommentsVo> stuCommentsVos = new ArrayList<>();
        TStudent tStudent = tstuMapper.selectById(stuId);
        List<EvaluateStudent> evaluateStudents = this.list(new QueryWrapper<EvaluateStudent>()
                .eq("studentId", stuId));
                .eq("studentId",stuId ));
        if (evaluateStudents.size() > 0) {
        if (evaluateStudents.size() > 0){
            for (EvaluateStudent evaluateStudent : evaluateStudents) {
                StuCommentsVo vo = new StuCommentsVo();
                Coach coach = coachService.getById(evaluateStudent.getCoachId());
//                Coach coach = coachService.getById(evaluateStudent.getCoachId());
                User user = siteClient.queryUserName(evaluateStudent.getCoachId());
//                vo.setHeadImg(tStudent.getHeadImg());
                vo.setHeadImg(coach.getDiploma());
                vo.setHeadImg(user.getAvatar());
//                vo.setStuName(tStudent.getName());
                vo.setStuName(coach.getName());
                vo.setStuName(user.getName());
                vo.setComTime(format.format(tStudent.getInsertTime()));
                vo.setContents(evaluateStudent.getContent());
                String imgs = evaluateStudent.getImgs();
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -234,107 +234,7 @@
    @Override
    public List<PurchaseRecordVo> queryDeduRecordDetails(RecordTimeRequest timeRequest, Integer appUserId) {
        List<PurchaseRecordVo> purchaseRecordVoList = new ArrayList<>();
        String time = timeRequest.getTime();
        List<PurchaseRecordVo> record1 = sessionNameClient.getRecord(timeRequest);
//
//        Date monthStart = null;
//        Date monthEnd = null;
//        if (StringUtils.hasText(time)) {
//            monthStart = DateTimeHelper.getCurrentIdetMouthStart(time);
//            monthEnd = DateTimeHelper.getCurrentIdeaMouthEnd(time);
//        } else {
//            monthStart = DateTimeHelper.getCurrentMouthStart();
//            monthEnd = DateTimeHelper.getCurrentMouthEnd();
//        }
//
//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
//        Date startTime = DateTimeHelper.getCurrentIdetMouthStart(simpleDateFormat.format(monthStart));
//        Date endTime = DateTimeHelper.getCurrentIdeaMouthEnd(simpleDateFormat.format(monthEnd));
//        GetStuSourseList getStuSourseList = new GetStuSourseList();
//        getStuSourseList.setStartTime(startTime);
//        getStuSourseList.setEndTime(endTime);
//        getStuSourseList.setAppUserId(appUserId);
//        // 报名赛事
//        List<PurchaseRecordVo> stuSourseList = dcttClient.getStuSourseList1(getStuSourseList);
//        purchaseRecordVoList.addAll(stuSourseList);
//
//        GetStuSessionList sessionList = new GetStuSessionList();
//        sessionList.setStartTime(startTime);
//        sessionList.setEndTime(endTime);
//        sessionList.setStuId(timeRequest.getStuId());
//        sessionList.setAppUserId(appUserId);
//        List<PurchaseRecordVo> cancelCourseList = cancelcClient.getCancelCourseList(sessionList);
//
//        purchaseRecordVoList.addAll(cancelCourseList);
//        GetStuSessionList getStuSessionList = new GetStuSessionList();
//        getStuSessionList.setStartTime(startTime);
//        getStuSessionList.setEndTime(endTime);
//        getStuSessionList.setStuId(timeRequest.getStuId());
//        getStuSessionList.setAppUserId(appUserId);
//        // 购买课包
//        List<PurchaseRecordVo> purchaseRecordVos = sessionNameClient.queryCourseDetails(getStuSessionList);
//        purchaseRecordVoList.addAll(purchaseRecordVos);
//        List<TAppUser> tAppUsers = tauMapper.selectList(new QueryWrapper<TAppUser>()
//                .eq("referralUserId",appUserId )
//                .between("insertTime",startTime ,endTime));
//        if (ToolUtil.isNotEmpty(tAppUsers)){
//            List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
//            IntrduceOfUserRequest request  = new IntrduceOfUserRequest();
//            request.setStartTime(startTime);
//            request.setEndTime(endTime);
//            request.setUserIds(userIds);
//            // 介绍有礼
//            List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(request);
//            purchaseRecordVoList.addAll(purchaseRecordVos1);
//        }
//
//        LambdaQueryWrapper<TCourseInfoRecord> eq = new LambdaQueryWrapper<TCourseInfoRecord>().eq(TCourseInfoRecord::getUserId, appUserId);
//        if(timeRequest.getType()!=null){
//            eq.eq(TCourseInfoRecord::getType,timeRequest.getType());
//        }
//        if (timeRequest.getLessionId()!=null){
//            eq.eq(TCourseInfoRecord::getCourseId,timeRequest.getLessionId());
//
//        }
//        // 2.0其他记录
//        List<TCourseInfoRecord> list = courseInfoRecordService.list(eq);
//        List<PurchaseRecordVo> list1=new ArrayList<>();
//        for (TCourseInfoRecord tCourseInfoRecord : list) {
//            PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo();
//            purchaseRecordVo.setPurchaseTime(new SimpleDateFormat("MM-dd HH:mm").format(tCourseInfoRecord.getTime()));
//            purchaseRecordVo.setPurchaseType(tCourseInfoRecord.getName());
//            if(tCourseInfoRecord.getType()==1){
//                purchaseRecordVo.setPurchaseAmount("+"+tCourseInfoRecord.getNum());
//            }else {
//                purchaseRecordVo.setPurchaseAmount("-"+tCourseInfoRecord.getNum());
//            }
//            list1.add(purchaseRecordVo);
//        }
//        purchaseRecordVoList.addAll(list1);
//
//        if (purchaseRecordVoList.size() > 0 ){
//            purchaseRecordVoList = purchaseRecordVoList.stream()
//                    .filter(record -> {
//                        String fieldValue = record.getPurchaseAmount();
//                        if (ToolUtil.isNotEmpty(timeRequest.getType())){
//                            switch (timeRequest.getType()){
//                                case 2:
//                                    return fieldValue != null && !fieldValue.isEmpty() && fieldValue.charAt(0) == '-';
//                                case 1:
//                                    return fieldValue != null && !fieldValue.isEmpty() && fieldValue.charAt(0) == '+';
//                                default:
//                                    break;
//                            }
//                        }
//                        return true;
//                    })
//                    .collect(Collectors.toList());
//        }
//
//        purchaseRecordVoList = dealDataOfTime(purchaseRecordVoList);
        return record1;
    }
@@ -879,9 +779,23 @@
        return this.baseMapper.getGiftSelect(giftSearchDto);
    }
    @Resource
    private SiteClient siteClient;
    @Override
    public List<Map<String, Object>> queryCom(Integer id) {
        return this.baseMapper.queryCom(id);
        List<Map<String, Object>> maps = this.baseMapper.queryCom(id);
        for (Map<String, Object> map : maps) {
            Integer coachId = (Integer) map.get("coachId");
            System.err.println("==============XXXXXXXXXXXX"+coachId);
            if (coachId!=null) {
                User name = siteClient.queryUserName(coachId);
                map.put("name",name.getName());
            }
        }
    return maps;
    }
cloud-server-account/src/main/resources/mapper/TStudentMapper.xml
@@ -86,13 +86,10 @@
    <select id="queryCom" resultType="java.util.Map">
        SELECT
            es.id as id ,tc.name,es.content,es.insertTime,es.imgs as images
            es.id as id ,es.coachId,es.content,es.insertTime,es.imgs as images
        FROM
            t_evaluate_student es
                left JOIN t_student ts on es.studentId = ts.id
                LEFT JOIN t_coach tc on es.coachId = tc.id
        where es.studentId = #{id}
cloud-server-course/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java
@@ -70,6 +70,7 @@
        //分片规则配置
        ShardingRuleConfiguration result1 = new ShardingRuleConfiguration();
        result1.getTables().add(getCoursePackagePaymentTableRuleConfiguration());
        Properties props1 = new Properties();
        props1.setProperty("algorithm-expression", "t_course_package_payment$->{appUserId % 5 + 1}");
@@ -107,7 +108,7 @@
        //分片规则配置
        result1.getTables().add(getCoursePackageOrderTableRuleConfiguration());
        Properties props6 = new Properties();
        props1.setProperty("algorithm-expression", "t_course_package_order$->{appUserId % 5 + 1}");
        props6.setProperty("algorithm-expression", "t_course_package_order$->{appUserId % 5 + 1}");
        result1.getShardingAlgorithms().put("t_course_package_order-inline", new AlgorithmConfiguration("INLINE", props6));
        result1.getKeyGenerators().put("t_course_package_order-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -21,6 +21,7 @@
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
import com.dsh.course.mapper.CoursePackageSchedulingMapper;
import com.dsh.course.mapper.TCoursePackageMapper;
import com.dsh.course.model.*;
import com.dsh.course.model.dto.DiscountJsonDto;
import com.dsh.course.model.vo.CourseDetailRequest;
@@ -28,6 +29,7 @@
import com.dsh.course.model.vo.request.*;
import com.dsh.course.model.vo.response.*;
import com.dsh.course.service.*;
import com.dsh.course.service.impl.CoursePackageOrderStudentServiceImpl;
import com.dsh.course.util.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -585,6 +587,8 @@
        }
    }
    @Autowired
    private ICoursePackageOrderStudentService orderStudentService;
    /**
     * 课程名称列表
@@ -592,12 +596,12 @@
    @PostMapping("/base/coursePack/sessionNames")
    public List<StuSessionDetailsVo> getStuSessionList(@RequestBody CourseDetailRequest request) {
        List<StuSessionDetailsVo> detailsVos = new ArrayList<>();
        List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
        List<CoursePackageOrderStudent> byUserId = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
                .between("insertTime", request.getStartTime(), request.getEndTime())
                .eq("appUserId", request.getAppUserId())
                .eq("studentId", request.getStuId()));
        if (byUserId.size() > 0) {
            List<Integer> collect = byUserId.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
            List<Integer> collect = byUserId.stream().map(CoursePackageOrderStudent::getCoursePackageId).collect(Collectors.toList());
            List<TCoursePackage> list = tcpService.list(new QueryWrapper<TCoursePackage>()
                    .in("id", collect));
@@ -670,22 +674,23 @@
    @PostMapping("/base/coursePack/getRecord")
    public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) {
        List<TCoursePackagePayment> list = new ArrayList<>();
        List<CoursePackageOrderStudent> list = new ArrayList<>();
        Integer[] changes = {1, 0};
        if (recordTimeRequest.getType() == null) {
            list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
            list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
        } else {
            list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
            list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
        }
        List<Long> ids = new ArrayList<>();
        for (TCoursePackagePayment coursePackagePayment : list) {
            ids.add(coursePackagePayment.getId());
        }
        List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList());
        List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
                .in("appUserId", appUserIds)
                .eq("coursePackageId", recordTimeRequest.getLessionId())
                .eq("state", 1)
        );
        List<Long> collect = list1.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList());
        QueryWrapper<CourseCounsum> in = new QueryWrapper<CourseCounsum>().in("paymentId", ids).in("changeType", changes);
        QueryWrapper<CourseCounsum> in = new QueryWrapper<CourseCounsum>().in("paymentId", collect).in("changeType", changes);
        if (recordTimeRequest.getType() != null) {
            if (recordTimeRequest.getType() == 2) {
@@ -1255,8 +1260,8 @@
    @PostMapping("/coursePackagePayment/queryResidueClassHourById")
    public Integer queryResidueClassHourById(@RequestBody Long id) {
        try {
            TCoursePackagePayment list = packagePaymentService.getById(id);
            return list.getLaveClassHours();
            CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(id);
            return coursePackageOrderStudent.getLaveClassHours();
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
@@ -1293,128 +1298,162 @@
    public void paymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour) {
        try {
            // 2.0 用id进行查询
            TCoursePackagePayment coursePackagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", paymentDeductionClassHour.getCourseId()).eq("payStatus", 2)
                    .eq("status", 1).eq("state", 1).gt("laveClassHours", 0));
            Integer classHour = paymentDeductionClassHour.getClassHour();
//            TCoursePackagePayment coursePackagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", paymentDeductionClassHour.getCourseId()).eq("payStatus", 2)
//                    .eq("status", 1).eq("state", 1).gt("laveClassHours", 0));
//            Integer classHour = paymentDeductionClassHour.getClassHour();
//            for (TCoursePackagePayment coursePackagePayment : list) {
            if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) {
                coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour);
                coursePackagePayment.setAppUserId(null);
                packagePaymentService.updateById(coursePackagePayment);
                CourseCounsum courseCounsum = new CourseCounsum();
                courseCounsum.setPaymentId(coursePackagePayment.getId());
                courseCounsum.setChangeType(0);
                courseCounsum.setNum(classHour);
                courseCounsum.setInsertTime(new Date());
                courseCounsum.setReason("报名赛事");
                courseCounsumService.save(courseCounsum);
                List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
                List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
                coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
                coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
            CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(paymentDeductionClassHour.getCourseId());
//            if (paymentDeductionClassHour.getClassHour() > coursePackageOrderStudent.getLaveClassHours()) {
//                return ResultUtil.error("当前课包课时数不足");
//            }
            TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
            coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour());
            coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
            //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录
            List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
                    .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1)
                    .eq("type", 1).orderByDesc("classDate"));
            //已经排课但没有使用的课时数量
            int number = list1.size() * coursePackage.getNeedNum();
            Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours();
            //需要删除多余的排课记录
            if(number > laveClassHours1){
                int n = number - laveClassHours1;
                for (int i = 0; i < n; i++) {
                    CoursePackageScheduling coursePackageScheduling = list1.get(i);
                    coursePackageSchedulingService.getBaseMapper().deleteById(coursePackageScheduling.getId());
                TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId());
                String classWeeks = tCoursePackage.getClassWeeks();
                List<Integer> week = week(classWeeks);
                TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId()));
                Date today = new Date();
                Calendar calendar = Calendar.getInstance();
                calendar.add(Calendar.DATE, -1);
                today = calendar.getTime();
                Integer laveClassHours = pay.getLaveClassHours();
                Integer codeTime = tCoursePackage.getCodeTime();
                Integer can = laveClassHours / codeTime;
                int count = 0;
                String[] split = tCoursePackage.getClassStartTime().split(",");
                String[] split1 = tCoursePackage.getClassEndTime().split(",");
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                Date[] dates = generateDateArray(14, today);
                for (Date date : dates) {
                    if (count == can) {
                        break;
                    }
                    int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date);
                    if (week.contains(wei)) {
                        for (int i1 = 0; i1 < split.length; i1++) {
                            if (count == can) {
                                break;
                            }
                            CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                            coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                            Date parse = format1.parse(format.format(date) + " " + split[i1]);
                            Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
                            coursePackageScheduling.setClassDate(parse);
                            coursePackageScheduling.setEndDate(parse1);
                            coursePackageScheduling.setStatus(1);
                            coursePackageSchedulingService.save(coursePackageScheduling);
                            CoursePackageStudent student1 = new CoursePackageStudent();
                            student1.setAppUserId(pay.getAppUserId());
                            student1.setStudentId(pay.getStudentId());
                            student1.setCoursePackageId(pay.getCoursePackageId());
                            student1.setCoursePackagePaymentId(pay.getId());
                            student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
                            student1.setSignInOrNot(1);
                            student1.setReservationStatus(1);
                            student1.setInsertTime(new Date());
                            studentService.save(student1);
                            count++;
                        }
                    }
                    coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>()
                            .eq("coursePackageSchedulingId", coursePackageScheduling.getId()));
                }
                // 2.0 少于3课时 推送
                if (coursePackagePayment.getLaveClassHours() <= 3) {
                    Integer appUserId = coursePackagePayment.getAppUserId();
                    //调用推送
                    HttpHeaders headers = new HttpHeaders();
                    // 以表单的方式提交
                    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
                    String s1 = appUserId + "_" + "Three";
                    //定时修改排课状态
                    String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class);
                    JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
                    if (jsonObject1.getIntValue("code") != 200) {
                        System.err.println(jsonObject1.getString("msg"));
                    }
                }
                CancelledClasses cancelledClasses = new CancelledClasses();
                cancelledClasses.setType(2);
                cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
                cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
                cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
                cancelledClasses.setCancelledClassesNumber(classHour);
                cancelledClasses.setInsertTime(new Date());
                cancelledClassesService.save(cancelledClasses);
            } else {
                CancelledClasses cancelledClasses = new CancelledClasses();
                cancelledClasses.setType(2);
                cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
                cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
                cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
                cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours());
                cancelledClasses.setInsertTime(new Date());
                cancelledClassesService.save(cancelledClasses);
                coursePackagePayment.setLaveClassHours(0);
                packagePaymentService.updateById(coursePackagePayment);
                classHour -= cancelledClasses.getCancelledClassesNumber();
            }
//            if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) {
//                coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour);
//                coursePackagePayment.setAppUserId(null);
//                packagePaymentService.updateById(coursePackagePayment);
//
//                CourseCounsum courseCounsum = new CourseCounsum();
//                courseCounsum.setPaymentId(coursePackagePayment.getId());
//                courseCounsum.setChangeType(0);
//                courseCounsum.setNum(classHour);
//                courseCounsum.setInsertTime(new Date());
//                courseCounsum.setReason("报名赛事");
//                courseCounsumService.save(courseCounsum);
//
//
//                List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
//                List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
//                coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
//                coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
//
//
//                TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId());
//                String classWeeks = tCoursePackage.getClassWeeks();
//                List<Integer> week = week(classWeeks);
//
//                TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId()));
//
//                Date today = new Date();
//                Calendar calendar = Calendar.getInstance();
//                calendar.add(Calendar.DATE, -1);
//                today = calendar.getTime();
//
//
//                Integer laveClassHours = pay.getLaveClassHours();
//                Integer codeTime = tCoursePackage.getCodeTime();
//                Integer can = laveClassHours / codeTime;
//
//                int count = 0;
//                String[] split = tCoursePackage.getClassStartTime().split(",");
//                String[] split1 = tCoursePackage.getClassEndTime().split(",");
//                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//                SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//
//                Date[] dates = generateDateArray(14, today);
//                for (Date date : dates) {
//                    if (count == can) {
//                        break;
//                    }
//                    int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date);
//                    if (week.contains(wei)) {
//                        for (int i1 = 0; i1 < split.length; i1++) {
//                            if (count == can) {
//                                break;
//                            }
//                            CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
//                            coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
//                            Date parse = format1.parse(format.format(date) + " " + split[i1]);
//                            Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
//                            coursePackageScheduling.setClassDate(parse);
//                            coursePackageScheduling.setEndDate(parse1);
//                            coursePackageScheduling.setStatus(1);
//                            coursePackageSchedulingService.save(coursePackageScheduling);
//                            CoursePackageStudent student1 = new CoursePackageStudent();
//                            student1.setAppUserId(pay.getAppUserId());
//                            student1.setStudentId(pay.getStudentId());
//                            student1.setCoursePackageId(pay.getCoursePackageId());
//                            student1.setCoursePackagePaymentId(pay.getId());
//                            student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
//                            student1.setSignInOrNot(1);
//                            student1.setReservationStatus(1);
//                            student1.setInsertTime(new Date());
//                            studentService.save(student1);
//                            count++;
//                        }
//                    }
//                }
//
//
//                // 2.0 少于3课时 推送
//                if (coursePackagePayment.getLaveClassHours() <= 3) {
//                    Integer appUserId = coursePackagePayment.getAppUserId();
//
//                    //调用推送
//                    HttpHeaders headers = new HttpHeaders();
//                    // 以表单的方式提交
//                    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
//                    String s1 = appUserId + "_" + "Three";
//                    //定时修改排课状态
//                    String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class);
//                    JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
//                    if (jsonObject1.getIntValue("code") != 200) {
//                        System.err.println(jsonObject1.getString("msg"));
//                    }
//                }
//
//                CancelledClasses cancelledClasses = new CancelledClasses();
//                cancelledClasses.setType(2);
//                cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
//                cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
//                cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
//                cancelledClasses.setCancelledClassesNumber(classHour);
//                cancelledClasses.setInsertTime(new Date());
//                cancelledClassesService.save(cancelledClasses);
//
//            } else {
//                CancelledClasses cancelledClasses = new CancelledClasses();
//                cancelledClasses.setType(2);
//                cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
//                cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
//                cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
//                cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours());
//                cancelledClasses.setInsertTime(new Date());
//                cancelledClassesService.save(cancelledClasses);
//
//                coursePackagePayment.setLaveClassHours(0);
//                packagePaymentService.updateById(coursePackagePayment);
//
//                classHour -= cancelledClasses.getCancelledClassesNumber();
//            }
//                }
@@ -1478,6 +1517,8 @@
    }
    @Resource
    private TCoursePackageMapper tcpmapper;
    /**
     * 找出符合门店的课包
     *
@@ -1499,21 +1540,42 @@
        for (String s2 : split1) {
            storeIds.add(Integer.valueOf(s2));
        }
        List<TCoursePackagePayment> list = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, integer).ge(TCoursePackagePayment::getLaveClassHours, 0).eq(TCoursePackagePayment::getStatus, 1).eq(TCoursePackagePayment::getState, 1));
        for (TCoursePackagePayment tCoursePackagePayment : list) {
            Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
            TCoursePackage byId = tcpService.getById(coursePackageId);
            if (byId.getType() == 3) {
//        List<TCoursePackagePayment> list = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, integer).ge(TCoursePackagePayment::getLaveClassHours, 0).eq(TCoursePackagePayment::getStatus, 1).eq(TCoursePackagePayment::getState, 1));
//        for (TCoursePackagePayment tCoursePackagePayment : list) {
//            Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
//            TCoursePackage byId = tcpService.getById(coursePackageId);
//            if (byId.getType() == 3) {
//                continue;
//            }
//            if (storeIds.contains(byId.getStoreId())) {
//                PayCourseRes payCourseRes = new PayCourseRes();
//                payCourseRes.setCourseNum(tCoursePackagePayment.getLaveClassHours());
//                payCourseRes.setId(tCoursePackagePayment.getId());
//                payCourseRes.setName(byId.getName());
//                objects.add(payCourseRes);
//            }
//        }
        List<CoursePackageOrderStudent> tCoursePackagePayments = coursePackageOrderStudentService.list(new LambdaQueryWrapper<CoursePackageOrderStudent>().eq(CoursePackageOrderStudent::getAppUserId, integer));
//        ArrayList<PayCourseRes> payCourseRes = new ArrayList<>();
        for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) {
            TCoursePackage tCoursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
            if (tCoursePackage.getType() != 1) {
                continue;
            }
            if (storeIds.contains(byId.getStoreId())) {
            if (storeIds.contains(tCoursePackage.getStoreId())) {
                PayCourseRes payCourseRes = new PayCourseRes();
                payCourseRes.setCourseNum(tCoursePackagePayment.getLaveClassHours());
                payCourseRes.setId(tCoursePackagePayment.getId());
                payCourseRes.setName(byId.getName());
                payCourseRes.setName(tCoursePackage.getName());
                objects.add(payCourseRes);
            }
        }
        return objects;
    }
@@ -1880,7 +1942,7 @@
    @PostMapping("/base/coursePack/obtainStudentClassDetails")
    public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId) {
//        try {
        return packagePaymentService.obtainStuClassDetails(stuId.getStuId(), stuId.getAppUserId(), stuId.getPageNum());
        return coursePackageOrderStudentService.obtainStuClassDetails(stuId.getStuId(), stuId.getAppUserId(), stuId.getPageNum());
//        }catch (Exception e){
//            e.printStackTrace();
//            throw new RuntimeException();
cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageScheduling.java
@@ -35,6 +35,21 @@
    @TableId(value = "id", type = IdType.NONE)
    private Long id;
    /**
     * 1=常规,2=假期,3=体验购课
     */
    @TableField("type")
    private Integer type;
    /**
     * 用户id
     */
    @TableField("appUserId")
    private Integer appUserId;
    /**
     * 学员id
     */
    @TableField("studentId")
    private Integer studentId;
    /**
     * 课包id
     */
    @TableField("coursePackageId")
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageOrderStudentService.java
@@ -2,10 +2,22 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.course.entity.CoursePackageOrderStudent;
import com.dsh.course.feignclient.model.RecordAppoint;
import java.util.List;
/**
 * @author zhibing.pu
 * @Date 2023/11/25 14:05
 */
public interface ICoursePackageOrderStudentService extends IService<CoursePackageOrderStudent> {
    /**
     * 查询学员的课包上课记录
     *
     * @param stuId
     * @param appUserId
     * @return
     */
    List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId, Integer pageNum);
}
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
@@ -1,10 +1,30 @@
package com.dsh.course.service.impl;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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.CoursePackageOrderStudent;
import com.dsh.course.mapper.CoursePackageOrderStudentMapper;
import com.dsh.course.entity.*;
import com.dsh.course.feignclient.model.RecordAppoint;
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
import com.dsh.course.mapper.*;
import com.dsh.course.service.ICoursePackageOrderStudentService;
import com.dsh.course.service.ICoursePackageSchedulingService;
import com.dsh.course.util.DateTimeHelper;
import com.dsh.course.util.DateUtil;
import com.dsh.course.util.ToolUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
 * @author zhibing.pu
@@ -12,4 +32,169 @@
 */
@Service
public class CoursePackageOrderStudentServiceImpl extends ServiceImpl<CoursePackageOrderStudentMapper, CoursePackageOrderStudent> implements ICoursePackageOrderStudentService {
    @Resource
    private CoursePackageStudentMapper cpsMapper;
    @Resource
    private CancelledClassesMapper cacMapper;
    @Autowired
    private ICoursePackageSchedulingService coursePackageSchedulingService;
    @Resource
    private TCoursePackageMapper tcpmapper;
    @Resource
    private StoreClient stoClient;
    @Override
    public List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId, Integer pageNum) {
        List<RecordAppoint> recordVoList = new ArrayList<>();
        List<CoursePackageOrderStudent> tCoursePackagePayments = this.baseMapper.selectList(new QueryWrapper<CoursePackageOrderStudent>()
                .eq("studentId", stuId)
                .eq("appUserId", appUserId)
                .eq("status", 1)
                .orderByDesc("insertTime"));
        List<Integer> ids = new ArrayList<>();
        for (CoursePackageOrderStudent 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) {
//            int pageNum = 1; // 页码
            int pageSize = 10; // 每页记录数
            Page<CoursePackageStudent> page = new Page<>(pageNum, pageSize);
            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(coursePackageStudent.getCoursePackageId());
                    if (!coursePackageStudent.getCoursePackageId().equals(coursePackageId)) {
                        coursePackage = tcpmapper.selectById(coursePackageStudent.getCoursePackageId());
                        coursePackageId = coursePackageStudent.getCoursePackageId();
                    }
                    recordVo.setSid(Arrays.asList(coursePackage.getStoreId()));
                    List<Integer> rid = stoClient.querySiteId(coursePackage.getStoreId());
                    recordVo.setRid(rid);
                    recordVo.setUserId(appUserId);
                    recordVo.setSiteId(coursePackage.getSiteId());
                    List<Integer> ids1 = getIds(coursePackage.getSiteId());
                    recordVo.setIds(ids1);
                    recordVo.setCoursePackageName(coursePackage.getName());
                    for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) {
                        if (Objects.equals(coursePackageStudent.getCoursePackageId(), tCoursePackagePayment.getCoursePackageId())) {
                            recordVo.setCourseHours(tCoursePackagePayment.getTotalClassHours());
                        }
                    }
                    CoursePackageScheduling byId = coursePackageSchedulingService.getById(coursePackageStudent.getCoursePackageSchedulingId());
                    if (byId == null) {
                        continue;
                    }
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String dateString1 = sdf.format(byId.getClassDate());
                    String dateString2 = sdf.format(byId.getEndDate());
                    recordVo.setTimeFrame(dateString1 + "-" + dateString2.substring(11));
                    Store store = stoClient.queryStoreById(coursePackage.getStoreId());
                    recordVo.setStoreNameAddr(store.getName() + store.getAddress());
                    recordVo.setCourseStuRecordId(coursePackageStudent.getId());
                    String classWeeks = coursePackage.getClassWeeks();
                    String[] split = classWeeks.split(";");
                    List<String> integerList = Arrays.asList(split);
                    String weekOfDate = DateTimeHelper.getWeekOfDate(new Date());
                    if (integerList.contains(weekOfDate)) {
                        String dat = simpleDateFormat.format(byId.getClassDate()) + " " + dateString1.substring(11);
                        Date start = null;
                        try {
                            start = format.parse(dat);
                        } catch (ParseException e) {
                            throw new RuntimeException(e);
                        }
                        //已取消
                        if (byId.getStatus() == 4) {
                            recordVo.setStatus(4);
                        } else if (coursePackageStudent.getSignInOrNot() == 2) {
                            //已请假
                            recordVo.setStatus(5);
                        } else if (start.after(new Date())) {
                            //待上课
                            recordVo.setStatus(1);
                        }
                        else {
                            CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
                                    .eq("coursePackageSchedulingId", byId.getId()).last("limit 1"));
                            if (ToolUtil.isNotEmpty(cancelledClasses)) {
                                recordVo.setStatus(3);
                                // 消课 到课状态0 旷课
                                if (coursePackageStudent.getSignInOrNot() == 0) {
                                    recordVo.setStatus(6);
                                }
                            } else {
                                Date now = new Date();
                                if (now.after(byId.getClassDate()) && now.before(byId.getEndDate())) {
                                    recordVo.setStatus(2);
                                } else {
                                    recordVo.setStatus(3);
                                }
                            }
                        }
                    } else {
                        recordVo.setStatus(1);
                    }
                    recordVoList.add(recordVo);
                }
            } else {
            }
        }
        return recordVoList;
    }
    public List<Integer> getIds(Integer siteId) {
        HttpRequest httpRequest = HttpRequest.get("https://try.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
        HttpResponse execute = httpRequest.execute();
        String body = execute.body();
        JSONObject jsonObject = JSONObject.parseObject(body);
        Object data = jsonObject.get("data");
        JSONArray array = JSONArray.parseArray(data.toString());
        List<Integer> ids = new ArrayList<>();
        for (Object o : array) {
            JSONObject jsonObject1 = JSONObject.parseObject(o.toString());
            Object id = jsonObject1.get("id");
            Integer integer = Integer.valueOf(id.toString());
            ids.add(integer);
        }
        return ids;
    }
}
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -502,12 +502,31 @@
    @Autowired
    private ICoursePackageOrderService coursePackageOrderService;
    @Autowired
    private ICoursePackageOrderStudentService coursePackageOrderStudentService;
    @Autowired
    private TCoursePackageService coursePackageService;
    @Override
    public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId, String lon, String lat) {
        AppUser appUser = appuClient.queryAppUser(appUserId);
        CourseDetailsResponse response = new CourseDetailsResponse();
        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId);
        CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePayId);
        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
                .eq("appUserId", coursePackageOrderStudent.getAppUserId())
                .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())
                .eq("payStatus", 2)
                .eq("state", 1)
                .like("studentIds", coursePackageOrderStudent.getStudentId())
                .orderByDesc("insertTime")
                .last(" limit 0, 1")
        );
        response.setChooseHours(coursePackageOrder.getClassHours());
        if (null != coursePackageOrder) {
@@ -1215,10 +1234,6 @@
            Integer integer = cpsMapper.selectCount(new QueryWrapper<CoursePackageStudent>().eq("appUserId", appUserId)
                    .eq("studentId", studentId).eq("coursePackagePaymentId", id).eq("signInOrNot", 2));
            map.put("already", integer);
//            if (student != null && student.getName().equals("杨锴1")) {
//                map.put("totalClassHours", "测试");
//            }
            ;
        }
        return list;
    }
@@ -1277,9 +1292,9 @@
    @Override
    public List<PayCourseRes> getMyCourseList(Integer storeId, Integer appUserId) {
        // 找到购买的课包
        List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, appUserId));
        List<CoursePackageOrderStudent> tCoursePackagePayments = coursePackageOrderStudentService.list(new LambdaQueryWrapper<CoursePackageOrderStudent>().eq(CoursePackageOrderStudent::getAppUserId, appUserId));
        ArrayList<PayCourseRes> payCourseRes = new ArrayList<>();
        for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
        for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) {
            TCoursePackage tCoursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
            if (tCoursePackage.getType() != 1) {
                continue;
@@ -1396,121 +1411,46 @@
        // 添加购买课时 paytyoe为7
        // 排课可期  判断课程时间段  添加排课表  添加上课记录表
        // 找到原来的课包 扣课时
        TCoursePackagePayment tCoursePackagePayment = this.baseMapper.selectById(req.getOldCourseId());
        if (req.getNum() > tCoursePackagePayment.getLaveClassHours()) {
        CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(req.getOldCourseId());
        if (req.getNum() > coursePackageOrderStudent.getLaveClassHours()) {
            return ResultUtil.error("当前课包课时数不足");
        }
        tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours() - req.getNum());
        this.baseMapper.updateHoursById(tCoursePackagePayment.getId(), -req.getNum());
        TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
        coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum());
        coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
        //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录
        List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
                .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1)
                .eq("type", 1).orderByDesc("classDate"));
        //已经排课但没有使用的课时数量
        int number = list1.size() * coursePackage.getNeedNum();
        Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours();
        //需要删除多余的排课记录
        if(number > laveClassHours1){
            int n = number - laveClassHours1;
            for (int i = 0; i < n; i++) {
                CoursePackageScheduling coursePackageScheduling = list1.get(i);
                coursePackageSchedulingService.getBaseMapper().deleteById(coursePackageScheduling.getId());
        List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", tCoursePackagePayment.getStudentId()).eq("coursePackageId", tCoursePackagePayment.getCoursePackageId()));
        List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
        List<CoursePackageScheduling> list = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id", collect).le("classDate", new Date()));
        coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect).le("classDate", new Date()));
        List<Long> collect1 = list.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
//        coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id",collect));
        coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", tCoursePackagePayment.getStudentId()).eq("coursePackageId", tCoursePackagePayment.getCoursePackageId()));
        TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId());
        String classWeeks = tCoursePackage.getClassWeeks();
        List<Integer> week = week(classWeeks);
        TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", tCoursePackagePayment.getCoursePackageId()).eq("studentId", tCoursePackagePayment.getStudentId()));
        Date today = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DATE, -1);
        today = calendar.getTime();
        Integer laveClassHours = pay.getLaveClassHours();
        Integer codeTime = tCoursePackage.getCodeTime();
        Integer can = laveClassHours / codeTime;
        int count = 0;
        String[] split = tCoursePackage.getClassStartTime().split(",");
        String[] split1 = tCoursePackage.getClassEndTime().split(",");
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        Date[] dates = generateDateArray(14, today);
        for (Date date : dates) {
            if (count == can) {
                break;
            }
            int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date);
            if (week.contains(wei)) {
                for (int i1 = 0; i1 < split.length; i1++) {
                    if (count == can) {
                        break;
                    }
                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                    Date parse = format1.parse(format.format(date) + " " + split[i1]);
                    Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
                    coursePackageScheduling.setClassDate(parse);
                    coursePackageScheduling.setEndDate(parse1);
                    coursePackageScheduling.setStatus(1);
                    coursePackageSchedulingService.save(coursePackageScheduling);
                    CoursePackageStudent student1 = new CoursePackageStudent();
                    student1.setAppUserId(pay.getAppUserId());
                    student1.setStudentId(pay.getStudentId());
                    student1.setCoursePackageId(pay.getCoursePackageId());
                    student1.setCoursePackagePaymentId(pay.getId());
                    student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
                    student1.setSignInOrNot(1);
                    student1.setReservationStatus(1);
                    student1.setInsertTime(new Date());
                    coursePackageStudentService.save(student1);
                    count++;
                }
                coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>()
                        .eq("coursePackageSchedulingId", coursePackageScheduling.getId()));
            }
        }
//        TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId());
        // 添加课包
        TCoursePackagePayment tCoursePackagePayment1 = new TCoursePackagePayment();
//        tCoursePackagePayment1.setAppUserId(userId);
//        Student student = studentClient.queryDefaultStudent(userId);
//        // student ID
//
//        Integer sId=null;
//        if(student!=null){
//            tCoursePackagePayment1.setStudentId(student.getId());
//            sId=student.getId();
//        }
        tCoursePackagePayment1.setCoursePackageId(tCoursePackage.getId());
        tCoursePackagePayment1.setStudentId(req.getStuId());
        tCoursePackagePayment1.setPayType(7);
        tCoursePackagePayment1.setClassHours(req.getNum());
        tCoursePackagePayment1.setOriginalPrice(0.0);
        tCoursePackagePayment1.setTotalClassHours(req.getNum());
        tCoursePackagePayment1.setLaveClassHours(req.getNum());
        tCoursePackagePayment1.setAbsencesNumber(0);
        tCoursePackagePayment1.setPayUserType(1);
        tCoursePackagePayment1.setPayStatus(2);
        tCoursePackagePayment1.setPayUserId(userId);
        tCoursePackagePayment1.setStatus(1);
        tCoursePackagePayment1.setAppUserId(userId);
        tCoursePackagePayment1.setState(1);
        tCoursePackagePayment1.setInsertTime(new Date());
        this.baseMapper.insert(tCoursePackagePayment1);
        // 找出课包时间段
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String classStartTime = tCoursePackage.getClassStartTime();
        String classEndTime = tCoursePackage.getClassEndTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String classStartTime = coursePackage.getClassStartTime();
        String classEndTime = coursePackage.getClassEndTime();
        String[] split5 = classStartTime.split(",");
        String[] split6 = classEndTime.split(",");
        List<String> time = req.getTime();
        for (String s : time) {
            for (int i = 0; i < split5.length; i++) {
                CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                coursePackageScheduling.setType(3);
                coursePackageScheduling.setAppUserId(userId);
                coursePackageScheduling.setStudentId(req.getStuId());
                coursePackageScheduling.setCoursePackageId(coursePackage.getId());
                try {
                    Date parse = format.parse(s + " " + split5[i]);
                    Date parse1 = format.parse(s + " " + split6[i]);
@@ -1522,8 +1462,8 @@
                    CoursePackageStudent student1 = new CoursePackageStudent();
                    student1.setAppUserId(userId);
                    student1.setStudentId(req.getStuId());
                    student1.setCoursePackageId(tCoursePackage.getId());
                    student1.setCoursePackagePaymentId(tCoursePackagePayment1.getId());
                    student1.setCoursePackageId(coursePackage.getId());
                    student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
                    student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
                    student1.setSignInOrNot(1);
                    student1.setReservationStatus(1);
@@ -1538,18 +1478,10 @@
        }
        // 2.0
//        TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
//        tCourseInfoRecord.setUserId(userId);
//        tCourseInfoRecord.setCourseId(req.getCourseId());
//        tCourseInfoRecord.setName("体验购课");
//        tCourseInfoRecord.setNum(req.getNum());
//        tCourseInfoRecord.setTime(new Date());
//        tCourseInfoRecord.setType(2);
//        appuClient.addCourseInfoRecord(tCourseInfoRecord);
        CourseCounsum courseCounsum = new CourseCounsum();
        courseCounsum.setPaymentId(tCoursePackagePayment.getId());
        courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
        courseCounsum.setChangeType(0);
        courseCounsum.setNum(req.getNum());
        courseCounsum.setInsertTime(new Date());
@@ -1558,7 +1490,7 @@
        courseCounsumService.save(courseCounsum);
        if (tCoursePackagePayment.getLaveClassHours() <= 3) {
        if (coursePackageOrderStudent.getLaveClassHours() <= 3) {
            Integer appUserId = userId;
            //调用推送
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1001,7 +1001,7 @@
                                    coursePackageOrder1.setOrderNumber(transaction_id);
                                    coursePackageOrder1.setAppUserId(null);
                                    coursePackageOrderService.updateById(coursePackageOrder1);
                                    addCoursePackageOrderStudent(coursePackageOrder1, coursePackagePaymentConfig);
                                    addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                    break;
                                }
                                if ("USERPAYING".equals(s)) {
@@ -1091,7 +1091,7 @@
                                    coursePackageOrder1.setOrderNumber(tradeNo);
                                    coursePackageOrder1.setAppUserId(null);
                                    coursePackageOrderService.updateById(coursePackageOrder1);
                                    addCoursePackageOrderStudent(coursePackageOrder1, coursePackagePaymentConfig);
                                    addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                    break;
                                }
                                if ("WAIT_BUYER_PAY".equals(s)) {
@@ -1147,7 +1147,7 @@
        coursePackageOrder.setInsertTime(new Date());
        coursePackageOrderService.save(coursePackageOrder);
        addCoursePackageOrderStudent(coursePackageOrder, coursePackagePaymentConfig);
        addCoursePackageOrderStudent(coursePackageOrder.getId(), coursePackagePaymentConfig);
        return ResultUtil.success();
    }
@@ -1172,7 +1172,7 @@
        coursePackageOrderService.updateById(coursePackageOrder1);
        CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(attach);
        addCoursePackageOrderStudent(coursePackageOrder1, coursePackagePaymentConfig);
        addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
        return ResultUtil.success();
    }
@@ -1180,10 +1180,10 @@
    /**
     * 支付成功后添加学员课时数据
     *
     * @param coursePackageOrder
     * @param coursePackagePaymentConfig
     */
    public void addCoursePackageOrderStudent(CoursePackageOrder coursePackageOrder, CoursePackagePaymentConfig coursePackagePaymentConfig) {
    public void addCoursePackageOrderStudent(Long coursePackageOrderId, CoursePackagePaymentConfig coursePackagePaymentConfig) {
        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePackageOrderId);
        // 发放优惠券
        userCouponClient.sendUserCoupon(new SendCouponReq(coursePackageOrder.getAppUserId(), coursePackagePaymentConfig.getCouponIds()));
@@ -1211,6 +1211,7 @@
                calendar.setTime(new Date());
                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                coursePackageOrderStudent.setUseTime(calendar.getTime());
                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                //开始排课
                addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
@@ -1223,15 +1224,15 @@
                calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                coursePackageOrderStudent.setUseTime(calendar.getTime());
                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                //中间断课,没有连续续费的情况需要重新排课
                if (useTime.compareTo(new Date()) < 0) {
                    addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
                }
            }
            coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
            CourseCounsum courseCounsum = new CourseCounsum();
            courseCounsum.setPaymentId(coursePackageOrder.getId());
            courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
            courseCounsum.setChangeType(1);
            courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
            courseCounsum.setInsertTime(new Date());
@@ -1301,6 +1302,9 @@
                        laveClassHours -= codeTime;
                        CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                        coursePackageScheduling.setType(tCoursePackage.getType());
                        coursePackageScheduling.setAppUserId(userId);
                        coursePackageScheduling.setStudentId(sId);
                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                        Date parse = format1.parse(format.format(time) + " " + split[j]);
                        Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
@@ -1360,6 +1364,9 @@
                            break;
                        }
                        CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                        coursePackageScheduling.setType(tCoursePackage.getType());
                        coursePackageScheduling.setAppUserId(userId);
                        coursePackageScheduling.setStudentId(sId);
                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                        Date parse = format1.parse(format.format(time) + " " + split[j]);
                        Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -75,7 +75,7 @@
        laveClassHours,
        absencesNumber,
        `status`
        from t_course_package_payment where payStatus = 2 and state = 1
        from t_course_package_order_student where state = 1
        <if test="null != coursePackageId">
            and coursePackageId = #{coursePackageId}
        </if>
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
@@ -260,17 +260,19 @@
        //查询学员信息
        TStudentDto tStudentDto = itStudentService.listOne(tStudentId);
        model.addAttribute("item", tStudentDto);
        if (tStudentDto.getLateralSurface()!=null) {
        if (tStudentDto.getLateralSurface()!=null&&!tStudentDto.getLateralSurface().equals("")) {
            String[] pics = tStudentDto.getLateralSurface().split(";");
            model.addAttribute("pic1", pics[0]);
            System.out.println("=====pic1==" + pics[0]);
            if (pics.length > 1) {
                model.addAttribute("pic2", pics[1]);
                System.out.println("=====pic2==" + pics[1]);
            }
            if (pics.length > 2) {
                model.addAttribute("pic3", pics[2]);
                System.out.println("=====pic3==" + pics[2]);
            if (pics.length>0) {
                model.addAttribute("pic1", pics[0]);
                System.out.println("=====pic1==" + pics[0]);
                if (pics.length > 1) {
                    model.addAttribute("pic2", pics[1]);
                    System.out.println("=====pic2==" + pics[1]);
                }
                if (pics.length > 2) {
                    model.addAttribute("pic3", pics[2]);
                    System.out.println("=====pic3==" + pics[2]);
                }
            }
        }
@@ -306,7 +308,7 @@
        model.addAttribute("item", tStudentDto);
        if (tStudentDto.getLateralSurface()!=null) {
        if (tStudentDto.getLateralSurface()!=null&&!tStudentDto.equals("")) {
            String[] pics = tStudentDto.getLateralSurface().split(";");
            model.addAttribute("pic1", pics[0]);
            System.out.println("=====pic1==" + pics[0]);
@@ -434,8 +436,6 @@
        List<Map<String,Object>> maps =   studentClient.listCom(id);
        return maps;
    }
@@ -450,7 +450,8 @@
        evaluateStudent.setImgs(image);
//        evaluateStudent.setInsertTime(new Date());
        User user = UserExt.getUser();
        evaluateStudent.setCoachId(user.getId());
        appUserClient.save(evaluateStudent);
//        evaluateStudentService.save(evaluateStudent);
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html
@@ -1369,7 +1369,7 @@
                          "actionType": "dialog",
                          "dialog": {
                            "type": "dialog",
                            "title": "弹框标题",
                            "title": "课时变更记录",
                            "body": [
                              {
                                "type": "form",
@@ -1431,7 +1431,7 @@
                                        {
                                          "type": "input-date-range",
                                          "name": "start",
                                          "label": "上传时间",
                                          "label": "时间",
                                          "id": "u:b2fb064aa9ac",
                                          "inputFormat": "YYYY-MM-DD HH:mm",
                                          "format": "YYYY-MM-DD HH:mm",
@@ -1440,7 +1440,7 @@
                                        },
                                        {
                                          "type": "select",
                                          "label": "是否启用",
                                          "label": "变更类型",
                                          "name": "changeType",
                                          "options": [
                                            {
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -682,6 +682,19 @@
    }
    @Autowired
    private  IUserService userService;
    @ResponseBody
    @PostMapping("/base/site/queryUserName")
    public User queryUserName(@RequestBody Integer coachId){
        User byId = userService.getById(coachId);
        return byId;
    }
    @ResponseBody
    @PostMapping("/base/site/queryOperator")
    public OperatorUser queryOperator(@RequestBody List<Integer> stores) {
cloud-server-other/src/main/java/com/dsh/other/mapper/UserMapper.java
New file
@@ -0,0 +1,24 @@
package com.dsh.other.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.other.model.User;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 管理员表 Mapper 接口
 * </p>
 *
 * @author stylefeng
 * @since 2017-07-11
 */
public interface UserMapper extends BaseMapper<User> {
}
cloud-server-other/src/main/java/com/dsh/other/model/User.java
New file
@@ -0,0 +1,270 @@
package com.dsh.other.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
 * 管理员表
 * </p>
 *
 * @author stylefeng
 * @since 2017-07-11
 */
@TableName("sys_user")
public class User extends Model<User> {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @TableId(value="id", type= IdType.AUTO)
    private Integer id;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 账号
     */
    private String account;
    /**
     * 密码
     */
    private String password;
    /**
     * md5密码盐
     */
    private String salt;
    /**
     * 名字
     */
    private String name;
    /**
     * 生日
     */
    private Date birthday;
    /**
     * 性别(1:男 2:女)
     */
    private Integer sex;
    /**
     * 电子邮件
     */
    private String email;
    /**
     * 电话
     */
    private String phone;
    /**
     * 角色id
     */
    private String roleid;
    /**
     * 部门id
     */
    private Integer deptid;
    /**
     * 状态(1:启用  2:冻结  3:删除)
     */
    private Integer status;
    /**
     * 创建时间
     */
    private Date createtime;
    /**
     * 保留字段
     */
    private Integer version;
    /**
     * 对象类型(1=平台,2=城市管理员,3=门店)
     */
    @TableField("objectType")
    private Integer objectType;
    /**
     * objectId
     */
    @TableField("objectId")
    private Integer objectId;
    @TableField("idCard")
    private String idCard;
    public String getIdCard() {
        return idCard;
    }
    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getAvatar() {
        return avatar;
    }
    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
    public String getAccount() {
        return account;
    }
    public void setAccount(String account) {
        this.account = account;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getSalt() {
        return salt;
    }
    public void setSalt(String salt) {
        this.salt = salt;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public Integer getSex() {
        return sex;
    }
    public void setSex(Integer sex) {
        this.sex = sex;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getRoleid() {
        return roleid;
    }
    public void setRoleid(String roleid) {
        this.roleid = roleid;
    }
    public Integer getDeptid() {
        return deptid;
    }
    public void setDeptid(Integer deptid) {
        this.deptid = deptid;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public Date getCreatetime() {
        return createtime;
    }
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }
    public Integer getVersion() {
        return version;
    }
    public void setVersion(Integer version) {
        this.version = version;
    }
    public Integer getObjectType() {
        return objectType;
    }
    public void setObjectType(Integer objectType) {
        this.objectType = objectType;
    }
    public Integer getObjectId() {
        return objectId;
    }
    public void setObjectId(Integer objectId) {
        this.objectId = objectId;
    }
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    @Override
    public String toString() {
        return "User{" +
            "id=" + id +
            ", avatar=" + avatar +
            ", account=" + account +
            ", password=" + password +
            ", salt=" + salt +
            ", name=" + name +
            ", birthday=" + birthday +
            ", sex=" + sex +
            ", email=" + email +
            ", phone=" + phone +
            ", roleid=" + roleid +
            ", deptid=" + deptid +
            ", status=" + status +
            ", createtime=" + createtime +
            ", version=" + version +
            "}";
    }
}
cloud-server-other/src/main/java/com/dsh/other/service/IUserService.java
New file
@@ -0,0 +1,23 @@
package com.dsh.other.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.other.model.User;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 管理员表 服务类
 * </p>
 *
 * @author stylefeng123
 * @since 2018-02-22
 */
public interface IUserService extends IService<User> {
}
cloud-server-other/src/main/java/com/dsh/other/service/impl/UserServiceImpl.java
New file
@@ -0,0 +1,29 @@
package com.dsh.other.service.impl;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.other.mapper.UserMapper;
import com.dsh.other.model.User;
import com.dsh.other.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 管理员表 服务实现类
 * </p>
 *
 * @author stylefeng123
 * @since 2018-02-22
 */
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
}
cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java
@@ -36,7 +36,8 @@
                long l = time + 1800 * 1000;
                if (System.currentTimeMillis() > l) {
                    siteBooking.setStatus(5);
                    siteBookingMapper.deleteById(siteBooking.getId());
                    siteBookingMapper.updateById(siteBooking);
//                    siteBookingMapper.deleteById(siteBooking.getId());
                }
            }
            //定时修改赛事状态