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 a4db6e3..2e6e03f 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java @@ -48,12 +48,15 @@ public interface LpkGiftCardMapper extends BaseMapper { IPage recordDetails(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List exportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); - Integer updateState(@Param("serialNumbers") List serialNumbers ,@Param("state") String state,@Param("bankSid")String bankSid,@Param("recordSid")String recordSid); + + Integer updateState(@Param("serialNumbers") List serialNumbers, @Param("state") String state, @Param("bankSid") String bankSid, @Param("recordSid") String recordSid); + @Select("select count(id) from lpk_giftcard where recordSid=#{recordSid} and grantRecordSid is not null") 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); + Integer updateIsItInvalid(@Param("giftbagSid") String giftbagSid, @Param("state") String state); -// List selGiftCard(@Param("serialNumbers") List serialNumbers); - List selGiftCard(); + // List selGiftCard(@Param("serialNumbers") List serialNumbers); + IPage selGiftCard(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 8a074cc..37c5976 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml @@ -129,6 +129,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 aea379b..99ddd67 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java @@ -2,6 +2,7 @@ package com.yxt.yyth.biz.lpkgiftcard; import cn.hutool.core.img.ImgUtil; import cn.hutool.extra.qrcode.QrCodeUtil; +import com.alibaba.fastjson.JSONObject; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -62,8 +63,26 @@ public class LpkGiftCardRest { } @GetMapping("/getCardByBank") @ApiOperation(value = "生成礼包卡信息") - public ResultBean getCardByBank() { - return lpkGiftCardService.getCardByBank(); + public JSONObject getCardByBank(@RequestParam(value = "pageNo",defaultValue = "1")Integer pageNo, + @RequestParam(value = "pageSize",defaultValue = "8")Integer pageSize, + @RequestParam(value = "printAll",required = false) String printAll, + @RequestParam(value = "end",defaultValue = "") String end, + @RequestParam(value = "start",defaultValue = "") String start) { + PagerQuery pq=new PagerQuery<>(); + LpkGiftCardListQuery q=new LpkGiftCardListQuery(); + pq.setCurrent(pageNo); + pq.setSize(pageSize); + + q.setNoEnd(end); + q.setNoStart(start); + pq.setParams(q); + + PagerVo p=lpkGiftCardService.getCardByBank(pq).getData(); + JSONObject jsonObject=new JSONObject(); + jsonObject.put("date",p.getRecords()); + jsonObject.put("total",p.getPages()); + jsonObject.put("count",p.getTotal()); + return jsonObject; } @PostMapping("/cardList") 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 ace9847..570e76d 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java @@ -418,22 +418,37 @@ public class LpkGiftCardService extends MybatisBaseService> getCardByBank(PagerQuery pq){ ResultBean rb =new ResultBean().fail(); -// int start = Integer.parseInt(dto.getStart()); -// int end = Integer.parseInt(dto.getEnd()); -// List 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->{ + LpkGiftCardListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + Integer end=0; + Integer start=0; + List serialNumbers = new ArrayList<>(); + if(StringUtils.isNotBlank(query.getNoStart())){ + start=Integer.valueOf(query.getNoStart()); + if(StringUtils.isNotBlank(query.getNoEnd())){ + end=Integer.valueOf(query.getNoEnd()); + if (start > end) { + for (int i = 0; end <= start; end++) { + serialNumbers.add(end); + } + } else { + for (int i = 0; start <= end; start++) { + serialNumbers.add(start); + } + } + qw.in("card.serialNumber",serialNumbers); + } + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging=baseMapper.selGiftCard(page, qw); + pagging.getRecords().forEach(s->{ s.setQrCode("https://supervise.yxtsoft.com/lpkapi?code="+s.getCode()); }); + PagerVo p = PagerUtil.pageToVo(pagging, null); // System.out.println(a); - return rb.success().setData(list); + return rb.success().setData(p); } // public static void main(String[] args) throws IOException { // String encodedImage = "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"; // 这里需要替换成真正的 Base64 编码图片数据