puzhibing
2023-07-04 60ef8b4a95540dfab9df0447364ee40c18354010
cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java
New file
@@ -0,0 +1,66 @@
package com.dsh.course.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.course.entity.CancelledClasses;
import com.dsh.course.entity.TCoursePackagePayment;
import com.dsh.course.feignclient.model.PurchaseRecordVo;
import com.dsh.course.service.CancelledClassesService;
import com.dsh.course.service.TCoursePackagePaymentService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Api
@CrossOrigin
@RestController
@RequestMapping("")
public class CancelSourceController {
    @Autowired
    private CancelledClassesService caceService;
    @Autowired
    private TCoursePackagePaymentService tcppService;
    private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
    /**
     * 获取课包对应的消费记录
     * @param stuId 学员id
     * @param appUserId 用户id
     * @return
     */
    @PostMapping("/cancelSource/cancelList")
    public List<PurchaseRecordVo> getCancelCourseList(@RequestBody Date startTime,@RequestBody Date  endTime,@RequestBody Integer stuId,@RequestBody Integer appUserId){
        List<PurchaseRecordVo> purchaseRecordVos = new ArrayList<>();
        List<TCoursePackagePayment> tCoursePackagePayments = tcppService.queryAllCoursePackage(startTime,endTime,null,stuId, appUserId);
        List<Integer> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList());
        List<CancelledClasses> list = caceService.list(new QueryWrapper<CancelledClasses>()
                .in("coursePackageId", coursePackageIds)
                .between("insertTime",startTime,endTime));
        if (list.size() > 0){
            list.forEach( canse -> {
                PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo();
                purchaseRecordVo.setPurchaseTime(format.format(canse.getInsertTime()));
                purchaseRecordVo.setPurchaseType("");
                purchaseRecordVo.setPurchaseAmount("-"+canse.getCancelledClassesNumber());
                purchaseRecordVos.add(purchaseRecordVo);
            });
        }
        return purchaseRecordVos;
    }
}