From ddca61c9d0931c0fe33fab63942ab29c5a4008de Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Wed, 6 Dec 2023 18:01:20 +0800 Subject: [PATCH] 12/6 --- .../yyth/api/lpkcardqrcode/LpkCardQrcode.java | 29 +++++++++ .../api/lpkcardqrcode/LpkCardQrcodeDto.java | 24 ++++++++ .../api/lpkcardqrcode/LpkCardQrcodeQuery.java | 15 +++++ .../api/lpkcardqrcode/LpkCardQrcodeVo.java | 25 ++++++++ .../api/lpkgiftcard/LpkGiftCardListVo.java | 1 + .../api/lpkgiftcard/LpkGiftCardWordVo.java | 16 +++++ .../lpkcardqrcode/LpkCardQrcodeMapper.java | 20 +++++++ .../biz/lpkcardqrcode/LpkCardQrcodeMapper.xml | 20 +++++++ .../biz/lpkcardqrcode/LpkCardQrcodeRest.java | 41 +++++++++++++ .../lpkcardqrcode/LpkCardQrcodeService.java | 58 ++++++++++++++++++ .../biz/lpkgiftcard/LpkGiftCardMapper.java | 3 + .../biz/lpkgiftcard/LpkGiftCardMapper.xml | 11 +++- .../yyth/biz/lpkgiftcard/LpkGiftCardRest.java | 5 ++ .../biz/lpkgiftcard/LpkGiftCardService.java | 59 +++++++++++++++++++ 14 files changed, 326 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcode.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeDto.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeQuery.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeVo.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardWordVo.java create mode 100644 src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeMapper.java create mode 100644 src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeMapper.xml create mode 100644 src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeRest.java create mode 100644 src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeService.java diff --git a/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcode.java b/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcode.java new file mode 100644 index 0000000..09b4aab --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcode.java @@ -0,0 +1,29 @@ +package com.yxt.yyth.api.lpkcardqrcode; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author Fan + * @description + * @date 2023/11/24 16:03 + */ +@Data +@ApiModel(value = "礼品卡二维码表", description = "礼品卡二维码表") +@TableName("lpk_card_qrcode") +public class LpkCardQrcode { + + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String file; + private String fileName; +} diff --git a/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeDto.java b/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeDto.java new file mode 100644 index 0000000..3f640f0 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeDto.java @@ -0,0 +1,24 @@ +package com.yxt.yyth.api.lpkcardqrcode; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + + +@ApiModel(value = "礼品卡二维码表 数据传输对象", description = "礼品卡二维码表 数据传输对象") +@Data +public class LpkCardQrcodeDto implements Dto { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String file; + private String fileName; + +} diff --git a/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeQuery.java b/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeQuery.java new file mode 100644 index 0000000..0724c8a --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeQuery.java @@ -0,0 +1,15 @@ +package com.yxt.yyth.api.lpkcardqrcode; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + + +@ApiModel(value = "礼品卡二维码表 查询条件", description = "礼品卡二维码表 查询条件") +@Data +public class LpkCardQrcodeQuery implements Query { + + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeVo.java b/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeVo.java new file mode 100644 index 0000000..059d0e0 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcardqrcode/LpkCardQrcodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.yyth.api.lpkcardqrcode; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + + +@Data +@ApiModel(value = "礼品卡二维码表 视图数据对象", description = "礼品卡二维码表 视图数据对象") +@NoArgsConstructor +public class LpkCardQrcodeVo implements Vo { + + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String file; + private String fileName; +} diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListVo.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListVo.java index 9a99fcc..42d0812 100644 --- a/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListVo.java +++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListVo.java @@ -30,4 +30,5 @@ public class LpkGiftCardListVo implements Vo { private String name; private String buildDate; private String countNumber; + private String qrCode; } diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardWordVo.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardWordVo.java new file mode 100644 index 0000000..8de3338 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardWordVo.java @@ -0,0 +1,16 @@ +package com.yxt.yyth.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/6 15:49 + */ +@Data +public class LpkGiftCardWordVo { + private String qrCode;//二维码 + private String bagName;//礼包名 + private String serialNumber;//序列号 + private String code;//卡号 + private String codeKey;//密码 +} diff --git a/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeMapper.java b/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeMapper.java new file mode 100644 index 0000000..515b919 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeMapper.java @@ -0,0 +1,20 @@ +package com.yxt.yyth.biz.lpkcardqrcode; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcode; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkCardQrcodeMapper extends BaseMapper { + + IPage recordListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeMapper.xml new file mode 100644 index 0000000..ba947ec --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeRest.java b/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeRest.java new file mode 100644 index 0000000..fdc97d8 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeRest.java @@ -0,0 +1,41 @@ +package com.yxt.yyth.biz.lpkcardqrcode; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeDto; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeQuery; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼品卡二维码") +@RestController +@RequestMapping("lpkcardqrcode") +public class LpkCardQrcodeRest { + + @Autowired + LpkCardQrcodeService LpkCardQrcodeService; + + @ApiOperation("发放记录列表") + @PostMapping("/recordListPage") + public ResultBean> recordListPage(@RequestBody PagerQuery pq) { + return LpkCardQrcodeService.recordListPage(pq); + } + + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody LpkCardQrcodeDto dto) { + return LpkCardQrcodeService.save(dto); + } +} diff --git a/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeService.java b/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeService.java new file mode 100644 index 0000000..f58d8e0 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/lpkcardqrcode/LpkCardQrcodeService.java @@ -0,0 +1,58 @@ +package com.yxt.yyth.biz.lpkcardqrcode; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcode; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeDto; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeQuery; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeVo; +import com.yxt.yyth.biz.lpkgiftcard.LpkGiftCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkCardQrcodeService extends MybatisBaseService { + + @Autowired + private LpkGiftCardService lpkGiftCardService; + + public ResultBean> recordListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkCardQrcodeQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getCountNumber())) { + qw.eq("r.countNumber", query.getCountNumber()); + } +// String startDate = query.getStartDate(); +// String effEndTime = query.getEndDate(); +// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (r.buildDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). +// apply(org.apache.commons.lang3.StringUtils.isNotEmpty(effEndTime), "date_format (r.buildDate,'%Y-%m-%d') <= date_format('" + effEndTime + "','%Y-%m-%d')" +// ); + qw.orderByDesc("r.createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.recordListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean save(LpkCardQrcodeDto dto) { + ResultBean rb = ResultBean.fireFail(); + LpkCardQrcode entity=new LpkCardQrcode(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + String sid=entity.getSid(); + baseMapper.insert(entity); + return rb.success().setMsg(sid); + } + +} 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 818fe8a..a4db6e3 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java @@ -53,4 +53,7 @@ public interface LpkGiftCardMapper extends BaseMapper { Integer cardGrantCount(@Param("recordSid") String recordSid); @Select("update lpk_giftcard set isItInvalid='1' where giftbagSid=#{giftbagSid} and state!=#{state} ") Integer updateIsItInvalid(@Param("giftbagSid") String giftbagSid,@Param("state")String state); + +// List selGiftCard(@Param("serialNumbers") List serialNumbers); + List selGiftCard(); } 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 fc05702..8a074cc 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml @@ -121,5 +121,14 @@ #{item} - + + + + + + + \ 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 49fcbfc..aea379b 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java @@ -60,6 +60,11 @@ public class LpkGiftCardRest { public ResultBean generateCard(@RequestBody LpkGiftCardDto dto) { return lpkGiftCardService.generateCard(dto); } + @GetMapping("/getCardByBank") + @ApiOperation(value = "生成礼包卡信息") + public ResultBean getCardByBank() { + return lpkGiftCardService.getCardByBank(); + } @PostMapping("/cardList") @ApiOperation(value = "礼包卡信息列表") 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 9e6d19f..ace9847 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java @@ -1,5 +1,6 @@ package com.yxt.yyth.biz.lpkgiftcard; +import cn.hutool.core.codec.Base64Encoder; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.img.ImgUtil; @@ -16,6 +17,7 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.lpkcardbuildrecord.LpkCardBuildRecord; import com.yxt.yyth.api.lpkcardgrantrecord.LpkCardGrantRecordDto; +import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeDto; import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag; import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; import com.yxt.yyth.api.lpkgiftcard.*; @@ -28,12 +30,14 @@ import com.yxt.yyth.api.lpkstore.LpkStoreDetailsVo; import com.yxt.yyth.api.lpkstore.StoreSelect; import com.yxt.yyth.biz.lpkcardbuildrecord.LpkCardBuildRecordService; import com.yxt.yyth.biz.lpkcardgrantrecord.LpkCardGrantRecordService; +import com.yxt.yyth.biz.lpkcardqrcode.LpkCardQrcodeService; import com.yxt.yyth.biz.lpkgiftbag.LpkGiftBagService; import com.yxt.yyth.biz.lpkgiftcard.generateRule.UniqueIdGenerator; import com.yxt.yyth.biz.lpkgoods.LpkGoodsService; import com.yxt.yyth.biz.lpkreserveorder.LpkReserveOrderService; import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; import com.yxt.yyth.biz.lpkstore.LpkStoreService; +import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -44,6 +48,7 @@ import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.*; @@ -75,6 +80,8 @@ public class LpkGiftCardService extends MybatisBaseService serialNumbers = new ArrayList<>(); +// for (int i = 0; i <= 8; i++) { +// serialNumbers.add(start+i); +// } + +// List list=baseMapper.selGiftCard(serialNumbers); + List list=baseMapper.selGiftCard(); + list.forEach(s->{ + s.setQrCode("https://supervise.yxtsoft.com/lpkapi?code="+s.getCode()); + }); +// System.out.println(a); + return rb.success().setData(list); + } +// public static void main(String[] args) throws IOException { +// String encodedImage = "/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEsASwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK+AKAPv+ivgCigD7/or4AooA+/6K+AKKAPv+ivgCigD7/or4Ar3/wDZl/5mn/t0/wDa1AH0BRRRQAUV8/8A7TX/ADK3/b3/AO0a8AoA+/6K+AK9/wD2Zf8Amaf+3T/2tQB9AUUV8AUAff8ARXz/APsy/wDM0/8Abp/7Wr6AoAKK+AKKAPv+ivgCigD7/or4AooA+/6K+AKKAPv+ivgCigD7/or5/wD2Zf8Amaf+3T/2tX0BQAUUUUAFFFFABXwBX3/XwBQB6B8Mvhl/wsb+1P8Aib/2f9g8r/l283fv3/7a4xs9+td//wAMy/8AU3f+U3/7bR+zL/zNP/bp/wC1q+gKAPn/AP4Zl/6m7/ym/wD22j/hmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APbaP+GZf+pu/wDKb/8Aba+gKKAPgCvf/wBmX/maf+3T/wBrV4BXv/7Mv/M0/wDbp/7WoA+gKKKKAPP/AIm/DL/hY39l/wDE3/s/7B5v/Lt5u/fs/wBtcY2e/WvP/wDhmX/qbv8Aym//AG2voCigD4Ar3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvn/wD4Zl/6m7/ym/8A22voCigDz/4ZfDL/AIVz/an/ABN/7Q+3+V/y7eVs2b/9ts53+3SvQKKKAPgCvQPhl8Mv+Fjf2p/xN/7P+weV/wAu3m79+/8A21xjZ79a8/r3/wDZl/5mn/t0/wDa1AB/wzL/ANTd/wCU3/7bR/wzL/1N3/lN/wDttfQFFAHz/wD8My/9Td/5Tf8A7bR/wzL/ANTd/wCU3/7bX0BRQB8//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO219AUUAfP/APwzL/1N3/lN/wDtteAV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAFFFFABRRRQAV8AV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFFFFABRRRQB7/APsy/wDM0/8Abp/7Wr6Ar5//AGZf+Zp/7dP/AGtX0BQB8AV7/wDsy/8AM0/9un/tavAK9/8A2Zf+Zp/7dP8A2tQB9AV8AV9/18AUAFFFFABXv/7Mv/M0/wDbp/7WrwCvf/2Zf+Zp/wC3T/2tQB9AV8AV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFfAFff9fAFABRRRQAV7/+zL/zNP8A26f+1q8Ar3/9mX/maf8At0/9rUAfQFfAFff9fAFAHv8A+zL/AMzT/wBun/tavoCvn/8AZl/5mn/t0/8Aa1fQFABRRRQAUUUUAFfAFff9fAFAHv8A+zL/AMzT/wBun/tavoCvn/8AZl/5mn/t0/8Aa1fQFAHwBRRRQAUUUUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFfAFff9fAFABRXv8A+zL/AMzT/wBun/tavoCgD4Ar3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvgCvv+vgCgD3/9mX/maf8At0/9rV9AV8//ALMv/M0/9un/ALWr6AoA+AK9/wD2Zf8Amaf+3T/2tXgFe/8A7Mv/ADNP/bp/7WoA+gK+AK+/6+AKACiiigAr3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvgCvv+vgCgD3/9mX/maf8At0/9rV9AV8//ALMv/M0/9un/ALWr6AoAKKKKACiiigAr4Ar7/r4AoA9//Zl/5mn/ALdP/a1fQFfP/wCzL/zNP/bp/wC1q+gKAPn/AP4Zl/6m7/ym/wD22j/hmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA8/8Ahl8Mv+Fc/wBqf8Tf+0Pt/lf8u3lbNm//AG2znf7dK9AoooA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4Ar0D4ZfE3/hXP8Aan/Eo/tD7f5X/Lz5WzZv/wBhs53+3SvP6KAPf/8Ahpr/AKlH/wAqX/2qj/hmX/qbv/Kb/wDba8Ar7/oA8/8Ahl8Mv+Fc/wBqf8Tf+0Pt/lf8u3lbNm//AG2znf7dK9AoooA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+f/wDhmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APba9A+GXwy/4Vz/AGp/xN/7Q+3+V/y7eVs2b/8AbbOd/t0r0CigAr4Ar7/r4AoA9/8A2Zf+Zp/7dP8A2tX0BXz/APsy/wDM0/8Abp/7Wr6AoAKKKKACiiigAr4Ar7/r5/8A+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCivf/8AhmX/AKm7/wApv/22j/hmX/qbv/Kb/wDbaAPAKK9//wCGZf8Aqbv/ACm//baP+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrUf8ADMv/AFN3/lN/+216B8Mvhl/wrn+1P+Jv/aH2/wAr/l28rZs3/wC22c7/AG6UAegV8AV9/wBfAFAHv/7Mv/M0/wDbp/7Wr6Ar5A+GXxN/4Vz/AGp/xKP7Q+3+V/y8+Vs2b/8AYbOd/t0rv/8Ahpr/AKlH/wAqX/2qgDwCvf8A9mX/AJmn/t0/9rV4BXv/AOzL/wAzT/26f+1qAPoCvgCvv+vn/wD4Zl/6m7/ym/8A22gA/Zl/5mn/ALdP/a1fQFef/DL4Zf8ACuf7U/4m/wDaH2/yv+Xbytmzf/ttnO/26V6BQB8AUV7/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbQB4BRXv8A/wAMy/8AU3f+U3/7bR/wzL/1N3/lN/8AttAHgFFe/wD/AAzL/wBTd/5Tf/ttH/DMv/U3f+U3/wC20AeAUV7/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbQB4BRXv8A/wAMy/8AU3f+U3/7bR/wzL/1N3/lN/8AttAB+zL/AMzT/wBun/tavoCvP/hl8Mv+Fc/2p/xN/wC0Pt/lf8u3lbNm/wD22znf7dK9AoAKKKKACiiigAoor4AoA+/6K+f/ANmX/maf+3T/ANrV9AUAFFfAFFAH3/RXwBRQB9/0V8AUUAff9FfAFe//ALMv/M0/9un/ALWoA+gK+AK+/wCigD4Aor3/APaa/wCZW/7e/wD2jXgFABXv/wCzL/zNP/bp/wC1q8AooA+/6K+AK+/6ACiiigAor4AooA+/6K+AKKAPv+ivgCigD7/or4Ar3/8AZl/5mn/t0/8Aa1AH0BRRRQAUUUUAFFFFABRRRQAV8AV9/wBfAFAHv/7Mv/M0/wDbp/7Wr6Ar5/8A2Zf+Zp/7dP8A2tX0BQB8/wD/AAzL/wBTd/5Tf/ttcB8Tfhl/wrn+y/8Aib/2h9v83/l28rZs2f7bZzv9ulfX9fP/AO01/wAyt/29/wDtGgDwCiiigD0D4ZfDL/hY39qf8Tf+z/sHlf8ALt5u/fv/ANtcY2e/Wu//AOGZf+pu/wDKb/8AbaP2Zf8Amaf+3T/2tX0BQB8//wDDMv8A1N3/AJTf/ttegfDL4Zf8K5/tT/ib/wBofb/K/wCXbytmzf8A7bZzv9ulegUUAFfP/wDw01/1KP8A5Uv/ALVX0BXwBQB7/wD8nGf9S9/YX/b35/n/APfvbt8n3zu7Y5P+GZf+pu/8pv8A9to/Zl/5mn/t0/8Aa1fQFAHwBRRRQAV7/wD8NNf9Sj/5Uv8A7VXgFFAH1/8ADL4m/wDCxv7U/wCJR/Z/2Dyv+Xnzd+/f/sLjGz3616BXz/8Asy/8zT/26f8AtavoCgD4Ar0D4ZfDL/hY39qf8Tf+z/sHlf8ALt5u/fv/ANtcY2e/WvP69/8A2Zf+Zp/7dP8A2tQAf8My/wDU3f8AlN/+214BX3/XwBQAUUUUAFe//sy/8zT/ANun/tavAK9//Zl/5mn/ALdP/a1AH0BXz/8A8NNf9Sj/AOVL/wC1V9AV8AUAfX/wy+Jv/Cxv7U/4lH9n/YPK/wCXnzd+/f8A7C4xs9+tegV8/wD7Mv8AzNP/AG6f+1q+gKACiiigAooooAK+AK+/6+AKACivQPhl8Mv+Fjf2p/xN/wCz/sHlf8u3m79+/wD21xjZ79a7/wD4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrUf8ADMv/AFN3/lN/+216B8Mvhl/wrn+1P+Jv/aH2/wAr/l28rZs3/wC22c7/AG6UAegV8AV9/wBfP/8AwzL/ANTd/wCU3/7bQAfsy/8AM0/9un/tavoCvP8A4ZfDL/hXP9qf8Tf+0Pt/lf8ALt5WzZv/ANts53+3SvQKAPgCivf/APhmX/qbv/Kb/wDba4D4m/DL/hXP9l/8Tf8AtD7f5v8Ay7eVs2bP9ts53+3SgDz+vv8Ar4Ar3/8A4aa/6lH/AMqX/wBqoA+gKK+f/wDhpr/qUf8Aypf/AGqj/hpr/qUf/Kl/9qoA8Ar3/wDZl/5mn/t0/wDa1H/DMv8A1N3/AJTf/ttH/Juf/Uw/27/26eR5H/fzdu872xt754APoCvgCvf/APhpr/qUf/Kl/wDaq8AoAKKKKAPv+vn/APaa/wCZW/7e/wD2jR/w01/1KP8A5Uv/ALVXAfE34m/8LG/sv/iUf2f9g83/AJefN379n+wuMbPfrQB5/RRRQB7/APsy/wDM0/8Abp/7Wr6Ar5A+GXxN/wCFc/2p/wASj+0Pt/lf8vPlbNm//YbOd/t0rv8A/hpr/qUf/Kl/9qoA8Ar3/wDZl/5mn/t0/wDa1H/DMv8A1N3/AJTf/ttegfDL4Zf8K5/tT/ib/wBofb/K/wCXbytmzf8A7bZzv9ulAHoFfAFff9fP/wDwzL/1N3/lN/8AttAB+zL/AMzT/wBun/tavoCvP/hl8Mv+Fc/2p/xN/wC0Pt/lf8u3lbNm/wD22znf7dK9AoAKKKKACiiigAr4Ar7/AK+AKAPf/wBmX/maf+3T/wBrV9AV8/8A7Mv/ADNP/bp/7Wr6AoAKKK+f/wBpr/mVv+3v/wBo0AfQFFfAFFAH3/RXwBRQB9/18/8A7TX/ADK3/b3/AO0a8AooAKKKKACivf8A9mX/AJmn/t0/9rV9AUAFfP8A+01/zK3/AG9/+0a+gKKAPgCivv8Ar4AoAKK9/wD2Zf8Amaf+3T/2tX0BQB8AUV9/0UAfAFFff9fAFABRRRQB9/0V8AUUAff9FfAFFAH3/RXz/wDsy/8AM0/9un/tavoCgAooooAKKKKACvn/AP4Zl/6m7/ym/wD22voCigDz/wCGXwy/4Vz/AGp/xN/7Q+3+V/y7eVs2b/8AbbOd/t0r0CiigArz/wCJvwy/4WN/Zf8AxN/7P+web/y7ebv37P8AbXGNnv1r0CigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APbaP+GZf+pu/wDKb/8Aba+gKKAPn/8A4Zl/6m7/AMpv/wBto/4Zl/6m7/ym/wD22voCigD5/wD+GZf+pu/8pv8A9trwCvv+vgCgD0D4ZfE3/hXP9qf8Sj+0Pt/lf8vPlbNm/wD2Gznf7dK7/wD4aa/6lH/ypf8A2qvAKKAPv+iiigAr4Ar7/r4AoA9//Zl/5mn/ALdP/a1fQFfP/wCzL/zNP/bp/wC1q+gKACvP/ib8Tf8AhXP9l/8AEo/tD7f5v/Lz5WzZs/2Gznf7dK9Ar5//AGmv+ZW/7e//AGjQAf8ADTX/AFKP/lS/+1V4BRRQAUUUUAe//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO219AUUAfP/APwzL/1N3/lN/wDttH/DMv8A1N3/AJTf/ttfQFFAHn/wy+GX/Cuf7U/4m/8AaH2/yv8Al28rZs3/AO22c7/bpXoFFFABRRRQAUUUUAFfAFff9fAFABRXoHwy+GX/AAsb+1P+Jv8A2f8AYPK/5dvN379/+2uMbPfrXf8A/DMv/U3f+U3/AO20AeAUV7//AMMy/wDU3f8AlN/+20f8My/9Td/5Tf8A7bQB4BRXv/8AwzL/ANTd/wCU3/7bR/wzL/1N3/lN/wDttAHgFFe//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO20AeAV7/8Asy/8zT/26f8AtavAK9//AGZf+Zp/7dP/AGtQB9AUUV8//wDDTX/Uo/8AlS/+1UAH7TX/ADK3/b3/AO0a8Ar0D4m/E3/hY39l/wDEo/s/7B5v/Lz5u/fs/wBhcY2e/WvP6APv+vn/APaa/wCZW/7e/wD2jR/w01/1KP8A5Uv/ALVR/wAnGf8AUvf2F/29+f5//fvbt8n3zu7Y5APAK+/6+f8A/hmX/qbv/Kb/APba+gKACiiigAr5/wD2mv8AmVv+3v8A9o19AV8//tNf8yt/29/+0aAPAKKKKACivQPhl8Mv+Fjf2p/xN/7P+weV/wAu3m79+/8A21xjZ79a7/8A4Zl/6m7/AMpv/wBtoA8Ar3/9mX/maf8At0/9rV4BXoHwy+Jv/Cuf7U/4lH9ofb/K/wCXnytmzf8A7DZzv9ulAH1/RXz/AP8ADTX/AFKP/lS/+1V9AUAFFFFABRRRQAUUUUAFfAFff9fAFAHv/wCzL/zNP/bp/wC1q+gK+f8A9mX/AJmn/t0/9rV9AUAFFfAFFAH3/RXwBRQB9/0V8/8A7Mv/ADNP/bp/7Wr6AoA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+AK+/6+AKACiiigAr3/wDZl/5mn/t0/wDa1fQFfP8A+01/zK3/AG9/+0aAPoCivgCvv+gAooooAK+f/wBpr/mVv+3v/wBo19AV8/8A7TX/ADK3/b3/AO0aAPAKKK+/6APn/wDZl/5mn/t0/wDa1fQFFFAHwBRX3/Xz/wDtNf8AMrf9vf8A7RoA8Ar7/r4Ar7/oAKKKKACiiigAooooAK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4AooooAKKKKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4Ar3/wDZl/5mn/t0/wDa1eAV7/8Asy/8zT/26f8AtagD6Ar4Ar7/AK+AKAPQPhl8Mv8AhY39qf8AE3/s/wCweV/y7ebv37/9tcY2e/Wu/wD+GZf+pu/8pv8A9to/Zl/5mn/t0/8Aa1fQFAHz/wD8NNf9Sj/5Uv8A7VXAfE34m/8ACxv7L/4lH9n/AGDzf+Xnzd+/Z/sLjGz3615/RQAV7/8A8NNf9Sj/AOVL/wC1V4BRQB7/AP8ADTX/AFKP/lS/+1Uf8NNf9Sj/AOVL/wC1V4BRQB7/AP8ADTX/AFKP/lS/+1VwHxN+Jv8Awsb+y/8AiUf2f9g83/l583fv2f7C4xs9+tef0UAFff8AXwBX3/QAUUUUAfP/APw01/1KP/lS/wDtVH/Jxn/Uvf2F/wBvfn+f/wB+9u3yffO7tjnwCvf/ANmX/maf+3T/ANrUAH/DMv8A1N3/AJTf/ttfQFFFABRRRQAUUUUAFFFFABXwBX3/AF8AUAe//sy/8zT/ANun/tavoCvn/wDZl/5mn/t0/wDa1fQFAHwBRXv/APwzL/1N3/lN/wDttH/DMv8A1N3/AJTf/ttAHgFFe/8A/DMv/U3f+U3/AO20f8My/wDU3f8AlN/+20AH7Mv/ADNP/bp/7Wr6Arz/AOGXwy/4Vz/an/E3/tD7f5X/AC7eVs2b/wDbbOd/t0r0CgD4Ar3/APZl/wCZp/7dP/a1eAV7/wDsy/8AM0/9un/tagD6Ar4Ar7/r5/8A+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrV4BXoHwy+Jv/AArn+1P+JR/aH2/yv+Xnytmzf/sNnO/26UAfX9fAFe//APDTX/Uo/wDlS/8AtVeAUAe//sy/8zT/ANun/tavoCvkD4ZfE3/hXP8Aan/Eo/tD7f5X/Lz5WzZv/wBhs53+3Su//wCGmv8AqUf/ACpf/aqAPAKKKKACiiigAor0D4ZfDL/hY39qf8Tf+z/sHlf8u3m79+//AG1xjZ79a7//AIZl/wCpu/8AKb/9toA+gKKK8/8Aib8Tf+Fc/wBl/wDEo/tD7f5v/Lz5WzZs/wBhs53+3SgD0Civn/8A4aa/6lH/AMqX/wBqr6AoAKKKKACiiigAooooAK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8AUUAff9FfAFFAH3/RXwBRQB9/0V8AUUAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFFFfAFAH3/RXwBRQAUV9/0UAfAFFff9fAFABRXv8A+zL/AMzT/wBun/tavoCgD4Aor7/ooA+AKK+/6KAPn/8AZl/5mn/t0/8Aa1fQFFFABXz/APtNf8yt/wBvf/tGvAK9/wD2Zf8Amaf+3T/2tQB4BX3/AEUUAFFFFABRRRQAUUUUAFfP/wDwzL/1N3/lN/8AttfQFFAHz/8A8My/9Td/5Tf/ALbR/wAMy/8AU3f+U3/7bX0BRQB8/wD/AAzL/wBTd/5Tf/ttH/DMv/U3f+U3/wC219AUUAfP/wDwzL/1N3/lN/8AttH/AAzL/wBTd/5Tf/ttfQFFAHz/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbX0BRQB8//APDMv/U3f+U3/wC216B8Mvhl/wAK5/tT/ib/ANofb/K/5dvK2bN/+22c7/bpXoFFABXz/wD8My/9Td/5Tf8A7bX0BRQB8/8A/DMv/U3f+U3/AO20f8My/wDU3f8AlN/+219AUUAFFFFABXz/AP8ADMv/AFN3/lN/+219AUUAef8Awy+GX/Cuf7U/4m/9ofb/ACv+Xbytmzf/ALbZzv8AbpXoFFFABRRRQAUUUUAFFFFAHz//AMMy/wDU3f8AlN/+216B8Mvhl/wrn+1P+Jv/AGh9v8r/AJdvK2bN/wDttnO/26V6BRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/Z"; // 这里需要替换成真正的 Base64 编码图片数据 +// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); +// byte[] imageBytes = Base64.getDecoder().decode(encodedImage); +// String path = "D:/project/yxtt/yyth/yxt-yyth-biz/target/classes/static/upload/" + sdf.format(new Date()) + "/" + 111 + ".jpg"; +// +// File outputFile = new File(path); // 输出文件名及路径 +// +// try (OutputStream os = new FileOutputStream(outputFile)) { +// os.write(imageBytes); +// os.close(); +// System.out.println("已保存文件到:" + outputFile.getAbsolutePath()); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } public List selAllByRecordSid(String sid) { return baseMapper.selAllByRecordSid(sid); }