liujie
2023-10-08 35d72e26dc2b3159021636dc1e540da0a8735b4e
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -11,9 +11,7 @@
import com.dsh.competition.feignclient.account.AppUserClient;
import com.dsh.competition.feignclient.account.model.AppUser;
import com.dsh.competition.feignclient.model.*;
import com.dsh.competition.model.CompetitionInfo;
import com.dsh.competition.model.CompetitionListVo;
import com.dsh.competition.model.PaymentCompetitionVo;
import com.dsh.competition.model.*;
import com.dsh.competition.service.CompetitionService;
import com.dsh.competition.service.IParticipantService;
import com.dsh.competition.service.IPaymentCompetitionService;
@@ -32,10 +30,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -74,30 +69,38 @@
    @Autowired
    private AppUserClient appUserClient;
    /**
     * 获取赛事报名记录
     */
    @ResponseBody
    @RequestMapping("/base/competition/listAllPayment")
    public List<PaymentCompetition> listAllPayment(@RequestBody CompetitionQuery query){
        return paymentCompetitionService.listAll(query);
    }
    @ResponseBody
    @PostMapping("/base/competition/getPayedCompetitions")
    public List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo){
        List<Integer> integers = new ArrayList<>();
        integers.add(1);
        integers.add(2);
        return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
                .in("payType",integers)
                .eq("appUserId",requestVo.getAppUserId())
                .eq("payStatus",2)
                .between("payTime",requestVo.getMonthStart(),requestVo.getMonthEnd()));
    public BillingRequestVo getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo){
        BillingRequestVo billingRequestVo = new BillingRequestVo();
        List<BillingRequest> integers = new ArrayList<>();
        integers = paymentCompetitionService.queryDatas(requestVo.getAppUserId(),requestVo.getMonthStart(),requestVo.getMonthEnd());
        System.out.println(integers);
        if (integers.size() > 0 ){
            billingRequestVo.setRequests(integers);
        }
        return billingRequestVo;
    }
    @ResponseBody
    @PostMapping("/base/competition/getCancelOrderOfUserPay")
    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo requestVo){
        List<Integer> integers = new ArrayList<>();
        integers.add(1);
        integers.add(2);
        return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
                .in("payType",integers)
                .eq("appUserId",requestVo.getAppUserId())
                .eq("payStatus",3)
                .between("refundTime",requestVo.getMonthStart(),requestVo.getMonthEnd()));
    public BillingRequestVo getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo requestVo){
        BillingRequestVo billingRequestVo = new BillingRequestVo();
        List<BillingRequest> integers = new ArrayList<>();
        integers = paymentCompetitionService.queryCancelDatas(requestVo.getAppUserId(),requestVo.getMonthStart(),requestVo.getMonthEnd());
        System.out.println(integers);
        if (integers.size() > 0 ){
            billingRequestVo.setRequests(integers);
        }
        return billingRequestVo;
    }
@@ -203,6 +206,7 @@
    @ApiOperation(value = "赛事报名", tags = {"APP-赛事活动列表"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo){
        try {
@@ -211,6 +215,27 @@
                return ResultUtil.tokenErr();
            }
            return cttService.paymentCompetition(uid, paymentCompetitionVo);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/api/competition/paymentCompetitionCourseList")
    @ApiOperation(value = "赛事报名--支付可用课时列表", tags = {"APP-赛事活动列表"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
            @ApiImplicitParam(value = "赛事id", name = "id", dataType = "int", required = true),
    })
    public ResultUtil paymentCompetitionCourseList(Integer id){
        try {
            Integer uid = tokenUtil.getUserIdFormRedis();
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return cttService.paymentCompetitionCourseList(uid, id);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -520,5 +545,32 @@
        }
    }
    @PostMapping("/base/competition/queryFee")
    public Double queryFee(@RequestBody QueryDataFee queryDataFee){
        HashMap<String, Object> map = new HashMap<>();
        String data = queryDataFee.getData();
        List<Integer> ids = queryDataFee.getIds();
        if(ids.size()==0){
            ids.add(-1);
        }
        LambdaQueryWrapper<PaymentCompetition> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if(ToolUtil.isNotEmpty(data)){
            String stime = data.split(" - ")[0]+" 00:00:00";
            String etime = data.split(" - ")[1]+" 23:59:59";
            vipPaymentLambdaQueryWrapper.between(PaymentCompetition::getInsertTime,stime,etime);
        }
        vipPaymentLambdaQueryWrapper.in(PaymentCompetition::getAppUserId,ids);
        vipPaymentLambdaQueryWrapper.eq(PaymentCompetition::getPayStatus,2);
        ArrayList<Integer> objects = new ArrayList<>();
        objects.add(1);
        objects.add(2);
        vipPaymentLambdaQueryWrapper.in(PaymentCompetition::getPayType,objects);
        List<PaymentCompetition> list = paymentCompetitionService.list(vipPaymentLambdaQueryWrapper);
        double sum = list.stream().mapToDouble(PaymentCompetition::getAmount).sum();
        return sum;
    }
}