From c83cf9d2d82a0a29a15e38f4566eb470b9a3517b Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期二, 22 二月 2022 09:57:51 +0800
Subject: [PATCH] 抽奖相关提交

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActRaffleRecordService.java          |   16 ++
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActRaffleRecordApi.java                                      |   94 +++++++++++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java                               |   41 +++++
 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActRaffleRecordApi.java              |  100 ++++++++++++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordExcelVO.java             |   51 ++++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActRaffleRecordMapper.xml                                        |   29 +++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/RaffleMessage.java                      |   30 +++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordVO.java                  |    2 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActRaffleRecordApi.java                  |   38 ++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActRaffleRecordServiceImpl.java |   17 ++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/RabbitmqConfig.java                      |   21 ++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActRaffleRecordDao.java                  |   10 +
 12 files changed, 443 insertions(+), 6 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActRaffleRecordApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActRaffleRecordApi.java
new file mode 100644
index 0000000..caa944e
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActRaffleRecordApi.java
@@ -0,0 +1,94 @@
+package com.panzhihua.applets.api;
+
+
+import com.panzhihua.common.controller.BaseController;
+import com.panzhihua.common.model.dtos.property.CommonPage;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.raffle.ComActRaffleRecordVO;
+import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO;
+import com.panzhihua.common.service.community.CommunityService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+/**
+ * 抽奖活动中奖记录表(ComActRaffleRecord)表控制层
+ * projectName 成都呐喊信息技术有限公司-智慧社区项目
+ * description: 抽奖活动中奖记录表相关功能
+ *
+ * @author zzj
+ * @since 2022-02-18 14:32:02
+ */
+@Slf4j
+@Api(tags = {"获奖记录"})
+@RestController
+@RequestMapping("comActRaffleRecord")
+public class ComActRaffleRecordApi extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private CommunityService communityService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param commonPage 查询实体
+     * @return 所有数据
+     */
+    @ApiOperation(value = "分页查询",response = ComActRaffleRecordVO.class)
+    @PostMapping("queryAll")
+    public R selectAll(@RequestBody CommonPage commonPage) {
+        return this.communityService.selectAllComActRaffleRecord(commonPage);
+    }
+    @ApiOperation(value = "根据抽奖活动id获取奖品统计")
+    @GetMapping("/queryPrize")
+    public R queryPrize(@RequestParam("id")Long id){
+        return this.communityService.queryPrize(id);
+    }
+
+    /**
+     * 生成二维码
+     * @param qrCodeVO
+     * @return
+     */
+    @ApiOperation("生成二维码")
+    @PostMapping("/getQRCode")
+    public R getQRCode(@RequestBody QRCodeVO qrCodeVO){
+        return this.communityService.getRaffleQRCode(qrCodeVO);
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param comActRaffleRecordVO 实体对象
+     * @return 修改结果
+     */
+    @ApiOperation("核销接口")
+    @PostMapping("/update")
+    public R update(@RequestBody ComActRaffleRecordVO comActRaffleRecordVO) {
+        comActRaffleRecordVO.setStaffId(this.getUserId());
+        comActRaffleRecordVO.setStaffTime(new Date());
+        comActRaffleRecordVO.setStatus(2);
+        return this.communityService.updateRaffleRecord(comActRaffleRecordVO);
+    }
+    /**
+     * 新增数据
+     *
+     * @param comActRaffleRecordVO 实体对象
+     * @return 新增结果
+     */
+    @ApiOperation("参加活动")
+    @PostMapping
+    public R insert(@RequestBody ComActRaffleRecordVO comActRaffleRecordVO) {
+        comActRaffleRecordVO.setCreateTime(new Date());
+        comActRaffleRecordVO.setUserId(this.getUserId());
+        comActRaffleRecordVO.setStatus(0);
+        return communityService.insertRaffleRecord(comActRaffleRecordVO);
+    }
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordExcelVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordExcelVO.java
new file mode 100644
index 0000000..9ac9182
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordExcelVO.java
@@ -0,0 +1,51 @@
+package com.panzhihua.common.model.vos.community.raffle;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.net.URL;
+import java.util.Date;
+
+/**
+ * @author zzj
+ */
+@Data
+public class ComActRaffleRecordExcelVO {
+    @ApiModelProperty(value = "昵称")
+    @ExcelProperty(value = "昵称",index = 0)
+    private String nickName;
+
+    @ApiModelProperty(value = "姓名")
+    @ExcelProperty(value = "姓名",index = 1)
+    private String username;
+
+    @ApiModelProperty(value = "联系电话")
+    @ExcelProperty(value = "联系电话",index = 2)
+    private String phone;
+    /**
+     * 创建时间
+     */
+    @ExcelProperty(value = "中奖时间",index = 3)
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    @ApiModelProperty(value = "奖品名称")
+    @ExcelProperty(value = "奖品名称",index = 4)
+    private String prizeName;
+
+    @ApiModelProperty(value = "奖品图片")
+    @ExcelProperty(value = "奖品图片",index = 5)
+    private URL imageUrl;
+
+    @ApiModelProperty(value = "核销人名称")
+    @ExcelProperty(value = "核销人",index = 6)
+    private String staffName;
+
+    @ApiModelProperty(value = "核销时间")
+    @ExcelProperty(value = "核销时间",index = 7)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date staffTime;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordVO.java
index ebb4e2b..74c1045 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/raffle/ComActRaffleRecordVO.java
@@ -57,7 +57,7 @@
     @ApiModelProperty(value = "核销时间")
     private Date staffTime;
 
-    @ApiModelProperty(value = "0 已参加 1待兑奖 2已兑奖 3已失效")
+    @ApiModelProperty(value = "0 已参加 1待兑奖 2已兑奖 3已失效 4未中奖")
     private Integer status;
 
     @ApiModelProperty(value = "抽奖id")
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
index fb03956..338b0b3 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -24,6 +24,7 @@
 import com.panzhihua.common.model.vos.civil.ComActSocialWorkerDetailsVO;
 import com.panzhihua.common.model.vos.community.*;
 import com.panzhihua.common.model.vos.community.cluster.admin.ComClusterMemberExcelVO;
+import com.panzhihua.common.model.vos.community.raffle.ComActRaffleRecordVO;
 import com.panzhihua.common.model.vos.community.raffle.ComActRaffleVO;
 import com.panzhihua.common.model.vos.community.social.*;
 import io.swagger.annotations.ApiOperation;
@@ -8096,4 +8097,44 @@
 
     @GetMapping("/comActRaffle/del")
     R deleteComActRaffle(@RequestParam("id") Long id);
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param commonPage 查询实体
+     * @return 所有数据
+     */
+    @PostMapping("/comActRaffleRecord/queryAll")
+    R selectAllComActRaffleRecord(@RequestBody CommonPage commonPage);
+
+    @GetMapping("/comActRaffleRecord/queryPrize")
+    R queryPrize(@RequestParam("id")Long id);
+
+    /**
+     * 生成二维码
+     * @param qrCodeVO
+     * @return
+     */
+    @PostMapping("/comActRaffleRecord/getQRCode")
+    R getRaffleQRCode(@RequestBody QRCodeVO qrCodeVO);
+
+    /**
+     * 修改数据
+     *
+     * @param comActRaffleRecordVO 实体对象
+     * @return 修改结果
+     */
+    @PostMapping("/comActRaffleRecord/update")
+    R updateRaffleRecord(@RequestBody ComActRaffleRecordVO comActRaffleRecordVO);
+
+    @PostMapping("/comActRaffleRecord")
+    R insertRaffleRecord(@RequestBody ComActRaffleRecordVO comActRaffleRecordVO);
+    /**
+     * 导出
+     *
+     * @param commonPage 查询实体
+     * @return 所有数据
+     */
+    @PostMapping("/comActRaffleRecord/export")
+    R exportComActRaffleRecord(@RequestBody CommonPage commonPage);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActRaffleRecordApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActRaffleRecordApi.java
index 22ae31c..63116d1 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActRaffleRecordApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActRaffleRecordApi.java
@@ -1,14 +1,29 @@
 package com.panzhihua.community_backstage.api;
 
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSONArray;
 import com.panzhihua.common.model.dtos.property.CommonPage;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.raffle.ComActRaffleRecordExcelVO;
+import com.panzhihua.common.model.vos.community.raffle.ComActRaffleRecordVO;
+import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyExcelVO;
 import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.utlis.SFTPUtil;
+import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
 import java.io.Serializable;
 
 /**
@@ -30,4 +45,89 @@
     @Resource
     private CommunityService communityService;
 
+    @Value("${excel.userurl}")
+    private String excelUrl;
+    // FTP 登录用户名
+    @Value("${ftp.username}")
+    private String userName;
+    // FTP 登录密码
+    @Value("${ftp.password}")
+    private String password;
+    // FTP 服务器地址IP地址
+    @Value("${ftp.host}")
+    private String host;
+    // FTP 端口
+    @Value("${ftp.port}")
+    private int port;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param commonPage 查询实体
+     * @return 所有数据
+     */
+    @ApiOperation(value = "分页查询",response = ComActRaffleRecordVO.class)
+    @PostMapping("queryAll")
+    public R selectAll(@RequestBody CommonPage commonPage) {
+        return this.communityService.selectAllComActRaffleRecord(commonPage);
+    }
+    @ApiOperation(value = "根据抽奖活动id获取奖品统计")
+    @GetMapping("/queryPrize")
+    public R queryPrize(@RequestParam("id")Long id){
+        return this.communityService.queryPrize(id);
+    }
+    @ApiOperation(value = "导出")
+    @PostMapping("/export")
+    public R export(@RequestBody CommonPage commonPage) {
+        String name = "获奖名单.xlsx";
+        String ftpUrl = "/mnt/data/web/excel/";
+        // 用户搜索了就下载搜索的用户否则下载所有用户
+        R r = communityService.exportComActRaffleRecord(commonPage);
+        if (R.isOk(r)) {
+            try {
+                SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
+                sftp.login();
+                boolean existDir = sftp.isExistDir(ftpUrl + name);
+                if (!existDir) {
+                    String property = System.getProperty("user.dir");
+                    String fileName = property + File.separator + name;
+                    // 这里 需要指定写用哪个class去写
+                    ExcelWriter excelWriter = null;
+                    InputStream inputStream = null;
+                    try {
+                        excelWriter = EasyExcel.write(fileName, ComActRaffleRecordExcelVO.class)
+                                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                                .registerWriteHandler(new CustomSheetWriteHandler()).build();
+                        WriteSheet writeSheet = EasyExcel.writerSheet( "导出").build();
+                        excelWriter.write(JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComActRaffleRecordExcelVO.class), writeSheet);
+
+
+                        excelWriter.finish();
+                        File file = new File(fileName);
+                        inputStream = new FileInputStream(file);
+                        sftp.uploadMore(ftpUrl, name, inputStream);
+                        sftp.logout();
+                        inputStream.close();
+                        String absolutePath = file.getAbsolutePath();
+                        boolean delete = file.delete();
+                        log.info("删除excel【{}】结果【{}】", absolutePath, delete);
+                    } finally {
+                        // 千万别忘记finish 会帮忙关闭流
+                        if (inputStream != null) {
+                            inputStream.close();
+                        }
+                        if (excelWriter != null) {
+                            excelWriter.finish();
+                        }
+                    }
+                }
+                return R.ok(excelUrl + name);
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.error("文件传输失败【{}】", e.getMessage());
+                return R.fail();
+            }
+        }
+        return r;
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActRaffleRecordApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActRaffleRecordApi.java
index ec307df..4830876 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActRaffleRecordApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActRaffleRecordApi.java
@@ -6,8 +6,12 @@
 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.raffle.ComActRaffleRecordVO;
+import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO;
 import com.panzhihua.service_community.entity.ComActRaffleRecord;
 import com.panzhihua.service_community.service.ComActRaffleRecordService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -47,6 +51,17 @@
     }
 
     /**
+     * 生成二维码
+     * @param qrCodeVO
+     * @return
+     */
+    @ApiOperation("生成二维码")
+    @PostMapping("/getQRCode")
+    public R getQRCode(@RequestBody QRCodeVO qrCodeVO){
+        return this.comActRaffleRecordService.queryQrCode(qrCodeVO);
+    }
+
+    /**
      * 通过主键查询单条数据
      *
      * @param id 主键
@@ -60,22 +75,26 @@
     /**
      * 新增数据
      *
-     * @param comActRaffleRecord 实体对象
+     * @param comActRaffleRecordVO 实体对象
      * @return 新增结果
      */
     @PostMapping
-    public R insert(@RequestBody ComActRaffleRecord comActRaffleRecord) {
+    public R insert(@RequestBody ComActRaffleRecordVO comActRaffleRecordVO) {
+        ComActRaffleRecord comActRaffleRecord=new ComActRaffleRecord();
+        BeanUtils.copyProperties(comActRaffleRecordVO,comActRaffleRecord);
         return R.ok(this.comActRaffleRecordService.save(comActRaffleRecord));
     }
 
     /**
      * 修改数据
      *
-     * @param comActRaffleRecord 实体对象
+     * @param comActRaffleRecordVO 实体对象
      * @return 修改结果
      */
     @PostMapping("/update")
-    public R update(@RequestBody ComActRaffleRecord comActRaffleRecord) {
+    public R update(@RequestBody ComActRaffleRecordVO comActRaffleRecordVO) {
+        ComActRaffleRecord comActRaffleRecord=new ComActRaffleRecord();
+        BeanUtils.copyProperties(comActRaffleRecordVO,comActRaffleRecord);
         return R.ok(this.comActRaffleRecordService.updateById(comActRaffleRecord));
     }
 
@@ -89,4 +108,15 @@
     public R delete(@RequestParam("id") Long id) {
         return R.ok(this.comActRaffleRecordService.removeById(id));
     }
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param commonPage 查询实体
+     * @return 所有数据
+     */
+    @PostMapping("export")
+    public R export(@RequestBody CommonPage commonPage) {
+        return this.comActRaffleRecordService.export(commonPage);
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/RabbitmqConfig.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/RabbitmqConfig.java
index b1812c4..d95d80b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/RabbitmqConfig.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/RabbitmqConfig.java
@@ -21,6 +21,10 @@
     public static final String Order_ROUTING_KEY="order.key";
     public static final String Order_EXCHANGE="order.exchange";
 
+    public static final String RAFFLE_QUEUE="raffle.queue";
+    public static final String RAFFLE_ROUTING_KEY="raffle.key";
+    public static final String RAFFLE_EXCHANGE="raffle.exchange";
+
 
 
     @Bean
@@ -41,6 +45,23 @@
     }
 
     @Bean
+    public Queue raffleQueue(){
+        return new Queue(RAFFLE_QUEUE,true,false,false,null);
+    }
+
+    @Bean
+    public Exchange raffleExchange(){
+        Map<String, Object> arguments = new HashMap<>();
+        arguments.put("x-delayed-type", ExchangeTypes.DIRECT);
+        return new CustomExchange(RAFFLE_EXCHANGE,"x-delayed-message",true,false,arguments);
+    }
+
+    @Bean
+    public Binding raffleBinding(){
+        return BindingBuilder.bind(raffleQueue()).to(raffleExchange()).with(RAFFLE_ROUTING_KEY).noargs();
+    }
+
+    @Bean
     public Queue orderQueue(){
         return new Queue(Order_QUEUE,true,false,false,null);
     }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActRaffleRecordDao.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActRaffleRecordDao.java
index fafc8c3..2653a58 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActRaffleRecordDao.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActRaffleRecordDao.java
@@ -4,11 +4,14 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.panzhihua.common.model.dtos.property.CommonPage;
+import com.panzhihua.common.model.vos.community.raffle.ComActRaffleRecordExcelVO;
 import com.panzhihua.common.model.vos.community.raffle.ComActRaffleRecordVO;
 import org.apache.ibatis.annotations.Mapper;
 import com.panzhihua.service_community.entity.ComActRaffleRecord;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
 
 /**
  * 抽奖活动中奖记录表(ComActRaffleRecord)表数据库访问层
@@ -35,4 +38,11 @@
      * @return
      */
     IPage<ComActRaffleRecordVO> pageList(Page page, @Param("commonPage")CommonPage commonPage);
+
+    /**
+     * 导出
+     * @param commonPage
+     * @return
+     */
+    List<ComActRaffleRecordExcelVO> export(@Param("commonPage")CommonPage commonPage);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/RaffleMessage.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/RaffleMessage.java
new file mode 100644
index 0000000..21b1fe9
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/RaffleMessage.java
@@ -0,0 +1,30 @@
+package com.panzhihua.service_community.message;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.panzhihua.common.model.vos.community.raffle.ComActRaffleVO;
+import com.panzhihua.service_community.dao.ComActRaffleDao;
+import com.panzhihua.service_community.entity.ComActRaffle;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+/**
+ * @author zzj
+ */
+@Component
+public class RaffleMessage {
+    public static final String DELAYED_QUEUE="raffle.queue";
+
+    @Resource
+    private ComActRaffleDao comActRaffleDao;
+
+    @RabbitListener(queues=DELAYED_QUEUE)
+    public void doRaffle(ComActRaffleVO comActRaffleVO){
+        ComActRaffle comActRaffle=comActRaffleDao.selectOne(new QueryWrapper<ComActRaffle>().lambda().eq(ComActRaffle::getId,comActRaffleVO.getId()));
+        if(comActRaffle!=null&&comActRaffle.getStatus()==0&&comActRaffle.getLotteryTime().before(new Date())){
+
+        }
+    }
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActRaffleRecordService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActRaffleRecordService.java
index a4faf21..7fa5b2b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActRaffleRecordService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActRaffleRecordService.java
@@ -3,6 +3,7 @@
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.dtos.property.CommonPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO;
 import com.panzhihua.service_community.entity.ComActRaffleRecord;
 
 /**
@@ -28,4 +29,19 @@
      * @return
      */
     R queryPrize(Long id);
+
+    /**
+     * 生成二维码
+     * @param qrCodeVO
+     * @return
+     */
+    R queryQrCode(QRCodeVO qrCodeVO);
+
+    /**
+     * 导出
+     *
+     * @param commonPage
+     * @return
+     */
+    R export(CommonPage commonPage);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActRaffleRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActRaffleRecordServiceImpl.java
index deb0422..6976103 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActRaffleRecordServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActRaffleRecordServiceImpl.java
@@ -1,14 +1,17 @@
 package com.panzhihua.service_community.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.model.dtos.property.CommonPage;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.raffle.ComActRafflePrizeCount;
+import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO;
 import com.panzhihua.service_community.dao.ComActRafflePrizeDao;
 import com.panzhihua.service_community.entity.ComActRaffleRecord;
 import com.panzhihua.service_community.dao.ComActRaffleRecordDao;
 import com.panzhihua.service_community.service.ComActRaffleRecordService;
+import com.panzhihua.service_community.util.QRCodeUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -39,4 +42,18 @@
         comActRafflePrizeCount.setComActRafflePrizeVOList(comActRafflePrizeDao.selectByRaffleId(id));
         return R.ok(comActRafflePrizeCount);
     }
+
+    @Override
+    public R queryQrCode(QRCodeVO qrCodeVO) {
+        ComActRaffleRecord comActRaffleRecord=this.baseMapper.selectById(qrCodeVO.getId());
+        if(comActRaffleRecord!=null){
+            return R.ok(QRCodeUtil.getBase64QRCode(JSON.toJSONString(qrCodeVO)));
+        }
+        return R.fail("抽奖记录不存在");
+    }
+
+    @Override
+    public R export(CommonPage commonPage) {
+        return R.ok(this.baseMapper.export(commonPage));
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActRaffleRecordMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActRaffleRecordMapper.xml
index 3324ae5..213cab8 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActRaffleRecordMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActRaffleRecordMapper.xml
@@ -23,7 +23,7 @@
     <select id="pageList" resultType="com.panzhihua.common.model.vos.community.raffle.ComActRaffleRecordVO">
         select t.*, t1.image, t1.name as prizeName, t2.nick_name, t2.phone, t2.`name` as username, t3.name as staffName
         from com_act_raffle_record t
-        left join com_act_raffle_prize t1 on t.staff_id = t1.id
+        left join com_act_raffle_prize t1 on t.prize_id = t1.id
         left join sys_user t2 on t.user_id = t2.user_id
         left join sys_user t3 on t.staff_id = t3.user_id
         <where>
@@ -37,6 +37,33 @@
             <if test="commonPage.paramId !=null">
                 and t.raffle_id = #{commonPage.paramId}
             </if>
+            <if test="commonPage.userId !=null">
+                and t.user_id = #{commonPage.userId}
+            </if>
+        </where>
+        order by t.create_time desc
+    </select>
+
+    <select id="export" resultType="com.panzhihua.common.model.vos.community.raffle.ComActRaffleRecordExcelVO">
+        select t.*, t1.image as imageUrl, t1.name as prizeName, t2.nick_name, t2.phone, t2.`name` as username, t3.name as staffName
+        from com_act_raffle_record t
+        left join com_act_raffle_prize t1 on t.prize_id = t1.id
+        left join sys_user t2 on t.user_id = t2.user_id
+        left join sys_user t3 on t.staff_id = t3.user_id
+        <where>
+            <if test="commonPage.status!=null">
+                and t.status = #{commonPage.status}
+            </if>
+            <if test="commonPage.keyword!=null and commonPage.keyword!=''">
+                and (t2.name like concat('%',#{commonPage.keyword},'%') or t2.phone like
+                concat('%',#{commonPage.keyword},'%') or t1.name like concat('%',#{commonPage.keyword},'%') )
+            </if>
+            <if test="commonPage.paramId !=null">
+                and t.raffle_id = #{commonPage.paramId}
+            </if>
+            <if test="commonPage.userId !=null">
+                and t.user_id = #{commonPage.userId}
+            </if>
         </where>
         order by t.create_time desc
     </select>

--
Gitblit v1.7.1