From 6c8fbb9e1904298d92664540e7f471bcb9619cad Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Fri, 15 Dec 2023 17:32:54 +0800 Subject: [PATCH] 12/15 --- .../com/yxt/yyth/api/empcard/EmpAppletVo.java | 77 +- .../yxt/yyth/api/empcard/EmpCardQuery.java | 1 + .../yxt/yyth/api/empcardgift/EmpCardGift.java | 40 ++ .../yyth/api/empcardgift/EmpCardGiftDto.java | 42 ++ .../api/empcardgift/EmpCardGiftExport.java | 25 + .../api/empcardgift/EmpCardGiftListQuery.java | 18 + .../api/empcardgift/EmpCardGiftListVo.java | 8 + .../api/empcardgift/EmpCardGiftQuery.java | 40 ++ .../yyth/api/empcardgift/EmpCardGiftVo.java | 42 ++ .../api/empcardgift/EmpCardGiftWordVo.java | 17 + .../yyth/api/empcardgift/EmpGiftAppletVo.java | 158 ++++ .../com/yxt/yyth/api/empcardgift/GoodsVo.java | 21 + .../empcardgiftgoods/EmpCardGiftGoods.java | 26 + .../empcardgiftgoods/EmpCardGiftGoodsDto.java | 20 + .../EmpCardGiftGoodsQuery.java | 15 + .../empcardgiftgoods/EmpCardGiftGoodsVo.java | 28 + .../api/empcardgrantlog/EmpCardGrantLog.java | 25 + .../empcardgrantlog/EmpCardGrantLogDto.java | 30 + .../empcardgrantlog/EmpCardGrantLogQuery.java | 15 + .../empcardgrantlog/EmpCardGrantLogVo.java | 38 + .../api/empreserveorder/EmpReserveOrder.java | 31 + .../EmpReserveOrderCardVo.java | 47 ++ .../empreserveorder/EmpReserveOrderDto.java | 26 + .../empreserveorder/EmpReserveOrderQuery.java | 18 + .../empreserveorder/EmpReserveOrderVo.java | 29 + .../yxt/yyth/api/empreserveorder/Goods.java | 14 + .../api/empreserveorder/OrderGoodsVo.java | 15 + .../empreserveorder/ReserveOrderExport.java | 28 + .../ReserveOrderExportByStore.java | 20 + .../EmpReserveOrderGoods.java | 26 + .../EmpReserveOrderGoodsDto.java | 14 + .../EmpReserveOrderGoodsQuery.java | 8 + .../yxt/yyth/api/lpkreserveorder/Goods.java | 3 + .../LpkReserveOrderCardVo.java | 8 + .../lpkreserveorder/LpkReserveOrderQuery.java | 1 + .../lpkreserveorder/LpkReserveOrderVo.java | 1 + .../api/lpkreserveorder/MergeStrategy.java | 89 +++ .../lpkreserveorder/ReserveOrderExport.java | 39 +- .../ReserveOrderExportByStore.java | 25 +- .../com/yxt/yyth/api/lpkstore/LpkStore.java | 1 + .../yxt/yyth/api/lpkstore/LpkStoreDto.java | 1 + .../com/yxt/yyth/api/lpkstore/LpkStoreVo.java | 4 +- .../yxt/yyth/biz/empcard/EmpCardMapper.java | 7 +- .../yxt/yyth/biz/empcard/EmpCardMapper.xml | 25 +- .../com/yxt/yyth/biz/empcard/EmpCardRest.java | 16 +- .../yxt/yyth/biz/empcard/EmpCardService.java | 98 ++- .../EmpCardBuildRecordRest.java | 2 +- .../biz/empcardgift/EmpCardGiftMapper.java | 48 ++ .../biz/empcardgift/EmpCardGiftMapper.xml | 177 +++++ .../yyth/biz/empcardgift/EmpCardGiftRest.java | 112 +++ .../biz/empcardgift/EmpCardGiftService.java | 676 ++++++++++++++++++ .../EmpCardGiftGoodsMapper.java | 24 + .../EmpCardGiftGoodsMapper.xml | 12 + .../EmpCardGiftGoodsRest.java | 27 + .../EmpCardGiftGoodsService.java | 57 ++ .../EmpCardGrantLogMapper.java | 23 + .../empcardgrantlog/EmpCardGrantLogMapper.xml | 47 ++ .../empcardgrantlog/EmpCardGrantLogRest.java | 31 + .../EmpCardGrantLogService.java | 62 ++ .../EmpReserveOrderMapper.java | 37 + .../empreserveorder/EmpReserveOrderMapper.xml | 114 +++ .../empreserveorder/EmpReserveOrderRest.java | 72 ++ .../EmpReserveOrderService.java | 439 ++++++++++++ .../EmpReserveOrderGoodsMapper.java | 28 + .../EmpReserveOrderGoodsMapper.xml | 36 + .../EmpReserveOrderGoodsRest.java | 29 + .../EmpReserveOrderGoodsService.java | 78 ++ .../LpkGiftBagGoodsMapper.java | 3 +- .../biz/lpkgiftcard/LpkGiftCardService.java | 8 + .../lpkreserveorder/LpkReserveOrderMapper.xml | 14 + .../lpkreserveorder/LpkReserveOrderRest.java | 5 + .../LpkReserveOrderService.java | 220 +++++- .../LpkReserveOrderGoodsMapper.xml | 3 +- .../yxt/yyth/biz/lpkstore/LpkStoreMapper.java | 2 + .../yxt/yyth/biz/lpkstore/LpkStoreMapper.xml | 37 +- .../yyth/biz/lpkstore/LpkStoreService.java | 11 +- 76 files changed, 3594 insertions(+), 120 deletions(-) create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftDto.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftExport.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftListQuery.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftListVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftQuery.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftWordVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/EmpGiftAppletVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgift/GoodsVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoods.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsDto.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsQuery.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLog.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogDto.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogQuery.java create mode 100644 src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrder.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderCardVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderDto.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderQuery.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/Goods.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/OrderGoodsVo.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/ReserveOrderExport.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveorder/ReserveOrderExportByStore.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoods.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoodsDto.java create mode 100644 src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoodsQuery.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkreserveorder/MergeStrategy.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.xml create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftRest.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftService.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.xml create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsRest.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsService.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogMapper.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogMapper.xml create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogRest.java create mode 100644 src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogService.java create mode 100644 src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderMapper.java create mode 100644 src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderMapper.xml create mode 100644 src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderRest.java create mode 100644 src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderService.java create mode 100644 src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.java create mode 100644 src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.xml create mode 100644 src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsRest.java create mode 100644 src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsService.java diff --git a/src/main/java/com/yxt/yyth/api/empcard/EmpAppletVo.java b/src/main/java/com/yxt/yyth/api/empcard/EmpAppletVo.java index 1b221a0..1ee55ee 100644 --- a/src/main/java/com/yxt/yyth/api/empcard/EmpAppletVo.java +++ b/src/main/java/com/yxt/yyth/api/empcard/EmpAppletVo.java @@ -2,6 +2,7 @@ package com.yxt.yyth.api.empcard; import cn.hutool.core.date.DateUtil; import com.yxt.common.base.utils.StringUtils; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogVo; import com.yxt.yyth.api.lpkgiftcard.GoodsVo; import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderCardVo; import com.yxt.yyth.api.lpkstore.StoreSelect; @@ -40,10 +41,12 @@ public class EmpAppletVo { private String addressName; private String isReservation;//是否超过预约时间 0 否 1是 private boolean notRese=true; //是否能预约 - private List orderCardVoList; + private List empCardGrantLogVos; private String value; private String serialNumber; - + private String giftCode; + private String giftCodeKey; + private String qrCode; public String getStart() { SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); @@ -83,7 +86,6 @@ public class EmpAppletVo { } return showBtn; } - public String getState() { SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); if(StringUtils.isNotBlank(dateEnd)){ @@ -93,33 +95,58 @@ public class EmpAppletVo { showBtn=false; }else{ state="待提货"; - if(states.equals("5")){ - if(isReservation.equals("0")){ - this.state="已预约"; - this.notRese=false; - }else{ - this.state="已完成"; - showBtn=false; - } - }else if(states.equals("4")){ - if(isReservation.equals("0")){ - this.state="已预约"; - }else{ - this.state="待提货"; - } - } - } - }else{ - state="待提货"; - if(states.equals("5")){ - if(isReservation.equals("0")){ - this.state="已预约"; - }else{ + if(states.equals("2")){ + this.state="已绑定"; + + }else if(states.equals("3")){ this.state="已完成"; showBtn=false; } } + }else{ + state="已绑定"; + if(states.equals("2")){ + this.state="已预约"; + } } return state; } +// public String getState() { +// SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); +// if(StringUtils.isNotBlank(dateEnd)){ +// int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); +// if( String.valueOf(i).equals("-1")){ +// state="已过期"; +// showBtn=false; +// }else{ +// state="待提货"; +// if(states.equals("5")){ +// if(isReservation.equals("0")){ +// this.state="已预约"; +// this.notRese=false; +// }else{ +// this.state="已完成"; +// showBtn=false; +// } +// }else if(states.equals("4")){ +// if(isReservation.equals("0")){ +// this.state="已预约"; +// }else{ +// this.state="待提货"; +// } +// } +// } +// }else{ +// state="待提货"; +// if(states.equals("5")){ +// if(isReservation.equals("0")){ +// this.state="已预约"; +// }else{ +// this.state="已完成"; +// showBtn=false; +// } +// } +// } +// return state; +// } } diff --git a/src/main/java/com/yxt/yyth/api/empcard/EmpCardQuery.java b/src/main/java/com/yxt/yyth/api/empcard/EmpCardQuery.java index 4f6afaa..9d98dfc 100644 --- a/src/main/java/com/yxt/yyth/api/empcard/EmpCardQuery.java +++ b/src/main/java/com/yxt/yyth/api/empcard/EmpCardQuery.java @@ -15,4 +15,5 @@ public class EmpCardQuery implements Query { private String number; private String sid; + private String customerSid; } diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java new file mode 100644 index 0000000..df906f4 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java @@ -0,0 +1,40 @@ +package com.yxt.yyth.api.empcardgift; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/11 16:54 + */ +@Data +public class EmpCardGift { + 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 isEnable; + private String empCardSid; + private String empCardSerialNumber; + private String empCardCode; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private String recordSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItlnvalid; + private String isReservation; + +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftDto.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftDto.java new file mode 100644 index 0000000..7bbfaf7 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftDto.java @@ -0,0 +1,42 @@ +package com.yxt.yyth.api.empcardgift; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; +import java.util.List; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/11 16:58 + */ +@Data +public class EmpCardGiftDto implements Dto { + 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 isEnable; + private String empCardSid; + private String empCardSerialNumber; + private String empCardCode; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private String recordSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItlnvalid; + private String iReservation; + private List goodsVoList; +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftExport.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftExport.java new file mode 100644 index 0000000..f7a0d85 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftExport.java @@ -0,0 +1,25 @@ +package com.yxt.yyth.api.empcardgift; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/27 10:34 + */ +@Data +public class EmpCardGiftExport { + @ExportEntityMap(CnName = "提货二维码", EnName = "pic") + private String pic; + @ExportEntityMap(CnName = "提货编码第一行", EnName = "code1") + private String code1; + @ExportEntityMap(CnName = "提货编码第二行", EnName = "code2") + private String code2; + @ExportEntityMap(CnName = "提货密码", EnName = "codeKey") + private String codeKey; + @ExportEntityMap(CnName = "序列号", EnName = "serialNumber") + private String serialNumber; + private String code; + +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftListQuery.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftListQuery.java new file mode 100644 index 0000000..10cb8f3 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftListQuery.java @@ -0,0 +1,18 @@ +package com.yxt.yyth.api.empcardgift; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/24 10:07 + */ +@Data +public class EmpCardGiftListQuery implements Query { + private String state; + private String noStart; //序列号开始 + private String noEnd; //序列号结束 + private String sid; + private String number; +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftListVo.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftListVo.java new file mode 100644 index 0000000..02b865a --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftListVo.java @@ -0,0 +1,8 @@ +package com.yxt.yyth.api.empcardgift; + +/** + * @author wangpengfei + * @date 2023/12/11 17:09 + */ +public class EmpCardGiftListVo { +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftQuery.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftQuery.java new file mode 100644 index 0000000..8a68dee --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftQuery.java @@ -0,0 +1,40 @@ +package com.yxt.yyth.api.empcardgift; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.query.Query; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/11 16:57 + */ +@Data +public class EmpCardGiftQuery implements Query { + 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 isEnable; + private String empCardSid; + private String empCardSerialNumber; + private String empCardCode; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private String recordSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItlnvalid; + private String iReservation; +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftVo.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftVo.java new file mode 100644 index 0000000..c974edf --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftVo.java @@ -0,0 +1,42 @@ +package com.yxt.yyth.api.empcardgift; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/11 16:57 + */ +@Data +public class EmpCardGiftVo 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 isEnable; + private String empCardSid; + private String empCardSerialNumber; + private String empCardCode; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private String recordSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItlnvalid; + private String iReservation; + private double goodsNumber=0; + private String qrCode; +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftWordVo.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftWordVo.java new file mode 100644 index 0000000..3ff7fbf --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGiftWordVo.java @@ -0,0 +1,17 @@ +package com.yxt.yyth.api.empcardgift; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/6 15:49 + */ +@Data +public class EmpCardGiftWordVo { + private String qrCode;//二维码 + private String bagName;//礼包名 + private String serialNumber;//序列号 + private String code;//卡号 + private String codeKey;//密码 + +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpGiftAppletVo.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpGiftAppletVo.java new file mode 100644 index 0000000..f9f0a87 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpGiftAppletVo.java @@ -0,0 +1,158 @@ +package com.yxt.yyth.api.empcardgift; + +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.yyth.api.empcardgift.GoodsVo; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderCardVo; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.yyth.api.lpkstore.StoreSelect; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/11 17:14 + */ +@Data +public class EmpGiftAppletVo { + + private String dateStart; + private String dateEnd; + private String customerSid; + private String giftbagSid; + private String code; + private String sid; + private String state; + private String states; + private boolean showBtn = true; + private boolean showRecord = true; + private String time; + private String name = "卡号:"; + private String pName; + private String start; + private String end; + private String store; //门店 + private String reserveDate; //预约时间 + private List goodsVos; + private List select; + private String storeSid;//上次提货地点 + private String addressName; + private String isReservation;//是否超过预约时间 0 否 1是 + private boolean notRese = true; //是否能预约 + private List orderCardVoList; + private String value; + private String serialNumber; + + + public String getStart() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalTime timeOfDay = LocalTime.of(16, 0); // 设置下午4点的小时数为16,分钟数为0 + LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 + + ZoneId zoneId = ZoneId.systemDefault(); + Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); + System.out.println(date); + //1>2 1 、1<2 -1 、1=2 0 + int k = DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(new Date())))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(date))))); + if (String.valueOf(k).equals("1")) { + start = sdf.format(DateUtil.offsetDay(new Date(), +2)); + } else { + start = sdf.format(DateUtil.offsetDay(new Date(), +1)); + } + + if (StringUtils.isNotBlank(dateEnd)) { + int i = DateUtil.parse(sdf.format(DateUtil.parse(start))).compareTo(DateUtil.parse(sdf.format(DateUtil.parse(dateEnd)))); + if (String.valueOf(i).equals("-1")) { + long o = DateUtil.between(DateUtil.parse(start), DateUtil.parse(dateEnd), DateUnit.DAY); + if (o < 10) { + end = sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd), 10)); + } else { + end = sdf.format(DateUtil.parse(dateEnd)); + } + } else { + if (String.valueOf(k).equals("1")) { + end = sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd), 2)); + } else { + end = sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd), 1)); + } + } + } + reserveDate = start; + return start; + } + + public String getName() { + name = name + code; + return name; + } + + public String getTime() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); + if (StringUtils.isNotBlank(dateStart)) { + if (StringUtils.isNotBlank(dateEnd)) { + time = sdf.format(DateUtil.parse(dateStart)) + "~" + sdf.format(DateUtil.parse(dateEnd)); + } + } + return time; + } + + public boolean isShowBtn() { + if (states.equals("5")) { + if (isReservation.equals("1")) { + this.state = "已完成"; + showBtn = false; + } + } + return showBtn; + } + + public String getState() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (StringUtils.isNotBlank(dateEnd)) { + int i = DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); + if (String.valueOf(i).equals("-1")) { + state = "已过期"; + showBtn = false; + } else { + state = "待提货"; + if (states.equals("5")) { + System.out.println("isReservation"+isReservation); + if (isReservation.equals("0")) { + this.state = "已预约"; + this.notRese = false; + } else { + this.state = "已完成"; + showBtn = false; + } + } else if (states.equals("4")) { + if (isReservation.equals("0")) { + this.state = "已预约"; + } else { + this.state = "待提货"; + } + } + } + } else { + state = "待提货"; + if (states.equals("5")) { + if (isReservation.equals("0")) { + this.state = "已预约"; + } else { + this.state = "已完成"; + showBtn = false; + } + } + } + return state; + } +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/GoodsVo.java b/src/main/java/com/yxt/yyth/api/empcardgift/GoodsVo.java new file mode 100644 index 0000000..14c1508 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgift/GoodsVo.java @@ -0,0 +1,21 @@ +package com.yxt.yyth.api.empcardgift; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/22 15:35 + */ +@Data +public class GoodsVo { + private String goods; + private String pic; + private double num; + private double lNum; + private double select = 0; + private String goodsSid; + private double orderNum; //预约数量 + private String price; //预约数量 + private String unitName; //预约数量 + private String remarks; //预约数量 +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoods.java b/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoods.java new file mode 100644 index 0000000..6bb64bd --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoods.java @@ -0,0 +1,26 @@ +package com.yxt.yyth.api.empcardgiftgoods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class EmpCardGiftGoods { + 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 empCardGiftSid; + private String goodsSid; + private String goodsNumber; + + + +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsDto.java b/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsDto.java new file mode 100644 index 0000000..5384827 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsDto.java @@ -0,0 +1,20 @@ +package com.yxt.yyth.api.empcardgiftgoods; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGiftGoodsDto implements Dto { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String empCardGiftSid; + private String goodsSid; + private double goodsNumber; +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsQuery.java b/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsQuery.java new file mode 100644 index 0000000..f563d39 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsQuery.java @@ -0,0 +1,15 @@ +package com.yxt.yyth.api.empcardgiftgoods; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGiftGoodsQuery implements Query { + private String empCardGiftSid; + private String goodsSid; + private String goodsNumber; +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsVo.java b/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsVo.java new file mode 100644 index 0000000..68a0686 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgiftgoods/EmpCardGiftGoodsVo.java @@ -0,0 +1,28 @@ +package com.yxt.yyth.api.empcardgiftgoods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGiftGoodsVo 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 empCardGiftSid; + private String goodsSid; + private Integer goodsNumber; + private String name; + private String unitName; + private String picUrl; + +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLog.java b/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLog.java new file mode 100644 index 0000000..e84a533 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLog.java @@ -0,0 +1,25 @@ +package com.yxt.yyth.api.empcardgrantlog; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class EmpCardGrantLog { + 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 empCardSid; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String isShare; +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogDto.java b/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogDto.java new file mode 100644 index 0000000..a430fed --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogDto.java @@ -0,0 +1,30 @@ +package com.yxt.yyth.api.empcardgrantlog; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGrantLogDto implements Dto { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String recordId; + private String recordSid; + private String giftbagSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + private String grantDate; + private String customerSid; + private String customerMobile; + private String Num; + private String cardArea; +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogQuery.java b/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogQuery.java new file mode 100644 index 0000000..77072ae --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogQuery.java @@ -0,0 +1,15 @@ +package com.yxt.yyth.api.empcardgrantlog; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGrantLogQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogVo.java b/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogVo.java new file mode 100644 index 0000000..24665ce --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empcardgrantlog/EmpCardGrantLogVo.java @@ -0,0 +1,38 @@ +package com.yxt.yyth.api.empcardgrantlog; + +import com.yxt.common.core.vo.Vo; +import com.yxt.yyth.api.empcardgift.GoodsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGrantLogVo implements Vo { + private String sid; + private String buildDate; //创建时间 + private String countNumber; //总数 + private String startNumber; //起始号 + private String endNumber; //结束号 + private String bagName; + private String grantCountNumber; //发放总数 + private List goodsVos; + private String cardSid; + private String goods; + private double goodsNumber; + private String code; + private String codeKey; + private String remarks; + private String isShare; + private boolean share=false; + + public boolean isShare() { + if(isShare.equals("2")){ + return share=true; + } + return share; + } +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrder.java b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrder.java new file mode 100644 index 0000000..08828b2 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrder.java @@ -0,0 +1,31 @@ +package com.yxt.yyth.api.empreserveorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class EmpReserveOrder { + 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 reserveType; + private String cardSid; + private String cardCode; + private String isCustomer; + private String customerSid; + private String userName; + private String userPhone; + private String userAddress; + private String storeSid; + private String reserveDate; + +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderCardVo.java b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderCardVo.java new file mode 100644 index 0000000..d0b1629 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderCardVo.java @@ -0,0 +1,47 @@ +package com.yxt.yyth.api.empreserveorder; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import com.yxt.yyth.api.lpkgiftcard.GoodsVo; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 16:53 + */ +@Data +public class EmpReserveOrderCardVo implements Vo { + private String code; //卡号 + private String sid; +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String store; //提货门店 + private String storeSid; //提货门店 + private String bagName; //礼包 + private String cardSid; // 提货卡sid + private String orderSid; //预约订单sid + private String userName; + private String userPhone; + private String state;//提货状态 + private List goodsVos; + private String goods; + private String serialNumber; + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + int c= DateUtil.parse(sdf.format(reserveDate)).compareTo(DateUtil.parse(sdf.format(new Date()))); + if(String.valueOf(c).equals("-1")){ + this.state="已提货"; + }else{ + this.state="未提货"; + } + return state; + } +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderDto.java b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderDto.java new file mode 100644 index 0000000..9354252 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderDto.java @@ -0,0 +1,26 @@ +package com.yxt.yyth.api.empreserveorder; + +import com.yxt.common.core.dto.Dto; +import com.yxt.yyth.api.empcardgift.GoodsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class EmpReserveOrderDto implements Dto { + private String cardSid;//礼包卡sid + private String sid; + private String value; + private String storeSid;//发放点 + private String customerSid;//客户sid + private String reserveDate;//发放时间 + private String userName;//用户名 + private String userPhone;//用户联系方式 + private List goodsVos; + private String orderSid; + private String addressName; +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderQuery.java b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderQuery.java new file mode 100644 index 0000000..2ebec4f --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderQuery.java @@ -0,0 +1,18 @@ +package com.yxt.yyth.api.empreserveorder; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +@Data +public class EmpReserveOrderQuery implements Query { + private String userName; //用户名 + private String store; // 门店 + private String startDate; //预约开始日期 + private String endDate; // 预约结束日期 + private String userSid; + private String storeSid; +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderVo.java b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderVo.java new file mode 100644 index 0000000..991dafe --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/EmpReserveOrderVo.java @@ -0,0 +1,29 @@ +package com.yxt.yyth.api.empreserveorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 15:11 + */ +@Data +public class EmpReserveOrderVo implements Vo { + private String sid; //预约订单sid + private String userName; //用户名 + private String userPhone; //用户电话 + private String store; //门店 + private String storeSid; //门店 + @JsonFormat(pattern = "yyyy-MM-dd ",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String bagName; //礼包 + private String code; //卡号 + private String goodsInfo; + private List goodsVo = new ArrayList<>(); +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/Goods.java b/src/main/java/com/yxt/yyth/api/empreserveorder/Goods.java new file mode 100644 index 0000000..e49c708 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/Goods.java @@ -0,0 +1,14 @@ +package com.yxt.yyth.api.empreserveorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 14:34 + */ +@Data +public class Goods { + private double goodsNumber;//数量 + private String goodsSid;//商品sid + +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/OrderGoodsVo.java b/src/main/java/com/yxt/yyth/api/empreserveorder/OrderGoodsVo.java new file mode 100644 index 0000000..f8eaa4a --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/OrderGoodsVo.java @@ -0,0 +1,15 @@ +package com.yxt.yyth.api.empreserveorder; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:11 + */ +@Data +public class OrderGoodsVo implements Vo { + private int num; + private String goodName; +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/ReserveOrderExport.java b/src/main/java/com/yxt/yyth/api/empreserveorder/ReserveOrderExport.java new file mode 100644 index 0000000..337365e --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/ReserveOrderExport.java @@ -0,0 +1,28 @@ +package com.yxt.yyth.api.empreserveorder; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:26 + */ +@Data +public class ReserveOrderExport { + @ExportEntityMap(CnName = "预约时间", EnName = "reserveDate") + private String reserveDate; + @ExportEntityMap(CnName = "提货门店", EnName = "store") + private String store; + @ExportEntityMap(CnName = "姓名", EnName = "userName") + private String userName; + @ExportEntityMap(CnName = "联系方式", EnName = "userPhone") + private String userPhone; + @ExportEntityMap(CnName = "提货卡号", EnName = "code") + private String code; + @ExportEntityMap(CnName = "礼包名称", EnName = "bagName") + private String bagName; + @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + private String goodsInfo; + private String sid; +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveorder/ReserveOrderExportByStore.java b/src/main/java/com/yxt/yyth/api/empreserveorder/ReserveOrderExportByStore.java new file mode 100644 index 0000000..2e36504 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveorder/ReserveOrderExportByStore.java @@ -0,0 +1,20 @@ +package com.yxt.yyth.api.empreserveorder; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Data +public class ReserveOrderExportByStore { + @ExportEntityMap(CnName = "预约时间", EnName = "reserveDate") + private String reserveDate; + @ExportEntityMap(CnName = "提货门店", EnName = "store") + private String store; + private String storeSid; + @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + private String goodsInfo; + private String sid; +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoods.java b/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoods.java new file mode 100644 index 0000000..e66f06d --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoods.java @@ -0,0 +1,26 @@ +package com.yxt.yyth.api.empreserveordergoods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class EmpReserveOrderGoods { + 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 goodsSid; + private double goodsNumber; + private String num; + private String orderSid; + private String goodsName; +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoodsDto.java b/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoodsDto.java new file mode 100644 index 0000000..56b3ab0 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoodsDto.java @@ -0,0 +1,14 @@ +package com.yxt.yyth.api.empreserveordergoods; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class EmpReserveOrderGoodsDto { + private String cardSid; + private String goodsSid; + private String goodsNumber; +} diff --git a/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoodsQuery.java b/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoodsQuery.java new file mode 100644 index 0000000..f630dc4 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/empreserveordergoods/EmpReserveOrderGoodsQuery.java @@ -0,0 +1,8 @@ +package com.yxt.yyth.api.empreserveordergoods; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +public class EmpReserveOrderGoodsQuery { +} diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/Goods.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/Goods.java index 1c04878..bba8495 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveorder/Goods.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/Goods.java @@ -1,5 +1,6 @@ package com.yxt.yyth.api.lpkreserveorder; +import com.yxt.common.core.utils.ExportEntityMap; import lombok.Data; /** @@ -10,5 +11,7 @@ import lombok.Data; public class Goods { private double goodsNumber;//数量 private String goodsSid;//商品sid + @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + private String goodsInfo; } diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderCardVo.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderCardVo.java index d3e6155..52aa530 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderCardVo.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderCardVo.java @@ -2,6 +2,7 @@ package com.yxt.yyth.api.lpkreserveorder; import cn.hutool.core.date.DateUtil; import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.vo.Vo; import com.yxt.yyth.api.lpkgiftcard.GoodsVo; import lombok.Data; @@ -34,6 +35,13 @@ public class LpkReserveOrderCardVo implements Vo { private String goods; private String serialNumber; + public String getBagName() { + if(StringUtils.isBlank(bagName)){ + bagName="福礼卡"; + } + return bagName; + } + public String getState() { SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); int c= DateUtil.parse(sdf.format(reserveDate)).compareTo(DateUtil.parse(sdf.format(new Date()))); diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java index 62eb10b..5e026ff 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderQuery.java @@ -15,4 +15,5 @@ public class LpkReserveOrderQuery implements Query { private String endDate; // 预约结束日期 private String userSid; private String storeSid; + private String bankSid; } diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java index 6788cf4..575f86a 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/LpkReserveOrderVo.java @@ -26,4 +26,5 @@ public class LpkReserveOrderVo implements Vo { private String code; //卡号 private String goodsInfo; private List goodsVo = new ArrayList<>(); + private List goods=new ArrayList<>(); } diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/MergeStrategy.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/MergeStrategy.java new file mode 100644 index 0000000..36f88da --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/MergeStrategy.java @@ -0,0 +1,89 @@ +package com.yxt.yyth.api.lpkreserveorder; + +import com.alibaba.excel.metadata.Head; +import com.alibaba.excel.write.merge.AbstractMergeStrategy; +import org.apache.commons.collections.map.HashedMap; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.util.CellRangeAddress; + +import java.util.*; + +/** + * @author wangpengfei + * @date 2023/12/15 13:43 + */ +public class MergeStrategy extends AbstractMergeStrategy { + + // 合并的列编号,从0开始,指定的index或自己按字段顺序数 + private Set mergeCellIndex = new HashSet<>(); + + // 数据集大小,用于区别结束行位置 + private Integer maxRow = 0; + + // 禁止无参声明 + private MergeStrategy() { + } + + public MergeStrategy(Integer maxRow, int... mergeCellIndex) { + Arrays.stream(mergeCellIndex).forEach(item -> { + this.mergeCellIndex.add(item); + }); + this.maxRow = maxRow; + } + + // 记录上一次合并的信息 + private Map lastRow = new HashedMap(); + + // 每行每列都会进入,绝对不要在这写循环 + @Override + protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) { + int currentCellIndex = cell.getColumnIndex(); + // 判断该行是否需要合并 + if (mergeCellIndex.contains(currentCellIndex)) { + String currentCellValue = cell.getStringCellValue(); + int currentRowIndex = cell.getRowIndex(); + if (!lastRow.containsKey(currentCellIndex)) { + // 记录首行起始位置 + lastRow.put(currentCellIndex, new MergeRange(currentCellValue, currentRowIndex, currentRowIndex, currentCellIndex, currentCellIndex)); + return; + } + //有上行这列的值了,拿来对比. + MergeRange mergeRange = lastRow.get(currentCellIndex); + if (!(mergeRange.lastValue != null && mergeRange.lastValue.equals(currentCellValue))) { + // 结束的位置触发下合并. + // 同行同列不能合并,会抛异常 + if (mergeRange.startRow != mergeRange.endRow || mergeRange.startCell != mergeRange.endCell) { + sheet.addMergedRegionUnsafe(new CellRangeAddress(mergeRange.startRow, mergeRange.endRow, mergeRange.startCell, mergeRange.endCell)); + } + // 更新当前列起始位置 + lastRow.put(currentCellIndex, new MergeRange(currentCellValue, currentRowIndex, currentRowIndex, currentCellIndex, currentCellIndex)); + } + // 合并行 + 1 + mergeRange.endRow += 1; + // 结束的位置触发下最后一次没完成的合并 + if (relativeRowIndex.equals(maxRow - 1)) { + MergeRange lastMergeRange = lastRow.get(currentCellIndex); + // 同行同列不能合并,会抛异常 + if (lastMergeRange.startRow != lastMergeRange.endRow || lastMergeRange.startCell != lastMergeRange.endCell) { + sheet.addMergedRegionUnsafe(new CellRangeAddress(lastMergeRange.startRow, lastMergeRange.endRow, lastMergeRange.startCell, lastMergeRange.endCell)); + } + } + } + } +} +class MergeRange { + public int startRow; + public int endRow; + public int startCell; + public int endCell; + public String lastValue; + + public MergeRange(String lastValue, int startRow, int endRow, int startCell, int endCell) { + this.startRow = startRow; + this.endRow = endRow; + this.startCell = startCell; + this.endCell = endCell; + this.lastValue = lastValue; + } +} diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExport.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExport.java index 027186d..864fdfd 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExport.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExport.java @@ -1,28 +1,51 @@ package com.yxt.yyth.api.lpkreserveorder; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.yxt.common.core.utils.ExportEntityMap; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; /** * @author Fan * @description * @date 2023/11/28 10:26 */ -@Data +@Getter +@Setter +@EqualsAndHashCode public class ReserveOrderExport { - @ExportEntityMap(CnName = "预约时间", EnName = "reserveDate") + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) private String reserveDate; - @ExportEntityMap(CnName = "提货门店", EnName = "store") + + @ColumnWidth(20) + @ExcelProperty(value = "提货门店",index = 1) private String store; - @ExportEntityMap(CnName = "姓名", EnName = "userName") + + @ColumnWidth(20) + @ExcelProperty(value = "姓名",index = 2) private String userName; - @ExportEntityMap(CnName = "联系方式", EnName = "userPhone") + + @ColumnWidth(20) + @ExcelProperty(value = "联系方式",index = 3) private String userPhone; - @ExportEntityMap(CnName = "提货卡号", EnName = "code") + + @ColumnWidth(20) + @ExcelProperty(value = "提货卡号",index = 4) private String code; - @ExportEntityMap(CnName = "礼包名称", EnName = "bagName") + + @ColumnWidth(20) + @ExcelProperty(value = "礼包名称",index = 5) private String bagName; - @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + + @ColumnWidth(20) + @ExcelProperty(value = "商品明细",index = 6) private String goodsInfo; + + @ExcelIgnore private String sid; } diff --git a/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java b/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java index a9cdaa6..8cf7f41 100644 --- a/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java +++ b/src/main/java/com/yxt/yyth/api/lpkreserveorder/ReserveOrderExportByStore.java @@ -1,20 +1,33 @@ package com.yxt.yyth.api.lpkreserveorder; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.yxt.common.core.utils.ExportEntityMap; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; /** * @author wangpengfei * @date 2023/12/11 13:58 */ -@Data +@Getter +@Setter +@EqualsAndHashCode public class ReserveOrderExportByStore { - @ExportEntityMap(CnName = "预约时间", EnName = "reserveDate") + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) private String reserveDate; - @ExportEntityMap(CnName = "提货门店", EnName = "store") + @ColumnWidth(20) + @ExcelProperty(value = "提货门店",index = 1) private String store; - private String storeSid; - @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + @ColumnWidth(20) + @ExcelProperty(value = "商品明细",index = 2) private String goodsInfo; - private String sid; + @ExcelIgnore + private String storeSid; } diff --git a/src/main/java/com/yxt/yyth/api/lpkstore/LpkStore.java b/src/main/java/com/yxt/yyth/api/lpkstore/LpkStore.java index e95b004..9a980d0 100644 --- a/src/main/java/com/yxt/yyth/api/lpkstore/LpkStore.java +++ b/src/main/java/com/yxt/yyth/api/lpkstore/LpkStore.java @@ -31,4 +31,5 @@ public class LpkStore { private String linker; private String picUrl; private String lonAndLat; + private String bankSid; } diff --git a/src/main/java/com/yxt/yyth/api/lpkstore/LpkStoreDto.java b/src/main/java/com/yxt/yyth/api/lpkstore/LpkStoreDto.java index 8476b22..8c9832d 100644 --- a/src/main/java/com/yxt/yyth/api/lpkstore/LpkStoreDto.java +++ b/src/main/java/com/yxt/yyth/api/lpkstore/LpkStoreDto.java @@ -26,4 +26,5 @@ public class LpkStoreDto implements Dto { private String linker; private String picUrl; private String lonAndLat; + private String bankSid; } diff --git a/src/main/java/com/yxt/yyth/api/lpkstore/LpkStoreVo.java b/src/main/java/com/yxt/yyth/api/lpkstore/LpkStoreVo.java index c8103d8..4d3dc34 100644 --- a/src/main/java/com/yxt/yyth/api/lpkstore/LpkStoreVo.java +++ b/src/main/java/com/yxt/yyth/api/lpkstore/LpkStoreVo.java @@ -18,7 +18,7 @@ import java.util.UUID; @NoArgsConstructor public class LpkStoreVo implements Vo { private String sid; - private String createTime; + private Date createTime; private String remarks;//备注信息 private String code;//编号 private String name;//名称 @@ -29,4 +29,6 @@ public class LpkStoreVo implements Vo { private String sort;//排序 private String isEnable;//排序 private String lonAndLat; + private String bankName; + private String bankSid; } diff --git a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java index b6752dc..654700c 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java @@ -10,7 +10,6 @@ import com.yxt.yyth.api.empcard.EmpCardExport; import com.yxt.yyth.api.empcard.EmpCardVo; import com.yxt.yyth.api.lpkgiftcard.AppletVo; import com.yxt.yyth.api.lpkgiftcard.LpkGiftCard; -import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardListVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -26,14 +25,12 @@ public interface EmpCardMapper extends BaseMapper { String selctMaxSerNum(@Param("cardArea") String cardArea); IPage cardList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); IPage recordDetails(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - @Select("SELECT card.*, case card.state WHEN 3 then '未提货' WHEN 4 then '已经预约提货(预约部分提货)' WHEN 5 then '已经提取完成' end stateValue,\n" + - "bag.dateStart as dateStart,bag.dateEnd as dateEnd,bag.name as pname,card.state as states,card.serialNumber as serialNumber\n" + - "FROM emp_card card LEFT JOIN lpk_giftbag bag on card.giftbagSid=bag.sid where card.sid=#{sid}") + EmpAppletVo getEmpCardBySid(@Param("sid") String sid); List exportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); @Select("select count(id) from emp_card where recordSid=#{recordSid} and grantRecordSid is not null") Integer cardGrantCount(@Param("recordSid") String recordSid); - IPage getGifCardByCustomerSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage getEmpCardByCustomerSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.xml b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.xml index 03ee08e..5c6a933 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.xml @@ -80,8 +80,28 @@ ${ew.sqlSegment} - - + SELECT + card.*, + CASE + card.state + WHEN 2 THEN + '已绑定' + WHEN 3 THEN + '已完成' + END stateValue, + bag.dateStart AS dateStart, + bag.dateEnd AS dateEnd, + bag.NAME AS pname, + card.state AS states, + card.serialNumber AS serialNumber + FROM + emp_card card + LEFT JOIN lpk_giftbag bag ON card.giftbagSid = bag.sid + where + card.sid = #{sid} + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java index 832bb7d..52288f4 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java @@ -13,10 +13,7 @@ import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardQuery; 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; +import org.springframework.web.bind.annotation.*; /** * @author wangpengfei @@ -59,9 +56,14 @@ public class EmpCardRest { empCardService.exportExcel(query); } - @PostMapping("/gifCardByCustomerSid") + @PostMapping("/getEmpCardByCustomerSid") @ApiOperation(value = "获取客户绑定的礼包卡") - public ResultBean gifCardByCustomerSid(@RequestBody PagerQuery query) { - return empCardService.getGifCardByCustomerSid(query); + public ResultBean getEmpCardByCustomerSid(@RequestBody PagerQuery query) { + return empCardService.getEmpCardByCustomerSid(query); + } + @GetMapping("/getEmpCardBySid/{sid}") + @ApiOperation(value = "获取企业卡的详情信息") + public ResultBean getEmpCardBySid(@PathVariable("sid") String sid) { + return empCardService.getEmpCardBySid(sid); } } diff --git a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java index afbb086..05fe3db 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java @@ -12,15 +12,25 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.empcard.*; import com.yxt.yyth.api.empcardbuildrecord.EmpCardBuildRecord; +import com.yxt.yyth.api.empcardgift.EmpCardGiftVo; +import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogVo; +import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; import com.yxt.yyth.api.lpkgiftcard.*; import com.yxt.yyth.biz.empcardbuildrecord.EmpCardBuildRecordService; +import com.yxt.yyth.biz.empcardgift.EmpCardGiftService; +import com.yxt.yyth.biz.empcardgiftgoods.EmpCardGiftGoodsService; +import com.yxt.yyth.biz.empcardgrantlog.EmpCardGrantLogService; +import com.yxt.yyth.biz.lpkgiftbaggoods.LpkGiftBagGoodsService; import com.yxt.yyth.biz.lpkgiftcard.generateRule.UniqueIdGenerator; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Random; @@ -32,10 +42,20 @@ import java.util.Random; @Service public class EmpCardService extends MybatisBaseService { + @Autowired + LpkGiftBagGoodsService lpkGiftBagGoodsService; @Autowired EmpCardBuildRecordService empCardBuildRecordService; @Autowired + EmpCardGiftService empCardGiftService; + @Autowired + EmpCardGrantLogService empCardGrantLogService; + @Autowired + EmpCardGiftGoodsService empCardGiftGoodsService; + @Autowired private HttpServletResponse response; + @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}") + private String urlPrefix; @@ -207,21 +227,87 @@ public class EmpCardService extends MybatisBaseService { Integer i = baseMapper.cardGrantCount(recordSid); return rb.success().setData(i); } - public ResultBean getGifCardByCustomerSid(PagerQuery pq) { + public ResultBean getEmpCardByCustomerSid(PagerQuery pq) { ResultBean rb = new ResultBean().fail(); - LpkGiftCardQuery query = pq.getParams(); + EmpCardQuery query = pq.getParams(); if (StringUtils.isBlank(query.getCustomerSid())) { return rb.setMsg("参数不能为空"); } - QueryWrapper qw = new QueryWrapper<>(); + QueryWrapper qw = new QueryWrapper<>(); // updateIsItInvalid(query.getCustomerSid()); if (StringUtils.isNotBlank(query.getCustomerSid())) { qw.eq("customerSid", query.getCustomerSid()); } - IPage page = PagerUtil.queryToPage(pq); - IPage list = baseMapper.getGifCardByCustomerSid(page, qw); - PagerVo p = PagerUtil.pageToVo(list, null); + qw.orderByAsc("state").orderByDesc("bindDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage list = baseMapper.getEmpCardByCustomerSid(page, qw); + PagerVo p = PagerUtil.pageToVo(list, null); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return rb.success().setData(p); } + public ResultBean getEmpCardBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + EmpAppletVo vo = baseMapper.getEmpCardBySid(sid); + List list = lpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); + List goodsVos = new ArrayList<>(); + + list.forEach(s -> { + EmpCardGiftVo goods = empCardGiftService.getEmpCardGoods(vo.getSid(), s.getGoodsSid()).getData(); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getGoodsName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setRemarks(s.getRemarks()); + goodsVo.setUnitName(s.getUnitName()); + goodsVo.setPic(urlPrefix + s.getPicUrl()); + if (vo.getState().equals("已过期")) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else if (!vo.isShowBtn()) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else { + if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber()); + } + goodsVo.setLNum(s.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber()); + goodsVos.add(goodsVo); + } + }); + List empCardGrantLogVos= empCardGrantLogService.recordList(vo.getSid()).getData(); + empCardGrantLogVos.forEach(s->{ + List l=empCardGiftGoodsService.getGoodsByEmpCardGiftSid(s.getCardSid()).getData(); + l.forEach(c->{ + if (StringUtils.isBlank(s.getGoods())) { + s.setGoods(c.getName() + ":" + c.getGoodsNumber() + c.getUnitName()); + } else { + s.setGoods(s.getGoods() + " " + c.getName() + ":" + c.getGoodsNumber() + c.getUnitName()); + } + }); + }); + vo.setEmpCardGrantLogVos(empCardGrantLogVos); + vo.setGoodsVos(goodsVos); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + + vo.setGiftCodeKey(String.valueOf(randomNumber)); + vo.setGiftCode("99"+uuid.substring(2)); + vo.setQrCode("https://supervise.yxtsoft.com/lpkapi?qy="+vo.getGiftCode()); + return rb.success().setData(vo); + } + public ResultBean changState(String cardSid, String state) { + ResultBean rb = new ResultBean().fail(); + EmpCard card = baseMapper.selectOne(new QueryWrapper().eq("sid", cardSid)); + card.setState(state); +// card.setIsReservation("0"); + baseMapper.updateById(card); + return rb.success().setData("成功"); + } } diff --git a/src/main/java/com/yxt/yyth/biz/empcardbuildrecord/EmpCardBuildRecordRest.java b/src/main/java/com/yxt/yyth/biz/empcardbuildrecord/EmpCardBuildRecordRest.java index 4de04a3..36e57ab 100644 --- a/src/main/java/com/yxt/yyth/biz/empcardbuildrecord/EmpCardBuildRecordRest.java +++ b/src/main/java/com/yxt/yyth/biz/empcardbuildrecord/EmpCardBuildRecordRest.java @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController; * @author wangpengfei * @date 2023/12/8 9:19 */ -@Api(tags = "礼品卡信息") +@Api(tags = "企业卡生成记录") @RestController @RequestMapping("empcardbuildrecord") public class EmpCardBuildRecordRest { diff --git a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.java b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.java new file mode 100644 index 0000000..f948cbf --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.java @@ -0,0 +1,48 @@ +package com.yxt.yyth.biz.empcardgift; + +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.empcardgift.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface EmpCardGiftMapper extends BaseMapper { + + IPage getGifCardByCustomerSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + EmpGiftAppletVo getGifCardBySid(@Param("sid") String sid); + + + String selctMaxSerNum(@Param("cardArea") String cardArea); + + IPage cardList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List selAllByRecordSid(@Param("sid") String sid); + + 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); + + @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); + + // List selGiftCard(@Param("serialNumbers") List serialNumbers); + IPage selGiftCard(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + EmpCardGiftVo getEmpCardGoods(@Param("empCardSid")String empCardSid,@Param("goodsSid")String goodsSid); + +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.xml b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.xml new file mode 100644 index 0000000..41807c1 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftMapper.xml @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + update lpk_giftcard set state=#{state}, bankSid=#{bankSid},grantRecordSid =#{recordSid} where serialNumber in + + #{item} + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftRest.java b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftRest.java new file mode 100644 index 0000000..1c0eaa4 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftRest.java @@ -0,0 +1,112 @@ +package com.yxt.yyth.biz.empcardgift; + +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.empcardgift.EmpCardGiftDto; +import com.yxt.yyth.api.empcardgift.EmpCardGiftListVo; +import com.yxt.yyth.api.empcardgift.EmpCardGiftQuery; +import com.yxt.yyth.api.lpkgiftcard.BindCardDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼品卡信息") +@RestController +@RequestMapping("empcardgift") +public class EmpCardGiftRest { + + @Autowired + EmpCardGiftService EmpCardGiftService; + + + @PostMapping("/bindCard") + @ApiOperation(value = "客户绑定礼包卡") + public ResultBean wxBindMobile(@RequestBody BindCardDto bindCardDto) { + return EmpCardGiftService.bindCard(bindCardDto); + } + + @PostMapping("/gifCardByCustomerSid") + @ApiOperation(value = "获取客户绑定的福利卡") + public ResultBean gifCardByCustomerSid(@RequestBody PagerQuery query) { + return EmpCardGiftService.getGifCardByCustomerSid(query); + } + @GetMapping("/isSaturAndSun/{cardSid}") + @ApiOperation(value = "获取时间段的周六日") + public ResultBean isSaturAndSun(@PathVariable("cardSid") String cardSid) { + return EmpCardGiftService.isSaturAndSun(cardSid); + } + + @GetMapping("/getGifCardBySid/{sid}") + @ApiOperation(value = "获取礼包卡的详情信息") + public ResultBean getGifCardBySid(@PathVariable("sid") String sid) { + return EmpCardGiftService.getGifCardBySid(sid); + } + +// @GetMapping("/getReservationBySid/{sid}") +// @ApiOperation(value = "查询可预约取货的详情") +// public ResultBean getReservationBySid(@PathVariable("sid") String sid) { +// return EmpCardGiftService.getReservationBySid(sid); +// } + + @PostMapping("/generateCard") + @ApiOperation(value = "生成礼包卡信息") + public ResultBean generateCard(@RequestBody EmpCardGiftDto dto) { + return EmpCardGiftService.generateCard(dto); + } +// @GetMapping("/getCardByBank") +// @ApiOperation(value = "生成礼包卡信息") +// 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<>(); +// EmpCardGiftListQuery q=new EmpCardGiftListQuery(); +// pq.setCurrent(pageNo); +// pq.setSize(pageSize); +// +// q.setNoEnd(end); +// q.setNoStart(start); +// pq.setParams(q); +// +// PagerVo p=EmpCardGiftService.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") +// @ApiOperation(value = "礼包卡信息列表") +// public ResultBean> cardList(@RequestBody PagerQuery pq) { +// return EmpCardGiftService.cardList(pq); +// } + +// @ApiOperation("查看记录详情列表") +// @PostMapping("/recordDetails") +// public ResultBean> recordDetails(@RequestBody PagerQuery pq) { +// return EmpCardGiftService.recordDetails(pq); +// } + + +// @ApiOperation(value = "礼包卡信息列表导出") +// @PostMapping("/exportExcel") +// public void exportExcel(@RequestBody EmpCardGiftListQuery query) { +// EmpCardGiftService.exportExcel(query); +// } + +// @ApiOperation(value = "礼包卡发放信息") +// @PostMapping("/cardGrant") +// public ResultBean cardGrant(@RequestBody CardGrantDto dto) { +// return EmpCardGiftService.cardGrant(dto); +// } + +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftService.java b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftService.java new file mode 100644 index 0000000..1142652 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftService.java @@ -0,0 +1,676 @@ +package com.yxt.yyth.biz.empcardgift; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.alibaba.nacos.client.naming.utils.CollectionUtils; +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; +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.empcard.EmpAppletVo; +import com.yxt.yyth.api.empcard.EmpCard; +import com.yxt.yyth.api.empcardgift.*; +import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsDto; +import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLog; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogVo; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderCardVo; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderVo; +import com.yxt.yyth.api.empreserveordergoods.EmpReserveOrderGoods; +import com.yxt.yyth.api.lpkcardbuildrecord.LpkCardBuildRecord; +import com.yxt.yyth.api.lpkgiftcard.AppletVo; +import com.yxt.yyth.api.lpkgiftcard.BindCardDto; +import com.yxt.yyth.api.lpkgoods.LpkGoods; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods; +import com.yxt.yyth.api.lpkstore.LpkStoreDetailsVo; +import com.yxt.yyth.biz.empcard.EmpCardService; +import com.yxt.yyth.biz.empcardgiftgoods.EmpCardGiftGoodsService; +import com.yxt.yyth.biz.empcardgrantlog.EmpCardGrantLogService; +import com.yxt.yyth.biz.empreserveorder.EmpReserveOrderService; +import com.yxt.yyth.biz.empreserveordergoods.EmpReserveOrderGoodsService; +import com.yxt.yyth.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import com.yxt.yyth.biz.lpkgoods.LpkGoodsService; +import com.yxt.yyth.biz.lpkstore.LpkStoreService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.Period; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Random; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class EmpCardGiftService extends MybatisBaseService { + @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}") + private String urlPrefix; + @Autowired + EmpCardGrantLogService empCardGrantLogService; + @Autowired + EmpCardService empCardService; + @Autowired + EmpCardGiftGoodsService empCardGiftGoodsService; + @Autowired + EmpReserveOrderGoodsService empReserveOrderGoodsService; + @Autowired + EmpReserveOrderService empReserveOrderService; + @Autowired + LpkGoodsService lpkGoodsService; + @Autowired + LpkStoreService lpkStoreService; + @Autowired + private FileUploadComponent fileUploadComponent; + + @Autowired + private HttpServletResponse response; + + + public ResultBean bindCard(BindCardDto bindCardDto) { + ResultBean rb = new ResultBean().fail(); + EmpCardGift empCardGift = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode()) + .eq("codeKey", bindCardDto.getCodeKey())); + if (null == empCardGift) { + return rb.setMsg("请核对卡号和密钥"); + } + EmpGiftAppletVo vo = baseMapper.getGifCardBySid(empCardGift.getSid()); + if (vo.getState().equals("已过期")) { + return rb.setMsg("该卡已过期"); + } + if (StringUtils.isNotBlank(empCardGift.getCustomerSid())) { + return rb.setMsg("该卡已绑定"); + } + empCardGift.setCustomerSid(bindCardDto.getCustomerSid()); + empCardGift.setState("2"); + empCardGift.setBindDate(new Date()); + baseMapper.updateById(empCardGift); + return rb.success().setMsg("绑定成功"); + } + + public ResultBean getGifCardByCustomerSid(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + EmpCardGiftQuery query = pq.getParams(); + if (StringUtils.isBlank(query.getCustomerSid())) { + return rb.setMsg("参数不能为空"); + } + QueryWrapper qw = new QueryWrapper<>(); +// updateIsItInvalid(query.getCustomerSid()); + if (StringUtils.isNotBlank(query.getCustomerSid())) { + qw.eq("gi.customerSid", query.getCustomerSid()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage list = baseMapper.getGifCardByCustomerSid(page, qw); + PagerVo p = PagerUtil.pageToVo(list, null); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return rb.success().setData(p); + } + +// public ResultBean updateIsItInvalid() { +// ResultBean rb = new ResultBean(); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// List lpkGiftBags = lpkGiftBagService.list(new QueryWrapper().lt("dateEnd", sdf.format(new Date()))); +// for (LpkGiftBag lpkGiftBag : lpkGiftBags) { +// Integer i = baseMapper.selectCount(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid()).ne("state", "5")); +// if (i != 0) { +// baseMapper.updateIsItInvalid(lpkGiftBag.getSid(), "5"); +// } +// } +// return rb.success(); +// } +// public ResultBean updateIsItInvalid(String customerSid) { +// ResultBean rb = new ResultBean(); +// List lpkGiftBags = lpkGiftBagService.list(new QueryWrapper()); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// for (LpkGiftBag lpkGiftBag : lpkGiftBags) { +// int in = DateUtil.parse(sdf.format(lpkGiftBag.getDateEnd())).compareTo(DateUtil.parse(sdf.format(new Date()))); +// if (String.valueOf(in).equals("-1")) { +// Integer i = baseMapper.selectCount(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid()).ne("state", "5")); +// if (i != 0) { +// baseMapper.updateIsItInvalid(lpkGiftBag.getSid(), "5"); +// } +// } else { +// List list = baseMapper.selectList(new QueryWrapper().eq("customerSid", customerSid).eq("giftbagSid", lpkGiftBag.getSid())); +// for (EmpCardGift card : list) { +// LpkReserveOrderVo LpkReserveOrderVo = lpkReserveOrderService.selByCardSid(card.getSid()).getData(); +// if (null != LpkReserveOrderVo) { +// int c = DateUtil.parse(sdf.format(LpkReserveOrderVo.getReserveDate())).compareTo(DateUtil.parse(sdf.format(new Date()))); +// // EmpCardGift card1 = baseMapper.selectOne(new QueryWrapper().eq("sid", card.getSid())); +// if (String.valueOf(c).equals("-1")) { +// card.setIsReservation("1"); +// baseMapper.updateById(card); +// } +// } +// } +// } +// } +// +// // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// // List lpkGiftBags = lpkGiftBagService.list(new QueryWrapper().lt("dateEnd", sdf.format(new Date()))); +// // for (LpkGiftBag lpkGiftBag : lpkGiftBags) { +// // Integer i = baseMapper.selectCount(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid()).ne("state", "5")); +// // if (i != 0) { +// // baseMapper.updateIsItInvalid(lpkGiftBag.getSid(), "5"); +// // } +// // } +// return rb.success(); +// } +// + public ResultBean getGifCardBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + EmpGiftAppletVo vo = baseMapper.getGifCardBySid(sid); + List list = empCardGiftGoodsService.getGoodsByEmpCardGiftSid(vo.getSid()).getData(); + List goodsVos = new ArrayList<>(); + list.forEach(s -> { + EmpReserveOrderGoods goods = empReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setRemarks(s.getRemarks()); + goodsVo.setUnitName(s.getUnitName()); + goodsVo.setPic(urlPrefix + s.getPicUrl()); + if (vo.getState().equals("已过期")) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else if (!vo.isShowBtn()) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else { + if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber()); + } + goodsVos.add(goodsVo); + } + }); + List empReserveOrderCardVos = empReserveOrderService.selOrderByCardSid(sid).getData(); + for (EmpReserveOrderCardVo vo2 : empReserveOrderCardVos) { + List goods = empReserveOrderGoodsService.selByOrderSids(vo2.getSid()); + for (EmpReserveOrderGoods goods1 : goods) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); + if (StringUtils.isBlank(vo2.getGoods())) { + vo2.setGoods(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } else { + vo2.setGoods(vo2.getGoods() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } + } + } + EmpReserveOrderVo vo1 = empReserveOrderService.getStoreByCustomerSid(vo.getCustomerSid()).getData(); + if (null != vo1) { + LpkStoreDetailsVo vo2 = lpkStoreService.storeInit(vo1.getStoreSid()).getData(); + if (null != vo2) { + vo.setAddressName(vo2.getName()); + vo.setValue(vo2.getSid()); + } + } + vo.setOrderCardVoList(empReserveOrderCardVos); + vo.setGoodsVos(goodsVos); + return rb.success().setData(vo); + } +// +// public ResultBean getReservationBySid(String sid) { +// ResultBean rb = new ResultBean().fail(); +// EmpGiftAppletVo vo = baseMapper.getGifCardBySid(sid); +// List list = LpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); +// // List l = lpkStoreService.getAllStore().getData(); +// List l = lpkStoreService.getSelectStore().getData(); +// // LpkStoreQuery query=new LpkStoreQuery(); +// // List l = lpkStoreService.getAllStoreByQuery(query).getData(); +// +// List goodsVos = new ArrayList<>(); +// list.forEach(s -> { +// LpkReserveOrderGoods goods = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); +// GoodsVo goodsVo = new GoodsVo(); +// goodsVo.setGoods(s.getGoodsName()); +// goodsVo.setNum(s.getGoodsNumber()); +// goodsVo.setGoodsSid(s.getGoodsSid()); +// goodsVo.setPrice(s.getPrice()); +// goodsVo.setUnitName(s.getUnitName()); +// goodsVo.setRemarks(s.getRemarks()); +// goodsVo.setPic(urlPrefix + s.getPicUrl()); +// if (null != goods) { +// if (goods.getGoodsNumber() != s.getGoodsNumber()) { +// goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); +// goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); +// goodsVos.add(goodsVo); +// } +// } else { +// goodsVo.setLNum(s.getGoodsNumber()); +// goodsVo.setSelect(s.getGoodsNumber()); +// goodsVos.add(goodsVo); +// } +// }); +// vo.setGoodsVos(goodsVos); +// vo.setSelect(l); +// LpkReserveOrderVo vo1 = lpkReserveOrderService.getStoreByCustomerSid(vo.getCustomerSid()).getData(); +// if (null != vo1) { +// LpkStoreDetailsVo vo2 = lpkStoreService.storeInit(vo1.getStoreSid()).getData(); +// if (null != vo2) { +// vo.setAddressName(vo2.getName()); +// vo.setValue(vo2.getSid()); +// } +// } +// List lpkReserveOrderCardVos = lpkReserveOrderService.selOrderByCardSid(sid).getData(); +// for (LpkReserveOrderCardVo vo2 : lpkReserveOrderCardVos) { +// List goods = lpkReserveOrderGoodsService.selByOrderSids(vo2.getSid()); +// for (LpkReserveOrderGoods goods1 : goods) { +// LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); +// if (StringUtils.isBlank(vo2.getGoods())) { +// vo2.setGoods(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); +// } else { +// vo2.setGoods(vo2.getGoods() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); +// } +// } +// } +// vo.setOrderCardVoList(lpkReserveOrderCardVos); +// return rb.success().setData(vo); +// } +// + @Transactional(rollbackFor = Exception.class) + public ResultBean generateCard(EmpCardGiftDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dto.getEmpCardSid())) { + return rb.setMsg("请选择企业卡"); + } + + EmpCard empCard=empCardService.fetchBySid(dto.getEmpCardSid()); + if(null==empCard){ + return rb.setMsg("请选择正确的企业卡"); + } + EmpCardGrantLog record = new EmpCardGrantLog(); + record.setCreateTime(new DateTime()); + record.setEmpCardSid(dto.getEmpCardSid()); + record.setEmpCardCustomerSid(empCard.getCustomerSid()); + empCardGrantLogService.insert(record); + + EmpCardGift card = new EmpCardGift(); + card.setRemarks(dto.getRemarks()); + card.setEmpCardSid(dto.getEmpCardSid()); + card.setEmpCardSerialNumber(empCard.getSerialNumber()); + card.setEmpCardCode(empCard.getCode()); + card.setEmpCardCustomerSid(empCard.getCustomerSid()); + card.setRecordSid(record.getSid()); + card.setState("1"); + card.setCreateTime(new DateTime()); + card.setGrantDate(new Date()); + card.setCodeKey(dto.getCodeKey()); + card.setCode(dto.getCode()); + String cardArea="9"; + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "0000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 7 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + baseMapper.insert(card); + for(GoodsVo vo:dto.getGoodsVoList()){ + EmpCardGiftGoodsDto dto1=new EmpCardGiftGoodsDto(); + dto1.setEmpCardGiftSid(card.getSid()); + dto1.setGoodsSid(vo.getGoodsSid()); + dto1.setGoodsNumber(vo.getSelect()); + empCardGiftGoodsService.save(dto1); + + } + record.setSerialNumber(card.getSerialNumber()); + record.setEmpCardSid(dto.getEmpCardSid()); + record.setCode(dto.getCode()); + empCardGrantLogService.updateById(record); + + EmpAppletVo vo = empCardService.getEmpCardBySid(empCard.getSid()).getData(); + int i = 0; + for (com.yxt.yyth.api.lpkgiftcard.GoodsVo vo1 : vo.getGoodsVos()) { + EmpCardGrantLogVo goods1 = empCardGrantLogService.recordListGoods(dto.getEmpCardSid(), vo1.getGoodsSid()).getData(); + if (null != goods1) { + if (vo1.getNum() <= goods1.getGoodsNumber()) { + i++; + } + } + if (vo.getGoodsVos().size() == i) { + empCardService.changState(dto.getEmpCardSid(), "3"); + } + } + return rb.success(); + } + public ResultBean getEmpCardGoods(String empCardSid, String goodsSid) { + ResultBean rb = ResultBean.fireFail(); + return rb.success().setData(baseMapper.getEmpCardGoods(empCardSid,goodsSid)); + } +// +// public ResultBean> cardList(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// EmpCardGiftListQuery 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); +// 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"; +// } +// +// /** +// * 二维码转base64 +// */ +// public void genarateQRCodesToBase64(String uuid, String cardSid) { +// LpkCardQrcodeDto dto = new LpkCardQrcodeDto(); +// dto.setCardSid(cardSid); +// dto.setCreateTime(new Date()); +// BufferedImage bufferedImage = QrCodeUtil.generate(uuid, 300, 300); +// byte[] bytes = ImgUtil.toBytes(bufferedImage, "JPG"); +// Base64Encoder base64Encoder = new Base64Encoder(); +// String a = base64Encoder.encode(bytes); +// a = a.trim(); +// a = a.replaceAll("\n", "").replaceAll("\r", ""); +// dto.setFile(a); +// lpkCardQrcodeService.save(dto); +// System.out.println(a); +// } +// +// public ResultBean> getCardByBank(PagerQuery pq) { +// ResultBean rb = new ResultBean().fail(); +// EmpCardGiftListQuery 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(p); +// } +// +// // public static void main(String[] args) throws IOException { +// // String encodedImage = "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"; // 这里需要替换成真正的 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); +// } +// +// public ResultBean> recordDetails(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// EmpCardGiftListQuery query = pq.getParams(); +// QueryWrapper qw = new QueryWrapper<>(); +// qw.eq("1", "1"); +// if (StringUtils.isNotBlank(query.getState())) { +// qw.eq("state", query.getState()); +// } +// if (StringUtils.isNotBlank(query.getNumber())) { +// qw.like("serialNumber", query.getNumber()); +// } +// if (StringUtils.isNotBlank(query.getSid())) { +// qw.eq("recordSid", query.getSid()); +// } +// qw.orderByDesc("serialNumber"); +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagging = baseMapper.recordDetails(page, qw); +// PagerVo p = PagerUtil.pageToVo(pagging, null); +// return rb.success().setData(p); +// } +// + public ResultBean changState(String cardSid, String state) { + ResultBean rb = new ResultBean().fail(); + EmpCardGift card = baseMapper.selectOne(new QueryWrapper().eq("sid", cardSid)); + card.setState(state); + card.setIsReservation("0"); + baseMapper.updateById(card); + return rb.success().setData("成功"); + } +// +// public void exportExcel(EmpCardGiftListQuery query) { +// +// String finUrl = "https://supervise.yxtsoft.com/lpkapi?code="; +// QueryWrapper qw = new QueryWrapper<>(); +// qw.eq("1", "1"); +// if (StringUtils.isNotBlank(query.getState())) { +// qw.eq("state", query.getState()); +// } +// if (StringUtils.isNotBlank(query.getNumber())) { +// qw.like("serialNumber", query.getNumber()); +// } +// qw.eq("recordSid", query.getSid()); +// //得到所有要导出的数据 +// List exportList = baseMapper.exportExcel(qw); +// if (!exportList.isEmpty()) { +// for (EmpCardGiftExport EmpCardGiftExport : exportList) { +// if (StringUtils.isNotBlank(EmpCardGiftExport.getCode())) { +// EmpCardGiftExport.setPic(finUrl + EmpCardGiftExport.getCode()); +// EmpCardGiftExport.setCode1(EmpCardGiftExport.getCode().substring(0, 10)); +// EmpCardGiftExport.setCode2(EmpCardGiftExport.getCode().substring(EmpCardGiftExport.getCode().length() - 10)); +// } +// } +// } +// //定义导出的excel名字 +// String excelName = "1"; +// String fileNameURL = "1"; +// // try { +// // fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// // fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// // } catch (UnsupportedEncodingException e) { +// // e.printStackTrace(); +// // } +// //导出提货卡信息列表 +// ExportExcelUtils.export(fileNameURL, exportList, EmpCardGiftExport.class, response); +// +// } +// +// public ResultBean cardGrant(CardGrantDto dto) { +// ResultBean rb = new ResultBean().fail(); +// int start = Integer.parseInt(dto.getStart()); +// int end = Integer.parseInt(dto.getEnd()); +// List serialNumbers = new ArrayList<>(); +// if (start > end) { +// for (int i = 0; end <= start; end++) { +// serialNumbers.add(end); +// } +// Integer integer = baseMapper.selectCount(new QueryWrapper().in("serialNumber", serialNumbers).eq("state", "2")); +// if (integer != 0) { +// return rb.setMsg("序列号错误"); +// } +// } else { +// for (int i = 0; start <= end; start++) { +// serialNumbers.add(start); +// } +// Integer integer = baseMapper.selectCount(new QueryWrapper().in("serialNumber", serialNumbers).eq("state", "2")); +// if (integer != 0) { +// return rb.setMsg("序列号错误"); +// } +// } +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// LpkCardGrantRecordDto d = new LpkCardGrantRecordDto(); +// d.setBuildDate(new Date()); +// d.setEndNumber(dto.getEnd()); +// d.setStartNumber(dto.getStart()); +// d.setCountNumber(String.valueOf(serialNumbers.size())); +// String r = lpkCardGrantRecordService.save(d).getMsg(); +// baseMapper.updateState(serialNumbers, "2", dto.getBankSid(), r); +// return rb.success().setData("成功"); +// } +// +// public ResultBean cardGrantCount(String recordSid) { +// ResultBean rb = new ResultBean().fail(); +// Integer i = baseMapper.cardGrantCount(recordSid); +// return rb.success().setData(i); +// } +// + public ResultBean isSaturAndSun(String cardSid) { + ResultBean rb = new ResultBean().fail(); + EmpGiftAppletVo vo = getGifCardBySid(cardSid).getData(); + LocalDate now = DateUtil.parse(vo.getStart()).toSqlDate().toLocalDate(); + LocalDate endD = DateUtil.parse(vo.getEnd()).toSqlDate().toLocalDate(); + List weekMap = new ArrayList<>(); + // 第一个星期六 + // LocalDate saturday = now.with(firstInMonth(DayOfWeek.SATURDAY)); + LocalDate saturday = now.with(DayOfWeek.SATURDAY); + do { + if (CollectionUtils.isEmpty(weekMap)) { + weekMap.add(saturday.toString()); + } else { + weekMap.add(saturday.toString()); + } + // 迭代一个星期 + saturday = saturday.plus(Period.ofDays(7)); + System.out.println(saturday.compareTo(endD)); + } while (saturday.compareTo(endD) < 1); + // 第一个星期天 + LocalDate sunday = now.with(DayOfWeek.SUNDAY); + do { + if (CollectionUtils.isEmpty(weekMap)) { + weekMap.add(saturday.toString()); + } else { + weekMap.add(sunday.toString()); + } + // 迭代一个星期 + sunday = sunday.plus(Period.ofDays(7)); + System.out.println(sunday.compareTo(endD)); + } while (sunday.compareTo(endD) < 1); + Object[] array = weekMap.stream().sorted().toArray(); + return rb.success().setData(array); + } +// +// public static void main(String[] args) { +// String startDate = "2023-12-16"; +// String endDate = "2024-12-14"; +// LocalDate now = DateUtil.parse(startDate).toSqlDate().toLocalDate(); +// LocalDate endD = DateUtil.parse(endDate).toSqlDate().toLocalDate(); +// List weekMap = new ArrayList<>(); +// // 第一个星期六 +// // LocalDate saturday = now.with(firstInMonth(DayOfWeek.SATURDAY)); +// LocalDate saturday = now.with(DayOfWeek.SATURDAY); +// do { +// if (CollectionUtils.isEmpty(weekMap)) { +// weekMap.add(saturday.toString()); +// } else { +// weekMap.add(saturday.toString()); +// } +// // 迭代一个星期 +// saturday = saturday.plus(Period.ofDays(7)); +// System.out.println(saturday.compareTo(endD)); +// } while (saturday.compareTo(endD) < 1); +// // 第一个星期天 +// LocalDate sunday = now.with(DayOfWeek.SUNDAY); +// do { +// if (CollectionUtils.isEmpty(weekMap)) { +// weekMap.add(saturday.toString()); +// } else { +// weekMap.add(sunday.toString()); +// } +// // 迭代一个星期 +// sunday = sunday.plus(Period.ofDays(7)); +// System.out.println(sunday.compareTo(endD)); +// } while (sunday.compareTo(endD) < 1); +// Object[] array = weekMap.stream().sorted().toArray(); +// +// System.out.println(array); +// } + + +// public static void main(String[] args) { +// LocalDate start = LocalDate.of(2021, Month.JANUARY, 1); // 设置起始日期为2021年1月1日 +// LocalDate end = LocalDate.now(); // 设置结束日期为当前日期 +// +// Stream dates = start.datesUntil(end).filter(date -> date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY); +// +// for (LocalDate date : dates) { +// System.out.println(date); +// } +// } +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.java b/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.java new file mode 100644 index 0000000..3bbf114 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.java @@ -0,0 +1,24 @@ +package com.yxt.yyth.biz.empcardgiftgoods; + +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.empcardgift.*; +import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoods; +import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface EmpCardGiftGoodsMapper extends BaseMapper { + List getGoodsByEmpCardGiftSid(@Param("empCardGiftSid")String empCardGiftSid ); + List getGoodsBySid(@Param("empCardGiftSid")String empCardGiftSid ); +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.xml b/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.xml new file mode 100644 index 0000000..b2d4e78 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsRest.java b/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsRest.java new file mode 100644 index 0000000..7d12b4d --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsRest.java @@ -0,0 +1,27 @@ +package com.yxt.yyth.biz.empcardgiftgoods; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.yyth.api.empcardgift.EmpCardGiftDto; +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("empcardgiftgoods") +public class EmpCardGiftGoodsRest { + + @Autowired + EmpCardGiftGoodsService EmpCardGiftService; + + +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsService.java b/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsService.java new file mode 100644 index 0000000..509e0f1 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgiftgoods/EmpCardGiftGoodsService.java @@ -0,0 +1,57 @@ +package com.yxt.yyth.biz.empcardgiftgoods; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import com.yxt.yyth.api.empcard.EmpCard; +import com.yxt.yyth.api.empcardgift.EmpCardGift; +import com.yxt.yyth.api.empcardgift.EmpCardGiftDto; +import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoods; +import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsDto; +import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLog; +import com.yxt.yyth.api.lpkbank.LpkBank; +import com.yxt.yyth.biz.empcard.EmpCardService; +import com.yxt.yyth.biz.empcardgrantlog.EmpCardGrantLogService; +import com.yxt.yyth.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.util.Date; +import java.util.List; +import java.util.Random; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class EmpCardGiftGoodsService extends MybatisBaseService { + + + + public ResultBean save(EmpCardGiftGoodsDto dto) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGiftGoods entity=new EmpCardGiftGoods(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success(); + } + public ResultBean> getGoodsByEmpCardGiftSid(String empCardGiftSid) { + ResultBean rb = ResultBean.fireFail(); + List list= baseMapper.getGoodsByEmpCardGiftSid(empCardGiftSid); + return rb.success().setData(list); + } + public ResultBean> getGoodsBySid(String empCardGiftSid) { + ResultBean rb = ResultBean.fireFail(); + List list= baseMapper.getGoodsBySid(empCardGiftSid); + return rb.success().setData(list); + } + +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogMapper.java b/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogMapper.java new file mode 100644 index 0000000..4596480 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogMapper.java @@ -0,0 +1,23 @@ +package com.yxt.yyth.biz.empcardgrantlog; + +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.empcardgrantlog.EmpCardGrantLog; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Mapper +public interface EmpCardGrantLogMapper extends BaseMapper { + IPage recordListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List recordList(@Param("empCardSid")String empCardSid); + EmpCardGrantLogVo recordListGoods(@Param("empCardSid")String empCardSid,@Param("goodsSid")String goodsSid); +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogMapper.xml b/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogMapper.xml new file mode 100644 index 0000000..5d2b38b --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogMapper.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogRest.java b/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogRest.java new file mode 100644 index 0000000..b78764c --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogRest.java @@ -0,0 +1,31 @@ +package com.yxt.yyth.biz.empcardgrantlog; + +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.empcardgrantlog.EmpCardGrantLogQuery; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogVo; +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/12/8 9:19 + */ +@Api(tags = "礼品卡信息") +@RestController +@RequestMapping("empcardgrantlog") +public class EmpCardGrantLogRest { + @Autowired + EmpCardGrantLogService EmpCardGrantLogService; + @ApiOperation("创建记录列表") + @PostMapping("/recordListPage") + public ResultBean> recordListPage(@RequestBody PagerQuery pq) { + return EmpCardGrantLogService.recordListPage(pq); + } +} diff --git a/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogService.java b/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogService.java new file mode 100644 index 0000000..7d52156 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empcardgrantlog/EmpCardGrantLogService.java @@ -0,0 +1,62 @@ +package com.yxt.yyth.biz.empcardgrantlog; + +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.empcardgrantlog.EmpCardGrantLog; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogQuery; +import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogVo; +import com.yxt.yyth.biz.empcard.EmpCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Service +public class EmpCardGrantLogService extends MybatisBaseService { + + @Autowired + EmpCardService empCardService; + public ResultBean> recordListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGrantLogQuery 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); +// for(EmpCardGrantLogVo vo:pagging.getRecords()){ +// vo.setGrantCountNumber(String.valueOf(empCardService.cardGrantCount(vo.getSid()).getData())); +// } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean> recordList(String empCardSid) { + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.recordList(empCardSid); + return rb.success().setData(pagging); + } + public ResultBean recordListGoods(String empCardSid,String goodsSid) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGrantLogVo pagging = baseMapper.recordListGoods(empCardSid,goodsSid); + return rb.success().setData(pagging); + } +} diff --git a/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderMapper.java b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderMapper.java new file mode 100644 index 0000000..09544bb --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderMapper.java @@ -0,0 +1,37 @@ +package com.yxt.yyth.biz.empreserveorder; + +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.empreserveorder.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface EmpReserveOrderMapper extends BaseMapper { + IPage orderList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage orderListByStore(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List orderByCardSid(String sid); + + IPage orderListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List exportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); + List exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select sid from lpk_reserve_order where storeSid=#{storeSid}") + List getOrderByStore(@Param("storeSid")String storeSid); + @Select("select * from emp_reserve_order where customerSid =#{sid} order by createTime desc limit 1") + EmpReserveOrderVo getStoreByCustomerSid(@Param("sid") String sid); + @Select("select * from lpk_reserve_order where cardSid =#{sid} order by reserveDate desc limit 1") + EmpReserveOrderVo selByCardSid(@Param("sid") String sid); + @Select("SELECT o.*,st.`name` AS store FROM emp_reserve_order o LEFT JOIN lpk_store st ON o.storeSid = st.sid where o.cardSid =#{sid} ORDER BY o.reserveDate desc") + List selOrderByCardSid(@Param("sid") String sid); + +} diff --git a/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderMapper.xml b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderMapper.xml new file mode 100644 index 0000000..12bea7f --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderRest.java b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderRest.java new file mode 100644 index 0000000..2f158be --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderRest.java @@ -0,0 +1,72 @@ +package com.yxt.yyth.biz.empreserveorder; + +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.empreserveorder.EmpReserveOrderCardVo; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderDto; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderQuery; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderVo; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("/empsreservoorder") +public class EmpReserveOrderRest { + @Autowired + EmpReserveOrderService empReserveOrderService; + + + @ApiOperation("预约提交") + @PostMapping("/submission") + public ResultBean submission(@RequestBody EmpReserveOrderDto dto) { + return empReserveOrderService.submission(dto); + } + + @ApiOperation("订单列表") + @PostMapping("/orderList") + public ResultBean> orderList(@RequestBody PagerQuery pq) { + return empReserveOrderService.orderList(pq); + } + @ApiOperation("订单门店汇总列表") + @PostMapping("/orderListByStore") + public ResultBean> orderListByStore(@RequestBody PagerQuery pq) { + return empReserveOrderService.orderListByStore(pq); + } + @ApiOperation("根据提货卡查询预约记录") + @GetMapping("/orderByCardSid/{sid}") + public ResultBean orderByCardSid(@PathVariable("sid") String sid) { + return empReserveOrderService.orderByCardSid(sid); + } + + @ApiOperation("移动端预约订单列表") + @PostMapping("/orderListByUserSid") + public ResultBean> orderListByUserSid(@RequestBody PagerQuery pq) { + return empReserveOrderService.orderListByUserSid(pq); + } + + @ApiOperation("预约记录详情") + @GetMapping("/orderDetails/{orderSid}") + public ResultBean orderDetails(@PathVariable("orderSid") String orderSid) { + return empReserveOrderService.orderDetails(orderSid); + } + + @ApiOperation(value = "预约订单信息列表导出") + @PostMapping("/exportExcel") + public void exportExcel(@RequestBody EmpReserveOrderQuery query) { + empReserveOrderService.exportExcel(query); + } + @ApiOperation(value = "预约订单门店汇总导出") + @PostMapping("/exportExcelByStore") + public void exportExcelByStore(@RequestBody EmpReserveOrderQuery query) { + empReserveOrderService.exportExcelByStore(query); + } +} diff --git a/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderService.java b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderService.java new file mode 100644 index 0000000..00f0169 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderService.java @@ -0,0 +1,439 @@ +package com.yxt.yyth.biz.empreserveorder; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +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.ExportExcelUtils; +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.empreserveorder.*; +import com.yxt.yyth.api.empreserveordergoods.EmpReserveOrderGoods; +import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; +import com.yxt.yyth.api.lpkgiftcard.AppletVo; +import com.yxt.yyth.api.lpkgiftcard.GoodsVo; +import com.yxt.yyth.api.lpkgoods.LpkGoods; +import com.yxt.yyth.api.lpkstore.LpkStore; +import com.yxt.yyth.api.lpkstore.StoreSelect; +import com.yxt.yyth.biz.empreserveordergoods.EmpReserveOrderGoodsService; +import com.yxt.yyth.biz.lpkgiftbaggoods.LpkGiftBagGoodsService; +import com.yxt.yyth.biz.lpkgiftcard.LpkGiftCardMapper; +import com.yxt.yyth.biz.lpkgoods.LpkGoodsService; +import com.yxt.yyth.biz.lpkstore.LpkStoreService; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class EmpReserveOrderService extends MybatisBaseService { + @Autowired + EmpReserveOrderGoodsService empReserveOrderGoodsService; + @Autowired + LpkGiftCardMapper lpkGiftCardMapper; + @Autowired + LpkGiftBagGoodsService lpkGiftBagGoodsService; + @Autowired + LpkStoreService lpkStoreService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private LpkGoodsService lpkGoodsService; + @Autowired + private HttpServletResponse response; + + public ResultBean submission(EmpReserveOrderDto dto) { + ResultBean rb = new ResultBean().fail(); + boolean b=isSatAndSun(dto.getReserveDate()); + if(!b){ + return rb.setMsg("周六、周日不能预约提货"); + } + EmpReserveOrder order = new EmpReserveOrder(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + order.setStoreSid(dto.getValue()); + order.setCardSid(dto.getSid()); + order.setCreateTime(new DateTime()); + baseMapper.insert(order); + dto.setOrderSid(order.getSid()); + empReserveOrderGoodsService.submissionDetail(dto); + return rb.success().setData("预约成功"); + } + public boolean isSatAndSun(String date){ + DateTime dateTime = DateUtil.parse(date);; // 获取当前时间 + int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) + System.out.println(dayOfWeek); + if (dayOfWeek == 1 || dayOfWeek == 7) { + return false; + } else { + return true; + } + } + @Test + public void isSatAndSun(){ + String date="2023-12-11"; + DateTime dateTime = DateUtil.parse(date);; // 获取当前时间 + int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) + + System.out.println(dayOfWeek); + if (dayOfWeek == 1 || dayOfWeek == 7) { + System.out.println(dayOfWeek); + } else { + System.out.println(11111); + } + } + public ResultBean> orderList(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getUserName())) { + qw.like("o.userName", query.getUserName()); + } + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.like("o.customerSid", query.getUserSid()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + + + qw.orderByDesc("o.reserveDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderList(page, qw); + List records = pagging.getRecords(); + if (!records.isEmpty()) { + records.forEach(s -> { + List orderGoods = empReserveOrderGoodsService.selByOrderSid(s.getSid()); + List goodsVoList = new ArrayList<>(); + if (!orderGoods.isEmpty()) { + for (EmpReserveOrderGoods orderGood : orderGoods) { + OrderGoodsVo goodsVo = new OrderGoodsVo(); + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsVo.setGoodName(lpkGoods.getName()); + } + } + if (orderGood.getGoodsNumber() != 0) { + goodsVo.setNum((int) orderGood.getGoodsNumber()); + } + goodsVoList.add(goodsVo); + } + } + s.setGoodsVo(goodsVoList); + }); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean> orderListByStore(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getUserName())) { + qw.like("o.userName", query.getUserName()); + } + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.like("o.customerSid", query.getUserSid()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + + qw.orderByDesc("o.reserveDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByStore(page, qw); + List records = pagging.getRecords(); + if (!records.isEmpty()) { + records.forEach(s -> { + List list=baseMapper.getOrderByStore(s.getStoreSid()); + List orderGoods = empReserveOrderGoodsService.selInOrderSid(list); + if (!orderGoods.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (EmpReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = num + unitName + goodsName; + sb.append(finWord).append("、"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + s.setGoodsInfo(sb.toString()); + } + } + }); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean orderByCardSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + List list = baseMapper.orderByCardSid(sid); + return rb.success().setData(list); + } + + public ResultBean> orderListByUserSid(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("o.customerSid", query.getUserSid()); + qw.orderByDesc("o.reserveDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByUserSid(page, qw); + for(EmpReserveOrderCardVo vo:pagging.getRecords()){ + List goods =empReserveOrderGoodsService.selByOrderSids(vo.getSid()); + for(EmpReserveOrderGoods goods1:goods){ + LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods1.getGoodsSid())); + if(StringUtils.isBlank(vo.getGoods())){ + vo.setGoods(lpkGoods.getName()+":"+goods1.getNum()+lpkGoods.getUnitName()); + }else{ + vo.setGoods(vo.getGoods()+" "+lpkGoods.getName()+":"+goods1.getNum()+lpkGoods.getUnitName()); + } + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean orderDetails(String orderSid) { + ResultBean rb = new ResultBean().fail(); + EmpReserveOrder EmpReserveOrder = fetchBySid(orderSid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != EmpReserveOrder) { + AppletVo vo = lpkGiftCardMapper.getGifCardBySid(EmpReserveOrder.getCardSid()); + if (StringUtils.isNotBlank(EmpReserveOrder.getStoreSid())) { + LpkStore lpkStore = lpkStoreService.fetchBySid(EmpReserveOrder.getStoreSid()); + if (null != lpkStore) { + if (StringUtils.isNotBlank(lpkStore.getName())) { + vo.setStore(lpkStore.getName()); + } + } + } + if (StringUtils.isNotBlank(EmpReserveOrder.getReserveDate())) { + try { + Date parse = sdf.parse(EmpReserveOrder.getReserveDate()); + vo.setReserveDate(sdf.format(parse)); + } catch (ParseException e) { + e.printStackTrace(); + } + } + List list = lpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); + List l = lpkStoreService.getAllStore().getData(); + List goodsVos = new ArrayList<>(); + list.forEach(s -> { + EmpReserveOrderGoods goods = empReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + EmpReserveOrderGoods orderGoods = empReserveOrderGoodsService.selByOrderSidAndGoodSid(orderSid, s.getGoodsSid()); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getGoodsName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setPic(fileUploadComponent.getUrlPrefix() + s.getPicUrl()); + if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); + if (null != orderGoods) { + goodsVo.setOrderNum(orderGoods.getGoodsNumber()); + } + goodsVos.add(goodsVo); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber()); + goodsVos.add(goodsVo); + } + }); + vo.setGoodsVos(goodsVos); + vo.setSelect(l); + return rb.success().setData(vo); + } + return rb.success(); + } + + public void exportExcel(EmpReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getUserName())) { + qw.like("o.userName", query.getUserName()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + qw.orderByDesc("o.createTime"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcel(qw); + if (!exportList.isEmpty()) { + exportList.forEach(s -> { + if (StringUtils.isNotBlank(s.getUserPhone())) { +// String phone = s.getUserPhone().substring(0, 3) + "****" + s.getUserPhone().substring(7); + String phone = s.getUserPhone(); + s.setUserPhone(phone); + } + List orderGoods = empReserveOrderGoodsService.selByOrderSid(s.getSid()); + if (!orderGoods.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (EmpReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = num + unitName + goodsName; + sb.append(finWord).append("、"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + s.setGoodsInfo(sb.toString()); + } + } + }); + } + //定义导出的excel名字 + String excelName = "1"; + String fileNameURL = "1"; +// try { +// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// } + //导出预约订单信息列表 + ExportExcelUtils.export(fileNameURL, exportList, ReserveOrderExport.class, response); + } + public void exportExcelByStore(EmpReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + qw.orderByDesc("o.createTime"); + qw.groupBy("s.name"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcelByStore(qw); + if (!exportList.isEmpty()) { + exportList.forEach(s -> { + List list=baseMapper.getOrderByStore(s.getStoreSid()); + List orderGoods = empReserveOrderGoodsService.selInOrderSid(list); + if (!orderGoods.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (EmpReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = num + unitName + goodsName; + sb.append(finWord).append("、"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + s.setGoodsInfo(sb.toString()); + } + } + }); + } + //定义导出的excel名字 + String excelName = "1"; + String fileNameURL = "1"; + //导出预约订单信息列表 + ExportExcelUtils.export(fileNameURL, exportList, ReserveOrderExportByStore.class, response); + } + + + public ResultBean getStoreByCustomerSid(String sid) { + return new ResultBean().success().setData(baseMapper.getStoreByCustomerSid(sid)); + } + public ResultBean selByCardSid(String sid) { + return new ResultBean().success().setData(baseMapper.selByCardSid(sid)); + } + public ResultBean> selOrderByCardSid(String sid) { + return new ResultBean().success().setData(baseMapper.selOrderByCardSid(sid)); + } +} diff --git a/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.java b/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.java new file mode 100644 index 0000000..8db4191 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.java @@ -0,0 +1,28 @@ +package com.yxt.yyth.biz.empreserveordergoods; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.yyth.api.empreserveordergoods.EmpReserveOrderGoods; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface EmpReserveOrderGoodsMapper extends BaseMapper { + @Select("select sum(goodsNumber) as goodsNumber , goodsSid as goodsSid from emp_reserve_order_goods where cardSid=#{cardSid} and goodsSid=#{goodsSid}") + EmpReserveOrderGoods getReserveByCardSid(@Param("cardSid") String cardSid, @Param("goodsSid") String goodsSid); + + EmpReserveOrderGoods selByOrderSidAndGoodSid(@Param("orderSid") String orderSid, @Param("goodsSid") String goodsSid); + + @Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); + @Select("select *,goodsNumber as num from emp_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSids(String orderSid); +} diff --git a/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.xml b/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.xml new file mode 100644 index 0000000..86f8f31 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsRest.java b/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsRest.java new file mode 100644 index 0000000..86f231b --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsRest.java @@ -0,0 +1,29 @@ +package com.yxt.yyth.biz.empreserveordergoods; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.yyth.api.empreserveordergoods.EmpReserveOrderGoodsDto; +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.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("empsreservoorder") +public class EmpReserveOrderGoodsRest { + @Autowired + EmpReserveOrderGoodsService empReserveOrderGoodsService; + + +// @ApiOperation("预约提交") +// @PostMapping("/submissionDetail") +// public ResultBean submissionDetail(EmpReserveOrderGoodsDto dto){ +// return empReserveOrderGoodsService.submissionDetail(dto); +// } +} diff --git a/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsService.java b/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsService.java new file mode 100644 index 0000000..005b31c --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/empreserveordergoods/EmpReserveOrderGoodsService.java @@ -0,0 +1,78 @@ +package com.yxt.yyth.biz.empreserveordergoods; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.yyth.api.empcardgift.EmpGiftAppletVo; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderDto; +import com.yxt.yyth.api.empreserveordergoods.EmpReserveOrderGoods; +import com.yxt.yyth.api.lpkgiftcard.AppletVo; +import com.yxt.yyth.api.empcardgift.GoodsVo; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderDto; +import com.yxt.yyth.biz.empcardgift.EmpCardGiftService; +import com.yxt.yyth.biz.lpkgiftcard.LpkGiftCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class EmpReserveOrderGoodsService extends MybatisBaseService { + @Autowired + EmpCardGiftService empCardGiftService; + public ResultBean getReserveByCardSid(String carSid, String goodsSid) { + ResultBean rb = new ResultBean(); + EmpReserveOrderGoods goods = baseMapper.getReserveByCardSid(carSid, goodsSid); + return rb.success().setData(goods); + } + + public ResultBean submissionDetail(EmpReserveOrderDto dto) { + ResultBean rb = new ResultBean(); + EmpReserveOrderGoods goods = new EmpReserveOrderGoods(); + BeanUtil.copyProperties(dto, goods, "id", "sid"); + goods.setCardSid(dto.getSid()); + for (GoodsVo goods1 : dto.getGoodsVos()) { + if (goods1.getSelect() != 0) { + goods.setCardSid(dto.getSid()); + goods.setGoodsSid(goods1.getGoodsSid()); + goods.setGoodsNumber(goods1.getSelect()); + goods.setCreateTime(new DateTime()); + baseMapper.insert(goods); + } + } + EmpGiftAppletVo vo = empCardGiftService.getGifCardBySid(dto.getSid()).getData(); + int i = 0; + for (GoodsVo vo1 : vo.getGoodsVos()) { + EmpReserveOrderGoods goods1 = baseMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid()); + if (null != goods1) { + if (vo1.getNum() <= goods1.getGoodsNumber()) { + i++; + } + } + if (vo.getGoodsVos().size() == i) { + empCardGiftService.changState(dto.getSid(), "5"); + } else { + empCardGiftService.changState(dto.getSid(), "4"); + } + } + return rb.success().setData("预约成功"); + } + + public EmpReserveOrderGoods selByOrderSidAndGoodSid(String orderSid, String goodsSid) { + return baseMapper.selByOrderSidAndGoodSid(orderSid,goodsSid); + } + public List selByOrderSid(String orderSid) { + return baseMapper.selByOrderSid(orderSid); + } + public List selInOrderSid(List orderSids) { + return baseMapper.selInOrderSid(orderSids); + } + public List selByOrderSids(String orderSid) { + return baseMapper.selByOrderSids(orderSid); + } +} diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java b/src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java index 05c6496..97d6cd1 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java @@ -20,7 +20,8 @@ public interface LpkGiftBagGoodsMapper extends BaseMapper { int deleteGoodsByBagSid(@Param("sid") String sid); - @Select("select goods.name as goodsName,bads.goodsNumber ,bads.goodsSid,goods.picUrl,goods.price,goods.unitName,goods.remarks from lpk_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") + @Select("select goods.name as goodsName,bads.goodsNumber ,bads.goodsSid,goods.picUrl,goods.price,goods.unitName,goods.remarks " + + " from lpk_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") List getGoodsByBagSid(String sid); List getRecordsByBagSid(@Param("sid") String sid); } 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 eab75d8..15a8095 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java @@ -32,6 +32,7 @@ import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderVo; import com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods; import com.yxt.yyth.api.lpkstore.LpkStoreDetailsVo; import com.yxt.yyth.api.lpkstore.StoreSelect; +import com.yxt.yyth.biz.empcardgift.EmpCardGiftService; import com.yxt.yyth.biz.lpkcardbuildrecord.LpkCardBuildRecordService; import com.yxt.yyth.biz.lpkcardgrantrecord.LpkCardGrantRecordService; import com.yxt.yyth.biz.lpkcardqrcode.LpkCardQrcodeService; @@ -84,10 +85,17 @@ public class LpkGiftCardService extends MybatisBaseService().eq("code", bindCardDto.getCode())); + if(null==lpkGiftCard1){ + ResultBean rb1=empCardGiftService.bindCard(bindCardDto); + return rb1; + } LpkGiftCard lpkGiftCard = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode()) .eq("codeKey", bindCardDto.getCodeKey())); if (null == lpkGiftCard) { diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml index fb8d6c5..2de372e 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderMapper.xml @@ -75,6 +75,20 @@ LEFT JOIN lpk_store AS s ON o.storeSid = s.sid LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid + UNION + SELECT date_format(o.reserveDate, '%Y-%m-%d') as reserveDate, + c.`code`, + s.`name` as store, + b.`name` as bagName, + o.cardSid as cardSid, + o.sid as orderSid, + o.userName, + o.userPhone,c.serialNumber as serialNumber, + o.sid + FROM emp_reserve_order AS o + LEFT JOIN lpk_store AS s ON o.storeSid = s.sid + LEFT JOIN emp_card_gift AS c ON o.cardSid = c.sid + LEFT JOIN lpk_giftbag AS b ON c.sid = b.sid ${ew.sqlSegment} diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java index 4b82ea3..91deb44 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderRest.java @@ -73,4 +73,9 @@ public class LpkReserveOrderRest { public void exportExcelByStore(@RequestBody LpkReserveOrderQuery query) { lpkReserveOrderService.exportExcelByStore(query); } + @ApiOperation(value = "预约订单支行汇总导出") + @PostMapping("/exportExcelByStore") + public void exportExcelByBank(@RequestBody LpkReserveOrderQuery query) { + lpkReserveOrderService.exportExcelByBank(query); + } } diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java index a6e89b4..5bf695e 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveorder/LpkReserveOrderService.java @@ -3,7 +3,9 @@ package com.yxt.yyth.biz.lpkreserveorder; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; -import com.alibaba.fastjson.JSON; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.common.base.config.component.FileUploadComponent; @@ -17,8 +19,6 @@ import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; import com.yxt.yyth.api.lpkgiftcard.AppletVo; import com.yxt.yyth.api.lpkgiftcard.GoodsVo; -import com.yxt.yyth.api.lpkgiftcard.LpkGiftCard; -import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardExport; import com.yxt.yyth.api.lpkgoods.LpkGoods; import com.yxt.yyth.api.lpkreserveorder.*; import com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods; @@ -29,16 +29,15 @@ import com.yxt.yyth.biz.lpkgiftcard.LpkGiftCardMapper; import com.yxt.yyth.biz.lpkgoods.LpkGoodsService; import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; import com.yxt.yyth.biz.lpkstore.LpkStoreService; -import io.swagger.annotations.ApiOperation; -import org.apache.commons.collections.list.AbstractLinkedList; -import org.apache.poi.ss.formula.functions.T; +import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.BufferedOutputStream; +import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -130,7 +129,7 @@ public class LpkReserveOrderService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.orderList(page, qw); List records = pagging.getRecords(); @@ -183,7 +182,8 @@ public class LpkReserveOrderService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.orderListByStore(page, qw); List records = pagging.getRecords(); @@ -191,6 +191,7 @@ public class LpkReserveOrderService extends MybatisBaseService { List list=baseMapper.getOrderByStore(s.getStoreSid()); List orderGoods = lpkReserveOrderGoodsService.selInOrderSid(list); + List a=new ArrayList<>(); if (!orderGoods.isEmpty()) { StringBuffer sb = new StringBuffer(); for (LpkReserveOrderGoods orderGood : orderGoods) { @@ -210,14 +211,16 @@ public class LpkReserveOrderService extends MybatisBaseService 0) { sb.delete(sb.length() - 1, sb.length()); s.setGoodsInfo(sb.toString()); } } + s.setGoods(a); }); } PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -327,6 +330,7 @@ public class LpkReserveOrderService extends MybatisBaseService exportList = baseMapper.exportExcel(qw); + List exportList1 = new ArrayList<>(); if (!exportList.isEmpty()) { exportList.forEach(s -> { if (StringUtils.isNotBlank(s.getUserPhone())) { @@ -336,7 +340,7 @@ public class LpkReserveOrderService extends MybatisBaseService orderGoods = lpkReserveOrderGoodsService.selByOrderSid(s.getSid()); if (!orderGoods.isEmpty()) { - StringBuffer sb = new StringBuffer(); + int i=0; for (LpkReserveOrderGoods orderGood : orderGoods) { String num = ""; String goodsName = ""; @@ -354,27 +358,50 @@ public class LpkReserveOrderService extends MybatisBaseService 0) { - sb.delete(sb.length() - 1, sb.length()); - s.setGoodsInfo(sb.toString()); + finWord = goodsName+num + unitName ; + i++; + if(i>1){ + ReserveOrderExport en=new ReserveOrderExport(); + BeanUtil.copyProperties(s,en , "id"); + en.setGoodsInfo(finWord); + exportList1.add(en); + }else{ + s.setGoodsInfo(finWord); + exportList1.add(s); + } } } }); } //定义导出的excel名字 - String excelName = "1"; + //定义导出的excel名字 + String excelName = "订单明细.xlsx"; String fileNameURL = "1"; -// try { -// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); -// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); -// } catch (UnsupportedEncodingException e) { -// e.printStackTrace(); -// } - //导出预约订单信息列表 - ExportExcelUtils.export(fileNameURL, exportList, ReserveOrderExport.class, response); + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ excelName ); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExport.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) + .registerWriteHandler(new MergeStrategy(exportList1.size(),1,5)).registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(exportList1); + } catch (IOException e) { + throw new RuntimeException(e); + } } public void exportExcelByStore(LpkReserveOrderQuery query) { QueryWrapper qw = new QueryWrapper<>(); @@ -394,12 +421,13 @@ public class LpkReserveOrderService extends MybatisBaseService exportList = baseMapper.exportExcelByStore(qw); + List exportList1 = new ArrayList<>(); if (!exportList.isEmpty()) { exportList.forEach(s -> { List list=baseMapper.getOrderByStore(s.getStoreSid()); List orderGoods = lpkReserveOrderGoodsService.selInOrderSid(list); if (!orderGoods.isEmpty()) { - StringBuffer sb = new StringBuffer(); + int i=0; for (LpkReserveOrderGoods orderGood : orderGoods) { String num = ""; String goodsName = ""; @@ -417,23 +445,139 @@ public class LpkReserveOrderService extends MybatisBaseService 0) { - sb.delete(sb.length() - 1, sb.length()); - s.setGoodsInfo(sb.toString()); + finWord = goodsName+ num + unitName; + i++; + if(i>1){ + ReserveOrderExportByStore en=new ReserveOrderExportByStore(); + BeanUtil.copyProperties(s,en , "id"); + en.setGoodsInfo(finWord); + exportList1.add(en); + }else{ + s.setGoodsInfo(finWord); + exportList1.add(s); + } } } }); } //定义导出的excel名字 - String excelName = "1"; + String excelName = "配货信息.xlsx"; String fileNameURL = "1"; - //导出预约订单信息列表 - ExportExcelUtils.export(fileNameURL, exportList, ReserveOrderExportByStore.class, response); + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ excelName ); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExportByStore.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) + .registerWriteHandler(new MergeStrategy(exportList1.size(),1,1)).registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(exportList1); + } catch (IOException e) { + throw new RuntimeException(e); + } } + public void exportExcelByBank(LpkReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getBankSid())) { + qw.like("s.bankSid", query.getBankSid()); + } + qw.orderByDesc("o.createTime"); + qw.groupBy("s.name"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcelByStore(qw); + List exportList1 = new ArrayList<>(); + if (!exportList.isEmpty()) { + exportList.forEach(s -> { + List list=baseMapper.getOrderByStore(s.getStoreSid()); + List orderGoods = lpkReserveOrderGoodsService.selInOrderSid(list); + if (!orderGoods.isEmpty()) { + int i=0; + for (LpkReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = goodsName+ num + unitName; + i++; + if(i>1){ + ReserveOrderExportByStore en=new ReserveOrderExportByStore(); + BeanUtil.copyProperties(s,en , "id"); + en.setGoodsInfo(finWord); + exportList1.add(en); + }else{ + s.setGoodsInfo(finWord); + exportList1.add(s); + } + } + } + }); + } + //定义导出的excel名字 + String excelName = "配货信息.xlsx"; + String fileNameURL = "1"; + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ excelName ); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExportByStore.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) + .registerWriteHandler(new MergeStrategy(exportList1.size(),1,1)).registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(exportList1); + } catch (IOException e) { + throw new RuntimeException(e); + } + } public ResultBean getStoreByCustomerSid(String sid) { return new ResultBean().success().setData(baseMapper.getStoreByCustomerSid(sid)); diff --git a/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml index 69548d4..52e83d4 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml @@ -26,11 +26,12 @@ and goodsSid = #{goodsSid} \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreMapper.java b/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreMapper.java index 8d71b0a..6298975 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreMapper.java @@ -28,4 +28,6 @@ public interface LpkStoreMapper extends BaseMapper { List getAllStoreByQuery(@Param(Constants.WRAPPER) QueryWrapper qw); @Select("select sid as value,name as text from lpk_store where isEnable=1") List getSelectStore(); + + LpkStoreVo storeInit(@Param("sid") String sid); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreMapper.xml index 1ed7aa5..e804f50 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreMapper.xml @@ -6,16 +6,17 @@ + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreService.java b/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreService.java index 67735dd..2a2f742 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkstore/LpkStoreService.java @@ -55,14 +55,9 @@ public class LpkStoreService extends MybatisBaseService storeInit(String sid) { ResultBean rb = ResultBean.fireFail(); - LpkStoreDetailsVo vo = new LpkStoreDetailsVo(); - LpkStore lpkStore = fetchBySid(sid); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - if (null != lpkStore) { - BeanUtil.copyProperties(lpkStore, vo); - vo.setCreateTime(sdf.format(lpkStore.getCreateTime())); - } - return rb.success().setData(vo); + LpkStoreVo lpkStore = baseMapper.storeInit(sid); + + return rb.success().setData(lpkStore); } public ResultBean deleteStore(String sid) {