WinningActivitiesService.java 2.82 KB
package com.huaheng.pc.winningActivities.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.saleService.domain.SaleService;
import com.huaheng.pc.saleService.mapper.SaleServiceMapper;
import com.huaheng.pc.system.dict.service.IDictDataService;
import com.huaheng.pc.winningActivities.domain.WinningActivities;
import com.huaheng.pc.winningActivities.mapper.WinningActivitiesMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 * @author:zhouhong
 * 2022021
 */
@Service
public class WinningActivitiesService extends ServiceImpl<WinningActivitiesMapper, WinningActivities> {

    @Resource
    private IDictDataService dictDataService;

    public Boolean checkPhone(String phone){
        LambdaQueryWrapper<WinningActivities> wrapper = Wrappers.lambdaQuery();
        wrapper.eq(WinningActivities::getPhone,phone);
        List<WinningActivities> list=this.list(wrapper);
        if(list!=null&&list.size()>0){
            return true;
        }
        return false;
    }

    public AjaxResult updateType(String ids, String winningType){
        WinningActivities winningActivities = new WinningActivities();
        winningActivities.setWinningType(winningType);

        List<String> lis = Arrays.asList(ids.split(","));
        UpdateWrapper<WinningActivities> userUpdateWrapper = new UpdateWrapper<>();
        userUpdateWrapper.in("id", lis);
        if(!this.update(winningActivities, userUpdateWrapper)){
            return AjaxResult.error("提交失败");
        }
        return AjaxResult.success("提交成功");
    }

    @Transactional
    public AjaxResult draw(String winningType){
        String configValue=dictDataService.selectDictLabel("winningNum",winningType);
        Integer num=Integer.valueOf(configValue);

        LambdaQueryWrapper<WinningActivities> wrapper = Wrappers.lambdaQuery();
        wrapper.eq(WinningActivities::getWinningType,-2);
        wrapper.last(" order by rand() limit "+num);
        List<WinningActivities> list=this.list(wrapper);

        WinningActivities winningActivities1 = new WinningActivities();
        winningActivities1.setWinningType(winningType);
        for(WinningActivities winningActivities:list){
            winningActivities.setWinningType(winningType);
            winningActivities.setUpdated(new Date());
            this.updateById(winningActivities);
        }
        return  AjaxResult.success().setData(list);
    }

}