diff --git a/eladmin-common/src/main/java/cn/ysk/cashier/utils/DateUtil.java b/eladmin-common/src/main/java/cn/ysk/cashier/utils/DateUtil.java index f3b1fbcc..6254b573 100644 --- a/eladmin-common/src/main/java/cn/ysk/cashier/utils/DateUtil.java +++ b/eladmin-common/src/main/java/cn/ysk/cashier/utils/DateUtil.java @@ -16,6 +16,7 @@ package cn.ysk.cashier.utils; +import java.text.SimpleDateFormat; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.Date; @@ -117,6 +118,18 @@ public class DateUtil { return DFY_MD_HMS.format(localDateTime); } + /** + * 日期格式化 yyyy-MM-dd HH:mm:ss + * + * @param timeStamp / + * @return / + */ + public static String timeStampFormatyMdHms(long timeStamp) { + Date date = new Date(timeStamp); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return sdf.format(date); + } + /** * 日期格式化 yyyy-MM-dd * diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java index 690b2298..cabca427 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java @@ -23,10 +23,7 @@ import cn.ysk.cashier.pojo.order.TbOrderInfo; import cn.ysk.cashier.repository.order.TbOrderDetailRepository; import cn.ysk.cashier.repository.order.TbOrderInfoRepository; import cn.ysk.cashier.service.order.TbOrderInfoService; -import cn.ysk.cashier.utils.FileUtil; -import cn.ysk.cashier.utils.PageUtil; -import cn.ysk.cashier.utils.QueryHelp; -import cn.ysk.cashier.utils.ValidationUtil; +import cn.ysk.cashier.utils.*; import cn.ysk.cashier.vo.TbOrderInfoVo; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; @@ -37,10 +34,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @website https://eladmin.vip @@ -72,7 +67,12 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { @Override public List queryAll(TbOrderInfoQueryCriteria criteria){ - return tbOrderInfoMapper.toDto(tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); + List dto = tbOrderInfoMapper.toDto(tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder))); + for (TbOrderInfoDto tbOrderInfo : dto) { + List details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId()); + tbOrderInfo.setDetailList(details); + } + return dto; } @Override @@ -114,47 +114,123 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { for (TbOrderInfoDto tbOrderInfo : all) { Map map = new LinkedHashMap<>(); map.put("订单编号", tbOrderInfo.getOrderNo()); - map.put("商户结算金额", tbOrderInfo.getSettlementAmount()); - map.put("包装费", tbOrderInfo.getPackFee()); - map.put("订单原金额", tbOrderInfo.getOriginAmount()); - map.put("商品售价", tbOrderInfo.getProductAmount()); - map.put("最终金额---退单后,金额变动", tbOrderInfo.getAmount()); - map.put("退单金额", tbOrderInfo.getRefundAmount()); - map.put("支付金额", tbOrderInfo.getPayAmount()); - map.put("订单邮递费用", tbOrderInfo.getFreightAmount()); - map.put("折扣金额", tbOrderInfo.getDiscountAmount()); - map.put("台桌Id", tbOrderInfo.getTableId()); - map.put("订单抹零", tbOrderInfo.getSmallChange()); + switch (tbOrderInfo.getOrderType()){ + case "cash": + tbOrderInfo.setOrderType("收银"); + break; + case "miniapp": + tbOrderInfo.setOrderType("小程序"); + break; + case "offline": + tbOrderInfo.setOrderType("线下"); + break; + case "return ": + tbOrderInfo.setOrderType("退单"); + break; + default: + tbOrderInfo.setOrderType(tbOrderInfo.getOrderType()+"未知订单类型"); + break; + } + map.put("订单类型", tbOrderInfo.getOrderType()); + switch (tbOrderInfo.getSendType()) { + case "post": + tbOrderInfo.setSendType("快递"); + break; + case "takeaway": + tbOrderInfo.setSendType("外卖"); + break; + case "takeself": + tbOrderInfo.setSendType("自提"); + break; + case "table": + tbOrderInfo.setSendType("堂食"); + break; + default: + tbOrderInfo.setSendType(tbOrderInfo.getSendType()+"未知送货类型"); + break; + } map.put("发货类型", tbOrderInfo.getSendType()); - map.put("订单类型-cash收银-miniapp小程序-offline线下", tbOrderInfo.getOrderType()); - map.put("订单里面商品的类型", tbOrderInfo.getProductType()); - map.put("状态: unpaid 待支付unsend待发货 closed 订单完成 send 已发refunding申请退单refund退单cancelled取消订单merge合台", tbOrderInfo.getStatus()); - map.put("orderType为union-minor时,parentId生效,为其上级合单id", tbOrderInfo.getBillingId()); - map.put("对于平台订单,是收款商户Id", tbOrderInfo.getMerchantId()); - map.put("店铺Id", tbOrderInfo.getShopId()); - map.put("是否vip订单", tbOrderInfo.getIsVip()); - map.put("商户会员Id", tbOrderInfo.getMemberId()); - map.put("用户Id", tbOrderInfo.getUserId()); - map.put("该订单商品赠送的积分", tbOrderInfo.getProductScore()); - map.put("抵扣积分", tbOrderInfo.getDeductScore()); - map.put("用户使用的卡券", tbOrderInfo.getUserCouponId()); - map.put("优惠券抵扣金额", tbOrderInfo.getUserCouponAmount()); - map.put("如果为退单时,主单号", tbOrderInfo.getMasterId()); - map.put("是否支持退款,1支持退单, 0不支持退单", tbOrderInfo.getRefundAble()); - map.put("支付时间", tbOrderInfo.getPaidTime()); - map.put("是否生效,若订单合单之后,则原订单不会生效", tbOrderInfo.getIsEffect()); - map.put("是否合台", tbOrderInfo.getIsGroup()); - map.put(" updatedAt", tbOrderInfo.getUpdatedAt()); - map.put("系统时间", tbOrderInfo.getSystemTime()); - map.put(" createdAt", tbOrderInfo.getCreatedAt()); - map.put("收银台是否已接单", tbOrderInfo.getIsAccepted()); + // 商品信息 + String productNames = tbOrderInfo.getDetailList().stream() + .map(TbOrderDetail::getProductName) + .distinct() + .collect(Collectors.joining("/")); + map.put("商品信息", productNames); + // map.put("支付类型", tbOrderInfo.getPayType()); map.put("订单金额", tbOrderInfo.getOrderAmount()); - map.put("折扣比例", tbOrderInfo.getDiscountRatio()); - map.put("支付订单号", tbOrderInfo.getPayOrderNo()); - map.put(" tradeDay", tbOrderInfo.getTradeDay()); - map.put(" source", tbOrderInfo.getSource()); - map.put(" remark", tbOrderInfo.getRemark()); + map.put("退单金额", tbOrderInfo.getRefundAmount()); + map.put("支付金额", tbOrderInfo.getPayAmount()); + switch (tbOrderInfo.getStatus()) { + case "unpaid": + tbOrderInfo.setStatus("待支付"); + break; + case "unsend": + tbOrderInfo.setStatus("待发货"); + break; + case "closed": + tbOrderInfo.setStatus("订单完成"); + break; + case "send": + tbOrderInfo.setStatus("已发货"); + break; + case "refunding": + tbOrderInfo.setStatus("申请退单中"); + break; + case "refund": + tbOrderInfo.setStatus("退单完成"); + break; + case "cancelled": + tbOrderInfo.setStatus("取消订单"); + break; + case "merge": + tbOrderInfo.setStatus("合台"); + break; + case "pending": + tbOrderInfo.setStatus("挂单"); + break; + case "activate": + tbOrderInfo.setStatus("激活订单"); + break; + default: + tbOrderInfo.setStatus(tbOrderInfo.getStatus()+"未知订单状态"); + break; + } + map.put("状态", tbOrderInfo.getStatus()); + map.put("创建日期", DateUtil.timeStampFormatyMdHms(tbOrderInfo.getCreatedAt())); + map.put("备注", tbOrderInfo.getRemark()); +// +// map.put("商户结算金额", tbOrderInfo.getSettlementAmount()); +// map.put("包装费", tbOrderInfo.getPackFee()); +// map.put("商品售价", tbOrderInfo.getProductAmount()); +// map.put("最终金额---退单后,金额变动", tbOrderInfo.getAmount()); +// map.put("订单邮递费用", tbOrderInfo.getFreightAmount()); +// map.put("折扣金额", tbOrderInfo.getDiscountAmount()); +// map.put("台桌Id", tbOrderInfo.getTableId()); +// map.put("订单抹零", tbOrderInfo.getSmallChange()); +// map.put("订单里面商品的类型", tbOrderInfo.getProductType()); +// map.put("orderType为union-minor时,parentId生效,为其上级合单id", tbOrderInfo.getBillingId()); +// map.put("对于平台订单,是收款商户Id", tbOrderInfo.getMerchantId()); +// map.put("店铺Id", tbOrderInfo.getShopId()); +// map.put("是否vip订单", tbOrderInfo.getIsVip()); +// map.put("商户会员Id", tbOrderInfo.getMemberId()); +// map.put("用户Id", tbOrderInfo.getUserId()); +// map.put("该订单商品赠送的积分", tbOrderInfo.getProductScore()); +// map.put("抵扣积分", tbOrderInfo.getDeductScore()); +// map.put("用户使用的卡券", tbOrderInfo.getUserCouponId()); +// map.put("优惠券抵扣金额", tbOrderInfo.getUserCouponAmount()); +// map.put("如果为退单时,主单号", tbOrderInfo.getMasterId()); +// map.put("是否支持退款,1支持退单, 0不支持退单", tbOrderInfo.getRefundAble()); +// map.put("支付时间", tbOrderInfo.getPaidTime()); +// map.put("是否生效,若订单合单之后,则原订单不会生效", tbOrderInfo.getIsEffect()); +// map.put("是否合台", tbOrderInfo.getIsGroup()); +// map.put("更新日期", tbOrderInfo.getUpdatedAt()); +// map.put("系统时间", tbOrderInfo.getSystemTime()); +// map.put("收银台是否已接单", tbOrderInfo.getIsAccepted()); +// map.put("折扣比例", tbOrderInfo.getDiscountRatio()); +// map.put("支付订单号", tbOrderInfo.getPayOrderNo()); +// map.put("tradeDay", tbOrderInfo.getTradeDay()); +// map.put("原订单", tbOrderInfo.getSource()); list.add(map); } FileUtil.downloadExcel(list, response);