puzhibing
2023-07-12 aa43a92c7ec9053dbaef92fe5ccb3011b670442c
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -2,13 +2,17 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.account.entity.Coach;
import com.dsh.account.entity.TAppUser;
import com.dsh.account.entity.TStudent;
import com.dsh.account.feignclient.activity.IntroduceRewardsClient;
import com.dsh.account.feignclient.activity.UserConponClient;
import com.dsh.account.feignclient.activity.model.IntrduceOfUserRequest;
import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
import com.dsh.account.feignclient.competition.ParticipantClient;
import com.dsh.account.feignclient.competition.model.GetStuSourseList;
import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
import com.dsh.account.feignclient.competition.model.SaveParticipant;
import com.dsh.account.feignclient.course.CancelListClient;
import com.dsh.account.feignclient.course.CoursePaymentClient;
import com.dsh.account.feignclient.course.CourseRecordClient;
@@ -18,8 +22,10 @@
import com.dsh.account.feignclient.other.QuestionClient;
import com.dsh.account.feignclient.other.StoreClient;
import com.dsh.account.feignclient.other.model.*;
import com.dsh.account.mapper.CoachMapper;
import com.dsh.account.mapper.TAppUserMapper;
import com.dsh.account.mapper.TStudentMapper;
import com.dsh.account.model.vo.classDetails.ClasspaymentRequest;
import com.dsh.account.model.vo.classDetails.classInsVo.ClassDetailsInsVo;
import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq;
import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo;
@@ -33,8 +39,8 @@
import com.dsh.account.service.TStudentService;
import com.dsh.account.util.DateTimeHelper;
import com.dsh.account.util.DateUtil;
import com.dsh.account.util.ResultUtil;
import com.dsh.account.util.ToolUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -88,6 +94,15 @@
    @Resource
    private TAppUserMapper tauMapper;
    @Resource
    private CoachMapper coachMapper;
    @Resource
    private ParticipantClient participantClient;
    @Override
    public void addStuOfAppUser(StuDetailsReq stu,Integer appUserId) {
        TStudent student = new TStudent();
@@ -107,6 +122,18 @@
        student.setInsertTime(new Date());
        student.setState(1);
        this.baseMapper.insert(student);
        //同步信息到参赛人员信息中
        SaveParticipant saveParticipant = new SaveParticipant();
        saveParticipant.setAppUserId(appUserId);
        saveParticipant.setName(student.getName());
        saveParticipant.setBirthday(student.getBirthday());
        saveParticipant.setGender(student.getSex());
        saveParticipant.setHeight(student.getHeight().intValue());
        saveParticipant.setWeight(student.getWeight());
        saveParticipant.setPhone(student.getPhone());
        saveParticipant.setIdcard(student.getIdCard());
        participantClient.saveParticipant(saveParticipant);
    }
    @Override
@@ -133,7 +160,14 @@
            getStuSourseList.setAppUserId(userIdFormRedis);
            List<PurchaseRecordVo> stuSourseList = dcttClient.getStuSourseList(getStuSourseList);
            purchaseRecordVoList.addAll(stuSourseList);
            List<PurchaseRecordVo> cancelCourseList = cancelcClient.getCancelCourseList(localMonthStart,localMonthEnd,stuId,userIdFormRedis);
            GetStuSessionList sessionList = new GetStuSessionList();
            sessionList.setStartTime(localMonthStart);
            sessionList.setEndTime(localMonthEnd);
            sessionList.setStuId(stuId);
            sessionList.setAppUserId(userIdFormRedis);
            List<PurchaseRecordVo> cancelCourseList = cancelcClient.getCancelCourseList(sessionList);
            purchaseRecordVoList.addAll(cancelCourseList);
            List<PurchaseRecordVo> purchaseRecordVos = sessionNameClient.queryCourseDetails(getStuSessionList);
            purchaseRecordVoList.addAll(purchaseRecordVos);
