nickchange
2023-11-21 79bbee5adf0071808a33c09d5f87c5573d83cb3b
cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java
@@ -5,16 +5,19 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.activity.entity.BodySideAppointment;
import com.dsh.activity.entity.IntroduceRewards;
import com.dsh.activity.feignclient.account.AppUserClient;
import com.dsh.activity.feignclient.model.IntrduceOfUserRequest;
import com.dsh.activity.feignclient.model.PurchaseRecordVo;
import com.dsh.activity.feignclient.other.model.Store;
import com.dsh.activity.model.*;
import com.dsh.activity.service.IntroduceRewardsService;
import com.dsh.activity.service.IntroduceUserService;
import io.swagger.annotations.Api;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -29,16 +32,50 @@
    @Autowired
    private IntroduceRewardsService idrService;
    @Autowired
    private IntroduceUserService introduceUserService;
    private final SimpleDateFormat mat = new SimpleDateFormat("MM-dd HH:mm");
    /**
     * 获取所有体测预约记录
     * 获取介绍有礼-参与用户记录表
     * @return
     */
    @RequestMapping("/base/introduceUser/listAllUser")
    public List<IntroduceUser> listAllUser(@RequestBody IntroduceUserQuery query){
        return introduceUserService.listAll(query);
    }
    /**
     * 通过id获取介绍有礼
     * @return
     */
    @RequestMapping("/base/introduce/getInfoById")
    public IntroduceRewards getInfoById(@RequestBody Integer id){
        return idrService.getById(id);
    }
    /**
     * 获取介绍有礼记录表
     * @return
     */
    @RequestMapping("/base/introduce/listAll")
    public List<IntroduceVO> listAll(@RequestBody IntroduceQuery query){
        Date date = new Date();
        List<IntroduceVO> introduceVOS = idrService.listAll(query);
        for (IntroduceVO introduceVO : introduceVOS) {
        return null;
            Date startTime = introduceVO.getStartTime();
            Date endTime = introduceVO.getEndTime();
            if (date.after(startTime) && date.before(endTime)) {
                introduceVO.setActivityState(1);
            } else if (date.before(startTime)) {
                introduceVO.setActivityState(2);
            } else if (date.after(endTime)) {
                introduceVO.setActivityState(3);
            }
        }
        return introduceVOS;
    }
    /**
     * 增加/修改介绍有礼记录
@@ -46,9 +83,29 @@
     */
    @RequestMapping("/base/introduce/addIntroduce")
    public Object addIntroduce(@RequestBody IntroduceRewards  introduceRewards){
        if (introduceRewards.getId()!=null){
            IntroduceRewards byId = idrService.getById(introduceRewards.getId());
            // 判断当前活动有没有开始 如果开始了不能编辑赠送课时数 不能编辑活动开始时间
            Date endTime = byId.getEndTime();
            Date startTime = byId.getStartTime();
            Date local = new Date();
            if (startTime.before(local)&&endTime.after(local)){
                // 证明当前活动已开始
                // 判断有没有修改开始时间
                if (!introduceRewards.getStartTime().equals(byId.getStartTime())){
                    // 表示不能修改开始时间
                    return 5002;
                }
                if (!introduceRewards.getGiveClass().equals(byId.getGiveClass())){
                    // 表示不能修改赠送课时数
                    return 5001;
                }
            }
            return idrService.updateById(introduceRewards);
        }else {
            introduceRewards.setInsertTime(new Date());
            return idrService.save(introduceRewards);
        }
    }
@@ -81,10 +138,18 @@
    }
    @PostMapping("/base/introduce/getGiftList")
    public Integer getGiftList(@RequestBody String cityCode){
        List<IntroduceRewards> list = idrService.list(new LambdaQueryWrapper<IntroduceRewards>().eq(IntroduceRewards::getCityCode,cityCode).ge(IntroduceRewards::getStartTime,new Date()).le(IntroduceRewards::getEndTime,new Date()));
        int sum = list.stream().mapToInt(IntroduceRewards::getGiveClass).sum();
        return sum;
    @ResponseBody
    public IntroduceRewards getGiftList(@RequestBody String cityCode){
        List<IntroduceRewards> list = idrService.list(new LambdaQueryWrapper<IntroduceRewards>()
                .eq(IntroduceRewards::getCityCode,cityCode)
                .le(IntroduceRewards::getStartTime,new Date())
                .ge(IntroduceRewards::getEndTime,new Date())
                .orderByDesc(IntroduceRewards::getInsertTime)
                .last("LIMIT 1"));
        if (list.size()>0){
            return list.get(0);
        }
        return null;
    }
}