From 8103ab9444e01e01bdab844c1937feeeda5d6ffc Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 2 Jan 2024 15:29:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=8D=A1=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E6=8F=90=E8=B4=A7=E3=80=81=E8=8E=B7=E5=8F=96=E5=91=A8=E5=85=AD?= =?UTF-8?q?=E6=97=A5=E3=80=81=E8=AF=A6=E6=83=85=E6=B7=BB=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yxt/yyth/api/empcard/EmpAppletVo.java | 1 + .../com/yxt/yyth/api/empcard/EmpCard.java | 1 + .../yxt/yyth/biz/empcard/EmpCardMapper.java | 15 ++++ .../com/yxt/yyth/biz/empcard/EmpCardRest.java | 10 +++ .../yxt/yyth/biz/empcard/EmpCardService.java | 90 ++++++++++++++++++- .../empreserveorder/EmpReserveOrderRest.java | 5 ++ .../EmpReserveOrderService.java | 20 +++++ .../EmpReserveOrderGoodsService.java | 36 ++++++++ .../lpkreserveorder/LpkReserveOrderMapper.xml | 18 ++++ .../com/yxt/yyth/config/SaTokenConfigure.java | 2 + 10 files changed, 196 insertions(+), 2 deletions(-) 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 b4c1336..374f537 100644 --- a/src/main/java/com/yxt/yyth/api/empcard/EmpAppletVo.java +++ b/src/main/java/com/yxt/yyth/api/empcard/EmpAppletVo.java @@ -48,6 +48,7 @@ public class EmpAppletVo { private String giftCode; private String giftCodeKey; private String qrCode; + private List orderCardVoList; public String getStart() { SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); diff --git a/src/main/java/com/yxt/yyth/api/empcard/EmpCard.java b/src/main/java/com/yxt/yyth/api/empcard/EmpCard.java index eff8067..18db11c 100644 --- a/src/main/java/com/yxt/yyth/api/empcard/EmpCard.java +++ b/src/main/java/com/yxt/yyth/api/empcard/EmpCard.java @@ -31,5 +31,6 @@ public class EmpCard { private String customerSid; private String customerMobile; private Date bindDate; + private String isReservation ;//是否超过预约时间 0 否 1是 } 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 b3bc5b8..d8a0972 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardMapper.java @@ -34,4 +34,19 @@ public interface EmpCardMapper extends BaseMapper { IPage cardStatisticsList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List cardStatisticsListExport(@Param(Constants.WRAPPER) QueryWrapper qw); + @Select(" SELECT\n" + + " card.*,\n" + + " case card.state\n" + + " WHEN 3 then '未提货'\n" + + " WHEN 4 then '已经预约提货(预约部分提货)'\n" + + " WHEN 5 then '已经提取完成'\n" + + " end stateValue,\n" + + " bag.dateStart as dateStart\n" + + " ,bag.dateEnd as dateEnd\n" + + " ,bag.name as pname,card.state as states,card.serialNumber as serialNumber\n" + + " FROM\n" + + " emp_card card\n" + + " LEFT JOIN lpk_giftbag bag on card.giftbagSid=bag.sid" + + " where card.sid=#{sid}") + AppletVo getCardBySid(String cardSid); } 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 7a5a7f6..bad334b 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardRest.java @@ -11,6 +11,7 @@ import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardListQuery; import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardListVo; import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardQuery; import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderQuery; +import com.yxt.yyth.biz.empcardgift.EmpCardGiftService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -82,4 +83,13 @@ public class EmpCardRest { public void cardStatisticsListExport(@RequestBody EmpCardQuery pq) { empCardService.cardStatisticsListExport(pq); } + + + @GetMapping("/isSaturAndSun/{cardSid}") + @ApiOperation(value = "获取时间段的周六日") + public ResultBean isSaturAndSun(@PathVariable("cardSid") String cardSid) { + return empCardService.isSaturAndSun(cardSid); + } + + } 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 0c7908a..855c23b 100644 --- a/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java +++ b/src/main/java/com/yxt/yyth/biz/empcard/EmpCardService.java @@ -2,11 +2,13 @@ package com.yxt.yyth.biz.empcard; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; 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.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.base.utils.PagerUtil; @@ -20,15 +22,26 @@ import com.yxt.yyth.api.empcardgift.EmpCardGift; 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.empreserveorder.EmpReserveOrder; import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; import com.yxt.yyth.api.lpkgiftcard.*; +import com.yxt.yyth.api.lpkgoods.LpkGoods; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderCardVo; import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderQuery; +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.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.LpkGiftCardMapper; import com.yxt.yyth.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import com.yxt.yyth.biz.lpkgoods.LpkGoodsService; +import com.yxt.yyth.biz.lpkreserveorder.LpkReserveOrderService; +import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; +import com.yxt.yyth.biz.lpkstore.LpkStoreService; import com.yxt.yyth.utils.StyleUtils; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.springframework.beans.factory.annotation.Autowired; @@ -41,6 +54,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.BufferedOutputStream; 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; @@ -64,6 +80,16 @@ public class EmpCardService extends MybatisBaseService { @Autowired EmpCardGiftGoodsService empCardGiftGoodsService; @Autowired + private LpkGiftCardMapper lpkGiftCardMapper; + @Autowired + private LpkReserveOrderService lpkReserveOrderService; + @Autowired + private LpkGoodsService lpkGoodsService; + @Autowired + private LpkStoreService lpkStoreService; + @Autowired + private LpkReserveOrderGoodsService lpkReserveOrderGoodsService; + @Autowired private HttpServletResponse response; @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}") private String urlPrefix; @@ -285,6 +311,7 @@ public class EmpCardService extends MybatisBaseService { list.forEach(s -> { EmpCardGiftVo goods = empCardGiftService.getEmpCardGoods(vo.getSid(), s.getGoodsSid()).getData(); + LpkReserveOrderGoods goods1 = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); GoodsVo goodsVo = new GoodsVo(); goodsVo.setGoods(s.getGoodsName()); goodsVo.setNum(s.getGoodsNumber()); @@ -301,7 +328,7 @@ public class EmpCardService extends MybatisBaseService { } else { if (null != goods) { if (goods.getGoodsNumber() != s.getGoodsNumber()) { - goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()- goods1.getGoodsNumber()); // goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); goodsVo.setSelect(0); } @@ -342,13 +369,35 @@ public class EmpCardService extends MybatisBaseService { vo.setGiftCodeKey(String.valueOf(randomNumber)); vo.setGiftCode("99"+uuid.substring(2)); vo.setQrCode(qrUrl+vo.getGiftCode()); + List empReserveOrderCardVos = lpkReserveOrderService.selOrderByCardSid(sid).getData(); + for (LpkReserveOrderCardVo vo2 : empReserveOrderCardVos) { + 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()); + } + } + } + //上次取货点 + 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()); + } + } + vo.setOrderCardVoList(empReserveOrderCardVos); 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"); + card.setIsReservation("0"); baseMapper.updateById(card); return rb.success().setData("成功"); } @@ -424,4 +473,41 @@ public class EmpCardService extends MybatisBaseService { return rb.success().setData(pagging); } + public ResultBean isSaturAndSun(String cardSid) { + ResultBean rb = new ResultBean().fail(); + AppletVo appletVo = baseMapper.getCardBySid(cardSid); + Date date =new Date(); + SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowDate =sdf1.format(date); + LocalDate now = DateUtil.parse(nowDate).toSqlDate().toLocalDate(); + LocalDate endD = DateUtil.parse(appletVo.getDateEnd()).toSqlDate().toLocalDate(); + List weekMap = new ArrayList<>(); + // 第一个星期六 + 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)); + } 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)); + } while (sunday.compareTo(endD) < 1); + String nextYear = DateUtil.offsetMonth(new Date(), 12).toString(); + int y = DateUtil.year(DateUtil.parse(nextYear)); + weekMap.add(String.valueOf(y) + "-01-01"); + Object[] array = weekMap.stream().sorted().toArray(); + return rb.success().setData(array); + } } diff --git a/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderRest.java b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderRest.java index 70830f9..c141b6c 100644 --- a/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderRest.java +++ b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderRest.java @@ -31,6 +31,11 @@ public class EmpReserveOrderRest { return empReserveOrderService.submission(dto); } + @ApiOperation("企业卡预约提交") + @PostMapping("/submissionEmp") + public ResultBean submissionEmp(@RequestBody LpkReserveOrderDto dto) { + return empReserveOrderService.submissionEmp(dto); + } @ApiOperation("订单列表") @PostMapping("/orderList") public ResultBean> orderList(@RequestBody PagerQuery pq) { diff --git a/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderService.java b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderService.java index b1e1f93..bb6b9f4 100644 --- a/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderService.java +++ b/src/main/java/com/yxt/yyth/biz/empreserveorder/EmpReserveOrderService.java @@ -33,6 +33,7 @@ import com.yxt.yyth.biz.lpkstore.LpkStoreService; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.text.ParseException; @@ -66,6 +67,7 @@ public class EmpReserveOrderService extends MybatisBaseService getReserveByCardSid(String carSid, String goodsSid) { ResultBean rb = new ResultBean(); EmpReserveOrderGoods goods = baseMapper.getReserveByCardSid(carSid, goodsSid); @@ -66,6 +70,38 @@ public class EmpReserveOrderGoodsService extends MybatisBaseService o.customerSid=#{userSid} and o.cardType='2' + union + SELECT date_format(o.reserveDate, '%Y-%m-%d') as reserveDate, + c.`code`, + o.cardType as type, + 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 lpk_reserve_order AS o + LEFT JOIN lpk_store AS s ON o.storeSid = s.sid + LEFT JOIN emp_card AS c ON o.cardSid = c.sid + LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid + + o.customerSid=#{userSid} and o.cardType='3' + ORDER BY reserveDate DESC