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"; + } }