liujie
2023-07-26 948b7295fa09ff0edbabc2ef92875adf6ed9bc2e
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -1,21 +1,28 @@
package com.dsh.competition.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.competition.entity.Competition;
import com.dsh.competition.entity.Participant;
import com.dsh.competition.entity.PaymentCompetition;
import com.dsh.competition.entity.UserCompetition;
import com.dsh.competition.feignclient.model.GetPeopleQuery;
import com.dsh.competition.feignclient.model.GetStuSourseList;
import com.dsh.competition.feignclient.model.ListQuery;
import com.dsh.competition.feignclient.model.PurchaseRecordVo;
import com.dsh.competition.model.CompetitionInfo;
import com.dsh.competition.model.CompetitionListVo;
import com.dsh.competition.model.PaymentCompetitionVo;
import com.dsh.competition.service.CompetitionService;
import com.dsh.competition.service.IParticipantService;
import com.dsh.competition.service.IPaymentCompetitionService;
import com.dsh.competition.service.UserCompetitionService;
import com.dsh.competition.util.PayMoneyUtil;
import com.dsh.competition.util.ResultUtil;
import com.dsh.competition.util.TokenUtil;
import com.dsh.competition.util.ToolUtil;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -61,6 +68,9 @@
    @Autowired
    private IPaymentCompetitionService paymentCompetitionService;
    @Autowired
    private IParticipantService participantService;
    @PostMapping("/base/competition/getPayedCompetitions")
@@ -115,8 +125,8 @@
                PurchaseRecordVo recordVo = new PurchaseRecordVo();
                recordVo.setPurchaseType("报名赛事");
                recordVo.setPurchaseTime(dateFormat.format(coms.getInsertTime()));
                Competition competition = cttService.getById(coms.getCompetitionId());
                recordVo.setPurchaseAmount("-"+competition.getPrice());
                PaymentCompetition paymentCompetition = paymentCompetitionService.getById(coms.getPaymentCompetitionId());
                recordVo.setPurchaseAmount("-"+paymentCompetition.getAmount());
                recordVos.add(recordVo);
            });
        }
@@ -274,7 +284,7 @@
    @PostMapping("/api/competition/queryMyCompetitionList")
    @ApiOperation(value = "获取已报名赛事列表", tags = {"APP-赛事活动列表"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "类型(1=未开始,2=进行中,3=已结束,4=已取消)", name = "type", dataType = "int", required = true),
            @ApiImplicitParam(value = "类型(0=全部,1=未开始,2=进行中,3=已结束,4=已取消)", name = "type", dataType = "int", required = true),
            @ApiImplicitParam(value = "页码,首页1", name = "pageSize", dataType = "int", required = true),
            @ApiImplicitParam(value = "页条数", name = "pageNo", dataType = "int", required = true),
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
@@ -366,5 +376,96 @@
            e.printStackTrace();
        }
    }
    @PostMapping("/base/competition/queryById")
    public  Competition queryById(Integer id){
        try {
            return cttService.getById(id);
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }
    @PostMapping("/base/competition/list")
    public Page<Competition> list(@RequestBody ListQuery listQuery){
        try {
            Page<Competition> competitionPage = new Page<>(listQuery.getOffset(),listQuery.getLimit());
            LambdaQueryWrapper<Competition> wrapper = new LambdaQueryWrapper<>();
            if(ToolUtil.isNotEmpty(listQuery.getProvinceCode())){
                wrapper.eq(Competition::getProvinceCode,listQuery.getProvinceCode());
            }
            if(ToolUtil.isNotEmpty(listQuery.getCityCode())){
                wrapper.eq(Competition::getProvinceCode,listQuery.getCityCode());
            }
            if(ToolUtil.isNotEmpty(listQuery.getEventName())){
                wrapper.like(Competition::getName,listQuery.getEventName());
            }
            if(ToolUtil.isNotEmpty(listQuery.getTime())){
                wrapper.gt(Competition::getStartTime,listQuery.getTime().split(" - ")[0]+" 00:00:00");
                wrapper.lt(Competition::getEndTime,listQuery.getTime().split(" - ")[1]+" 23:59:59");
            }
            if(ToolUtil.isNotEmpty(listQuery.getState())){
                wrapper.eq(Competition::getState,listQuery.getState());
            }
            if(ToolUtil.isNotEmpty(listQuery.getRegisterCondition())){
                wrapper.eq(Competition::getRegisterCondition,listQuery.getRegisterCondition());
            }
            wrapper.in(Competition::getStoreId,listQuery.getIds());
            Page<Competition> page = cttService.page(competitionPage, wrapper);
            return page;
        }catch (Exception e){
            e.printStackTrace();
            return new Page<Competition>();
        }
    }
    @PostMapping("/base/competition/add")
    public void add(@RequestBody Competition competition){
        try {
            cttService.save(competition);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    @PostMapping("/base/competition/update")
    public void update(@RequestBody Competition competition){
        try {
            cttService.updateById(competition);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    @PostMapping("/base/competition/cancel")
    public void cancel(@RequestBody Integer id){
        try {
            Competition byId = cttService.getById(id);
            byId.setStatus(4);
            cttService.updateById(byId);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
//    @PostMapping("/base/competition/getPeopleFromId")
//    public  Page<Participant> getPeopleFromId(@RequestBody GetPeopleQuery getPeopleQuery){
//        try {
//            Page<Participant> participantPage = new Page<>();
//            LambdaQueryWrapper<Participant> participantLambdaQueryWrapper = new LambdaQueryWrapper<>();
//            if(getPeopleQuery.getState()!=null){
//                participantLambdaQueryWrapper.eq(Participant::getState)
//            }
//            participantService.page()
//        }catch (Exception e){
//            return null;
//        }
//    }
}