@@ -141,7 +175,11 @@
                    .eq("referralUserId",userIdFormRedis )
                    .between("insertTime",localMonthStart ,localMonthEnd));
            List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
            List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(localMonthStart, localMonthEnd, userIds);
            IntrduceOfUserRequest request  = new IntrduceOfUserRequest();
            request.setStartTime(localMonthStart);
            request.setEndTime(localMonthEnd);
            request.setUserIds(userIds);
            List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(request);
            purchaseRecordVoList.addAll(purchaseRecordVos1);
            insVo.setSessionNames(stuSessionList);
            insVo.setDetails(dealDataOfTime(purchaseRecordVoList));
@@ -152,7 +190,11 @@
            insVo.setTotalNums(stuOfCoursesDetails.getTotalNums());
            insVo.setDeductedNums(stuOfCoursesDetails.getDeductedNums());
            insVo.setRemainingNums(stuOfCoursesDetails.getRemainingNums());
            Integer deductionClassHour = crClient.getDeductionClassHour(lessonId, stuId, userIdFormRedis);
            GetStudentCourse course = new GetStudentCourse();
            course.setCourseId(lessonId);
            course.setStuId(stuId);
            course.setAppUserId(userIdFormRedis);
            Integer deductionClassHour = crClient.getDeductionClassHour(course);
            insVo.setDeductionClassHours(deductionClassHour);
        }
@@ -170,7 +212,14 @@
        getStuSourseList.setAppUserId(appUserId);
        List<PurchaseRecordVo> stuSourseList = dcttClient.getStuSourseList(getStuSourseList);
        purchaseRecordVoList.addAll(stuSourseList);
        List<PurchaseRecordVo> cancelCourseList = cancelcClient.getCancelCourseList(startTime,endTime,timeRequest.getStuId(),appUserId);
        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);
@@ -183,7 +232,11 @@
                .eq("referralUserId",appUserId )
                .between("insertTime",startTime ,endTime));
        List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
        List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(startTime, endTime, userIds);
        IntrduceOfUserRequest request  = new IntrduceOfUserRequest();
        request.setStartTime(startTime);
        request.setEndTime(endTime);
        request.setUserIds(userIds);
        List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(request);
        purchaseRecordVoList.addAll(purchaseRecordVos1);
        purchaseRecordVoList = dealDataOfTime(purchaseRecordVoList);
@@ -206,9 +259,27 @@
        getStudentCourse.setStuId(stuId);
        getStudentCourse.setAppUserId(appUserId);
        StudentOfCourseVo studentCourse = couPayClient.getStudentCourse(getStudentCourse);
        resp.setCoursePackageId(studentCourse.getCoursePackageId());
        resp.setStuId(stuId);
        resp.setPackageImg(studentCourse.getPackageImg());
        resp.setCourseName(studentCourse.getCourseName());
        Coach coach = coachMapper.selectById(studentCourse.getCoachId());
        resp.setTeacherName(coach.getName());
        resp.setCourseWeek(studentCourse.getCourseWeek());
        resp.setCourseTime(studentCourse.getCourseTime());
        StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(studentCourse.getStoreId());
        resp.setStoreName(courseOfStore.getStoreName());
        resp.setStoreAddr(courseOfStore.getStoreAddr());
        resp.setTypeList(studentCourse.getTypeList());
        TStudent tStudent = this.baseMapper.selectById(stuId);
        resp.setStuName(tStudent.getName());
        resp.setStuPhone(tStudent.getPhone());
        resp.setStuAge(DateUtil.age(tStudent.getBirthday()));
        resp.setAmount(studentCourse.getAmount());
        resp.setVipAmount(studentCourse.getVipAmount());
        resp.setWpGold(studentCourse.getWpGold());
        return resp;
    }
@@ -301,4 +372,37 @@
        return purchaseRecords;
    }
    @Override
    public ResultUtil renewClassPayment(Integer userIdFormRedis, ClasspaymentRequest request) {
        // TODO: 2023/7/5 续课支付
        switch (request.getPayType()){
            case 1:
                WeChatPayment();
                break;
            case 2:
                AlipayPayment();
                break;
            case 3:
                PlaypaiGoldPayment();
                break;
            default:
                break;
        }
        return ResultUtil.success();
    }
    public void WeChatPayment(){
    }
    public void AlipayPayment(){
    }
    public void PlaypaiGoldPayment(){
    }
}