From 0809395df2e1c88bc619e9eca85ff986441ef578 Mon Sep 17 00:00:00 2001
From: fanzongzhe <285169773@qq.com>
Date: Fri, 24 Nov 2023 13:48:32 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A4=BC=E5=93=81=E5=8D=A1?=
=?UTF-8?q?=E7=94=9F=E6=88=90=E5=BA=8F=E5=88=97=E5=8F=B7=E4=BA=8C=E7=BB=B4?=
=?UTF-8?q?=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 7 ++
.../yxt/yyth/api/lpkgiftcard/LpkGiftCard.java | 2 +-
.../api/lpkgiftcard/LpkGiftCardListQuery.java | 16 ++++
.../api/lpkgiftcard/LpkGiftCardListVo.java | 29 +++++++
.../biz/lpkgiftcard/LpkGiftCardMapper.java | 5 +-
.../biz/lpkgiftcard/LpkGiftCardMapper.xml | 21 +++++
.../yyth/biz/lpkgiftcard/LpkGiftCardRest.java | 20 ++++-
.../biz/lpkgiftcard/LpkGiftCardService.java | 79 ++++++++++++++++++-
8 files changed, 170 insertions(+), 9 deletions(-)
create mode 100644 src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListQuery.java
create mode 100644 src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListVo.java
diff --git a/pom.xml b/pom.xml
index ff3a3b6..f846ffe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,6 +85,13 @@
hutool-core
5.8.23
+
+ com.google.zxing
+ zxing-parent
+ 3.5.1
+ pom
+
+
diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCard.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCard.java
index 9ec904d..8e41ab2 100644
--- a/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCard.java
+++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCard.java
@@ -32,7 +32,7 @@ public class LpkGiftCard {
private Date grantDate;
private String customerMobile;
private String customerSid;
-
+ private String picUrl;
}
diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListQuery.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListQuery.java
new file mode 100644
index 0000000..9a5f442
--- /dev/null
+++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListQuery.java
@@ -0,0 +1,16 @@
+package com.yxt.yyth.api.lpkgiftcard;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2023/11/24 10:07
+ */
+@Data
+public class LpkGiftCardListQuery implements Query {
+ private String state;
+ private String noStart; //序列号开始
+ private String noEnd; //序列号结束
+}
diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListVo.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListVo.java
new file mode 100644
index 0000000..fd53be6
--- /dev/null
+++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListVo.java
@@ -0,0 +1,29 @@
+package com.yxt.yyth.api.lpkgiftcard;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2023/11/24 10:04
+ */
+@Data
+public class LpkGiftCardListVo implements Vo {
+ private String sid;
+ private String createTime;
+ private String remarks;
+ private String giftbagSid;
+ private String serialNumber;
+ private String code;
+ private String codeKey;
+ private String state;
+ private String grantName;
+ private String grantDate;
+ private String customerMobile;
+ private String customerSid;
+ private String picUrl;
+}
diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java
index ccbc680..f4864ab 100644
--- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java
+++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag;
import com.yxt.yyth.api.lpkgiftcard.AppletVo;
import com.yxt.yyth.api.lpkgiftcard.LpkGiftCard;
+import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardListVo;
import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardVo;
import com.yxt.yyth.api.lpkstore.LpkStore;
import org.apache.ibatis.annotations.Mapper;
@@ -23,6 +24,7 @@ import java.util.List;
public interface LpkGiftCardMapper extends BaseMapper {
IPage getGifCardByCustomerSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
@Select(" SELECT\n" +
" card.*,\n" +
" case card.state\n" +
@@ -37,9 +39,10 @@ public interface LpkGiftCardMapper extends BaseMapper {
" lpk_giftcard card\n" +
" LEFT JOIN lpk_giftbag bag on card.giftbagSid=bag.sid" +
" where card.sid=#{sid}")
- AppletVo getGifCardBySid(@Param("sid")String sid);
+ AppletVo getGifCardBySid(@Param("sid") String sid);
String selctMaxSerNum();
+ IPage cardList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
}
diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml
index 68a703e..e346d98 100644
--- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml
+++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml
@@ -29,6 +29,27 @@
FROM lpk_giftcard
WHERE LENGTH(serialNumber) = 8
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java
index d8eeeba..b007134 100644
--- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java
+++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java
@@ -1,15 +1,22 @@
package com.yxt.yyth.biz.lpkgiftcard;
+import cn.hutool.core.img.ImgUtil;
+import cn.hutool.extra.qrcode.QrCodeUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
-import com.yxt.yyth.api.lpkgiftcard.BindCardDto;
-import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardDto;
-import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardQuery;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.yyth.api.lpkgiftcard.*;
+import com.yxt.yyth.api.lpkgoods.LpkGoodsVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
/**
* @author wangpengfei
* @date 2023/11/21 15:03
@@ -53,4 +60,11 @@ public class LpkGiftCardRest {
public ResultBean generateCard(@RequestBody LpkGiftCardDto dto) {
return lpkGiftCardService.generateCard(dto);
}
+
+ @PostMapping("/cardList")
+ @ApiOperation(value = "礼包卡信息列表")
+ public ResultBean> cardList(@RequestBody PagerQuery pq) {
+ return lpkGiftCardService.cardList(pq);
+ }
+
}
diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java
index f7e3c26..1a9e612 100644
--- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java
+++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java
@@ -2,8 +2,11 @@ package com.yxt.yyth.biz.lpkgiftcard;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.img.ImgUtil;
+import cn.hutool.extra.qrcode.QrCodeUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
@@ -12,19 +15,25 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo;
import com.yxt.yyth.api.lpkgiftcard.*;
+import com.yxt.yyth.api.lpkgoods.LpkGoods;
+import com.yxt.yyth.api.lpkgoods.LpkGoodsQuery;
+import com.yxt.yyth.api.lpkgoods.LpkGoodsVo;
import com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods;
import com.yxt.yyth.api.lpkstore.StoreSelect;
import com.yxt.yyth.biz.lpkgiftcard.generateRule.UniqueIdGenerator;
import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService;
import com.yxt.yyth.biz.lpkstore.LpkStoreService;
+import org.bouncycastle.math.Primes;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
+import java.util.*;
/**
* @author wangpengfei
@@ -40,6 +49,8 @@ public class LpkGiftCardService extends MybatisBaseService> cardList(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ LpkGiftCardListQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getState())) {
+ qw.eq("state", query.getState());
+ }
+ qw.eq("1", "1");
+ String sNoStart = query.getNoStart();
+ String sNoEnd = query.getNoEnd();
+ qw.apply(StringUtils.isNotBlank(sNoStart), "serialNumber >=" + sNoStart).
+ apply(StringUtils.isNotBlank(sNoEnd), "serialNumber <=" + sNoEnd
+ );
+ qw.orderByDesc("id");
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.cardList(page, qw);
+ List records = pagging.getRecords();
+ if (!records.isEmpty()) {
+ for (LpkGiftCardListVo record : records) {
+ if (StringUtils.isNotBlank(record.getPicUrl())) {
+ record.setPicUrl(fileUploadComponent.getUrlPrefix() + record.getPicUrl());
+ }
+ }
+ }
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return rb.success().setData(p);
+ }
+
+ /**
+ * 生成二维码
+ *
+ * @return
+ * @throws IOException
+ */
+ public String genarateQRCode(String uuid) throws IOException {
+ BufferedImage bufferedImage = QrCodeUtil.generate(uuid, 300, 300);
+ byte[] bytes = ImgUtil.toBytes(bufferedImage, "JPG");
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ //创建一个文件,待会儿将二维码写入
+ String path = fileUploadComponent.getUploadPath() + sdf.format(new Date()) + "/" + uuid.substring(uuid.length() - 6) + ".jpg";
+ File localFile = new File(path);
+ if (!localFile.getParentFile().exists()) { //这里就判断了文件夹是否存在
+ localFile.getParentFile().mkdirs(); //如果不存在就创建文件夹
+ }
+ if (!localFile.exists())
+ localFile.createNewFile();
+ //将二维码写入
+ FileOutputStream out = new FileOutputStream(path);
+ out.write(bytes);
+ out.close();
+ return sdf.format(new Date()) + "/" + uuid.substring(uuid.length() - 6) + ".jpg";
+ }
}