yanghui
2022-11-17 b30e1a48f2bc5f65a0efd2e69e090fed2d7a627c
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActActivityCodeApi.java
@@ -1,18 +1,20 @@
package com.panzhihua.service_community.api;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.dtos.property.CommonPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.community.QRActivityCodeVO;
import com.panzhihua.service_community.entity.ComActActivityCode;
import com.panzhihua.service_community.service.ComActActivityCodeService;
import com.panzhihua.service_community.util.QRCodeUtil;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;
import java.util.Date;
/**
 * 签到二维码表(ComActActivityCode)表控制层
@@ -83,4 +85,44 @@
    public R delete(@RequestParam("id") Long id) {
        return R.ok(this.comActActivityCodeService.removeById(id));
    }
    /**
     * 生成二维码
     * @param qrCodeVO
     * @return
     */
    @PostMapping("/getQRCode")
    public R getQRCode(@RequestBody QRActivityCodeVO qrCodeVO){
        ComActActivityCode comActActivityCode = comActActivityCodeService.getOne(new QueryWrapper<ComActActivityCode>()
                .lambda().eq(ComActActivityCode::getStatus,1).eq(ComActActivityCode::getActivityId,qrCodeVO.getId())
                .eq(ComActActivityCode::getType,qrCodeVO.getType()));
        if(comActActivityCode!=null){
            qrCodeVO.setCodeId(comActActivityCode.getId().toString());
            return R.ok(QRCodeUtil.getBase64QRCode(JSONObject.toJSONString(qrCodeVO)));
        }
        return R.fail("该活动无有效二维码");
    }
    /**
     * 重置二维码
     * @param qrCodeVO
     * @return
     */
    @PostMapping("/resetQRCode")
    public R resetQRCode(@RequestBody QRActivityCodeVO qrCodeVO){
        ComActActivityCode comActActivityCode=comActActivityCodeService.getOne(new QueryWrapper<ComActActivityCode>().lambda().eq(ComActActivityCode::getStatus,1).eq(ComActActivityCode::getActivityId,qrCodeVO.getId()).eq(ComActActivityCode::getType,qrCodeVO.getType()));
        if(comActActivityCode!=null){
            comActActivityCodeService.update(new UpdateWrapper<ComActActivityCode>().lambda().eq(ComActActivityCode::getActivityId,qrCodeVO.getId()).eq(ComActActivityCode::getType,qrCodeVO.getType()).set(ComActActivityCode::getStatus,0));
            ComActActivityCode comActActivityCode1=new ComActActivityCode();
            comActActivityCode1.setActivityId(Long.parseLong(qrCodeVO.getId()));
            comActActivityCode1.setCreateTime(new Date());
            comActActivityCode1.setType(qrCodeVO.getType());
            comActActivityCode1.setStatus(1);
            comActActivityCodeService.save(comActActivityCode1);
            qrCodeVO.setCodeId(comActActivityCode1.getId().toString());
            return R.ok(QRCodeUtil.getBase64QRCode(JSONObject.toJSONString(qrCodeVO)));
        }
        return R.fail();
    }
}